citectscada 7.20 process analyst user guide

Upload: tallbeast

Post on 02-Jun-2018

1.342 views

Category:

Documents


154 download

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