citectscada 7.20 process analyst user guide
Post on 02-Jun-2018
1.343 Views
Preview:
TRANSCRIPT
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
1/401
v7.20
Process Analyst User Guide
October 2010
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
2/401
Legal Notice
DISCLAIMER
Schneider Electric (Australia) Pty. Ltd. makes no representations or warranties with respect to this manual and, to the max-imum extent permitted by law, expressly limits its liability for breach of any warranty that may be implied to the replacement
of this manual with another. Further, Schneider Electric (Australia) Pty. Ltd. reserves the right to revise this publication at any
time without incurring an obligation to notify any person of the revision.
COPYRIGHT
Co pyright 2010 Schneider Electric (Australia) Pty. Ltd. All rights reserved.
TRADEMARKS
Schneider Electric (Australia) Pty. Ltd. has made every effort to supply trademark information about company names, products
and services mentioned in this manual.
Citect, CitectHMI, and CitectSCADA are registered trademarks of Schneider Electric (Australia) Pty. Ltd.
IBM, IBM PC and IBM PC AT are registered trademarks of International Business Machines Corporation.
MS-DOS, Windows, Windows NT, Microsoft, and Excel are either registered trademarks or trademarks of Microsoft Cor-
poration in the United States and/or other countries.
DigiBoard, PC/Xi and Com/Xi are trademarks of Digi International Inc.
Novell, Netware and Netware Lite are either registered trademarks or trademarks of Novell, Inc. in the United States and other
countries..
dBASE is a trademark of dataBased Intelligence, Inc.
All other brands and products referenced in this document are acknowledged to be the trademarks or registered trademarks of
their respective holders.
GENERAL NOTICE
Some product names used in this manual are used for identification purposes only and may be trademarks of their respective
companies.
October 2010 edition for CitectSCADA Version v7.20
Manual Revision Version v7.20.
Contact Schneider Electric (Australia) Pty. Ltd. today at www.Citect.com/citectscada
http://www.citect.com/citectscada -
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
3/401
Contents
Legal Notice 2
Contents 3
Safety Information 13
Process Analyst for Developers 15
Chapter: 1 Integration with CitectSCADA 17Configuring the Process Analyst Control from Graphics Builder 17
Tag Association 18
Security and Permissions 18
Administration privilege 19
Commandprivilege 19
Write privilege 20
Multi-language Support 20
Understanding the ProcessAnalystresources 20
Using CitectSCADA to switch the Process Analyst language 21
Manually switching languages 22
Specifying languages for the Web Client 22Creating your own Process Analyst resource.dll 22
Persistence 28
Savingwhileusing the Citect Graphics Builder 28
UsingtheSave View toolbar button 29
Using the SaveToFile automation method 29
Savingbetween CitectSCADApage transitions (Run-time) 29
Resettingbacktothedefault state 30
Backing up Projects 30
Chapter:2 Configuring Design Time Properties 31Adding New Commands 31
Contents
3
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
4/401
Editing Existing Custom Commands 32Creating or Editing Object View Columns 33
Process Analyst View Synchronization 34
Chapter: 3 Using the Process Analyst Command System 37Command System Overview 37
Custom Commands 37
CommandExecuted 37
UpdateCommand 38
Icons 38
Chapter: 4 Automation Model 39Execution Results 39
Enumerations 40
AlarmType [Enumeration] 41
AxisLabelType[Enumeration] 41
ErrorNotifyCode [Enumeration] 43
FileLocation [Enumeration] 44
HatchStyle [Enumeration] 45
LineStyle [Enumeration] 46
LineType [Enumeration] 46
PenNameMode [Enumeration] 47
PenType[Enumeration] 47
PointType [Enumeration] 48QualityCompactionType [Enumeration] 49
QualityType [Enumeration] 49
RequestMode [Enumeration] 50
ToolbarButtonType [Enumeration] 51
Events 52
CommandExecuted [Event] 52
CursorMoved [Event] 53
Error [Event] 54
HorizontalAxisChanged [Event] 55
MouseClick[Event] 56
MouseDoubleClick [Event] 57
OVColumnAdded [Event] 57
OVColumnRemoved [Event] 58
OVItemAdded [Event] 59
OVItemChecked [Event] 60
OVItemRemoved [Event] 60
OVItemSelected [Event] 61
PenCreated [Event] 62
PenDeleted [Event] 62
PenRenamed [Event] 63
PenSelectionChanged [Event] 64
PropertyChanged [Event] 65
UpdateCommand [Event] 66
VerticalAxisChanged [Event] 67
Contents
4
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
5/401
Interfaces 68IAlarmPen Interface 68
IAlarmPen.AlarmType [Property][Get/Set] 69
IAlarmPen.GetFillColor [Method] 70
IAlarmPen.GetHatchColor [Method] 71
IAlarmPen.GetHatchStyle [Method] 72
IAlarmPen.LineColor [Property][Get/Set] 73
IAlarmPen.LineWidth [Property][Get/Set] 74
IAlarmPen.SetFillColor [Method] 75
IAlarmPen.SetHatchColor [Method] 76
IAlarmPen.SetHatchStyle [Method] 77
IAnalogPen Interface 78
IAnalogPen.LineColor [Property][Get/Set] 78IAnalogPen.LineInterpolation [Property][Get/Set] 79
IAnalogPen.LineWidth [Property][Get/Set] 80
ICommand Interface 81
ICommand.Tooltip [Property][Get] 82
ICommand.ButtonType [Property][Get] 83
ICommand.CommandId [Property][Get] 84
ICommand.Enabled [Property][Get/Set] 84
ICommand.Pressed [Property][Get/Set] 85
ICommand.Privilege [Property][Get] 86
ICommandSystem Interface 87
ICommandSystem._NewEnum [Property][Get] 88
ICommandSystem.Count [Property][Get] 88
ICommandSystem.Create [Method] 89ICommandSystem.Execute [Method] 90
ICommandSystem.Item [Property][Get] 91
ICommandSystem.ItemById [Property][Get] 92
ICommandSystem.Remove [Method] 93
ICursorsInterface 93
ICursors._NewEnum [Property][Get] 94
ICursors.Count [Property][Get] 95
ICursors.Create [Method] 95
ICursors.Item[Property][Get] 96
ICursors.ItemByName [Property][Get] 97
ICursors.RemoveAll[Method] 98
IDigitalPen Interface 99IDigitalPen.Fill [Property][Get/Set] 99
IDigitalPen.FillColor [Property][Get/Set] 100
IDigitalPen.LineColor [Property][Get/Set] 101
IDigitalPen.LineWidth [Property][Get/Set] 102
IObjectView Interface 103
IObjectView.BackgroundColor [Property][Get/Set] 104
IObjectView.Columns [Property][Get] 105
IObjectView.ForeColor [Property][Get/Set] 106
IObjectView.Height [Property][Get/Set] 107
IObjectView.Items [Property][Get] 108
IObjectView.SelectedItem [Property][Get] 109
Contents
5
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
6/401
IObjectView.Visible [Property][Get/Set] 109IObjectViewColumn Interface 110
IObjectViewColumn.Name [Property][Get] 111
IObjectViewColumn.Text [Property][Get] 111
IObjectViewColumn.Width [Property][Get/Set] 112
IObjectViewColumns Interface 113
IObjectViewColumns._NewEnum [Property][Get] 114
IObjectViewColumns.Add [Method] 114
IObjectViewColumns.Count [Property][Get] 115
IObjectViewColumns.Hide [Method] 116
IObjectViewColumns.Item [Property][Get] 117
IObjectViewColumns.ItemByName [Property][Get] 118
IObjectViewColumns.Remove [Method] 118IObjectViewColumns.Show [Method] 119
IObjectViewItemInterface 120
IObjectViewItem.Expanded [Property][Get/Set] 121
IObjectViewItem.Get Field [Method] 122
IObjectViewItem.Items[Property][Get] 123
IObjectViewItem.PutField [Method] 124
IObjectViewItem.Tag[Property][Get/Set] 125
IObjectViewItemsInterface 126
IObjectViewItems._NewEnum [Property][Get] 126
IObjectViewItems.Count [Property][Get] 127
IObjectViewItems.Item [Property][Get] 128
IObjectViewPenItem Interface 128
IObjectViewPenItem.BlockColor [Property][Get] 129IObjectViewPenItem.Checked [Property][Get/Set] 130
IObjectViewPenItem.Selected [Property][Get] 131
IPaneInterface 132
IPane.BackgroundColor [Property][Get/Set] 132
IPane.Collection[Property][Get] 133
IPane.Delete [Method] 134
IPane.FixedHeight [Property][Get/Set] 135
IPane.Height [Property][Get/Set] 136
IPane.Name [Property][Get/Set] 137
IPane.Pens [Property][Get] 138
IPanesInterface 139
IPanes._NewEnum [Property][Get] 139IPanes.Count [Property][Get] 140
IPanes.Create [Method] 140
IPanes.Item [Property][Get] 141
IPanes.ItemByName [Property][Get] 142
IPanes.RemoveAll[Method] 143
IPenInterface 144
IPen.AddSample 145
IPen.AxisBackgroundColor [Property][Get/Set] 147
IPen.BlockRepaint [Property][Get/Set] 148
IPen.Clear [Method] 149
IPen.Collection[Property][Get] 149
Contents
6
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
7/401
IPen.DataPoint [Property][Get/Set] 150IPen.DataServer [Property][Get/Set] 151
IPen.Delete [Method] 152
IPen.GetDefaultSpan [Method] 153
IPen.GetHorizontalAxisTimeSpan [Method] 155
IPen.GetInformation [Method] 156
IPen.GetStatistic [Method] 158
IPen.GetVerticalAxisSpan [Method] 159
IPen.GoToNow [Method] 160
IPen.Height [Property][Get/Set] 161
IPen.HorizontalAxisColor [Property][Get/Set] 162
IPen.HorizontalAxisResize [Property][Get/Set] 163
IPen.HorizontalAxisScroll [Property][Get/Set] 164IPen.HorizontalAxisWidth [Property][Get/Set] 165
IPen.HorizontalGridlinesColor [Property][Get/Set] 166
IPen.HorizontalGridlinesStyle [Property][Get/Set] 167
IPen.HorizontalGridlinesWidth [Property][Get/Set] 168
IPen.HorizontalMinorGridlinesColor [Property][Get/Set] 169
IPen.HorizontalMinorGridlinesStyle [Property][Get/Set] 170
IPen.HorizontalScrollBy [Method] 171
IPen.HorizontalZoom [Method] 172
IPen.InstantTrend [Property][Get/Set] 173
IPen.IsDeleted[Property][Get] 173
IPen.IsSelected[Property][Get] 174
IPen.LocalTime [Property][Get/Set] 175
IPen.Name[Property][Get/Set] 176IPen.PointsVisible [Property][Get/Set] 177
IPen.PutHorizontalAxisTimeSpan [Method] 178
IPen.PutVerticalAxisSpan [Method] 180
IPen.RefreshData [Method] 181
IPen.RequestMode [Property][Get/Set] 182
IPen.ResetToDefaultSpan [Method] 183
IPen.SamplePeriod [Property][Get/Set] 183
IPen.Select [Method] 184
IPen.SetDefaultSpan[Method] 185
IPen.SetQualityCompactionPointType [Method] 186
IPen.SetQualityLineStyle [Method] 187
IPen.SetVerticalAxisLabelValue [Method] 188IPen.Stacked [Property][Get/Set] 189
IPen.TrendCursorLabelFillColor [Property][Get/Set] 190
IPen.TrendCursorLabelLineColor [Property][Get/Set] 191
IPen.TrendCursorLabelTextColor [Property][Get/Set] 192
IPen.VerticalAxisAutoscale [Property][Get/Set] 193
IPen.VerticalAxisColor [Property][Get/Set] 194
IPen.VerticalAxisLabelType [Property][Get/Set] 195
IPen.VerticalAxisResize[Property][Get/Set] 196
IPen.VerticalAxisScroll[Property][Get/Set] 197
IPen.VerticalAxisWidth [Property][Get/Set] 198
IPen.VerticalGridlinesColor [Property][Get/Set] 199
Contents
7
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
8/401
IPen.VerticalGridlinesStyle [Property][Get/Set] 200IPen.VerticalGridlinesWidth [Property][Get/Set] 201
IPen.VerticalMinorGridlinesColor [Property][Get/Set] 202
IPen.VerticalMinorGridlinesStyle [Property][Get/Set] 203
IPen.VerticalScrollBy [Method] 204
IPen.VerticalZoom [Method] 205
IPen.Visible [Property][Get/Set] 206
IPens Interface 207
IPens._NewEnum [Property][Get] 207
IPens.Count [Property][Get] 208
IPens.Create [Method] 209
IPens.Item [Property][Get] 210
IPens.ItemByName [Property][Get] 211IPens.Pane[Property][Get] 212
IPens.RemoveAll[Method] 212
IProcessAnalyst Interface 213
IProcessAnalyst.BlockUpdates [Method] 214
IProcessAnalyst.UnBlockUpdates [Method] 215
IProcessAnalyst.CopyToClipboard [Method] 216
IProcessAnalyst.CopyToFile [Method] 217
IProcessAnalyst.FreezeEvent [Method] 218
IProcessAnalyst.LoadFromFile [Method] 219
IProcessAnalyst.PrintAll [Method] 220
IProcessAnalyst.SaveToFile [Method] 221
IProcessAnalyst.ShowProperties [Method] 222
IProcessAnalyst.SubscribeForPropertyChange [Method] 223IProcessAnalyst.SynchroniseToNow [Method] 225
IProcessAnalyst.UnsubscribePropertyChange [Method] 226
IProcessAnalyst.AdminPrivilegeLevel [Property] [Get] 227
IProcessAnalyst.AutoScroll [Property][Get/Set] 228
IProcessAnalyst.BackgroundColor [Property][Get/Set] 229
IProcessAnalyst.CommandSystem [Property][Get] 230
IProcessAnalyst.ContextMenu [Property][Get/Set] 231
IProcessAnalyst.Cursors [Property][Get] 232
IProcessAnalyst.DataRequestRate [Property][Get/Set] 233
IProcessAnalyst.DisplayRefreshRate [Property][Get/Set] 234
IProcessAnalyst.Language [Property] [Get/Set] 235
IProcessAnalyst.LastSelectedPen [Property][Get] 236IProcessAnalyst.LockedPens [Property][Get/Set] 237
IProcessAnalyst.NumberofSamples[Property][Get/Set] 238
IProcessAnalyst.ObjectView [Property][Get] 240
IProcessAnalyst.Panes [Property][Get] 241
IProcessAnalyst.PrimaryPath [Property][Get/Set] 242
IProcessAnalyst.SecondaryPath [Property][Get/Set] 243
IProcessAnalyst.Toolbars [Property][Get] 244
IProcessAnalyst.WritePrivilegeLevel [Property][Get] 245
IProcessAnalyst.ZoomMode [Property][Get/Set] 246
IToolbar Interface 247
IToolbar.Buttons[Property][Get] 247
Contents
8
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
9/401
IToolbar.Visible [Property][Get/Set] 248IToolbars Interface 249
IToolbars.Item [Property][Get] 249
IToolbars._NewEnum [Property][Get] 250
IToolbars.Count [Property][Get] 251
IToolbarButton Interface 251
IToolbarButton.CommandId [Property][Get] 252
IToolbarButtons Interface 252
IToolbarButtons._NewEnum [Property][Get] 253
IToolbarButtons.Add [Method] 253
IToolbarButtons.Count [Property][Get] 254
IToolbarButtons.Item [Property][Get] 255
IToolbarButtons.Remove [Method] 256IToolbarButtons.RemoveAll [Method] 257
ITrendCursor Interface 257
ITrendCursor.Collection [Property][Get] 258
ITrendCursor.Color [Property][Get/Set] 259
ITrendCursor.Delete [Method] 260
ITrendCursor.GetValue [Method] 260
ITrendCursor.LabelsLocked [Property][Get/Set] 262
ITrendCursor.Name[Property][Get/Set] 263
ITrendCursor.PenLabelHeight [Property][Get/Set] 264
ITrendCursor.PenLabelVisible [Property][Get/Set] 265
ITrendCursor.PenLabelWidth [Property][Get/Set] 266
ITrendCursor.PenLabelX [Property][Get/Set] 267
ITrendCursor.PenLabelY [Property][Get/Set] 268ITrendCursor.Position [Property][Get/Set] 269
ITrendCursor.Visible [Property][Get/Set] 270
ITrendCursor.Width[Property][Get/Set] 271
Chapter: 5 Automation Examples 273Handling an Event 273
Enumerating collections 275
Implementinga custom command 276
Implementinga custom column 278
Process Analyst for Operators 283
Chapter: 6 The Process Analyst: An Overview 285
Chapter: 7 Using the Main Toolbar 287
Chapter:8 Understanding Process Analyst Pens 289Data Compaction 289
DataQuality 290
Contents
9
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
10/401
Date/Time (Horizontal) Axis 291Vertical (Value) Axis 293
Gridlines 294
Pen Layout 294
Pen Types 295
Analog pens 295
Digital pens 296
Alarm pens 296
Chapter: 9 Interacting with the Process Analyst 301Pens: An Overview 301
Pen Selection 301
Locking/Unlocking Pens 302
Scrolling theChart 303
Scaling the Chart 303
Using the Navigation Toolbar 304
Specifying a start time and end time 304
About timespans 307
Span Lock 307
Navigating time 308
Synchronize to Now 308
ToggleAutoscrolling 308
Zoom In/Zoom Out 309
Undo Last Zoom 309
Toggle Box Zoom 309Edit Span 310
Edit Vertical Scale 311
Reset to Default Span 312
Using Cursors 312
Using Cursor Labels 313
Using theRight-click Menu 315
Understanding Mouse Pointers 316
Adding and Deleting Pens 316
Adding Pens 317
Deleting Pens 319
Viewing Pen Details 320
Instant Trending using the Process Analyst 320
Chapter: 10 Using the Object View 323Object View Basics 323
Using ObjectView 324
Chapter:11 Printing and Exporting 327About Process Analyst Reports 327
Configuring Process Analyst Report Options 328
Setting up report legends 329
Setting up report options 330
Contents
10
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
11/401
Exporting Pen Data 331Copying data to the Clipboard 332
Copying data to file 333
Chapter: 12 Configuring the Process Analyst 335Using the Process Analyst Properties Dialog Box 335
Main page 335
Toolbars 337
Object View 337
Configuring Chart-wide Properties 338
Configuring general properties 338
Configuring server paths 340
Configuring Chart Panes 341
Configuring Pens 342
Configuring pen appearance 343
Configuring pen gridlines 345
Configuring pen axes 346
Configuring penquality 347
Configuring the pendata connection 348
Configuring cursor labels 350
Configuring Cursors 351
Configuring Defaults 351
Configuring Toolbars 352
Adding or removing toolbar commands 352
Changing the order of toolbar commands 353Configuring the Object View 353
Object View properties page 354
Working with Views 356
Savinga view 356
Loading a view 357
Chapter: 13 OperatorCommand Reference 359View Commands 359
ZoomCommands 360
Navigation Commands 361
Export Commands 361
Interface Commands 362
GeneralCommands 363
Glossary 365
Index 389
Contents
11
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
12/401
Contents
12
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
13/401
Safety Information
Hazard categories and special symbols
The following symbols and special messages may appear in this manual or on the prod-
uct to warn of potential hazards or to call attention to information that clarifies or sim-
plifies a procedure.
A lightning bolt or ANSI man symbol in a "Danger" or "Warning" safety label on the
product indicates an electrical hazard which, as indicated below, can or will result in
personal injury if the instructions are not followed.
The exclamation point symbol in a safety message in a manual indicates potential per-
sonal injury hazards. Obey all safety messages introduced by this symbol to avoid pos-
sible injury or death.
Symbol Name
Lightning Bolt
ANSI man
Exclamation Point
DANGERindicates an imminently hazardous situation, which, if not avoided, will result in
death or serious injury.
WARNINGindicates a potentially hazardous situation, which, if n ot avoided, c an result in
death or serious injury.
CAUTION indicates a potentially hazardous situation which, if not avoided, can result in
minor or moderate injury.
Safety Information
13
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
14/401
CAUTION
CAUTION used w ithout the safety alert symbol, ind icates a potentially hazardous situation
which, if not avoided, can result in property damage.
Please Note
Electrical equipment should be installed, operated, serviced, and maintained only by
qualified personnel. No responsibility is assumed by Schneider Electric (Australia) Pty.
Ltd. for any consequences arising out of the use of this material.
Before You Begin
CitectSCADA is a Supervisory Control and Data Acquisition (SCADA) solution. It facil-
itates the creation of software to manage and monitor industrial systems and processes.
Due to CitectSCADA's central role in controlling systems and processes, you must appro-
priately design, commission, and test your CitectSCADA project before implementing it
in an operational setting. Observe the following:
UNINTENDED EQUIPMENT OPERATION
Do not use CitectSCADA or other SCADA software as a replacement for PLC-based control pro-grams. SCADA software is not designed for direct, high-sp eed system control.
Failure to follow these instructions can result in death, serious injury, or equip-
ment damage.
LOSS OF CONTROL
l The designer of any control scheme must consider the potential failure modes of control
paths and, for certain critical control functions, provide a means to achieve a safe state
during and after a path failure. Examples of critical control functions are emergency
stop and overtravel stop.
l Separate or redundant control paths must be provided for critical control functions.
l System control paths may include communication links. Consideration must be given to
the implications of unanticipated transmission delays or failures of the link.*
l Each implementation of a control system created using CitectSCADA must be individ-
ually and thoroughly tested for proper operation before being placed into service.
Failure to follow these instructions can result in death, serious injury, or equip-
ment damage.
* For additional information, refer to NEMA ICS 1.1 (latest edition), "Safety Guidelines
for the Application, Installation, and Maintenance of Solid State Control".
Safety Information
14
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
15/401
Process Analyst for Developers
This section contains information for developers and describes the fol-
lowing:
Integration with CitectSCADA
Configuring Process Analyst Design Time Properties
Using the Process Analyst Command System
Automation Model
Cicode Programming Reference Automation Examples
15
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
16/401
16
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
17/401
Chapter: 1 Integration with CitectSCADA
The Process Analyst integrates into the CitectSCADA system and is designed to work pri-
marily with the CitectSCADA Graphics Builder and the run time environment. But the
Process Analyst can also be embedded in custom Visual Basic and .NET applications. In
these situations CitectSCADA is still necessary.
Integration with Historian
The Process Analyst integrates with the Historian Web Client, a component of Citec-
tHistorian. The Process Analyst is deployed as an ActiveX object within the client, allow-
ing it to be operated within Internet Explorer via a connection to a Historian Web Server.
To facilitate this, the Process Analyst supports a Historian connection. This needs a URL
server address for an available Historian Web Service. See Configuring connectionprop-
erties.
Once established, a Historian connection allows pens to be added to the Process Analyst
that represent data archived to a Historian database.
See Also
Configuring the Process Analyst Control from Graphics Builder| Security and Per-
missions|Multi-language Support| Persistence| Backing up Projects
Configuring the Process Analyst Control from Graphics Builder
Being an ActiveX control, you can insert the Process Analyst onto a CitectSCADA graph-
icspage.To do this, doone of the following:
l In Graphics Builder, choose Edit| Insert ActiveX Control. The Insert ActiveX dialog
box appears. Double-click the Citect Process Analyst Controlitem in theActiveX Con-
trolslist box. The control is inserted onto the graphics page and the Properties dialogbox appears.
l Click theProcess Analystbutton in the Graphics Builder toolbox.
After inserting the Process Analyst into a page, you can resize it into position. To view
the configuration pages for the Process Analyst, double-click the Process Analyst control.
For details on configuring the design time properties for the Process Analyst, see Con-
figuring Process Analyst Design Time Properties.
17
http://localhost/var/www/Content/Configuring_connection_properties.htmlhttp://localhost/var/www/Content/Configuring_connection_properties.htmlhttp://localhost/var/www/Content/Configuring_connection_properties.htmlhttp://localhost/var/www/Content/Configuring_connection_properties.htmlhttp://localhost/var/www/Content/Configuring_connection_properties.html -
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
18/401
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
19/401
Administration privilege
The Process Analyst also uses an Administration privilege level to disable engineer-
oriented features at run time. For example, the ability to add new custom commands
and so on are disabled if the Operator does not meet the necessary privilege level. The
Administration privilege level has never to be zero on a running system as this would
expose properties to an Operator, which could adversely affect the performance of the
client and/or server (for example, Number Of Samples property).
UNACCEPTABLY SLOW PROGRAM EXECUTION
Do not set the Administration Privilege level to zero on a running system.
Failure to follow these instructions can result in death, serious injury, or equip-
ment damage.
The features that are disabled when an operator does not meet the Administration priv-
ilege level include:
l Add Pen context menu in Property dialog box.
l New/Edit/Delete command (includes changing the privilege of commands).
l New/Delete Column.
l Data Refresh Rate property.
l Display Refresh Rate property.
l Number Of Samples property.
l Server Paths tab.
l Server field on Connection tab.
l Tag field on Connection tab.
To modify the Administration privilege level, seeConfiguring Chart-wide Properties.
Command privilege
The Process Analyst allows a privilege level to be assigned to each command (standard
or custom command). If an Operator does not have the necessary privilege level to use
that command, the associated toolbar button is disabled and cannot be executed.
See Also
Editing Existing Custom Commands
Chapter: 1 Integration with CitectSCADA
19
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
20/401
Write privilege
The Process Analyst uses a concept of "write" privilege level to control whether an oper-
ator can save Process Analyst views to a location other than "My documents". These
views can then be loaded into the Process Analyst later by any Operator. The write priv-
ilege is set at design time on the Server Paths property page located on the root Process
Analyst node in the Property pages dialog box. If the write privilege level is set to zero
(0), any operator can save to any location. If the write privilege is any other level, the
Operator needs to have that privilege level to be able to save an Analyst view to a loca-
tion other than "My Documents".
See Also
Configuring server paths| Working with Views| Process Analyst View Syn-
chronization
Multi-language Support
The Process Analyst supports the CitectSCADA multilanguage ability of changing the
user interface language dynamically at run time. If the language is changed in Citect-
SCADA, the Process Analyst will change its language to match.
The processof configuring theProcess Analyst formultiple languages is different from
that of CitectSCADA. This section describes how to localize the Process Analyst user
interface and get it to work with CitectSCADA.
Understanding the Process Analyst resources
The Process Analyst uses a special file, called Resources.dll, to store of its display strings
and dialog boxes. This file holds the native translations for your version of the Process
Analyst; these native translations are considered the default language. For example, the
Japanese version of the Process Analyst will contain Japanese resources inside the
Resources.dll file.
A separate Resources.dll file needs to be created for each individual language that you
want to support in your system. Rename the file using a special format to indicate the
language. The Process Analyst expects the file to be named Resources_.dll,
whereis the unique identifier of your dll.
For example, if you are creating French resources, name your dll Resources_fr.dll. Citect-
SCADA uses the RFC 1766 standard for specifying culture names.
See Also
Creatingyour own Process Analyst resource.dll
Chapter: 1 Integration with CitectSCADA
20
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
21/401
All language Resources*.dll files needs to be placed in the same directory as the
Analyst.dll file.
The example below shows a system that contains English as the default, and has alter-
native languages of French, German and Chinese.
l Resources.dll (default - any language, for example English)
l Resources_fr.dll (French standard)
l Resources_zh-CN.dll (Chinese PRC)
l Resources_de.dll (German)
Using CitectSCADA to switch the Process Analyst language
CitectSCADA uses the Cicode function SetLanguage to switch languages at run time. To
allow the Process Analyst to determine the language to display, you need to map your
CitectSCADA language databases to the Process Analyst resource files.
To do this, add a new .ini section called [ProcessAnalyst]to the Citect.ini file on each of
your CitectSCADA clients and servers, and create a mapping for each language. (This
section might already exist in your Citect.ini file.) The mapping need to use this format:
LanguagePath.=
where is the name of a specific CitectSCADA language translation database, and
is the language code of the resources.dll file that has the equiv-
alent translations.
For example,
[ProcessAnalyst]
LanguagePath.French=fr
LanguagePath.Chinese=zh-CN
LanguagePath.German=de
The last step is to verify each of your machines contains the necessary language fonts.
Windows XP and Windows 2000 both provide facilities to add the necessary languages
to your machine via the Regional and Language Options dialog box, accessible from the
Control Panel. This step is necessary if you want to use Asian languages on an English
operating system. SeeCreating your own Process Analyst resource.dll for details on add-
ing languages to your system.
With the .ini file now configured, languages installed, and the Resource.dll files in place
when the SetLanguageCicode function is called, CitectSCADA and the Process Analyst
will automatically change into the selected language.
Chapter: 1 Integration with CitectSCADA
21
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
22/401
Manually switching languages
The Process Analyst can also switch languages by itself using the IPro-
cessAnalyst.Language property. You can call this property directly from Cicode, for exam-
ple.
Note:Using this method will only switch the Process Analyst language and not the
one used by CitectSCADA. SeeIProcessAnalyst.Language [Property] [Get/Set].
Specifying languages for the Web Client
A Process Analyst running inside a CitectSCADA Web Client also supports run time lan-
guage switching, but you need to configure the languages that the Web Client will down-
load to the client machine.
To configure the languages to download:
1. Create a zip file in the CitectSCADA\binfoldercalled bin.zip.
2. Add to the zip file the language resource DLL files that you want the client to down-
load and use. (You can find these files in your \Program Files\Common Files\Citect
folder.)Note:The bin.zip file and its contents are not version-checked. This means you need
to manually remove the bin.zip from the Web Client machines if your server contains
a more recent bin.zip file. To do this:
1. Find the installation directory of the Analyst.dll file on your Web Client machines
and look for a file calledbin.zipin this directory.
2. Delete this file.
3. Reconnect to the Web server to download the latest bin.zip file.
Creating your own Process Analyst resource.dll
To create your own resources dll, you need to do the following:
1. Install the specific languages you are localizing on your Windows system.
2. Set your system to use that specific language.
Note:To create your own resources.dll file, you'll need to use Microsoft Devel-
oper Studio 6 or an equivalent tool.
Chapter: 1 Integration with CitectSCADA
22
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
23/401
Setup for localization on Windows XP
You need to have Administrator privileges to perform the following setup.
1. Open Control Panel and double-clickRegional and Language Options.
2. Click theLanguagestab.
3. If localizing for East Asian languages, select theInstall files for East Asian lan-
guagescheck box, then clickOK.
4. Once the languages are installed, click theLanguagestab in the Regional and Lan-
guage Options dialog box.
5. ClickDetailsin theText services and input languages section to display the Text
Services and Input Languages dialog box.
6. In theInstalled services section, verify that the language you want to localize with is
listed. If not, add it.
1. To add a language, clickAddto display the Add Input Language dialog box.
2. Select the language you want from theInputlanguage menu and click OK. (You
might need your original Windows Installer CD.)
3. You might need to restart your system before the language is available. If not,
clickApplyand then OK to close the Text Services and Input Languages dialog
Chapter: 1 Integration with CitectSCADA
23
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
24/401
box and return to the main window under the Languages tab. If you need to
restart your system, return to the Regional and Language Options dialog box after
logging back into Windows. Be sure to login as an Administrator.
7. Click theAdvancedtab in the Regional and Language Options dialog box.
8. Select the language you want from the menu in the Language for Non-Unicode Pro-
gramssection.
9. ClickApplyand then OK (you may need to restart your system).
Setup for localization on Windows 2000
You need to have Administrator privileges to perform the following setup.
1. Open Control Panel and double-clickRegional Options.
2. On the General tab under Language Settings for the System, make sure the language
you want to localize with is in the list and "Checked". If it is not, you need to add it.
1. To add a language, click theInput Locales tab.
2. ClickAddto display the Add Input Locale dialog box.
3. Select the language you want from the list.
4. ClickOKand follow the on-screen prompts.
Note:You will need your original Windows Installer CD.Once the language has
been installed, repeat steps 1 and 2, and continue on to 3.
3. Click theInput Localestab.
Chapter: 1 Integration with CitectSCADA
24
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
25/401
4. Verify that your language is listed in theInstalled input locals list.
5. Click back to the General tab.
6. ClickSet defaultto display the Select System Locale dialog box.
7. From this list, select the language that you want to localize to and clickOK. This step
is necessary if you are using Asian characters on an English system. (This may
require a system restart.)
Note:When you are finished localizing, switch this option back to its original set-
ting.
Changing the input language
When your system has been configured to use multiple languages, you will find a new
icon in the system tray displayed as "EN" or similar.
To change input language:
Chapter: 1 Integration with CitectSCADA
25
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
26/401
1. ClickEN to display the input language option menu.
2. Select the language you want to use (to work correctly with Visual Studio, to match
the language you selected in Step 8 of the Windows XP setup and Step 7 of the Win-
dows 2000 setup). This might display a language-specific IME editor, which allows
you to select characters to use in your translations.
Localizing the Process Analyst resource dll
Once you have set up your system to cope with multiple languages, you can begin local-
izing. Do the following:
1. Open Microsoft Visual Studio 6.
2. ChooseFile | Open.
3. Browse to the location of the Process Analyst's Resources.dll file. By default it is
located at C:\Program Files\Common Files\Citect\
.4. Verify that theFiles of type menu has Executable Files (.exe;.dll;*.ocx)selected.
5. Verify that theOpen as menu hasResourcesselected.
6. SelectResources.dlland clickOpen.
Chapter: 1 Integration with CitectSCADA
26
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
27/401
7. Save the file under a new name. For example, if you are localizing for Japanese, use
Resources_ja-JP.dll. SeeUnderstanding the Process Analyst resourcesfor naming con-
ventions.
8. Before changing any string, you need to change the language code for each dialog
box and the string table by doing the following:
1. Expand theString Table folder in the tree.
2. Right-click theString Table entry.
3. ChoosePropertiesfrom the right-click (context) menu (see below).
4. From theLanguage menu, select the language that you are localizing for.
5. ClickClose in the top-right corner of the dialog.
6. Repeat these steps for each of the dialogs inside theDialogfolder.
Once the language code has been set for every dialog and the string table, you are ready
to begin changing the text.
Localizing dialog boxes
To localize a dialog box, do the following:
1. Expand theDialogsfolder in the tree.
2. Double-click a dialog to edit.
3. Select an item of text and right-click to display the properties for that item.
4. Enter your replacement text into theCaptionfield.
5. Click theClose button in the top-right corner of the dialog box.
note the following:
Chapter: 1 Integration with CitectSCADA
27
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
28/401
l Controls can be repositioned or resized if necessary to fit your replacement text.
l Never resize a dialog box. The size of a dialog box is set to an optimum size so that
it integrates into Graphics Builder correctly.
l Dialogs 3028 and 3050 do not require translation.
Localizing the String Table
To localize the string table, do the following:
1. Expand theString Table folder in the tree.
2. Double-click theString Tableentry. This will display a table showing you the strings
of the Process Analyst.
3. Double-click an entry to display the Properties dialog box.
4. Type in the replacement text in theCaptionbox.
5. Click the Close button in the top-right corner of the dialog box.
Note:When translating strings, if a string contains "%s", "%x", "%d" and so on, do
notremove or replace those symbols as they are important to the Process Analyst.
Persistence
Persistence refers to saving the state (properties, pens, and so on) of the Process Analyst
to disk. CitectSCADA and the Process Analyst provide the following methods of per-
sistence:
l Saving as part of a CitectSCADA Graphics Builder page (design time)
l Save View toolbar button on the Process Analyst (run time)
l SaveToFile automation method on the Process Analyst (run time)
l Saving between CitectSCADA page transitions (run time)
Saving while using the Citect Graphics Builder
This feature allows you to configure the default look and/or what pens will be displayed
on the Process Analyst at design time while you are designing your graphics pages.
Design time is the appropriate time to configure the appearance properties, toolbar but-
tons and, most importantly, the security of the Process Analyst since these will become
the default settings of the Process Analyst when your page is displayed at run time.
Chapter: 1 Integration with CitectSCADA
28
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
29/401
When a page containing the Process Analyst is saved in the Graphics Builder the prop-
erties you configured on the Process Analyst will be stored within the Graphics Builder
page.
Note: When defining new custom toolbar buttons, any icon you assign will be copied
and also stored within the Graphics Builder page. This allows your custom toolbar but-
tons to work on any machine.
Using the Save View toolbar button
This feature is valid only at run time and allows operators to save the current state of
the Process Analyst (called a view) to a standalone file. These files can be loaded duringrun time, and are an efficient way to store commonly used pen configurations.
Using the SaveToFile automation method
This feature is valid only at run time and allows a user to write Cicode to save the cur-
rent state of the Process Analyst to a standalone file, referred to as an Analyst view.
These files can be loaded during run time using the LoadFromFileautomation method (or
theLoad Viewtoolbar button). Views and are an efficient way to store commonly used
pen configurations.
Saving between CitectSCADA page transitions (Run-time)
Using CitectSCADA run time, if you modify the Process Analyst (for example, changing
the timespan of a pen) and move off the page, your changes will be lost. This behavior is
not always what you want, so the Citect Graphics Builder provides an option Persist
ActiveX data between page transitions to save the state of an ActiveX control when you
switch between pages.
Enabling this option causes CitectSCADA to write a temporary file to the CitectSCADA
Data directory in the format of .stg whenever you leave a page that con-
tains an ActiveX object (for example, the Process Analyst). When you reenter the page,CitectSCADA looks for that same file and, if found, will load the settings from it. These
files only exist while CitectSCADA run time is running. When you shut down Citect-
SCADA, the temporary *.stg files are deleted.
To save between page transitions:
1. Double-click the Process Analyst ActiveX control you want to change. The Properties
dialog box appears.
2. Click theAccesstab.
3. Click theIdentificationtab. The Identification panel appears.
Chapter: 1 Integration with CitectSCADA
29
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
30/401
4. In thePersistence area, select thePersist ActiveX data between page transitions
check box, and then click Apply.
Resetting back to the default state
You can reset the original configuration of the Process Analyst control by calling theCicode function ObjectResetState. This function takes the object handle of the Process
Analyst control, which you retrieve by using the Cicode function ObjectByName.
Backing up Projects
When you save views to the Local storage location, the Process Analyst will create a
*.pav file in an Analyst Views subfolder under your project directory. If your project con-
tains Analyst views, verify that the Save sub-directoriesoption is selected in Citect
Explorer before backing up your project.
Chapter: 1 Integration with CitectSCADA
30
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
31/401
Chapter: 2 Configuring Design Time Properties
Most Process Analyst properties can be defined or modified during run time and design
time. This section describes properties that can be configured only during design time,
usually by a User.
For information about configuring run time properties, see Using the Process Analyst
Properties Dialog Box.
See Also
Adding New Commands| Editing Existing Custom Commands| Creating or Editing
Object View Columns| Process Analyst View Synchronization
Adding New Commands
Users can define new toolbar commands during design time if they have the appropriate
privilege level.
To add a new command:
1. On theToolbars page of the Properties dialog box, clickNew. The New Commanddialog box appears.
31
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
32/401
2. The dialog shows the unique, system-generated ID for the new command. If nec-
essary, enter a newID for the command. This ID can be used in Cicode to determine
which command has been triggered or to find a specific command in the Citect-
SCADA system.
3. Enter theTooltiptext for the new command. You are limited to 64 characters. Tooltip
text appears when the mouse pointer is over the toolbar command.
4. ClickBrowseand navigate to the icon to represent the new command. The icon
image appears on the toolbar command button.
5. To define how the command behaves, choose a button style from theButtonstyle
menu:
l Push Button- click the Enabledcheck box to set the default appearance of the but-ton when the button is enabled or disabled.
l Toggle Button- clickEnabledorPressedto specify the "on" appearance.
See Also
Editing Existing Custom Commands
Editing Existing Custom Commands
Users can edit existing toolbar commands if they have the appropriate privilege level.
Commands can only be edited during design time, and only fields for custom com-mands can be edited.
To edit an existing custom command
1. Open the Properties dialog box and click theToolbarstab.
2. Select the command you want to edit in theAvailable toolbar buttonslist box, and
then clickEdit. The Edit Command dialog box appears.
Chapter: 2 Configuring Design Time Properties
32
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
33/401
3. If necessary. clickBrowseto navigate to a new icon to use for the command.
4. If necessary, edit theTooltiptext. The maximum length for Tooltip text is 64 char-
acters.
5. If necessary, choose a new button style from theButton style menu.
See Also
Adding New Commands
Creating or Editing Object View Columns
Users can create or delete Object View columns (during design time), as well as edit exist-ing columns (run time or design time). Object View columns display information about
your pens. These configuration tasks are performed by using the Citect Process Analyst
Properties dialog box.
To create an Object View column:
1. Click theObject Viewtab. The Object View panel appears.
2. ClickNew. The New Column dialog box appears.
3. Enter a Name IDfor the column. The value is used to reference the column in code.
4. Specify aWidth.
5. Enter theTextto use for the column in the Object View display.
To delete an Object View column:
l Select the column you want to delete and clickDelete.
To edit an Object View column:
1. Select the column you want to edit, and then clickEdit. The Edit Column dialog box
appears.
2. Modify the information as necessary, and then clickOK.
Chapter: 2 Configuring Design Time Properties
33
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
34/401
See Also
Configuring the Object View
Process Analyst View Synchronization
The Process Analyst implements a basic level of file synchronization for Process Analyst
views (.pav files). This feature causes the Process Analyst to try and obtain the latest ver-
sion of a .pav file before displaying it to the operator.
To achieve this, an engineer needs to first configure the Process Analyst to support Pri-
mary and Standby server locations for Analyst Views; for details, seeConfiguring server
paths.
Withthese file servers in place, the Process Analyst now has a central location from
which to obtain Process Analyst views. If one of the locations is unavailable, the oper-
ator can try the alternate location. When a client saves or loads a Process Analyst view,
only that view on the Primary and Standby server locations will be synchronized to ver-
ify they are the same.
The table below outlines the rules of synchronization and privilege for the storage loca-
tions and client modes when loading and saving Process Analyst views.
Acti on Mode Privi lege Avail able S torage Locati on s*
Load Nor mal
client
Both** The Primary and Standby options appear as con-
figured as well as My Documents. If either are
invalid or unavailable paths, they do not
appear. If both are invalid or unavailable, the
Local option appears. Default order is Primary,
Standby, My Documents, and Local, My Doc-
uments respectively. Synchronization occurs
when loading from a Primary or Standby loca-
tion.
Load W eb c lient Both** The Loc al and My Doc uments op tions ar e the
only ones available. Local maps to the project
directory\Analyst Views. T he default order is
Local, My Documents.
Save Nor mal
client
Privileged The Local and My Documents options are the
only ones available. Local however will attempt
to save to every server location as well as the
project directory. The .pav file will be saved to
available locations f rom primary, standby and
project directories. Default order: Local, My
Documents.
Chapter: 2 Configuring Design Time Properties
34
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
35/401
Save Nor malclient
Unpriv-ileged
The My Documents option is the only one avail-able.
Save Nor mal
client
Both** The My Documents option is the only one avail-
able.
* Refers to theLook inmenu on SaveView and Load View dialog boxes.
** Means both privileged and un-privileged.
When setting up file-servers to store Process Analyst views, verify that each client
machine has privileges enabling it the desired read/write access to those locations.
See Also
Configuring server paths| Working with Views| Write privilege
Chapter: 2 Configuring Design Time Properties
35
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
36/401
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
37/401
Chapter: 3 Using the Process Analyst Command
System
This section describes how to use the Process Analyst command system.
See Also
Command System Overview| Custom Commands| Icons
Command System Overview
The Process Analyst provides an extensive command system allowing manipulation of
common Process Analyst features, as well as providing the framework for creating cus-
tom user-defined commands.
The command system is configurable via the Toolbar property page and the automation
model.
To access the command system via the automation model, call the property Get-
CommandSystem()from the IProcessAnalyst interface. For details, seeIProcessAnalyst Inter-
face.
Custom Commands
Custom commands are defined in the Process Analyst, but needs to be implemented in
Cicode. You define commands by using the ICommandSystem- > Create method, or by
using theNew button on the Toolbar property page.
To implement the command, you need to respond to the event CommandExecuted(and
optionally UpdateCommand). Both of these events notify you of the ID of the command
which needs to be handled.
CommandExecuted
When an operator presses the toolbar button representing your command, it will trigger
this event. This is your opportunity to execute the desired functionality of the command.
This will not be triggered if the logged-in user does not meet the necessary privilege
level. Be aware that this is an asynchronous operation.
37
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
38/401
UpdateCommand
When the Process Analyst requires the Enable state or pressed states of its toolbar but-
tons to be refreshed, this event will be triggered. This will not be triggered if the logged-
in user does not meet the necessary privilege level. This is asynchronous operation.
The state of commands (custom and pre-defined) will be saved to disk whenever the
Process Analyst configuration is saved.
See Also
Persistence
Icons
For custom commands, the user can specify their own custom icons by pointing to a file
on their hard drive. As these files may be deleted or moved over time, the Process
Analyst makes an instant copy of the icon into memory when the command is added.
This removes any dependence on the original icon file. When the Process Analyst con-
figuration is saved, the icon data is also saved.
Chapter: 3 Using the Process Analyst Command System
38
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
39/401
Chapter: 4 Automation Model
The automation model allows applications or solutions to programmatically configure
the Process Analyst control's appearance, performance, and behavior. The automation
model also allows code, via automation events, to be attached to events fired from the
Process Analyst Control and perform custom behavior.
The automation model allows almost every visual aspect of the control to be configured,
as well as performance. It is simple and follows a traditional object-oriented approach
(see below).
To view information for an interface, click the name of the interface in the illustration
below. For example, to view information for the IPens interface, clickIPens.
Execution Results
Each property and method listed in the automation model will return one of the fol-
lowing results upon execution. The exact meaning is described in the Execution Result
section for each property or method.
Execution Result Cicode VBA C++
InvalidArgument 274 5 E_INVALIARG
GeneralFailure 356 2147500037 E_FAIL
39
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
40/401
PathNotFound 356 76 STG_E_PATHNOTFOUND
Success 0 - S_OK
Errors are captured differently in Cicode and VBA. The following code examples show
how to trap and handle errors in VBA and Cicode.
[VBA]
Sub VBATest(myObject As Object)
On Error Goto errHandler
myObject.
Exit Sub
errHandler:
Print Err.Number, Err.Description
Resume Next
End Sub
[Cicode]
FUNCTION Test1(OBJECT hObject)
ErrSet(1); // Enable User error checking (disabled HW alarm)
IF ObjectIsValid(hObject) THEN
_ObjectCallMethod(hObject, "");
error = IsError();
errorMessage = IntToStr(error)
IF (error 0) THEN
Message("An error occured", errorMessage, 0);
END
END
ErrSet(0); // Enable hardware alarm reporting of errors
END
EnumerationsAlarmType [Enumeration]
AxisLabelType [Enumeration]
ErrorNotifyCode [Enumeration]
FileLocation [Enumeration]
HatchStyle[Enumeration]
LineStyle [Enumeration]
LineType [Enumeration]
PenNameMode [Enumeration]
PenType [Enumeration]
Chapter: 4 Automation Model
40
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
41/401
PointType [Enumeration]
QualityCompactionType [Enumeration]
QualityType [Enumeration]
RequestMode [Enumeration]
ToolbarButtonType [Enumeration]
AlarmType [Enumeration]
Specifies the visual representation for an alarm pen.
Defined As
l [VBA] Integer
l [Cicode] INT
l [C++] AlarmType
Members
Member Name Description Value
AlarmType_Digital The tag is digital alarm 0
AlarmType_Analog The tag is an analog alarm 1
AlarmType_Advanced The tag is an advanced alarm 2
AlarmType_TimeStamped The tag is a time-stamped alarm 3
AlarmType_MultiDigital The tag is a multi-digital alarm 4
Alar mT ype_Ar gyleAnalog T he tag is a leg ac y Ar gyle an alog alar m 5
AlarmType_TimeStampedDigital The tag is a digital time-stamped alarm 6
AlarmType_TimeStampedAnalog The tag is a analog time-stamped alarm 7
See Also
IAlarmPen.AlarmType [Property][Get/Set]
AxisLabelType [Enumeration]
Specifies how the labels are drawn on the vertical axis.
Defined As
Chapter: 4 Automation Model
41
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
42/401
l [VBA] Integer
l [Cicode] INT
l [C++] AxisLabelType
Members
Member Name Description Value
AxisLabelType_NONE No labels will be visible on axis 0
AxisLabelType_DOUBLE Displays in decimal format 1
AxisLabelType_INTEGER Displays in integer format 2
AxisLabelType_PERCENT Displays as "%" 3
AxisLabelType_AMPS Displays as "A" 4
AxisLabelType_DEGREES Displays as "deg" 5
AxisLabelType_FEET Displays as "ft" 6
AxisLabelType_FEETPERMIN Displays as "ft/min" 7
AxisLabelType_FEETPERSEC Displays as "ft/s" 8
AxisLabelType_GALLONS Displays as "gal" 9
AxisLabelType_GALLONSPERHR Displays as "gal/h" 10
AxisLabelType_GALLONSPERMIN Displays as "gal/min" 11
AxisLabelType_GALLONSPERSEC Displays as "gal/s" 12
AxisLabelType_HERTZ Displays as "Hz" 13
AxisLabelType_KILOGRAMS Displays as "kg" 14
AxisLabelType_KILOGRAMSPERHR Displays as "kg/h" 15
AxisLabelType_KILOGRAMSPERMIN Displays as "kg/min" 16
AxisLabelType_KILOGRAMSPERSEC Displays as "kg/s" 17
Chapter: 4 Automation Model
42
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
43/401
AxisLabelType_KILOMETRESPERHR Displays as "kg/h" 18
AxisLabelType_KILOPASCALS Displays as "kPa" 19
AxisLabelType_KILOWATTS Displays as "kW" 20
AxisLabelType_LITRES Displays as "l" 21
AxisLabelType_LITRESPERHR Displays as "l/h" 22
AxisLabelType_LITRESPERMIN Displays as "l/min" 23
AxisLabelType_LITRESPERSEC Displays as "l/s" 24
AxisLabelType_METRES Displays as "m" 25
AxisLabelType_METRESPERMIN Displays as "m/min" 26
AxisLabelType_METRESPERSEC Displays as "m/s" 27
AxisLabelType_REVS Displays as "Rev" 28
AxisLabelType_REVSPERHR Displays as "Rev/h" 29
AxisLabelType_REVSPERMIN Displays as "RPM" 30
AxisLabelType_TONNES Displays as "t" 31
AxisLabelType_TONNESPERHR Displays as "t/h" 32
AxisLabelType_VOLTS Displays as "V" 33
AxisLabelType_WATTS Displays as "W" 34
Axis Lab elT yp e_LOOKU P Dis plays u ser -d ef in ed text for lab el 35
ErrorNotifyCode [Enumeration]
Defines known errors that can occur during operation.
Defined As
l [VBA] Integer
l [Cicode] INT
Chapter: 4 Automation Model
43
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
44/401
l [C++] ErrorNotifyCode
Members
Member Name Description Val-
ue
ErrorNotifyCode_None No error. 0
ErrorNotifyCode_Inval-
idTag
Occurs when the tag specified for the pen does not
exist.
1
ErrorNotifyCode_Ctap-
iConnectionOffline
Occurs when connections cannot be made to the
Trends and/or Alarm Servers.
2
ErrorNotifyCode_
Unknown
Occurs when an unknown CitectSCADA or Windows
error occurs.
3
ErrorNotifyCode_
NoServer
Occurs when CitectSCADA cannot find a server to get
the data from.
4
ErrorNotifyCode_Inval-
idArgument
Oc curs w hen an invali d ar gument is s pec ified . 5
ErrorNotifyCode_Out-
OfMemory
Occurs when a memory error is detected. 6
ErrorNotifyCode_Bad-
Version
Occurs when the Trends and/or Alarm Servers do not
match the client version.
7
ErrorNotifyCode_NoP-
rivilege
Occurs when the current user does not have the nec-
essary privileges to view the data.
8
See Also
Error [Event]
FileLocation [Enumeration]
Specifies the location to save and write Process Analyst views to.
Defined As
l [VBA] Integer
l [Cicode] INT
l [C++] FileLocation
Members
Chapter: 4 Automation Model
44
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
45/401
Member Name Description Value
FileLocation_Local Refers to the project folder 0
FileLocation_Server Refers tothe both the primary/standby server paths 1
FileLocation_User Refers to the My Documents folder 2
See Also
IProcessAnalyst.LoadFromFile [Method],IProcessAnalyst.SaveToFile [Method]
HatchStyle [Enumeration]
Defines the filling style for Alarm pens.
Defined As
l [VBA] Integer
l [Cicode] INT
l [C++] HatchStyle
Members
Member Name Description Value
HatchStyle_None No pattern 0
HatchStyle_Horizontal Horizontal line pattern 1
HatchStyle_Vertical Vertical line pattern 2
HatchStyle_Forwar dDiagonal For ward diagonal line pattern 3
Hatc hStyle_Bac kw ar dDiag onal Bac kw ar d d iag onal linep atter n 4
HatchStyle_Cross Cross pattern 5
HatchStyle_DiagonalCross Diagonal cross pattern 6
See Also
IAlarmPen.SetHatchStyle [Method], IAlarmPen.GetHatchStyle [Method]
Chapter: 4 Automation Model
45
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
46/401
LineStyle [Enumeration]
Defines the drawing style for a line.
Defined As
l [VBA] Integer
l [Cicode] INT
l [C++] LineStyle
Values
Member Name Description Value
LineStyle_SOLID Draws a solid line (all line widths) 0
LineStyle_DASH Draws a d ashed line (line w idth 1 only) 1
LineStyle_DOT Draws a dot line (line width 1 only) 2
LineStyle_DASHDOT Draws a d ash dot (line w idth 1 only) 3
Li neStyle_ DASHDOTDOT Dr aw s a d as h d ot d ot ( linew id th 1 only) 4
LineStyle_NONE Draws no line 5
LineType [Enumeration]
Defines the visual representation of the lines between samples of an analog pen.
Defined As
l [VBA] Integer
l [Cicode] INT
l [C++] LineType
Members
Membe-
r
Name
Description Val-
ue
Line-
Type_
A single line is drawn from point A to point B. 0
Chapter: 4 Automation Model
46
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
47/401
STRAIGH-T
Line-
Type_
STEPPED
The line drawn will maintain the value of the previous sample. When
the samples differ, a vertical line will be drawn to the new sample
value.
1
See Also
IAnalogPen.LineInterpolation [Property][Get/Set]
PenNameMode [Enumeration]
Defines how the pen name will be generated. It is used in conjunction with the
IPens.Create method.
Defined As
l [VBA] Integer
l [Cicode] INT
l [C++] PenNameMode
Members
Member
Name
Description Val-
ue
Pen-
NameMode_
Comment
The comment field obtained from the CitectSCADA trend/alarm
tag will be used as the pen name.
1
Pen-
NameMode_
Tag
The value of the IPen.DataPoint property will be used as the
pen name.
2
Pen-NameMode_
Custom
Indicates that you will be setting the name using theIPen.Name property.
3
See Also
IPens.Create [Method],IPen.DataPoint [Property][Get/Set],IPen.Name [Property][Get/Set]
PenType [Enumeration]
Defines the plotting style of a Process Analyst pen.
Chapter: 4 Automation Model
47
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
48/401
Defined As
l [VBA] Integer
l [Cicode] INT
l [C++] PenType
Members
Member Name Description Value
PenType_ANALOG A pen with an analog range 4097
PenType_DIGITAL A pen with a range of 0 and 1 4098
PenType_ALARM A pen represented as states 4099
See Also
IPens.Create [Method]
PointType [Enumeration]
Defines the visual cue applied to samples of a pen.
Defined As
l [VBA] Integer
l [Cicode] INT
l [C++] PointType
Members
Member Name Description Value
PointType_NONE No marker 0
PointType_RECT A rectangular marker 1
PointType_CIRCLE A circular marker 2
PointType_PLUS A plus marker 3
PointType_CROSS A cross marker 4
PointType_TRIANGLE A triangular marker 5
Chapter: 4 Automation Model
48
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
49/401
PointType_ELLIPSE A elliptical marker 6
See Also
IPen.SetQualityCompactionPointType [Method]
QualityCompactionType [Enumeration]
Specifies the different types of presentation used for a sample.
Defined As
l [VBA] Integer
l [Cicode] INT
l [C++] QualityCompactionType
Members
Member Name Description Val-
ue
Qual-
ityCompactionType_
Single
Representation when the marker represents a single
sample
0
Qual-
ityCompactionType_
Multiple
Representation when the marker represents a cal-
culation of two or more samples
1
Qual-
ityCompactionType_
Interpolated
Representation when the marker represents inter-
polated samples
2
See Also
IPen.SetQualityCompactionPointType [Method]
QualityType [Enumeration]
Defines the known quality states of data.
Defined As
l [VBA] Integer
l [Cicode] INT
l [C++] QualityType
Members
Chapter: 4 Automation Model
49
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
50/401
Member Name Description Value
QualityType_Good The sample is good 0
QualityType_NA Indicates a loss of connection 1
Qu alityT yp e_Gated In dic ates th e d ata was mar ked as u nwan ted 2
Remarks
An alarm pens "disabled" state is treated as QualityType_Gated.
See Also
IPen.SetQualityLineStyle [Method]
RequestMode [Enumeration]
Defines the data acquisition method for a pen.
Defined As
l [VBA] Integer
l
[Cicode] INTl [C++] RequestMode
Members
Member
Name
Description Val-
ue
Reque-
stMode_
Average
The value will be an average of the individual samples within the
multiple sample, as will the timestamp
0
Reque-stMode_
Minimum
The value will be the minimum value out of the individual sampleswithin the multiple sample. The timestamp will be the average of
the individual samples.
1
Reque-
stMode_
Maximum
The value will be the maximum value out of the individual samples
within the multiple sample. The timestamp will be the average of
the individual samples.
2
Reque-
stMode_
Newest
The value will the latest arrived value out of the individual sam-
ples within the multiple sample. The timestamp will be the aver-
age of the individual samples.
3
Chapter: 4 Automation Model
50
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
51/401
See Also
IPen.RequestMode [Property][Get/Set]
ToolbarButtonType [Enumeration]
Defines the type of a toolbar button.
Defined As
l [VBA] Integer
l [Cicode] INT
l
[C++] ToolbarButtonTypeMembers
Member Name Description Value
ToolbarButtonType_Push Standard push button behavior. 0
Toolb ar ButtonTyp e_ Tog gl e The b utton has tw o s tates : On and Off. 1
ToolbarButtonType_Separator A visual marker used to group buttons. 2
See AlsoICommandSystem.Create [Method],ICommand.ButtonType [Property][Get]
Chapter: 4 Automation Model
51
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
52/401
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
53/401
Each toolbar button is associated with a command so when they are pressed this event
will be raised with the unique identifier of that command. You can then use that iden-
tifier to determine which command was executed.
By using this event you can implement your own custom commands.
See Also
UpdateCommand [Event], ICommandSystem.Execute [Method]
Calling Syntax
Assumes you have a Process Analyst on a page with an event class defined as myPage_
AN35.
[VBA]
Sub myPage_AN35_CommandExecuted(commandId As String)
End Sub
[Cicode]
FUNCTION myPage_AN35_CommandExecuted(OBJECT processAnalyst, STRING commandId)
END
CursorMoved [Event]
This event is raised whenever the cursor position changes.
Defined As
l [VBA] CursorMoved(cursor As Object, position As Integer)
l [Cicode] CursorMoved (OBJECT processAnalyst, OBJECT cursor, INT position)
l [C++] CursorMoved (IPen* pen, int position)
Parameterscursor
[in]Refers to the cursor that has moved.
position
[in]Indicates the new position of the cursor.
processAnalyst
[in]Indicates the Process Analyst object which raised the event. (Cicode only).
Calling Syntax
Chapter: 4 Automation Model
53
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
54/401
Assumes you have a Process Analyst on a page with an event class defined as myPage_
AN35.
[VBA]
Sub myPage_AN35_CursorMoved(pen As Object, position As Integer)
End Sub
[Cicode]
FUNCTION myPage_AN35_CursorMoved(OBJECT processAnalyst, OBJECT cursor, INT position)
END
Error [Event]
This event is raised whenever an error is generated from the Process Analyst.
Defined As
l [VBA] Error(errorCode As Integer, errorMessage As String)
l [Cicode] Error(OBJECT processAnalyst, INT errorCode, STRING errorMessage)
l
[C++] Error(ErrorNotifyCode errorCode, BSTR errorMessage)Parameters
errorCode
[in]Indicates the error that occurred. See the ErrorNotifyCode enumeration.
errorMessage
[in]Contains the message associated with the error code.
processAnalyst
[in]Indicates the Process Analyst object which raised the event. (Cicode only)
See Also
ErrorNotifyCode [Enumeration]
Calling Syntax
Assumes you have a Process Analyst on a page with an event class defined as myPage_
AN35.
[VBA]
Sub myPage_AN35_Error(errorCode As Integer, errorMessage As String)
End Sub
Chapter: 4 Automation Model
54
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
55/401
[Cicode]
FUNCTION myPage_AN35_Error(OBJECT processAnalyst, INT errorCode, STRING error-
Message)
END
HorizontalAxisChanged [Event]
This event is raised when the date/time axis position or scale of a pen is changed.
Defined As
l [VBA] HorizontalAxisChanged(pen As Object)
l [Cicode] HorizontalAxisChanged(OBJECT processAnalyst, OBJECT pen)
l [C++] HorizontalAxisChanged(IPen* pen)
Parameters
pen
[in]Refers to the pen that has changed. This will be invalid if pens are locked.
processAnalyst
[in]Indicates the Process Analyst object that raised the event (Cicode only).
Remarks
When the LockedPens property is True, this event is fired only once with the pen param-
eter marked as invalid.
See Also
IProcessAnalyst.LockedPens [Property][Get/Set],VerticalAxisChanged [Event]
Calling Syntax
Assumes you have a Process Analyst on a page with an event class defined as AN35_E.
[VBA]
Sub AN35_E_HorizontalAxisChanged (pen As Object)
End Sub
Chapter: 4 Automation Model
55
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
56/401
[Cicode]
FUNCTION AN35_E_HorizontalAxisChanged (OBJECT processAnalyst, OBJECT pen)
END
MouseClick [Event]
This event is raised whenever a single mouse click occurs on the graphical chart area of
the Process Analyst.
Defined Asl [VBA] MouseClick(pen As Object, button As Integer)
l [Cicode] MouseClick(OBJECT processAnalyst, OBJECT pen, INT button)
l [C++] MouseClick(IPen* pen, int button)
Parameters
pen
[in]Indicates which pen the click occurred on. This object will be invalid if no pen was
clicked.
button
[in]Indicates which button was clicked: 0 = Left, 1 = Right.
processAnalyst
[in]Indicates the Process Analyst object that raised the event (Cicode only).
Calling Syntax
Assumes you have a Process Analyst on a page with an event class defined as myPage_
AN35.
[VBA]
Sub myPage_AN35_MouseClick(pen As Object, button As Integer)End Sub
[Cicode]
FUNCTION myPage_AN35_MouseClick(OBJECT processAnalyst, OBJECT pen, INT button)
END
Chapter: 4 Automation Model
56
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
57/401
MouseDoubleClick [Event]
This event is raised whenever a mouse double-click occurs on the graphical chart area of
the Process Analyst.
Defined As
l [VBA] MouseDoubleClick(pen As Object, button As Integer)
l [Cicode] MouseDoubleClick(OBJECT processAnalyst, OBJECT pen, INT button)
l [C++] MouseDoubleClick(IPen pen, int button)
Parameters
pen
[in]Indicates which pen the double-click occurred on. This object will be invalid if no
pen was double-clicked.
button
[in]Indicates which button was double-clicked: 0 = Left, 1 = Right.
processAnalyst
[in]Indicates the Process Analyst object that raised the event (Cicode only).
Calling Syntax
Assumes you have a Process Analyst on a page with an event class defined as myPage_
AN35.
[VBA]
Sub myPage_AN35_MouseDoubleClick(pen As Object, button As Integer)
End Sub
[Cicode]
FUNCTION myPage_AN35_MouseDoubleClick(OBJECT processAnalyst, OBJECT pen, INT button)END
OVColumnAdded [Event]
This event is raised whenever a column is added to the ObjectView.
Defined As
l [VBA] OVColumnAdded(name As String)
l [Cicode] OVColumnAdded(OBJECT processAnalyst, STRING name)
Chapter: 4 Automation Model
57
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
58/401
l [C++] OVColumnAdded(BSTR name)
Parameters
item
[in]The name of the column that has been added
processAnalyst
[in]Indicates the Process Analyst object which raised the event. (Cicode only)
Calling Syntax
Assumes you have a Process Analyst on a page with an event class defined as myPage_
AN35.
[VBA]
Sub myPage_AN35_OVColumnAdded(name As String)
End Sub
[Cicode]
FUNCTION myPage_AN35_OVColumnAdded(OBJECT processAnalyst, STRING name)
END
OVColumnRemoved [Event]
This event is raised whenever a column is removed to the ObjectView.
Defined As
l [VBA] OVColumnRemoved(name As String)
l [Cicode] OVColumnRemoved(OBJECT processAnalyst, STRING name)
l [C++] OVColumnRemoved(BSTR name)
Parameters
item
[in]The name of the column that has been removed.
processAnalyst
[in]Indicates the Process Analyst object which raised the event. (Cicode only)
Calling Syntax
Assumes you have a Process Analyst on a page with an event class defined as myPage_
AN35.
Chapter: 4 Automation Model
58
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
59/401
[VBA]
Sub myPage_AN35_OVColumnRemoved(name As String)
End Sub
[Cicode]
FUNCTION myPage_AN35_OVColumnRemoved(OBJECT processAnalyst, STRING name)
END
OVItemAdded [Event]
This event is raised whenever an item is added to the ObjectView.
Defined As
l [VBA] OVItemAdded(item As Object)
l [Cicode] OVItemAdded (OBJECT processAnalyst, OBJECT item)
l [C++] OVItemAdded (IObjectViewItem* item)
Parameters
item
[in]A reference to the item that was added to the ObjectView.
processAnalyst
[in]Indicates the Process Analyst object which raised the event. (Cicode only)
Calling Syntax
Assumes you have a Process Analyst on a page with an event class defined as myPage_
AN35.
[VBA]
Sub myPage_AN35_OVItemAdded(item As Object)
End Sub
[Cicode]
FUNCTION myPage_AN35_OVItemAdded(OBJECT processAnalyst, OBJECT item)
END
Chapter: 4 Automation Model
59
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
60/401
OVItemChecked [Event]
This event is raised whenever an item is checked in the ObjectView.
Defined As
l [VBA] OVItemChecked(item As Object)
l [Cicode] OVItemChecked(OBJECT processAnalyst, OBJECT item)
l [C++] OVItemChecked(IObjectViewItem* item)
Parameters
item
[in]A reference to the item that was checked in the ObjectView.
processAnalyst
[in]Indicates the Process Analyst object which raised the event. (Cicode only)
Calling Syntax
Assumes you have a Process Analyst on a page with an event class defined as myPage_
AN35.
[VBA]
Sub myPage_AN35_OVItemChecked(item As Object)
End Sub
[Cicode]
FUNCTION myPage_AN35_OVItemChecked(OBJECT processAnalyst, OBJECT item)
END
OVItemRemoved [Event]This event is raised whenever an item is added to the ObjectView.
Defined As
l [VBA] OVItemRemoved(item As Object)
l [Cicode] OVItemRemoved(OBJECT processAnalyst, OBJECT item)
l [C++] OVItemRemoved(IObjectViewItem* item)
Parameters
item
Chapter: 4 Automation Model
60
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
61/401
[in]A reference to the item that was removed from the ObjectView.
processAnalyst
[in]Indicates the Process Analyst object which raised the event. (Cicode only)
Calling Syntax
Assumes you have a Process Analyst on a page with an event class defined as myPage_
AN35.
[VBA]
Sub myPage_AN35_OVItemRemoved(item As Object)
End Sub
[Cicode]
FUNCTION myPage_AN35_OVItemRemoved(OBJECT processAnalyst, OBJECT item)
END
OVItemSelected [Event]
This event is raised whenever an item is selected in the ObjectView.Defined As
l [VBA] OVItemSelected(item As Object)
l [Cicode] OVItemSelected(OBJECT processAnalyst, OBJECT item)
l [C++] OVItemSelected(IObjectViewItem* item)
Parameters
item
[in]A reference to the item that was selected in the ObjectView.
processAnalyst
[in]Indicates the Process Analyst object which raised the event. (Cicode only)
Calling Syntax
Assumes you have a Process Analyst on a page with an event class defined as myPage_
AN35.
[VBA]
Sub myPage_AN35_OVItemSelected(item As Object)
Chapter: 4 Automation Model
61
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
62/401
End Sub
[Cicode]
FUNCTION myPage_AN35_OVItemSelected(OBJECT processAnalyst, OBJECT item)
END
PenCreated [Event]
This event is raised whenever a pen is either created via the automation model, oradded through the Add Pen dialog at run time.
Defined As
l [VBA] PenCreated(pen As Object)
l [Cicode] PenCreated(OBJECT processAnalyst, OBJECT pen)
l [C++] PenCreated(IPen* pen)
Parameters
pen
[in]Refers to the pen that was created.
processAnalyst
[in]Indicates the Process Analyst object which raised the event. (Cicode only).
Calling Syntax
Assumes you have a Process Analyst on a page with an event class defined as myPage_
AN35.
[VBA]
Sub myPage_AN35_PenCreated(pen As Object)
End Sub
[Cicode]
FUNCTION myPage_AN35_PenCreated(OBJECT processAnalyst, OBJECT pen)
END
PenDeleted [Event]
This event is raised whenever a pen is deleted either by automation or via the interface.
Chapter: 4 Automation Model
62
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
63/401
Defined As
l [VBA] PenDeleted(penName As String)
l [Cicode] PenDeleted(OBJECT processAnalyst, STRING penName)
l [C++] PenDeleted(BSTR penName)
Parameters
penName
[in]Contains the name of the pen that was deleted.
processAnalyst
[in]Indicates the Process Analyst object which raised the event. (Cicode only)
Calling Syntax
Assumes you have a Process Analyst on a page with an event class defined as myPage_
AN35
[VBA]
Sub myPage_AN35_PenDeleted(penName As String)
End Sub
[Cicode]
FUNCTION myPage_AN35_PenDeleted(OBJECT processAnalyst, STRING penName)
END
PenRenamed [Event]
This event is raised whenever a pen is renamed via automation or through the user
interface.
Defined As
l [VBA] PenRenamed(pen As Object)
l [Cicode] PenRenamed(OBJECT processAnalyst, OBJECT pen)
l [C++] PenRenamed(IPen* pen)
Parameters
pen
[in]Refers to the pen that was renamed.
processAnalyst
[in]Indicates the Process Analyst object which raised the event. (Cicode only).
Chapter: 4 Automation Model
63
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
64/401
Calling Syntax
Assumes you have a Process Analyst on a page with an event class defined as myPage_
AN35.
[VBA]
Sub myPage_AN35_PenRenamed(pen As Object)
End Sub
[Cicode]
FUNCTION myPage_AN35_PenRenamed(OBJECT processAnalyst, OBJECT pen)
END
PenSelectionChanged [Event]
This event is raised whenever the selection changes in the Process Analyst.
Defined As
l [VBA] PenSelectionChanged (pen As Object)
l
[Cicode] PenSelectionChanged (OBJECT processAnalyst, OBJECT pen)l [C++] PenSelectionChanged (IPen* pen)
Parameters
pen
[in]Refers to the pen that now has primary selection. This maybe invalid if the last pen
was deleted from the view.
processAnalyst
[in]Indicates the Process Analyst object which raised the event. (Cicode only)
Remarks
Selection can change via user interaction (such as clicking on pens, deleting/adding
pens) and automation.
Calling Syntax
Assumes you have a Process Analyst on a page with an event class defined as myPage_
AN35.
Chapter: 4 Automation Model
64
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
65/401
[VBA]
Sub myPage_AN35_PenSelectionChanged(pen As Object)
End Sub
[Cicode]
FUNCTION myPage_AN35_PenSelectionChanged(OBJECT processAnalyst, OBJECT pen)
END
PropertyChanged [Event]
This event is raised whenever a property that has been subscribed to has changed.
Defined As
l [VBA] PropertyChanged(interfaceName As String, propertyName As String)
l [Cicode] PropertyChanged (OBJECT processAnalyst, STRING interfaceName, STRING
propertyName)
l [C++] PropertyChanged (BSTR interfaceName, BSTR propertyName)
ParametersinterfaceName
[in]Indicates which interface the property which has changed belongs to.
propertyName
[in]Indicates which property has changed.
processAnalyst
[in]Indicates the Process Analyst object which raised the event. (Cicode only)
Remarks
For this event to be raised you need to subscribe to one or more properties.
See Also
IProcessAnalyst.SubscribeForPropertyChange [Method],IPro-
cessAnalyst.UnsubscribePropertyChange [Method]
Calling Syntax
Assumes you have a Process Analyston a page with an event class defined as myPage_
AN35.
Chapter: 4 Automation Model
65
-
8/10/2019 CitectSCADA 7.20 Process Analyst User Guide
66/401
[VBA]
Sub myPage_AN35_PropertyChanged(interfaceName As String, propertyName As String)
End Sub
[Cicode]
FUNCTION myPage_AN35_PropertyChanged(OBJECT processAnalyst, STRING interfaceName,
STRING propertyName)
END
UpdateCommand [Event]
This event is raised whenever the Process Analyst needs to refresh the state of its tool-
bars.
Defined As
l [VBA] UpdateCommand(commandId As String)
l [Cicode] UpdateCommand(OBJECT processAnalyst, STRING commandId)
l [C++] UpdateCommand(BSTR commandId)
Parameters
commandId
[in]Contains the unique identifier of the command that needs to be refreshed.
processAnalyst
[in]Indicates the Process Analyst object which raised the event. (Cicode only)
Remarks
This event is only raised for custom commands. use this event as an opportunity to
update the enable and/or the pres
top related