0% found this document useful (0 votes)
49 views100 pages

CitectSCADA 7.20 User Guide-1

Uploaded by

Fabrice Fotso
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
49 views100 pages

CitectSCADA 7.20 User Guide-1

Uploaded by

Fabrice Fotso
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 100

v7.

20

CitectSCADA User Guide

October 2010
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
© Copyright 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


Contents

Legal Notice 2

Contents 3

Getting Started 23

Safety Information 25

Chapter: 1 Getting Technical Support 27


CitectSCADA Technical Support 27
Training 28
Contact information 28

Chapter: 2 What's New in CitectSCADA v7.x 29


What's New in CitectSCADA v7.0 29
The Migration Tool 30
Clustering 30
Local Variables 30
Publish Alarm Property 31
Memory Mode 31
Client-side Online Changes 31
Publisher-Subscriber Model 32
Dual Network Support 32
Project-Based Network Configuration 32
Citect.ini Parameters in version 7.0 32
New Parameters 33
Obsolete Parameters 36
Cicode Functions in v7.0 40
CtAPI Functions in v7.0 49
What's New in CitectSCADA v7.10 50

3
Contents

CitectSCADA Security Enhancements 51


Windows Integrated Security 52
Multi-Signature Support 52
Edit .dbf Files in Microsoft® Excel 52
Enhanced Driver Installation 53
New Font Selection for Graphics Button 53
Microsoft Windows Vista Support 54
New Locations for Configuration and Project Files 54
Alarm Field Enhancements 55
New Time Synchronization Service 57
New Equipment Database Functions and Forms 57
Citect.ini Parameters in v7.10 57
Cicode Functions in v7.10 60
What's New in CitectSCADA v7.20 61
Control SCADA Client Connections 62
Dynamically Optimized Writes 63
Environment variables in 7.20 63
Graphic Enhancements 64
Improved Installation Process 64
Improved CitectSCADA Security 65
Multi-process Support in Demo Mode 65
New Example Project 65
Web-based Help 66
OFSOPC Driver 66
Pelco Camera Support 67
Performance Enhancements 67
Persisted I/O Memory Mode 68
Post Compile Commands 68
Improved Client Side Online Changes 68
Server Side Online Changes 69
Microsoft Windows 7 Support 69
Supportability Enhancements 69
New Tab Menu Templates 70
Tag Extensions 70
Time Scheduler 71
Citect.ini Parameters in v7.20 71
CtAPI Functions in v7.20 78
Cicode Functions in v7.20 79
Kernel Commands in Version 7.0 86

Chapter: 3 Upgrading to CitectSCADA v7.20 87


Upgrade CTAPI Applications 88
Configure I/O Devices 88
Run the Citect Installer 89
Launch CitectSCADA 90
Migration Tool 90
Creation of roles for existing users 95
Define Clusters 97

4
Contents

Configure Network Addresses 97


Configure Servers 97
Configure Tags to Use Clustering 99
Configuring Multiple Monitor Support 101
Compile the Project 101
Run Computer Setup Wizard 101
Troubleshooting 101

Chapter: 4 About CitectSCADA 103


Dynamic-point count licensing 103
Configuring a CitectSCADA project 104
Deploying CitectSCADA 105
Running a project 105

Chapter: 5 Tools 107


Configuration Tools 107
Runtime Tools 108
Drivers 109

Chapter: 6 Components of a project 111


Graphics components 111
Tags 112
Alarms 113
System components 113
Communications components 115
I/O Server components 115
Cicode / CitectVBA 116

Chapter: 7 Typical system scenarios 117


Standalone system 118
Distributed I/O system 118
Client-Server system 120
Redundant server system 121
Clustered control system 122
Redundant and distributed control system 123
Load sharing system 125

Using CitectSCADA 127

Chapter: 8 Planning a Project 129


The Physical Layout of a Plant 129
Operational Requirements 130
Architecture 130
Security 131

5
Contents

Reliability 131
Monitoring 131
Data collection 131
Project Design 132
Naming Standards 132
Page Templates 133
Genies and Super Genies 133
Clustering 133
Included projects 135
Redundancy 136
Building Your Project 136
Projects 137
Setting up I/O Device Communication 137
Graphics Components 137
Alarms 138
Data Collection 138
Users and Areas 139
System Components 139
Setting up Your Computers 140
Setting up CitectSCADA as an OPC data source 140

Chapter: 9 Administering Projects 143


Managing your projects 143
Creating a project 143
Editing the properties of an existing project 146
Copying projects 149
Printing project details 151
Deleting a project 152
Linking projects 152
Time Synchronization 153
Time Synchronization Dialog 154
Archiving projects 155
Backing up a project 156
Backing up INI files 157
Configuring a backup with password encryption 158
Running a backup from the command line 158
Restoring a project 160
Including projects 161
Including a project in the current project 163
Included projects 164
Working with the Project Editor 164
Setting the Project Editor options 165
Paste Tag dialog box 168
Paste Function dialog box 168
Find User Function dialog box 168
Using Find and Replace in a project 169
The Find and Replace dialog 169
Specifying search coverage 170

6
Contents

Using the results list 171


Removing results 172
Exporting results 172
Jumping to a result (Go To) 173
Replacing results 174
Find and Replace alert messages 175
Troubleshooting Searches 178

Chapter: 10 Securing Projects 179


Overview 179
Securing a Top-level Project 180
Securing an Include Project 182
Making a Project Read-Only 183
Read-Only Privileges on Projects 184
Securing Runtime Computers 189
Client Start up Restrictions 189
Running a client as a shell 190
Disabling Windows keyboard commands 190
Disabling control menu commands 190
Removing the Cancel button 190

Chapter: 11 Using CitectSCADA Security 193


Areas 193
Privileges 195
Roles 197
Users 198
Configuring CitectSCADA Security 199
Configuring Areas 199
Using labels to name areas 199
Using groups of areas 200
Groups properties 201
Viewing areas of the plant 202
Adding Roles 203
Additional Fields 204
Configuring Privileges 205
Using hierarchical privilege 205
Implementing System Security 206
Privilege and Area combinations 206
Using multiple areas with privileges 208
Adding users 210
User records and project restoration 212
Using CitectSCADA integrated with Windows Security 212
Adding Groups and Users 213
Scenarios and Usage 214
Authenticating a Trusted Network 215
Setting the Super User Password 216

Chapter: 12 Configuring Your System 217

7
Contents

Running the Computer Setup Wizard 217


Project Configuration 218
Runtime only environment 219
Computer Role Configuration 220
Network Model 221
Configure Server Password 221
Configure Server User 222
Internet Server Configuration 222
Alarm Configuration 223
Reports Configuration 224
Trends Configuration 225
CPU Configuration 225
Events Configuration 226
Startup Functions Configuration 227
Cluster Connections Configuration 228
Control Menu Security Configuration 229
Keyboard Security Configuration 230
Miscellaneous Security Configuration 230
General Options Setup 231
Finish 231

Chapter: 13 Implementing Clustering 233


Rules of Clustering 233
Cluster Definitions 235
Network Address Definitions 236
Alarm Server Definitions 236
Reports Server Definitions 238
Trends Server Definitions 239
I/O Server Definitions 240
Assigning tags to a cluster at Runtime 241

Chapter: 14 Building Redundancy Into Your System 245


I/O Server Redundancy 246
I/O Device promotion 247
Redundancy and Persistence 249
Data Path Redundancy 250
Multiple Device Redundancy (Standby Data Paths) 252
Network Redundancy 254
Configuring network redundancy 255
Alarms, Reports and Trends Server Redundancy 255
Alarms server redundancy 258
Reports server redundancy 259
Trends server redundancy 259
File server redundancy 260
FTP server redundancy 261
Redundancy of Standalone Systems 261

Chapter: 15 Communicating with I/O Devices 263

8
Contents

The Role of the I/O Server 264


The Role of the I/O Device 264
The Role of the Transport Medium 265
The Role of the Protocol 266
Communication Configuration 267
Retrieving time-stamped data from field devices 270
Setting Up Communications 271
Preparing a Device 272
Preparing the I/O Server for Communication 272
Creating a communications test project 279
Using the Communications Express Wizard 281
Express Communications Wizard - introduction 282
Express Communications Wizard - Server selection 282
Express Communications Wizard - Device selection 282
Express Communications Wizard - I/O Device type 282
Express Communications Wizard - I/O Device communications selection 283
Express Communications Wizard - TCP/IP address 283
Express Communications Wizard - I/O Device address 283
Express Communications Wizard - I/O Device connection schedule 284
Express Communications Wizard - Link to external database 286
Express Communications Wizard - Serial device 288
Express Communications Wizard - Summary 288
Manually Configuring Communications 288
I/O Server Properties 289
Boards Properties 290
Ports Properties 291
I/O Devices Properties 292
I/O Devices Properties Extended 295
Working With Device Drivers 300
Determining Which Driver to Use 301
Installing a Driver Pack 301
The Driver Update Utility 302
Using the Driver Reference Help 303
Customizing Communication Using Citect.ini Parameters 304
Using a Disk I/O Device 304
Disk I/O Device setup 305
Redundant Disk I/O Devices 307
Disk I/O Device Errors 308
Using Memory Mode 309
Using Persisted I/O Memory Mode 310
Troubleshooting Device Communications 311
Gathering information about device communication 311
Debugging I/O Devices and Protocols 313
Debugging a COMx driver 313
Debugging a TCP/IP driver 317
Debugging a protocol driver using serial communications 319
Debugging proprietary board drivers 321
Serial Port Loop-Back Test 321
Contacting Technical Support 323

9
Contents

Performance Considerations 324


Caching data 324
Grouping registers 326
Remapping variables in an I/O Device 327
Remapping example 331
Advanced Driver Information 332
Variable (digital) limitations 332
Validating distributed project data for tag-based drivers 334
Write delay effects 334
Communicating with Remote Devices via Modems 336
Modems at the I/O Server 337
Modems at the I/O Device 338
Example configurations for modems at the I/O Server 338
I/O Device constraints for multi-dropping 343
Configuring multidrop remote I/O Devices 345
I/O Server redundancy for dial-up remote I/O Devices 349
Troubleshooting dial-up remote I/O Device communications 349
Alternative (backward compatibility) method of persistent connection 350
Scheduled Communications 351
Specifying a schedule 351
Writing to the scheduled I/O Device 352
Reading from the scheduled I/O Device 353

Chapter: 16 Tagging Process Variables 355


Tag Naming 356
Tag name syntax 356
Using structured tag names 357
Tag Extensions 362
The Quality Tag Element 364
Reading and Writing Tags 369
XML DataSource Schema 371
Tag Data Types 381
Configuring Variable Tags 382
Variable Tag Properties 383
Defining Variable Tag Names 387
Formatting numeric variables 389
Using arrays 392
Configuring Local Variables 395

Chapter: 17 Linking, Importing, and Exporting Tags 399


Linking tags 399
Breaking the link to the external data source 401
Deleting the I/O Device 401
Importing tags 402
Import variable tags properties 404
FastLinx for Mitsubishi Tag Import 405
Defining Variable Tag Names for Mitsubishi FastLinx 406
Unity Link Tag Import 409

10
Contents

OPC Data Access Server Tag Browser 410


Exporting tags 410
Export Variable Tags properties 411
External data source 412
Format file 414
Format file layout 415
Field conversion 419
Recognizing format files 425
Unity Support Matrixes 427
Imported Tags 427
Exported Tags 429
Linked Tags 430

Chapter: 18 Defining and Drawing Graphics Pages 433


Creating a New Graphics Page 433
Animation points 434
New Dialog Box 434
Working with pages 434
Use Template (new page/template) dialog box 436
Open/Save As dialog box 437
Using Page Templates 438
Choosing a page style 439
Linking templates 439
Creating your own templates 439
New Style dialog box 441
Using a Browse Sequence 441
Specifying a Startup or Splash Page 442
Sizing the Page 443
Page (screen) resolution 443
Screen examples 444
Page size at runtime 450
Securing the window title bar 451
Defining Page Properties 451
Page Properties - General 452
Page Properties - Appearance 453
Page properties - Keyboard Commands 455
Page Properties - Events 457
Page Properties - Environment 459
Page Properties - Associations 459
Setting Default Page Settings 461
Page defaults 461
Understanding the Drawing Environment 462
Grids 463
Grid Setup dialog box 463
Guidelines 464
Guidelines Setup dialog box 465
Options 465
Colors 467

11
Contents

Edit Favorite Colors dialog box 468


Swap Color dialog box 471
Adjust colors dialog box 472
Zooming 473
Using libraries 474
Using symbols 476
Bitmaps 477
Import dialog box 479

Chapter: 19 Using Objects 481


Using groups 482
Reshaping objects 482
Reshaping a line object 483
Using bitmaps 483
Importing graphics 483
Object Properties 484
Appearance 484
Movement 485
Scaling 485
Fill 485
Input 486
Slider 486
Access 487
Metadata 487
Using Metadata 488
Passing Animation Point Metadata as Super Genie Associations 494
Manipulating Objects 495
Selecting objects 495
Moving objects 496
Resizing objects 496
Deleting objects 498
Locking/unlocking objects 498
Grouping objects 499
Copying and pasting objects 499
Changing the Overlap of Objects 500
Aligning objects 501
Rotating objects 502
Mirroring objects 503
Locate an object 503

Chapter: 20 Understanding Object Types 505


Free Hand Line Objects 505
Freehand Line Properties - Appearance (General) 506
Straight Line Objects 507
Straight Line Properties - Appearance (General) 507
Rectangle Objects 508
Rectangle Properties - Appearance (General) 509
Ellipse Objects 512

12
Contents

Ellipse Properties - Appearance (General) 512


Polygon Objects 517
Polygon Properties - Appearance (General) 518
Pipe Objects 521
Pipe Properties - Appearance (General) 522
Text Objects 522
Text Properties - Appearance (General) 523
Text Properties - Appearance (Display Value) 524
Number Objects 529
Button Objects 529
Button Properties - Appearance (General) 530
Symbol Set Objects 532
Symbol Set Properties - Appearance General (On/Off) 533
Symbol Set Properties - Appearance General (Multi-state) 534
Symbol Set Properties - Appearance General (Array) 535
Symbol Set Properties - Appearance General (Animated) 537
Trend Objects 538
Trend properties 538
Insert Trend dialog box 541
Cicode Objects 541
Cicode Object Properties - Cicode (General) 542
Pasted Symbol Objects 542
Paste Symbol dialog box 543
Symbol Properties - Appearance (General) 544
Pasted Genie Objects 544
ActiveX Objects 545
Managing associated data sources 545
ActiveX Object Properties 546
Tag Association 546
ActiveX Object Properties - Appearance (Tag Association) 546
Object Identification 548
Object Properties - Access (Identification) 549
Database Exchange Control Objects 550

Chapter: 21 Defining Common Object Properties 551


3D Effects 551
Object Properties - Appearance (3D Effects) 552
Visibility 555
Object Properties - Appearance (Visibility) 555
Movement 556
Object Properties - Movement (Horizontal) 556
Object Properties - Movement (Vertical) 558
Object Properties - Movement (Rotational) 559
Group and object movement - examples 561
Scaling 564
Object Properties - Scaling (Horizontal) 564
Object Properties - Scaling (Vertical) 567
Fill Color 570

13
Contents

Object Properties - Fill Color (On/Off) 571


Object Properties - Fill Color (Multi-state) 572
Object Properties - Fill Color (Array) 574
Object Properties - Fill Color (Threshold) 576
Object Properties - Fill Color (Gradient) 578
Fill Level 580
Object Properties - Fill (Level) 581
Touch Commands 584
Object Properties - Input (Touch) 585
Keyboard Commands 587
Object Properties - Input (Keyboard Commands) 587
Sliders 590
Object Properties - Slider (Horizontal) 590
Object Properties - Slider (Vertical) 592
Object Properties - Slider (Rotational) 593
Access 595
General Access to Objects 595
Object Properties - Access (General) 595
Disable Access to Objects 597
Object Properties - Access (Disable) 598

Chapter: 22 Defining Commands and Controls 599


Touch commands 599
Keyboard commands 600
Slider controls 600
System Keyboard Commands 600
System keyboard command properties 601
Keyboard Keys 602
Keyboard keys properties 602
Keyboards 603
Defining Key Sequences for Commands 604
Using a hot key 605
Using variable data input 606
Passing multiple arguments 608
Passing keyboard arguments to functions 609
Configuring Page Menus 609
Menu Configuration Properties 610
Displaying Tags 612

Chapter: 23 Configuring and Processing Alarms 613


Configured alarms 613
Using alarm delay 614
Using custom alarm filters 614
Implementing queries that use custom alarm filters 615
Efficiency considerations 616
Alarm Categories 617
Alarm Category Properties 617
Digital Alarms 623

14
Contents

Digital Alarm Properties 624


Multi-digital Alarms 627
Multi-digital Alarm Properties 628
Time-stamped Alarms 633
Time-stamped Alarm Properties 634
Analog Alarms 637
Analog Alarm Properties 638
Advanced Alarms 643
Advanced Alarm Properties 643
Time-stamped Digital Alarms 646
Time-stamped Digital Alarm Properties 647
Time-stamped Analog Alarms 650
Time-stamped Analog Alarm Properties 651
Formatting an Alarm Display 656
Including CitectSCADA data 656
Including fixed text 657
Displaying lists and tables 657
Variable data in alarm messages 657
Alarm display fields 658
Alarm summary fields 662
Changing the Order of the Alarm Summary Display 664
Using Alarm Properties as Tags 664
Supported alarm properties 665
Writing to alarm properties 670
Setting up alarm properties 671
Handling Alarms at Runtime 672
Using System Fonts 673
Fonts properties 674
Configuring Custom Color Fonts 676

Chapter: 24 Configuring Events 677


Events Properties 677
Running Events 679
Specifying times and periods 679
Using triggers 680

Chapter: 25 Using Accumulators 683


Accumulator Properties 683

Chapter: 26 Logging and Trending Data 687


Trending Data 687
Configuring trend tags 688
Trend Tag Properties 688
Trend Graphs 696
Creating trend pages 697
Trend interpolation 697
Printing Trend Data 698

15
Contents

Exporting Trend Data 699


Using Trend History Files 700
Storage method 701
Calculating disk storage 701
Reconfiguring history files 703
Using Path Substitution 703
Default path definitions 704
Debugging Trending 705

Chapter: 27 Understanding Statistical Process Control 707


Process Variation 708
Statistical Control 709
Process Capability 709
XRS Control Charts 710
CL, UCL and LCL 710
Interpreting the chart 711
Capability Charts 711
USL and LSL 712
Cp index 712
Cpk Index 712
Pareto Charts 712
Using Statistical Process Control (SPC) 713
SPC Tags 713
SPC tag properties 714
SPC Control Charts 721
XRS control chart 721
Configuring XRS charts 721
Capability charts 722
Configuring capability charts 722
Pareto Charts 722
Configuring Pareto charts 722
SPC Alarms 723
SPC Formulas and Constants 725
Control Chart Line Constants 729

Chapter: 28 Reporting Information 733


Configuring reports 733
Reports dialog box 734
Running Reports 736
Running a report on startup 736
Specifying times and periods 736
Using triggers 737
Using commands 738
Report Format File 738
Report example 740
Handling Communication Errors in Reports 741
Reporting errors in I/O Device data 742
Suppressing reports 743

16
Contents

Chapter: 29 Using Labels 745


Using Arguments in Labels 747
Converting Values into Strings 748
Substituting Strings 749
Defining Labels 750

Chapter: 30 Using Devices 751


Using groups of devices 753
Using devices to read data 753
Configuring Devices 754
Formatting Data in the Device 758
Printer and ASCII devices format 759
dBASE and SQL database devices format 760
Using a database device 762
Using Device History Files 765
Using Command Fields 767
About Print Management 768
Using Equipment 769
Equipment Properties 769

Chapter: 31 Exchanging Data with Other Applications 771


Using DDE (Dynamic Data Exchange) 771
DDE conversations and client syntax 772
Setting up DDE conversations 773
DDE function types 775
Exchanging data via DDE 776
Connecting to the tag database using DDE 776
Posting select data using DDE 777
Writing values to a DDE application 778
Reading values from a DDE application 779
Using DDE with Microsoft Office applications 780
Network DDE 781
Starting network DDE services 781
Setting up network DDE shares 783
DDE Shares 784
Using DDE Trusted Shares 784
Using network DDE 785
Connecting to a network DDE shared application 786
Using the Citect Tags Excel macros 787
Using External Databases 788
dBASE databases 788
SQL databases 789
Using Structured Query Language 790
Connecting to an SQL database 791
Executing SQL commands 791
Using a transaction 793
Expressing dates and times in SQL 793

17
Contents

Using ODBC drivers 794


Installing the ODBC driver 794
About the ODBC driver 795
Setting up ODBC 796
Getting the correct syntax with ODBC 797
Programming style with ODBC 797
Comparing DDE with ODBC 798
ODBC compatibility 799
Using CitectSCADA as an ODBC server 801
Reading data from an access table with ODBC 803
Appending data with ODBC 804
Editing data with ODBC 805
Deleting rows from an Access table 805
Calling action queries with ODBC 806
Parameter queries 806
Access and Cicode date/time conversions 808
Using Microsoft Excel to Edit .dbf Tables 808
Functionality 810

Chapter: 32 Genies and Super Genies 813


Genies 813
Defining Substitutions for Genies 814
Configuring Genies 814
Using Genies 816
Maintaining a Genie 818
Using Genie Substitutions in Templates 819
Using structured tags with Genies 819
Super Genies 820
Defining Substitutions for Super Genies 821
Defining Associations for Super Genies 822
Configuring a Super Genie 822
Configuring a Super Genie as a Page 822
Configuring a Super Genie as a Library Object 824
Using a Super Genie Page 826
Using a Super Genie Library Object 827
Maintaining a Super Genie Page 831
Maintaining a Super Genie Library Object 832
Using Constants and Arrays with Super Genies 832
Nesting Super Genies 835
Super Genie areas 835
Super Genie Library Objects and Associations 835
Using structured tags with Super Genies 836
Hiding Graphics Objects 837
IFDEF macro 838

Chapter: 33 Working with Multi-Language Projects 839


Changing Languages 839
Marking text for language change 840

18
Contents

Language databases 841


Multiple languages 842
Multiple projects 843
Changing languages at runtime 843
Logging data in different languages 843
ASCII and ANSI character sets 844
OEM character sets 844

Chapter: 34 Working with Multiple Monitors 847


Configuring Startup Pages for Multiple Monitors 847

Chapter: 35 Using OPC Server DA2.0 849


OPC Overview 849
CitectSCADA OPC Server 850
CitectSCADA OPC Server Installation 850
Configuring Remote Access to the OPC Server 853
Configure the OPC Server 853
Configure the OPC Client 858
Create a data group 863
Add data items to the group 863
Troubleshooting 863

Chapter: 36 Compiling and Running a Project 865


Compiling a Project 865
Incremental compilation 867
Debugging the compilation 867
Compilation options 868
Compile Error Properties 869
Compile Error Messages 870
Distributing the Project 879
Example of Using Run/Copy to Distribute Project Runtime Files 880
Running the System 882
Startup and runtime configuration 883
Running servers independently 884
Server Redirection Using Address Forwarding 884
Using an Alternative INI File 885
System tuning 886
Client Side Online Changes 888
Server Side Online Changes 889
Restarting the System Online 895
Restarting a networked system online 896
Running Your System Over the Internet 899
The Internet Display Client 900
The Internet server 900
Startup and runtime configuration 901
Server - client file updates 901
Software Protection 904

19
Contents

CiUSAFE dialog properties 904


Demo mode 905
Monitoring and Debugging the Runtime System 905
Gathering Runtime Information 906
Hardware alarms 906
Log Files 907
Configuring Logging 909
Adjusting Logging During Runtime 910
The Crash Handler 911
Using the Kernel 912
Displaying the kernel window 914
Inside the kernel 915
Using Kernel Commands 918
Kernel commands 919

Using the Web Client 953

Chapter: 37 The Web Client 955


System architecture 955
Getting Started 957
Preparing a Project for Deployment 957
Functionality limitations of the Web Client platform 958
Preparing a project's user files for delivery 960
Running the Web Deployment Preparation tool 961
Configuring a deployment 962
Creating a new deployment 963
Deploying a project from within CitectSCADA 965
Displaying a deployment 968
Editing an existing deployment 968
Updating a deployment to reflect project changes 969
Deleting a deployment 970
Implementing Multiple Language Support 970
How default languages are implemented 971
Using a language different to the current system locale setting 972
Implementing a non-default language 972
Web Client Upgrade Considerations 974
Frequently Asked Questions 975

Chapter: 38 Windows Language Codes 983

Using the Tab Style Page Templates 987

Chapter: 39 Introducing Tab Style Page Templates 989


Where to Find Information 989

Chapter: 40 Using Pages and Templates 991


20
Contents

Common Navigation Functionality 991


Custom Tabbed Menus Toolbar 992
Navigation Toolbar 993
Alarm Toolbar 995
Normal Page Template 996
Blank Page Template 996
Alarm Page Templates 997
Common Functionality 997
Process Analyst Page Templates 1000
Statistical Process Control Trend Page Templates 1001
File Page Templates 1001

Chapter: 41 Creating a New Project 1003


Creating a Privileged User 1004
Running the Computer Setup Wizard 1005
Security Setup - Control Menu page 1005
Using Instant Trending 1005
Displaying a Project on Multiple Monitors 1006
Implementing Audible Alarms 1006
Creating Pages 1007
Creating new pages 1008
Creating Custom Menus 1008
Defining page menus 1009
Defining template popup menus 1011
Using Environment Variables in Tab Style Templates 1011

Using the CSV_Include Project 1013

Chapter: 42 Introducing CSV_Include 1015


Where to Find Information 1015

Chapter: 43 Using Pages and Templates 1017


Normal Page Template 1018
Alarm Page Templates 1018
Common functionality 1019
Trend Page Templates 1019
Common functionality 1020
File Page Templates 1024
Admin Tools Page Template 1024
Common Toolbars 1025
Navigation Toolbar 1026
Alarms Toolbar 1028

Chapter: 44 Creating a New Project 1031


Creating a Privileged User 1031

21
Contents

Running the Computer Setup Wizard 1032


Events Setup page 1032
Security Setup - Control Menu page 1033
Setting Up Instant Trending 1033
Displaying a Project on Multiple Monitors 1034
Implementing Audible Alarms 1034
Creating Pages 1035
Creating new pages 1036
Adding user assistance to a page 1036
Creating Custom Menus 1038
Menu Configuration tool 1038
Building custom menus 1039
Editing an item 1040
Creating an Alarms Group 1041
Creating a Trends Group 1042
Using Environment Variables 1043

Glossary 1045

Index 1069

22
Getting Started

This section contains information on CitectSCADA v7.20 and


describes the following:
Getting Technical Support
Upgrading to CitectSCADA v7.20
About CitectSCADA
Tools
Components of a project
Typical system scenarios

23
24
Safety Information

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

DANGER indicates an imminently hazardous situation, which, if not avoided, will result in
death or serious injury.

WARNING indicates a potentially hazardous situation, which, if not avoided, can result in
death or serious injury.

CAUTION indicates a potentially hazardous situation which, if not avoided, can result in
minor or moderate injury.

25
Safety Information

CAUTION
CAUTION used without the safety alert symbol, indicates 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-speed 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".

26
Chapter: 1 Getting Technical Support
There are various support options to help you get the most from this product.
l If you have questions about using CitectSCADA, consult the extensive online Help to
answer your questions. You can use the Contents list to find the section you're inter-
ested in, enter an item into the Index, or enter an item using the Search tab.
l If you seek more technical information than is provided in the online Help, check the
knowledge base.
If you cannot find the information you need, you can obtain technical support and Train-
ing. Consulting services are also available upon request.
See Also
Technical Support
Contact information

CitectSCADA Technical Support


Please note the following about technical support for your CitectSCADA product.
Technical Support
Citect Maintenance and Support Agreements are available for purchase. To purchase a
Maintenance and Support Agreement, price of which is determined by the list price of
your system, you need to contact your local Schneider Electric (Australia) Pty. Ltd. rep-
resentative.
Schneider Electric (Australia) Pty. Ltd. offers a range of Support services; for further infor-
mation visit http://www.citect.com/support. Upon receipt of your order for a Main-
tenance and Support Agreement, you will receive a site number and a list of dongle
serial numbers, which you need to quote when you contact Support. A site or dongle
serial number enables the Customer Support team to provide quality service product by
logging and tracking your Customer Service Requests (CSRs).
Before Calling Customer Support
Fill out the online CitectSCADA CitectHMI Support Request form, found at the web site
http://www.citect.com/support.
If you are unsure of which contact details to use, email: [email protected].

27
Chapter: 1 Getting Technical Support

Training
Various training facilities are also available. Contact your local Citect distributor for
more information.
See Also
Contact information

Contact information
For contact information in your region, consult the support web site at:
http://www.Citect.com/support

28
Chapter: 2 What's New in CitectSCADA v7.x
This section describes new CitectSCADA features and enhancements for v7.20. For the
purposes of continuity, this section also describes the features that were added for the
CitectSCADA v7.0 and v7.10 releases.
Introduced in v7.0
Introduced in v7.10
Introduced in v7.20
For details on how to upgrade an existing project to run in v7.20, refer to Upgrading to
V7.20.

What's New in CitectSCADA v7.0


CitectSCADA v7.0 incorporates the following new features.
Introduced in v7.0:
l The Migration Tool
l Clustering
l Local Variables
l Publish Alarm Property
l Memory Mode
l Client-side Online Changes
l Publisher-Subscriber Model
l Dual Network Support
l Project-Based Network Configuration
For changes to:
l Citect.ini parameters, see Citect.ini Parameters in Version 7.0.
l Cicode functions, see Cicode Functions in Version 7.0.
l CtAPI functions, see CtAPI Functions in Version 7.0.
l Kernel commands, see Kernel Commands in Version 7.0.
For details on how to configure an existing project to run in v7.20, refer to Upgrading.

29
Chapter: 2 What's New in CitectSCADA v7.x

See Also

What's New in CitectSCADA v7.x

The Migration Tool


The Migration Tool is a separate application which has to be manually run after the
automatic upgrade has been executed, and initiated by you after you have prepared the
project for final migration. This tool will accommodate the important changes in project
functionality which are incorporated in version 7.0.
See Also
Migration Tool

Clustering
Clustering allows you to group different sets of the runtime components within a single
project, allowing multiple independent systems to be monitored and controlled.
There are countless variations in how a clustered system can be configured. The most
appropriate configuration will depend on the requirements for the solution to be
deployed and the environment in which it is being deployed. For more information see
Typical system scenarios.
See Also
Included projects
Implementing Clustering

Local Variables
Local variables allow you to store data in memory when you start your runtime system.
They are created each time the system starts, and therefore do not retain their values
when you shut down.
Local variables are useful when you need each process to have a separate copy of the
data. Each process has its own copy of each local variable configured in the project, and
the values in a local variable are available only to the process that wrote them.
See Also
Configuring Local Variables

30
Chapter: 2 What's New in CitectSCADA v7.x

Publish Alarm Property


Alarm devices were defined as devices with their Protocol field set to "Alarm". The func-
tion of these devices are now configured on an Alarm Server by setting the "Publish
Alarm Properties" property to True.
See Also
Alarm Server Definitions

Memory Mode
I/O Devices can now be configured to run in memory mode:
l An I/O Device running in memory mode is created in memory and its values stored
in memory at runtime.
l Devices using memory mode are not connected to any hardware, and write their
values to a cache. Memory mode is useful when you are configuring a system for the
first time, as you can design and test your system before connecting a physical I/O
Device.

Note: Memory mode replaces Memory I/O Devices, which are no longer supported.
Devices configured as Memory I/O Devices will be converted to local variables dur-
ing the upgrade to v7.20.

See Also
Using Memory Mode

Client-side Online Changes


The following live changes can now be made to the project without restarting clients:
l I/O Devices (restart the I/O Server)
l Tags (restart the I/O Server)
l Alarms (restart the Alarm Server)
l Trends (restart the Trends Server)
l Reports (restart the Reports Server)
l Accumulators (restart the Reports Server)
Clients only require that graphics, code and communications configurations are
deployed to them. Other configuration information is deployed to the appropriate server.

Project changes are still deployed as before

31
Chapter: 2 What's New in CitectSCADA v7.x

l Manually
l Run/Backup Run/Copy
l FTP (IDC)
l HTTP (Web Client)
See Also
Improved Client Side Online Changes

Publisher-Subscriber Model
CitectSCADA now uses a Publisher-Subscriber data acquisition model. Client computers
subscribe to configured tags and receive notification when the tag values change. Cicode
functions can also be triggered by the change of a tag, removing the need to poll, and
improving the efficiency of the system.
See Also
TagSubscribe
TagUnsubscribe

Dual Network Support


Previous CitectSCADA versions have been able to support redundant networks via Net-
BIOS. From version 7.0 users can only use TCP/IP for network configuration and can
specify multiple IP addresses for each server, providing native support for network
redundancy.

Project-Based Network Configuration


In version 7.0, the project topology is embedded in the project, and network con-
figuration can be performed from within the Project Editor. Servers and their IP
addresses are set up in the Network Addresses dialog in the Project Editor.
This means that physical computers in the system can easily be changed. As long as the
IP address or computer name of the new machine is the same as the one being replaced,
the new computer will be able to immediately take the same role.

Citect.ini Parameters in version 7.0


The following sections detail the changes made to Citect.ini parameters in Citect-
SCADAversion 7.0:

32
Chapter: 2 What's New in CitectSCADA v7.x

l New Parameters
l Obsolete Parameters

New Parameters
The following parameters are new in version 7.0. For a complete list of the system
parameters, refer to the Parameters help file.
Alarm Parameters:

[Alarm.ClusterName.ServerName]Clusters Sets which clusters this Alarm Server


process connects to at startup

[Alarm.ClusterName.ServerName]CPU Sets the CPU that the Alarm Server


process is assigned to

[Alarm.ClusterName.ServerName]Events The list of events that this Alarm


Server process enables

[Alarm.Clu- Determines the Cicode function to run


sterName.ServerName]ShutdownCode when Alarm Server process shuts
down

[Alarm.Clu- Determines the Cicode function to run


sterName.ServerName]StartupCode when Alarm Server process starts up

Note: The default alarm property write behavior was to write the new value to
DBF/RDB. This has changed in version 7.0 onwards. Refer to the parameter [Alarm]Us-
eConfigLimits.
Backup Parameters:

[Backup]SaveiniFiles Determines whether the "Save ini files" checkbox is checked by


default during Backup.

Client Parameters:

[Client]Clusters Selects which clusters the client is connected to at


startup.

[Client]ComputerRole Specifies the role of the computer

[Client]Events Sets the events to be enabled on the client.

[Client]ForceClient Starts only the client process, and connects to a con-


figured Citect servers using a network connection.

33
Chapter: 2 What's New in CitectSCADA v7.x

[Client]FullLicense Specifies that a Control Client will use a full license

[Client]ShutdownCode Determines the Cicode function to run when Dis-


playClient component shuts down.

[Client]StartupCode Determines the Cicode function to run when Dis-


playClient component starts up.

[Client]Wai- Specifies that connection to a server will wait until it


tForConnectAtStartup can establish a connection to the server processes
before starting up.

CtCicode Parameters:

[CtCicode]FastFormat Controls whether fast formatting is used in the Cicode Editor

CtEdit Parameters:

[CtEdit]Config The directory where the CitectSCADA configuration files such as


citect.ini are located.

[CtEdit]Logs The directory where the CitectSCADA log files are located.

Dial Parameters:

[Dial]Mi- Specifies how many consecutive scheduled dial attempts


ssedScheduleTolerance can be missed before the cache becomes stale

Driver Parameters:

[<DriverName>]Ove- Determines whether to override the protection mechanism


rriderOSProtection built-in to the I/O Server for drivers that may not be compatible
with Windows Vista.

General Parameters:

[Gen- Determines whether CitectSCADA runs as a multi-process or sin-


eral]Multiprocess gle-process application.

IOServer Parameters:

[IOServer.ClusterName.ServerName]Clusters Sets the clusters that the I/O Server


process will connect to at startup

[IOServer.ClusterName.ServerName]CPU Sets the CPU that the I/O Server


process is assigned to

34
Chapter: 2 What's New in CitectSCADA v7.x

[IOServer.ClusterName.ServerName ]Events The list of events that this I/O


Server process enables

[IOServer.Clu- Determines the Cicode function to


sterName.ServerName]ShutdownCode run when I/O Server process shuts
down

[IOServer.Clu- Determines the Cicode function to


sterName.ServerName]StartupCode run when I/O Server process starts
up

Report Parameters:

[Report.ClusterName.ServerName]Clusters Sets the clusters this Reports Server


process will connect to at startup

[Report.ClusterName.ServerName]CPU Sets the CPU that this Reports Server


process is assigned to

[Report.ClusterName.ServerName]Events The list of events that this Reports


Server process enables

[Report.Clu- Determines the Cicode function to run


sterName.ServerName]ShutdownCode when this Reports Server process
shuts down

[Report.Clu- Determines the Cicode function to run


sterName.ServerName]StartupCode when this Reports Server process
starts up

Trend Parameters:

[Trend.ClusterName.ServerName]Clusters Sets the clusters this Trends Server


process will connect to at startup

[Trend.ClusterName.ServerName]CPU Sets the CPU that the Trends Server


process is assigned to

[Trend.ClusterName.ServerName]Events The list of events that this Trends


Server process enables

[Trend.Clu- Determines the Cicode function to run


sterName.ServerName]ShutdownCode when Trends Server process shuts
down

[Trend.Clu- Determines the Cicode function to run


sterName.ServerName]StartupCode when Trends Server process starts up

35
Chapter: 2 What's New in CitectSCADA v7.x

Obsolete Parameters
The following parameters are no longer supported in version 7.0:
Alarm Parameters:

[Alarm]CPU Sets the CPU that the Alarm Server component is assigned to

[Alarm]Primary Determines if this Alarm Server is the Primary Alarm Server

[Alarm]Process Sets the CitectSCADA process the Alarm Server component is


assigned to

[Alarm]Server Determines whether this computer is an Alarm Server

Client Parameters:

[Client]Display Sets the CitectSCADA computer as a Control Client

[Client]Manager Sets the CitectSCADA computer as a View-only Client

[Client]Primary The name of the primary CitectSCADA server

[Client]Process Sets the CitectSCADA process the Control Client component is


assigned to

[Client]Standby The name of the standby CitectSCADA server

Code Parameters:

[Code]AlarmShutdown Determines the Cicode function to run when Alarm Server com-
ponent shuts down

[Code]AlarmStartup Determines the Cicode function to run when Alarm Server com-
ponent starts up

[Code]AutoReRead Controls whether the ReRead() function is automatically called

[Code]I- Determines the Cicode function to run when I/O Server com-
OServerShutdown ponent shuts down

[Code]IOServerStartup Determines the Cicode function to run when I/O Server com-
ponent starts up

[Code]Process Sets the process a code component is assigned to

36
Chapter: 2 What's New in CitectSCADA v7.x

[Code]ReportShutdown Determines the Cicode function to run when Reports Server


component shuts down

[Code]ReportStartup Determines the Cicode function to run when Reports Server


component starts up

[Code]Shutdown Determines the Cicode function to run when Control Client


component shuts down

[Code]Startup Determines the Cicode function to run when Control Client


component starts up

[Code]TrendShutdown Determines the Cicode function to run when Trends Server


component shuts down

[Code]TrendStartup Determines the Cicode function to run when Trends Server


component starts up

DNS Parameters:

[DNS]<Server name> Determines the IP address (or fully qualified host name) of the
primary I/O Server

Event Parameters:

[Event]Alarm The classes of events to be enabled by the Alarm Server

[Event]IOServer The classes of events to be enabled by the I/O Server

[Event]Name The classes of events assigned to the Name entry to be ena-


bled

[Event]Report The classes of events to be enabled by the Reports Server

[Event]Trend The classes of events to be enabled by the Trends Server

General Parameters:

[General]BadOptimise Determines whether certain strings are replaced with


labels on compile

[Gen- Checks if a project is currently running on the local


eral]CitectRunningCheck machine when a compile is triggered

IOServer Parameters:

37
Chapter: 2 What's New in CitectSCADA v7.x

[IOServer]BlockWrites Determines whether CitectSCADA will try to block optimize


writes to I/O Devices. The IOserver will not block writes

[IOServer]CPU Sets the CPU that the I/O Server component is assigned to

[IOServer]Name The name of the default I/O Server

[IOServer]Process Sets the CitectSCADA process the I/O Server component is


assigned to

[IOServer]SaveBackup This parameter has been superseded by SaveNetwork

[IOServer]Server Determines whether this computer is an I/O Server

LAN Parameters:

[LAN]Bridge Determines the bridge level

[LAN]CancelOnClose For users with Novell NetBIOS emulator issues

[LAN]Disable Enables/disables CitectSCADA from the LAN

[LAN]GroupName Determines whether CitectSCADA uses the group name


'CITECT STATION50' or the computer name specified by the
[Lan]Node parameter.

[LAN]KillPiggyBackAck Controls whether CitectSCADA will try to optimize network pro-


tocols which support piggyback ACK

[LAN]LanA Defines the protocol stack that CitectSCADA uses for NetBIOS
communication

[LAN]NetBIOS Enables/disables NetBIOS

[LAN]NetTrace Determines whether the NetBIOS window is enabled on


startup

[LAN]NetTraceBuff Sets the number of trace buffers.

[LAN]NetTraceErr Enables the error mode of the NetBIOS window

[LAN]NetTraceLog Enables the logging mode of the NetBIOS window

[LAN]Poll Puts CitectSCADA LAN communications into polled mode

38
Chapter: 2 What's New in CitectSCADA v7.x

[LAN]RemoteTimeOut The timeout period for remote I/O Device write requests from
a Control Client to the I/O Server

[LAN]Retry The number of times to retry establishing communications


after a timeout - before an alert message is generated

[LAN]SendTimeOut The timeout to send a network packet across the network

[LAN]SesRecBuf The number of receive NetBIOS Control Blocks (NCBs) that


CitectSCADA uses for every session

[LAN]SesSendBuf The number of send NetBIOS control blocks that CitectSCADA


uses for every session

[LAN]TimeOut The timeout to send a network packet across the network

Proxi Parameters:

[Proxi]<I/O Server Defines a list of proxy server associations


name>

Report Parameters:

[Report]Primary Determines if this Reports Server is the Primary Reports


Server

[Report]Process Sets the CitectSCADA process the Reports Server component


is assigned to

[Report]Server Determines whether this computer is a Reports Server

Server Parameters:

[Server]Name The name of the CitectSCADA server

Trend Parameters:

[Trend]BlockByIODevice Verifies that I/O problems causing gaps for a trend


tag do not cause gaps for every trend tag

[Trend]CPU Sets the CPU that the Trends Server component is


assigned to

[Trend]Process Sets the CitectSCADA process the Trends Server com-


ponent is assigned to

39
Chapter: 2 What's New in CitectSCADA v7.x

[Trend]Redundancy Enables/disables trend redundancy action

[Trend]Server Determines whether this computer is a Trends


Server

[Trend]Sta- Reduces network traffic by spacing out trend sample


ggerRequestSubgroups requests

Cicode Functions in v7.0


Some Cicode functions have been introduced, modified, deprecated or removed. The fol-
lowing sections detail the changes made to these functions:

New Functions
Miscellaneous Functions

AccControl Controls accumulators for example motor run hours.

AccumBrowseClose Closes an accumulator browse session.

AccumBrowseFirst Gets the oldest accumulator entry.

AccumBrowseGetField Gets the field indicated by the cursor position in the browse
session.

AccumBrowseNext Gets the next accumulator entry in the browse session.

Accum- Returns the number of records in the current browse ses-


BrowseNumRecords sion.

AccumBrowseOpen Opens an accumulator browse session.

AccumBrowsePrev Gets the previous accumulator entry in the browse session.

ProcessIsClient Determines if the currently executing process contains a


Client component

ProcessIsServer Determines if the currently executing process contains a par-


ticular server component.

ServiceGetList Gets information about services running in the component

40
Chapter: 2 What's New in CitectSCADA v7.x

calling this function.

Alarm Functions:

AlarmDspLast Displays the latest unacknowledged alarms.

AlmSummaryAck Acknowledges the alarm at the current cursor position in an


active data browse session.

AlmSummaryClear Clears the alarm at the current cursor position in an active


data browse session.

AlmSummaryClose Closes an alarm summary browse session.

AlmSummaryCommit Commits the alarm summary record to the alarm summary


device.

AlmSummaryDelete Deletes alarm summary entries from the browse session.

AlmSummaryDeleteAll Deletes alarm summary entries from the browse session.

AlmSummaryDisable Disables the alarm at the current cursor position in an active


data browse session.

AlmSummaryEnable Enables the alarm at the current cursor position in an active


data browse session.

AlmSummaryFirst Gets the oldest alarm summary entry.

AlmSummaryGetField Gets the field indicated by the cursor position in the browse
session.

AlmSummaryLast Places the data browse cursor at the latest summary record
from the last cluster of the available browsing cluster list.

AlmSummaryNext Gets the next alarm summary entry in the browse session.

AlmSummaryOpen Opens an alarm summary browse session.

AlmSummaryPrev Gets the previous alarm summary entry in the browse ses-
sion.

Alm- Sets the value of the field indicated by the cursor position in
SummarySetFieldValue the browse session.

AlmTagsAck Acknowledges the alarm tag at the current cursor position in


an active data browse session.

41
Chapter: 2 What's New in CitectSCADA v7.x

AlmTagsClear Clears the alarm tag at the current cursor position in an active
data browse session.

AlmTagsDisable Disables the alarm tag at the current cursor position in an


active data browse session.

AlmTagsEnable Enables the alarm tag at the current cursor position in an


active data browse session.

AlmTagsFirst Gets the oldest alarm tags entry.

AlmTagsGetField Gets the field indicated by the cursor position in the browse
session.

AlmTagsNext Gets the next alarm tags entry in the browse session.

AlmTagsNumRecords Returns the number of records in the current browse ses-


sion.

AlmTagsOpen Opens an alarm tags browse session.

AlmTagsPrev Gets the previous alarm tags entry in the browse session.

Super Genie Functions

Ass- Gets association information about the current Super Genie from the
GetProperty datasource

AssGetScale Gets scale information about the associations of the current Super
Genie from the datasource

AssInfoEx Replaces the AssInfo function and supports online changes.

Cluster Functions

ClusterActivate Allows the user to activate an inactive cluster.

Clus- Allows the user to deactivate an active cluster.


terDeactivate

ClusterFirst Allows the user to retrieve the first configured cluster in the project.

ClusterIsActive Allows the user to determine if a cluster is active.

ClusterNext Allows the user to retrieve the next configured cluster in the project.

42
Chapter: 2 What's New in CitectSCADA v7.x

Clus- Allows the user to determine which servers are defined for a given
terServerTypes cluster.

ClusterStatus Allows the user to determine the connection status from the client to
a server on a cluster.

Clus- Allows the user to deactivate an active cluster at the same time as
terSwapActive activating an inactive cluster.

I/O Device Functions

SubscriptionAddCallback Adds a callback function to a tag subscription.

SubscriptionGetAttribute Reads an attribute value of a tag subscription.

Sub- Removes a callback function from a tag subscription


scriptionRemoveCallback

TagGetProperty Gets a property for a variable tag from the datasource.

TagGetScale Gets the value of a tag at a specified scale from the data-
source

TagSubscribe Subscribes a tag for periodic monitoring and event han-


dling.

TagUnsubscribe Unsubscribes a tag for periodic monitoring and event han-


dling.

Tag Functions

TagInfoEx Supports online changes.

TagWri- Opens the tag write event queue.


teEventQue

Task Functions

TaskCluster Gets the name of the cluster context in which the current task is execut-
ing

Trend Functions

TrnBrowseClose Closes a trend browse session.

43
Chapter: 2 What's New in CitectSCADA v7.x

TrnBrowseFirst Gets the oldest trend entry.

TrnBrowseGetField Gets the field indicated by the cursor position in the browse ses-
sion.

TrnBrowseNext Gets the next trend entry in the browse session.

TrnBrow- Returns the number of records in the current browse session.


seNumRecords

TrnBrowseOpen Opens a trend browse session.

TrnBrowsePrev Gets the previous trend entry in the browse session.

TrnGetCluster Gets the name of the cluster the trend graph is associated with.

TrnGetPenComment Gets the comment of a trend pen.

Report Functions

Rep- Retrieves the name of the cluster the report is running on.
GetCluster

ModifiedFunctions
Alarm Functions

AlarmAck Acknowledges alarms.

AlarmAckRec Acknowledges alarms by record number

AlarmActive Determines if any alarms are active in the user's area.

AlarmClear Clears acknowledged, inactive alarms from the active alarm list.

AlarmClearRec Clear an alarm by its record number

AlarmDelete Deletes alarm summary entries.

AlarmDisable Disables alarms.

AlarmDisableRec Disables alarms by record number

AlarmDsp Displays alarms.

44
Chapter: 2 What's New in CitectSCADA v7.x

AlarmDspLast Displays the latest unacknowledged alarms.

AlarmEnable Enables alarms.

AlarmEnableRec Enables alarms by record number

AlarmFirstTagRec Searches for the first occurrence of an alarm tag, name, and
description

AlarmGetDelayRec Gets the delay setting for an alarm via the alarm record number

AlarmGetFieldRec Gets alarm field data from the alarm record number

Alarm- Gets the thresholds of analog alarms by the alarm record number
GetThresholdRec

AlarmNextTagRec Searches for the next occurrence of an alarm tag, name, and
description.

Alarm- Activates a time-stamped digital or time-stamped analog alarm


NotifyVarChange

AlarmSumAppend Appends a new blank record to the alarm summary.

AlarmSumCommit Commits the alarm summary record to the alarm summary


device.

AlarmSumDelete Deletes alarm summary entries.

AlarmSumFind Finds an alarm summary index for an alarm record and alarm on
time.

AlarmSumFirst Gets the oldest alarm summary entry.

AlarmSumGet Gets field information from an alarm summary entry.

AlarmSumLast Gets the latest alarm summary entry.

AlarmSumNext Gets the next alarm summary entry.

AlarmSumPrev Gets the previous alarm summary entry.

AlarmSumSet Sets field information in an alarm summary entry.

AlarmSumSplit Duplicates an alarm summary entry.

45
Chapter: 2 What's New in CitectSCADA v7.x

AlarmSumType Retrieves a value that indicates a specified alarm's type.

I/O Device Functions

DriverInfo Provides information about the driver for a particular I/O Device.

IODe- Provides control of individual I/O Devices.


viceControl

IODeviceInfo Gets information on an I/O Device.

Miscellaneous Functions

AccControl Controls accumulators for example motor run hours.

ServerInfo Gets client and server information.

ServerInfoEx Gets client and server information from a specified process in a mul-
tiprocessor environment.

Shutdown Ends CitectSCADA's operation.

Report Functions

Rep- Gets report control information.


GetControl

Report Runs a report.

Rep- Sets report control information.


SetControl

SPC Functions

SPCAlarms Returns the status of the specified SPC alarm.

SPCPro- Gets the process mean, range and standard deviation overrides.
cessXRSGet

SPCPro- Sets the process mean, range and standard deviation overrides.
cessXRSSet

SPCSpecLimitGet Gets the specification limits (USL and LSL) for the specified tag.

46
Chapter: 2 What's New in CitectSCADA v7.x

SPCSpecLimitSet Sets the specification limits (USL and LSL) for the specified tag.

SPCSub- Gets the size of a subgroup for the specified SPC tag.
groupSizeGet

SPCSub- Sets the subgroup size for the specified SPC tag.
groupSizeSet

Super Genie Functions

Ass Associates a variable tag with a Super Genie.

AssPage Associates up to eight variable tags with a Super Genie and displays the
Super Genie in the current window.

AssPopUp Associates up to eight variable tags with a Super Genie and displays the
Super Genie in a popup window.

AssTag Associates a variable tag with the current Super Genie. The association
will be created for the current Super Genie only, and will only come into
effect after you re-display the Super Genie.

AssVarTags Associates up to eight variable tags with a Super Genie. This asso-
ciation is only made for the next Super Genie you display (either in the
current window or in a new window). You can use this function repeat-
edly to associate more than 8 variable tags to a Super Genie.

AssWin Associates up to eight variable tags with a Super Genie, and displays
the Super Genie in a new window.

Tag Functions

Tag- This function reads a property of a variable tag from the datasource
GetProperty

TagGetScale Gets the value of a tag at a specified scale from the datasource

TagRamp This function will increment a Tag by the amount defined by iPercentInc

TagRead Reads a variable from the I/O Device

TagScaleStr Gets the value of a tag at a specified scale

TagWrite Writes to an I/O Device variable by specifying the variable tag.

Task Functions

47
Chapter: 2 What's New in CitectSCADA v7.x

MsgOpen Opens a message session with a CitectSCADA server or client.

Trend Functions

TrendDsp- Displays the tag name of the current pen.


CursorTag

TrnAddHistory Restores an old history file to the trend system.

TrnDelHistory Deletes an old history file from the trend system.

TrnEventSetTable Sets trend data from a table, for a specified trend tag.

TrnE- Sets event trend data and time data (including milliseconds) for a
ventSetTableMS specified trend tag.

TrnFlush Flushes the trend to disk.

TrnGetDefScale Gets the default engineering zero and full scales of a trend tag.

TrnGetPen Gets the trend tag of a pen.

TrnGetTable Stores trend data in an array.

TrnInfo Gets the configured values of a trend tag.

TrnNew Creates a new trend at run time.

TrnSelect Sets up a page for a trend.

Window Functions

WinCopy Copies the active window to the Windows clipboard.

WinFile Writes the active window to a file.

WinNewAt Opens a new display window at a specified location, with a selected


page displayed.

WinPrint Prints the active window.

Osolete Functions
Cluster Functions

48
Chapter: 2 What's New in CitectSCADA v7.x

Clus- Returns the names of the primary and standby cluster servers.
terGetName

Clus- Connects to a specific cluster server.


terSetName

Display Functions

DspCol Displays a color at an AN.

Task Functions

ReRead Causes CitectSCADA to re-read the I/O Device data associated with the
current Cicode task.

Tags are now subscribed at the start of a function and updated tag
values are sent to the subscribing function.

Tag subscriptions are made at the update rate of:

l the graphics page if called from a page


l the default subscription rate as determined by [Code]TimeData in
the Parameters online help if called from Cicode (default 250 ms)
l the update rate requested of a task created using TaskNewEx
l the update rate requested of a subscription created using Tag-
Subscribe
Verify that the subscription update rate matches the requirements of
your function.

After removing ReRead from looping code you may need to extend the
period of the Sleep function.

This is to replace the pause ReRead created while it read the tag values.

CtAPI Functions in v7.0


The following section details the changes made to CtAPI functions in CitectSCADA v7.0.

Obsolete Functions
Previously available "Point" related functions are now no longer available, and if used
will detect and return an error indicating that they are not supported. In order to obtain
the same result as was previously invoked by those function, replace them with the Tag
based equivalent using the appropriate Tag arguments and conditions.
The "point" functions that are no longer available are listed below along with their
replacement functions:

49
Chapter: 2 What's New in CitectSCADA v7.x

Function Replacement

ctPointGetProperty ctTagGetProperty

ctPointNew ctListNew or ctTagWrite and ctTagRead

ctPointRead ctTagRead or ctListRead with ctListData

ctPointWrite ctTagWrite or ctListWrite

If you are using the point functions on single tags, use the ctTagRead, ctTagWrite func-
tions instead. If you are building up multiple tags into one point, use ctListNew and add
tags to the list through ctListAdd. Then use ctListWrite, ctListRead and ctListData to
write and read from the tags.
The following functions are not relevant to tag based operations. They are obsolete and
there is no replacement function.
l ctPointBitShift
l ctPointClose
l ctPointCopy
l ctPointDataSize
l ctPointToStr
l ctStrToPoint
l ctTagToPoint

What's New in CitectSCADA v7.10


CitectSCADA v7.10 incorporates the following new features.
Introduced in v7.10:
l Windows® Integrated Security
l CitectSCADA Security Enhancements
l Multi-Signature Support
l Edit DBF Files in Microsoft® Excel
l Enhanced Driver Installation
l New Font Selection for Graphics Button
l Microsoft® Windows VistaTM Support
l New Location for Configuration and Project Files

50
Chapter: 2 What's New in CitectSCADA v7.x

l New Alarm Field Enhancements


l New Time Synchronization Service
For changes to:
l Citect.ini parameters, see Citect.ini Parameters in Version 7.10.
l Cicode functions, see Cicode Functions in Version 7.10.
See Also
What's new in CitectSCADA v7.x

CitectSCADA Security Enhancements


The CitectSCADA v7.20 release includes changes that are designed to reduce the secu-
rity exposure of the product from external threats via the network. The product features
that have been affected are detailed below. Please review the list to understand what
effect they may have on your system with regards to the upgrade and design process.
Managing surface area

A set of new configuration parameters have been added to provide control over the
CitectSCADA network interfaces. These parameters help you protect your system by
allowing control over unused features of the product. The following services can be ena-
bled / disabled: DDE, Remote CTAPI, ODBC, OLEDB and FTP.These services are dis-
abled by default.
User login necessary for control actions

A user is now necessary to be configured and logged in to CitectSCADA to allow the dis-
play process to perform a tag write (control) action. Design CitectSCADA projects to
avoid Cicode task that perform tag writes that are not issued by a user.
We advise that projects be configured to take advantage of the change to provide
increased system security protection. If your system has existing network security pro-
tection in place and does not require the additional security protection, it can be turned
off using the following parameters to avoid the impact of the changes:
Parameter for the client/display node: See [LAN] SecureLogin in the Parameters help file
for more information.
Parameter for the server node: See [LAN] AllowLegacyConnections in the Parameters
help file for more information. (As part of CitectSCADA7.20 this parameter was made
obsolete)
These parameters may be necessary during an upgrade process when there is a mix of
old and new version CitectSCADA nodes in a running system.
See Also
System Parameters

51
Chapter: 2 What's New in CitectSCADA v7.x

Windows Integrated Security


In CitectSCADA you now have the ability to incorporate CitectSCADA users and secu-
rity options with the standard Windows security system. Of course you can still use the
CitectSCADA native security if you prefer to define users in the project and logon to
CitectSCADA runtime.
Using the integrated Windows security feature, the Windows user can logon to Citect-
SCADA runtime with runtime privileges configured within the project.
See Also
Using Windows Security

Multi-Signature Support
CitectSCADA now provides the facility for up to four users to approve an action or tag
write operation using the new Cicode functions MultiSignatureForm and Mul-
tiSignatureTagWrite.
Two further Cicode functions, VerifyPrivilegeForm and VerifyPrivilegeTagWrite, enable
you to restrict access to a specific action or tag write for a user with a specific set of priv-
ileges.

Edit .dbf Files in Microsoft® Excel


CitectSCADA allows you to edit and save .dbf files (tables) used in CitectSCADA by
opening them in Microsoft® Office Excel®.
Microsoft Office Excel® 2007 does not allow you to save files in .dbf format though you
may open and edit them using the File > Open command. In order to overcome this lim-
itation CitectSCADA includes an Add-In for Microsoft Excel called ProjectDBFAddIn.
When this Add-In is loaded into Excel, it allows you to browse, open, edit and save
CitectSCADA .dbf files in the correct format.
See Also

Using Microsoft Excel to Edit .dbf Tables

52
Chapter: 2 What's New in CitectSCADA v7.x

Enhanced Driver Installation


The installation of CitectSCADA prior to v7.10 installed the communication drivers auto-
matically with the product. From v7.10, the installation of these drivers is performed at
the final stage of the product installation using a separate installation process. This
installation process allows you to select individual drivers that you want to install, spe-
cific to your system and its I/O Devices.
There are certain drivers that the product installation will install that are necessary for
CitectSCADA to function correctly. These will be installed automatically as in previous
releases.
If you are using the Microsoft® Windows Vista™ operating system verify that any driv-
ers which you select to install are identified as being compatible with that operating sys-
tem. If you select any driver that is not yet identified as being compatible, or is
specifically identified as not compatible, the installation process will provide an alert to
that effect, and will allow you to deselect the driver prior to continuing with the instal-
lation.

Note: If you choose to ignore any alert, the driver will be installed but the driver may
not operate correctly.

UNINTENDED EQUIPMENT OPERATION

l Do not ignore alerts during driver installation.


l If alerts are preventing the installation of a driver, contact Technical Support of this
product.
Failure to follow these instructions can result in death, serious injury, or equip-
ment damage.

The communication driver installation can also be invoked individually at any time
after the product installation to install additional drivers.

New Font Selection for Graphics Button


In previous releases of CitectSCADA, you were not able to change the properties of text
such as font, size, style on buttons in the Graphics Editor. This inability to configure the
button text properties led to graphics with text from different source objects having dif-
ferent font settings on the same page, which appears aesthetically untidy and incon-
sistent on the runtime displays.

53
Chapter: 2 What's New in CitectSCADA v7.x

From v7.10, the text displayed on a button object can be configured in the same manner
as other CitectSCADAtext objects within the Graphics Editor and the automation inter-
face. This will allow you to present a more polished and consistent GUI to meet individ-
ual project runtime presentation requirements.
When migrating from a previous release, button object text properties are preserved and
converted to the new button object text properties with the appropriate default property
values automatically placed in the new configuration such as Font=Arial, Size=12, Align-
ment=centre, style=regular, etc.
See Also
Button Properties - Appearance

Microsoft Windows Vista Support


CitectSCADA V7.10 has achieved the Microsoft® "Works with Windows Vista™" cer-
tification. However, merely meeting the requirements of this certification was not suf-
ficient to make CitectSCADA fully functional on Vista. A number of other changes were
necessary to achieve satisfactory functionality on the Vista operating system.
Version 7.10 also satisfies many of the requirements of the "Certified for Windows Vis-
ta™" certification, and by having this level of qualification we are confident that our
users will find minimal differences when running the product on the Vista operating sys-
tem compared to previous operating systems.

New Locations for Configuration and Project Files


Due to security changes in Windows Vista, some modifications to the location of con-
figuration and user files used by CitectSCADA have been made.
When installed on Windows XP or earlier, configuration and project files are by default
stored in the Documents and Settings/All Users/Application Data/Citect/CitectSCADA
7.xx/ folder. When installed on Windows Vista, configuration and project files are by
default stored in the ProgramData/Citect/CitectSCADA 7.xx/ folder. Install locations are
as follows:

File type Platform Install Path

Configuration Pre-Vista Documents and Settings/All Users/Application Data/Ci-


files such as tect/CitectSCADA 7.xx/Config
the citect.ini
file Vista ProgramData/Citect/CitectSCADA 7.xx/Config

54
Chapter: 2 What's New in CitectSCADA v7.x

File type Platform Install Path

User direc- Pre-Vista Documents and Settings/All Users/Application Data/Ci-


tory tect/CitectSCADA 7.xx/User

Vista ProgramData/Citect/CitectSCADA 7.xx/User

Data direc- Pre-Vista Documents and Settings/All Users/Application Data/Ci-


tory tect/CitectSCADA 7.xx/Data

Vista ProgramData/Citect/CitectSCADA 7.xx/Data

Log files Pre-Vista Documents and Settings/All Users/Application Data/Ci-


tect/CitectSCADA 7.xx/Logs
All log files
produced by
drivers are
written to a
sub-folder Vista
called 'Driv- ProgramData/Citect/CitectSCADA 7.xx/Logs
ers'.

Alarm Field Enhancements


There are four enhancements to alarm fields:
l Runtime writes to custom alarm fields
l Alarm summary field changes
l Alarm display field changes
l Alarm paging

Runtime writes to custom alarm fields


It is now possible to write to the eight custom alarm fields during runtime. In previous
releases these fields could really only be used for alarm filtering.

Alarm summary field changes


Alarm Summary Fields can now be used to format an alarm display or alarm log
device. In addition any Alarm Display Field can be used in your alarm summary, apart
from State.
New Alarm Summary Fields

Field Name Description

{SumType,n} Type of alarm summary (similar to alarm display "Type").

55
Chapter: 2 What's New in CitectSCADA v7.x

Alarm display field changes


Now any alarm display field can be used for any type of alarm. Where not applicable for
a particular alarm type, zero or an empty string will be displayed.
New Alarm Display Fields

Field Name Description

{TagEx,n} Alarm Tag with Cluster Name prefix

{AlarmType,n} Alarm type (string), not localized.

{TypeNum,n} Alarm type number (use AlarmType to get string value instead).
V

{AlmComment,n} The text entered into the Comment field of the alarm properties
dialog.

{Cluster,n} Cluster Name

{CUSTOM1,n} Alarm custom fields as configured.


{CUSTOM2,n}
{CUSTOM3,n}
{CUSTOM4,n}
{CUSTOM5,n}
{CUSTOM6,n}
{CUSTOM7,n}
{CUSTOM8,n}

{LocalTimeDate,n} Alarm date and time.

{Paging,n} Indicates whether the alarm has to be paged.

{PagingGroup, n} Indicates the paging group to which the alarm belongs.

Alarm paging
The CitectSCADA alarm facility constantly monitors equipment data and alerts oper-
ators of any equipment error or alarm condition. When an alarm is triggered it is dis-
played on the standard alarm display page. The operator has to be continuously sitting
in front of an HMI monitoring the system. CitectSCADA v7.20 provides the facility to
link alarms with a remote paging system for operators.

56
Chapter: 2 What's New in CitectSCADA v7.x

Two Alarm Properties have been added to enable CitectSCADA to interface with any
third-party paging system. The Paging property is a flag to indicate that the alarm is
going to be paged, the PagingGroup property is a freeform text field indicating the
sequence of people to notify in the event the alarm occurred.
See your third-party paging system documentation for information on how to interface
with CitectSCADA.

New Time Synchronization Service


In order to maintain time synchronization CitectSCADA now installs a Windows service
called TimeSyncService, which runs under the built-in LocalSystem account. This
replaces the existing time synchronization server which is not compatible with Win-
dows Vista. This purpose of this service is to maintain the time on the local computer
against one or more time sources.
A Time synchronization utility is provided by CitectSCADA to assist you to configure
time synchronization, and control the service as part of your administration envi-
ronment. This utility requires administrator rights as it configures and controls a win-
dows service. When run on Windows Vista with User Access Control (UAC) on, you
will be prompted to elevate to an administrator. When run on earlier operating systems,
the utility will exit after displaying an error if the current user is not an administrator on
the local machine.
See Also
Time Synchronization

New Equipment Database Functions and Forms

An equipment database form is provided by the CitectSCADA Project Editor to assist in


the configuration of system equipment. In addition, several Cicode functions have been
added to allow you to programmatically load, search and edit the database at runtime.
See Also
Using Equipment
Equipment Database Functions

Citect.ini Parameters in v7.10


This topic lists the parameters that have been added or changed in version 7.10 of Citect-
SCADA.
It includes:

57
Chapter: 2 What's New in CitectSCADA v7.x

l New parameters
l Obsolete parameters

New Parameters
The following parameters are new in version 7.10 . For an entire list of the system param-
eters, refer to theParameters documentation.
Alarm Parameters:

[Alarm]A- Defines the length of time that the alarm server will wait
rgyleTagValueTimeout for argyle tag values to become available (without error)
before starting to scan for argyle alarms.

Code Parameters:

[Code]Ha- When enabled will cause the cicode to halt when any tag
ltOnInvalidTagData read returns invalid data.

Client Parameters:

[Client]A- Set to enable auto login. Users can select one of seven modes.
utoLoginMode

CtApi Parameters:

[CtAPI]A- When enabled current version of CTAPI server can


llowLegacyConnections accept connections from previous versions of CTAPI
client.

[CtAPI]AllowLegacyServices When enabled the Citect Web Service and the Citect
OLEDB Provider can connect to the CTAPI server.

DDE Parameters:

[DDE]A- Allows Cicode to be run on the Citect server via the DDE Execute com-
llowCicode mand.

[DDE]A- Allows tag writes to the Citect server via the DDE Poke command.
llowWrites

Kernel Parameters:

[Ker- The total number of error buffers available for logging to the sys-
nel]ErrorBuffers log.dat file.

Lan Parameters:

58
Chapter: 2 What's New in CitectSCADA v7.x

[LAN]A- Set to allow previous versions of client to connect to the


llowLegacyConnections server.

[LAN]Anon- The name of the default identifier to allow ‘view-only’ data


ymousLoginName access for a client process to the SCADA server(s).

[LAN]SecureLogin When set to 0 security measures are disabled and the sys-
tem acts as it did in versions prior to 7.10.

[LAN]ServerLoginEnabled Set to disable default server login.

[LAN]ServerLoginName The name of the default identifier to allow data access for
a server process to another SCADA server process(es).

ODBC Parameters:

[ODBC]Server Set to enable ODBC connections.

Page Parameters:

[Page]AllowHScroll Defines the default behavior for horizontal scrolling.

[Page]A- Defines the default behavior when displaying horizontal scroll


llowHScrollBar bars.

[Page]AllowVScroll Defines the default behavior for vertical scrolling.

[Page]A- Defines the default behavior when displaying vertical scroll bars.
llowVScrollBar

Obsolete Parameters
Win Parameters:

[Win]CtrlEsc Determines whether the Windows key command [Ctrl]+[Esc] can be


used in the runtime system (to display the start menu).

Com Parameters:

[Com]Star- Determines the period to wait for I/O Devices to come online before
tTimeout displaying any data.

59
Chapter: 2 What's New in CitectSCADA v7.x

Cicode Functions in v7.10


Some Cicode functions have been introduced, modified, deprecated or removed. The fol-
lowing sections detail the changes made to these functions:

New Functions
Security Functions

Form- Adds both a password prompt and edit field to the current form.
SecurePassword

MultiSignatureForm Displays a form that allows up for 4 users to have their cre-
dentials verified in order to approve an operation.

Mul- Displays a form that allows up for 4 users to have their cre-
tiSignatureTagWrite dentials verified in order to approve a write of a specific value to
a specific tag.

UserLogin Logs an operator into the CitectSCADA system using a secure


password string.

UserVerify Uses the authentication functionality in the user login system

VerifyPrivilegeForm Displays a form that allows a single user to enter their cre-
dentials.

Ver- Displays a form that allows any single user to enter their cre-
ifyPrivilegeTagWrite dentials in order to approve a write of a specific value to a spe-
cific tag.

Miscellaneous Functions

Ker- Obtains the number of rows in a queue.


nelQueueLength

KernelTableInfo Provides a consistent method of accessing items within Kernel


Table.

Ker- Obtains the number of rows in a Kernel Table


nelTableItemCount

ProcessRestart Restarts the current process in which Cicode is running.

ServerRestart Restart any alarm, report, trend or I/O server from any Cicode
node in system, without affecting other server processes running
on same machine.

60
Chapter: 2 What's New in CitectSCADA v7.x

Tag Functions

TagRD- Works in conjunction with the TagInfo function. Reloads the variable
BReload tag database so when TagInfo is called it picks up online changes to the
tag database.

Windows Functions

WinStyle Switches on and off scrolling and scrollbar features for existing win-
dows.

Modified Functions
None

Obsolete Functions
Window Functions

WndGetProfile Gets the value of a WIN.INI parameter. If called it will return 0.

WndPutProfile Updates a parameter in WIN.INI. If called it will return 0.

Time and Date Functions

TimeSet Sets the new system time

What's New in CitectSCADA v7.20


CitectSCADA v7.20 incorporates the following new features.
Introduced in v7.20:
l Control SCADA Client Connections
l Dynamically Optimized Writes
l Environment Variable changes
l Graphics Enhancements
l Improved Client Side Online Changes
l Improved Installation Process
l Improved CitectSCADA Security
l Multi-process Support in Demo Mode
l New Example Project

61
Chapter: 2 What's New in CitectSCADA v7.x

l New Web-based Help


l OPC Factory Server (OFS) Driver
l Pelco Camera Support
l Performance Improvements
l Persisted I/O Memory Mode
l Post Compile Commands
l Server Side Online Changes
l Microsoft® Windows 7 Support
l Supportability Enhancements
l Tab Menu Templates
l Tag Extensions
l Time Scheduler
For changes to:
l Citect.ini parameters, see Citect.ini Parameters in Version 7.20.
l Cicode functions, see Cicode Functions in Version 7.20.
l CtAPI functions, see CtAPI Functions in Version 7.20.
For details on how to configure an existing project to run in v7.20, refer to Upgrading to
V7.20.
See Also
What's New in CitectSCADA v7.x

Control SCADA Client Connections


Two Citect.ini parameters determine how a client will behave if it is unable to maintain
a connection with a primary Alarms, Reports or Trends server. Each server type has
access to these parameters [Type.ClusterName.ServerName]Priority and [Type.Clu-
sterName.ServerName]DisableConnection, where Type is the relevant server type
(Report, Trend or Alarm).
See Also
Connectivity Parameters

62
Chapter: 2 What's New in CitectSCADA v7.x

Dynamically Optimized Writes


Following the move to the new Publish-Subscribe infrastructure with Version 7.0, a
number of customers were adversely affected by a change in the way the product
behaves in respect to Block Writes. This change was generic to the driver interface and
specific issues have been raised with in regard to HITACHI, MODBUS and OPC, how-
ever other drivers may also have been affected.
In Version 7.20 changes have been made to the way that writes are performed at the I/O
Server in order to restore the pre-V7.0 behavior.
These changes will result in a similar level of blocking as occurred in previous versions.
It does not confirm that writes will be blocked, but it is more than likely that they will be
if they are initiated close enough together.
This will also allow use of the re-instated Citect.ini parameter [IOServer]BlockWrites in
order to choose whether to use the Block Writes functionality.
See Also
[IOServer]BlockWrites in the Parameters on line help

Environment variables in 7.20


When you define a Super Genie, you are creating a Super Genie template, similar to a
page template. When a Genie calls the Super Genie, this template is used to create a new
Super Genie page. Environment variables saved with the template are now propagated
to the Super Genie page. When subsequent changes are made to the environment var-
iables of the Super Genie template, the environment variables of the Super Genie page
are also updated.
If you modify a Super Genie template when the project is running in the background,
you need to perform an Update Pages to see the changes in the runtime project. If a run-
time page (created from a Super Genie template) is displayed when the change is made,
it will not be updated until you exit then re-display it.

63
Chapter: 2 What's New in CitectSCADA v7.x

UNINTENDED EQUIPMENT OPERATION

When upgrading from a previous version of CitectSCADA to v7.20 existing Super Genie tem-
plate environment variables will override Super Genie page environment variables. Any man-
ual updates you made to Super Genie page environment variables prior to the upgrade will be
lost.

Failure to follow these instructions can result in death, serious injury, or equip-
ment damage.

Graphic Enhancements
Enhancements have been made to how you can configure graphic pages and the objects
you place on the page. These enhancements can be used in the creation and imple-
mentation of Genies and Super Genies.
In addition, wide screen formats are now natively supported including 16:10 and 16:9
aspect ratios.
See Also
Metadata

Improved Installation Process


The installation process of CitectSCADA has been improved to simplify the operation
and guide the user through the installation by use of Installation Profiles and the cre-
ation of default component selections. Whilst still allowing flexibility for the experienced
user, the complexity and multiple installation paths and options have been greatly
reduced. The installer has been enhanced to allow the installation of a runtime-only ver-
sion of the product. This allows the runtime environment to be installed without the con-
figuration tools of the CitectSCADAIntegrated Environment. The Runtime Only
installation provides not only a smaller installation footprint but also the ability to set
up workstations which do not allow project configuration. This automatically improves
the security of the system configuration.

Note: You can also install the CitectSCADA runtime from a single installation file.
This file is on the installation DVD. This allows installation of the software to com-
puters which only need the runtime. The file can be copied to a network location for
remote installation.

64
Chapter: 2 What's New in CitectSCADA v7.x

Improved CitectSCADA Security


Security enhancements have been implemented in this release to address known security
issues from previous versions and to reduce the possibility of malicious attack. These
security enhancements include, improved inter-operability through the introduction of
new INI parameters, trusted network authentication, and the addition of assigning roles
to CitectSCADA runtime users, as you currently do for Windows users.

Note: The [Privilege]Shutdown parameter is now used to specify the necessary priv-
ilege level of a user to perform a shutdown operation triggered by clicking the Close
button of the project (default privilege level is 8).

Multi-process Support in Demo Mode


If using a demonstration version of CitectSCADA you can now design and run your sys-
tem in multi-process mode (with TCP\IP turned off). This new default for v7.2 will
assist you in finding and fixing design flaws in your project , which may have pre-
viously gone unnoticed due to only being able to run and test your system in single proc-
ess mode.
See Also
Demo Mode

New Example Project


The Example Project has been updated to demonstrate the new tab menu templates that
are available with CitectSCADA v7.20.
The project includes a "What's New?" menu to introduce some of the new features
offered in v7.20. This menu links to pages that demonstrate:
l the use of tag extensions and tag properties on graphics pages
l server monitoring and the ability to implement online changes for alarm and trend
servers
l multi-monitor support
l Instant Trending using the Process Analyst
The new content complements pages drawn in from the existing Example Project and
CSV_Example Project, which are now superseded.

65
Chapter: 2 What's New in CitectSCADA v7.x

To view the new Example Project, select and run it from Citect Explorer. For more infor-
mation, use the help button included in the project on the main navigation panel.

Web-based Help
The wide spread use of the Internet to distribute information has now enabled Schneider
Electric (Australia) Pty. Ltd. to introduce that technology, to bring its users a new rich
and expanded format to deliver its help information.
The traditional on-line help, now referred to in CitectSCADA as PC-based Help, is still
available to provide immediate information which is related to the task at hand. If you
are a registered Technical Support customer you have the option of accessing the new
Web-based Help to provide the very latest information, which will include updates for
help topics to include the improvements to the software application introduced by Serv-
ice Packs.
Updates will also be included from enhancement to the help topics brought about by
user comments and general internal developments by the Schneider Electric (Australia)
Pty. Ltd. Technical Publications team.
You will also be able to "rate" individual help topics with a star rating, and add your
own comments to any help topics. Your comments and topic ratings will be retained in
our database and we will endeavor to incorporate your contributions in our ongoing
development of the quality of our documentation.
The future development of Web-based help will also include links to technical doc-
umentation in the form of:
l Technical Papers
l White Papers
l Knowledge Base content
l Education and Training material
The Web-based help is planned for release by the end of December 2010. So, please check
on its availability periodically with following the link www.citect.com/webhelp

OFSOPC Driver
The release of CitectSCADA v7.20 coincides with the availability of the OFSOPC Driver
for Schneider Electric's OPC Factory Server (OFS).
OFS Factory Server is a foundation component for communication with Schneider Elec-
tric PLCs. The OFSOPC Driver allows CitectSCADA to tightly integrate with OFS Factory
Server, minimizing the amount of configuration necessary for an end-to-end Schneider
Electric system.

66
Chapter: 2 What's New in CitectSCADA v7.x

You can install the OFSOPC Driver and its supporting documentation via the Driver
Selection page of the CitectSCADA v7.20 installer.

Pelco Camera Support


This feature adds a button to the Graphics Builder toolbox, which will allow two of the
Pelco Camera ActiveX controls to be easily added to a graphics page. This control pro-
vides an ActiveX component that will connect to Pelco IP cameras with configurable
bandwidth usage for slow network connections and auto-resizes video to fit the ActiveX
control size.
The two ActiveX controls supported are:
Video Streaming - Fully Resizable, multiple bandwidth levels, MPEG4 Video, returns
the camera name and model.
Camera Control PTZ (Pan, Tilt and Zoom) - Communicates with DVRs and IP cameras.
Featuring pan zoom and tilt, iris, focus, presets, patterns and adjustable speed.
The button is only enabled if you have installed the Pelco camera software. Refer to the
Pelco camera software documentation for further information.
For details on configuring and using the Pelco Camera ActiveX control, refer to the doc-
umentation installed with the Pelco product.
See Also
Using Objects

Performance Enhancements
The architecture of CitectSCADA Version 7.20 includes a new threading model that
offers significant performance improvements. The new Platform Task Framework (PTF)
defines an explicit threading environment for each subsystem, providing a standard pro-
tocol for work to be created and passed between them.
The performance improvements have been implemented in a way that retains existing
functionality.There is no changes to the configuration or operation of a system, just per-
formance benefits and improved stability.

67
Chapter: 2 What's New in CitectSCADA v7.x

Persisted I/O Memory Mode


With the release of V7.20, a feature called persistence can be applied to I/O devices.
When implemented, the tag cache for an I/O device is written to an XML file at a set
period, allowing the last available data to be reloaded following a shutdown. Persistence
is enabled using the Persist field in the extended section of the I/O Devices Properties
dialog.
A persisted memory I/O device is recommended as an improved alternative to a disk I/O
device, as synchronization is supported if a server becomes unavailable for a period of
time.

Note: It is recommended that data assigned to disk I/O devices be migrated to the
new persisted memory I/0 mode. See the topic Persisted I/O Memory Mode for infor-
mation on how to migrate a disk I/O device to a persisted memory I/O device.

See Also
Using Persisted I/O Memory Mode

Post Compile Commands


After a project has compiled successfully you can execute an optional command, script
or batch file. This offers useful functionality if you have tasks that could be automated
after a successful compile. This provides an expansion point for you to add your own
script or command to perform additional tasks. You can also launch an optional com-
mand, script or batch file to execute after an unsuccessful compile.
See Also
Post Compilation

Improved Client Side Online Changes


Prior to V7.20, you could not load a page if the Cicode library has changed without
restarting the display client. In V7.20, you can now reload a page when the Cicode
library has changed. This will result in the page being reloaded and any Cicode on that
page will use the memory version of the Cicode library, not the latest compiled version.
This may cause a hardware alarm to be raised.
See Also
Client Side Online Changes

68
Chapter: 2 What's New in CitectSCADA v7.x

Server Side Online Changes


To improve the ability to change configurations on a live system without having to
restart the servers, CitectSCADA now provides the facility to reload server configurations
during runtime either programmatically or using the Runtime Manager.
See Also
Server Side Online Changes

Microsoft Windows 7 Support


CitectSCADAv7.20 also supports the Microsoft Windows 7 and Microsoft Server 2008
R2 operating systems. The changes to CitectSCADA undertaken in the 7.1 release to sup-
port Windows Vista significantly reduced the changes that were necessary to support
Windows 7 and Server 2008 R2. Previous Vista users will experience no functional dif-
ferences in CitectSCADAwhen migrating to Windows 7. However if you migrate to Win-
dows 7 from Widows XP be aware of the functional differences with
CitectSCADAbetween XP and Vista, as described in New Locations for Configuration
and Project Files.

Supportability Enhancements
Supportability Enhancements have been added to CitectSCADA to provide easier access
to the diagnostics functionality of the product. Although the enhancements were pri-
marily introduced to assist Technical Support personnel with system analysis, they have
resulted in many benefits to the end user. These include:
l Timestamp harmonization across log files.
l Additional [Debug] parameters to support category and severity filtering (see
Citect.ini Parameters in Version 7.20).
l Support for online logging adjustments using the new SetLogging() and GetLogging()
Cicode functions.
l A set of parameters that can be modified while online due to periodic or an on-
demand read of the citect.ini file during runtime.
Additionally, the home page of the Computer Setup Editor now includes a link to the
Logging Parameters page, which provides comprehensive instructions for the con-
figuration of logging.
See Also
Configuring logging

69
Chapter: 2 What's New in CitectSCADA v7.x

Adjusting logging during runtime

New Tab Menu Templates


To improve the user interface of projects and integrate the look and feel with the latest
Windows® systems, CitectSCADA now features an optional ribbon style menu system.
Main menu items can be represented as tabs along a menu bar, below which subsidiary
items are displayed in a ribbon. New projects have the new Tab_Style_Include templates
already available to them.
Starter Project
In addition to the new Tab Style templates, it is now possible to create a compilable
starter project that contains a basic level of built-in functions such as viewing alarms
and trends.
See Also
Tab Menu Templates
Creating a New Tab Style Project

Tag Extensions
With the addition of Tag Extensions in CitectSCADA v7.20, the variable tag can now
represent data as a collection of elements, and each of these elements can contain a col-
lection of items.
Each element provides access to a view of the data value for the tag. Each variable tag
can be used on its own or by referencing a particular element. The tag and each element
have items that can be referenced to access the following information:
.v : The value, which will access the data value of the tag or element.
.vt : The value timestamp, which will access the timestamp of when the value last
changed.
.q : The quality, which will access the quality of the value , either GOOD, UNCERTAIN
or BAD. The Quality variable can access further detail using the Cicode Quality func-
tions.
.qt : The quality timestamp, which will access the timestamp of when the quality last
changed.
.t : The timestamp, which will access the timestamp of when the tag or element was last
updated.
See Also
Tag extensions

70
Chapter: 2 What's New in CitectSCADA v7.x

Time Scheduler
The Time Scheduler is a calendar based programming tool that allows you to manip-
ulate tag values within a CitectSCADA project. It can be used to create a sequence of
automatically executed commands, delivering a valuable scheduling tool for appli-
cations. If you choose the Time Scheduler follow the on screen instruction.
For details on configuring and using the Time Scheduler, refer to the documentation
installed with the Time Scheduler product.

Citect.ini Parameters in v7.20


This topic lists the parameters that have been added or changed in version 7.20 of Citect-
SCADA.
It includes:
l New parameters
l Modified parameters
l Re-installed parameters
l Obsolete parameters

New Parameters
The following parameters are new in version 7.20 . For an entirelist of the system param-
eters, refer to the Parameters documentation.
Alarm Parameters

[Alarm.Clu- Specifies if a client will not connect to


sterName.ServerName]DisableConnection a server.

[Alarm.ClusterName.ServerName]Priority Specifies the client priority for the


server connection.

[Alarm]ReloadBackOffTime Back-off time configured to control


the pace of the reload on an alarm
server.

Client Parameters

[Client]A- When set to 1 the cache is cleared of any client login


utoLoginClearPassword credentials for consistency with the [Server]A-
utoLoginClearPassword ini parameter.

[Client]DisableDisplay Sets whether to allow the client process to run in the back-

71
Chapter: 2 What's New in CitectSCADA v7.x

ground without a visible window.

[Client]EvictTimeout Sets the amount of time a tag reference is cached before it


is evicted.

[Client]PartOfTrustedNetwork Tells a Client process to attempt to authenticate using the


stored server password. It is automatically set by the Com-
puter Setup Wizard.

[Client] StalenessPeriod Number of seconds to use for tag staleness period.

[Client]StalenessPeriodTolerance Staleness period tolerance

CtAPI Parameters

[CtAPI]Roun- Indicates to the user if values rounded to format.


dToFormat

CtDraw.RSC Parameters

[CtDraw.RSC]- When set enables the user to choose whether or


AllowEditSuperGeniePage not to open and edit a Super Genie page.

CtEdit Parameters

[CtE- Indicates to the compiler an optional command,


dit]CompileSuccessfulCommand script or batch file to execute after a successful
compile.

[CtEdit]CompileUnsuccessfulCommand Indicates to the compiler an optional command,


script or batch file to execute after an unsuccessful
compile.

[CtEdit]Starter Specifies the directory where the starter projects


are located.

Debug Parameters

[Debug]ArchiveFiles Archives log files once the size specified by [Debug]Ma-


ximumFileSize is reached.

[Debug]CategoryFilter Allows you to filter logging messages by component category.

[Debug]CategoryFilterMode Enables logging of categories declared by the [Debug]Ca-


tegoryFilter value.

[Debug]EnableLogging Enables or disables the logging mechanism.

[Debug]MaximumFileSize Sets the maximum size for a log file.

[Debug]Priority Allows you to filter logging messages according to their prior-


ity.

[Debug]SeverityFilter Allows you to filter logging messages according to their sever-


ity.

72
Chapter: 2 What's New in CitectSCADA v7.x

[Debug]SeverityFilterMode Enables logging of severities declared by the [Debug]S-


everityFilter value.

General Parameters

[General]MiniumlUpdateRate Specifies the time period (sec) at which a Data-


Source will send tag update value notifications
to the subscription clients.

[General]StalenessPeriod Specifies the time period (sec) after which a


tag value is considered to be “stale” if it was
not updated during this period.

IOServer Parameters

[IOServer]EnableEventQueue Enables the event queue.

[IOServer]MaxEventsDrop Sets the number of events that are dropped when


too many are queued.

[IOServer]MaxEventsQueued Sets the total number of events that can be queued.

[IOServer]MaxTimeInQueueMs Sets the total time for which an event can be


queued.

LAN Parameters

[LAN]AllowRemoteReload Enables remote reloading of servers from a


client.

[LAN]ClientRetryTime Sets the length of time between connection


attempts by a client.

[LAN]EarliestLegacyVersion Specify the minimum legacy version from which


the current version will accept connections.

[LAN]HighWaterMark The number of messages waiting to be sent on a


particular network connection at which the high
water mark event will occur.

[LAN]KeepAliveInterval Sets the length of time between two keep alive


transmissions by the client.

[LAN]KeepAliveTime Sets the length of time between two keep alive


transmissions in idle conditions.

[LAN]ListenerRetryTime Sets the length of time a server waits between


attempts to listen for a client connection.

[LAN]LowWaterMark After the high water mark has been reached on a


particular network connection, the low water mark
represents the number of messages waiting to be
sent at which we will resume normal operations.

[LAN]NoSocketDelay Switches off the delay on a socket caused by the


use of the Nagle algorithm.

73
Chapter: 2 What's New in CitectSCADA v7.x

[LAN]ReadOnlyLegacyConnections When set to 1 v7.10 clients can only com-


municate in read-only mode.This parameter
overrides 'EarliestLegacyVersion' .

Multi-Monitor Parameters (CSV Include project)

[MultiMonitor]DisableAutoStart Disables the new multi-monitor func-


tionality.

Page Parameters

[Page]AddDefaultMenu Determines whether to add the


default menu items to the tabbed
menu bar.

[Page]BadDitheringColor Sets the dithering color for graphics


elements which are dithered if the
value quality is “bad”.

[Page]BadDitheringDensity Sets the dithering density for graph-


ics elements which are dithered if the
value quality is “bad”.

[Page]BadText Text Objects can be displayed as


#COM type errors, or as the text over-
laid with a dithered pattern if the ‘dis-
play value’ expression has “bad”
quality.

[Page]BadTextBackgroundColor Sets the background color for


numeric / text graphics objects to
indicate “bad” quality.

[Page]EnableQualityToolTip Set by default it controls the quality


tooltip

[Page]ErrorDitheringColor Sets the dithering color for graphics


elements which are dithered if an
internal error occurs.

[Page]ErrorDitheringDensity Sets the dithering density for graph-


ics elements which are dithered if an
internal error occurs.

[Page]ErrorTextBackgroundColor Sets the background color for


numeric / text graphics objects to
indicate an internal error.

[Page]IgnoreValueQuality Defines the value quality handling by


graphics pages.

[Page]OverrideDitheringColor Sets the dithering color for graphics


elements which are dithered if their
values are override (“forced”).

74
Chapter: 2 What's New in CitectSCADA v7.x

[Page]OverrideDitheringDensity Sets the dithering density for graph-


ics elements which are dithered if an
internal error occurs.

[Page]OverrideTextBackgroundColor Sets the background color for


numeric / text graphics objects to
indicate that the value presented on
the objects is override (“forced”).

[Page]ShowBadText Text Objects can be displayed as


#BAD text, or as the text overlaid with
a dithered pattern if the "display
value" expression has “bad” quality.

[Page]ShowErrorText Text Objects can be displayed as


#COM type errors, or as the text over-
laid with a dithered pattern if the ‘dis-
play value’ expression has
“uncertain” quality.

[Page]ShowUncertainText Text Objects can be displayed as


#UNC text, or as the text overlaid
with a dithered pattern if the "display
value" expression has “uncertain”
quality.

[Page]Splash Specify the name of the Splash


Screen page.

[Page]SplashTimeout Time in milliseconds for the Splash


Screen to display.

[Page]SplashWinName Specify the label of the Splash Win-


dow for use with the Cicode function
WinNumber().

[Page]StartupDelay Milliseconds between when Splash


Screen and Start Screen are dis-
played.

[Page]StartupHeight Height of the Start Page on main dis-


play monitor.

[Page]StartupMode Mode of Start Page on main display


monitor.

[Page]StartupWidth Width of the Start Page on main dis-


play monitor.

[Page]StartupWinName Specify the label of the Start Window


for use with the Cicode function Win-
Number().

[Page]StartupX X coordinate of Start Page on main dis-


play monitor.

[Page]StartupY Y coordinate of Start Page on main dis-


play monitor.

75
Chapter: 2 What's New in CitectSCADA v7.x

[Page]UncertainDitheringColor Sets the dithering color for graphics


elements which are dithered if the
value quality is “uncertain”.

[Page]UncertainDitheringDensity Sets the dithering density for graph-


ics elements which are dithered if the
value quality is “uncertain”.

[Page]UncertainText Text Objects can be displayed as


#COM type errors, or as the text over-
laid with a dithered pattern if the ‘dis-
play value’ expression has
“uncertain” quality.

[Page]UncertainTextBackgroundColor Sets the background color for


numeric / text graphics objects to
indicate “uncertain” quality.

Specifies whether the animation sys-


tem will attempt to wait for valid data
[Page]WaitForValidData
from subscriptions necessary to draw
a graphics page before it is animated.

Report Parameters

[Alarm.ClusterName.ServerName]DisableConnection Specifies if a client will not con-


nect to a server.

[Alarm.ClusterName.ServerName]Priority Specifies the client priority for the


server connection.

Runtime Manager Parameters

[RuntimeManager]AllowReload Enables or disables the reload


option in the Runtime Manager
menu.

Security Parameters

[Security]DisableDEP Set to turn off DEP protection


for the CitectSCADA runtime.

Server Parameters

[Server]AutoLoginMode Determines the auto login


method the server will use
when establishing connections
to other servers.

Trend Parameters

[Trend]AcquisitionTimeout Sets a timeout to stop a trend


server infinitely acquiring a valid
data sample from an I/O device.

76
Chapter: 2 What's New in CitectSCADA v7.x

[Trend.ClusterName.ServerName]DisableConnection Specifies if a client should not con-


nect to a server.

[Trend.ClusterName.ServerName]Priority Specifies the client priority for the


server connection.

[Trend]ReloadBackOffTime Back-off time configured to con-


trol the pace of the reload on an
Trend server.

Modified Parameters
CtEdit Parameters

[CtEdit]Copy Supports runtime changes, it enables you to switch the SCADA node to
use a new runtime configuration by pointing to a new location.

Re-instated Parameters
IOServer Parameters

[IOServer]Bloc- Determines whetherCitectSCADA will try to block optimize writes


kWrites to I/O devices.

Obsolete Parameters
AnmCursor Parameters

[AnmCursor]Colour Replaced with [AnmCursor]Color. Sets the


color of the cursor.

General Parameters

[General]TagAssMode Validates the tag name in the Ass Function.


Refer to [General]TagDB instead.

LAN Parameters

[LAN]AllowLegacyConnections Set to allow previous versions of client to con-


nect to the server.

[LAN]ServerLoginEnabled Set to disable default server login.

Page Parameters

[Page]BackgroundColour Replaced with [Page]BackgroundColor. Specifies


the color used to fill in the background when a
page is smaller than the minimum width of a win-
dow.

77
Chapter: 2 What's New in CitectSCADA v7.x

[Page]ComBreak Determines whether an error status is displayed


on the screen if a communication error occurs.

[Page]ComBreakText Determines the display of text objects if a com-


munication error occurs that affects the text.

[Page]DynamicComBreakColour Replaced with [Page]DynamicComBreakColor.


Sets the color of the ComBreak dithering.

[Page]DynamicComBreakDensity Sets the density of the ComBreak.

Time Parameters:

[Time]Deadband The deadband time checked by the Time


Server before it adjusts the time on the
client(s).

[Time]Disable Enables/disables the processing of time mes-


sages from the Time Server.

[Time]Name Enables the time synchronization func-


tionality.

[Time]PollTime The period that the Time Server uses to syn-


chronize other CitectSCADA computers on the
network.

[Time]RTsync Determines whether the Time Server will syn-


chronize with the hardware clock.

[Time]Server Determines whether this computer is a Time


Server.

Trend Parameters

[Trend]CursorColour Replaced with [Trend]CursorColor. Allows the


cursor color to be specified.

CtAPI Functions in v7.20


The following section details the changes made to CtAPI functions in CitectSCADA
v7.20.

New Functions

ctListItem Gets the tag element item data.

ctTagReadEx Performs the same as ctTagRead, but with an additional new argument

Modified Functions

78
Chapter: 2 What's New in CitectSCADA v7.x

ctTagRead Reads the current value from the given I/O device variable tag element value.

ctTagWrite Writes the given value to the I/O device variable tag elements which have read/write
access.

ctTagWriteEx Asynchronously writes the given value to the I/O device variable tag element value
for the tag elements which have read/write access.

ctListAdd Adds a tag element value to the list.

ctListAddEx Adds a tag element value to the list.

Obsolete Functions
None

Cicode Functions in v7.20


Some Cicode functions have been introduced, modified, deprecated or removed. The fol-
lowing sections detail the changes made to these functions:

New Functions
Alarm Functions

AlarmCatGetFormat Returns the display format string of the specified alarm category.

AlarmDspClusterAdd Adds a cluster to a client's alarm list.

AlarmDspClusterInUse Determines if a cluster is included in a client's alarm list.

AlarmDspClusterRemove Removes a cluster from a client's alarm list.

Display Functions

DspAnGetMetadata Retrieves the field value of the specified metadata entry.

DspAnGetMetadataAt Retrieves metadata information at the specified index.

DspAnSetMetadata Non-blocking function, that sets the value of the specified metadata
entry.

DspAnSetMetadataAt Sets the value of a metadata entry.

DspPopupConfigMenu Displays the contents of a menu node as a pop-up (context) menu,


and run the command associated with the selected menu item.

Format Functions

FmtGetFieldCount Retrieves the number of fields in a format object.

79
Chapter: 2 What's New in CitectSCADA v7.x

FmtGetFieldName Retrieves the name of a particular field in a format object.

FmtGetFieldWidth Retrieves the width of a particular field in a format object.

Menu Functions

MenuGetChild Returns the handle to the child node with the specified name.

MenuGetFirstChild Returns the handle to the first child of a menu node.

MenuGetGenericNode Returns the root node of the default menu tree.

MenuGetNextChild Returns the next node that shares the same parent.

MenuGetPageNode Returns the Base menu node of a specific page.

MenuGetParent Returns the parent node of the menu item.

MenuGetPrevChild Returns the previous node that shares the same parent.

MenuGetWindowNode Returns the handle of the root menu node for a given window.

MenuNodeAddChild Dynamically adds a new item to the menu at runtime.

MenuNodeGetProperty Return the item value of the specified menu node.

MenuNodeHasCommand Checks whether the menu node has a valid cicode command
associated with it.

MenuNodeIsDisabled Checks whether the menu node is disabled by evaluating its


DisabledWhen cicode expression.

MenuNodeIsHidden Checks whether the menu node is hidden by evaluating its Hid-
denWhen cicode expression.

MenuNodeRemove Remove the menu node from the menu tree.

MenuNodeRunCommand Run the associated command for a menu node.

MenuNodeSetDisabledWhen Set the DisabledWhen expression for a newly added node.

MenuNodeSetHiddenWhen Set the HiddenWhen expression for a newly added node.

MenuNodeSetProperty Set the item value of the specified menu node.

MenuReload Reload base Menu Configuration from the compiled database.

Miscellaneous Functions

GetLogging Gets the current value for one or more logging parameters.

SetLogging Adjusts logging parameters while online.

ProductInfo Returns information about the CitectSCADA product.

ProjectInfo Returns information about a particular project, which is identified by a


project enumerated number.

Page Functions

80
Chapter: 2 What's New in CitectSCADA v7.x

PageBack Displays the previously displayed page in the Window.

PageForward PageForward() restores the previously displayed page in the win-


dow following a PageBack command.

PageHistoryDspMenu Displays a pop-up menu which lists the page history of current
window.

PageHistoryEmpty Returns whether page history of the current window is empty.

PageHome Displays the predefined home page in the window.

PagePeekCurrent Return the index in the page stack for the current page.

PageProcessAnalyst Displays a Process Analyst page (in the same window) preloaded
with the pre-defined Process Analyst View (PAV) file.

PageProcessAnalystPens Displays a Process Analyst page (in the same window) preloaded
with the pre-defined Process Analyst View (PAV) file and specified
trend or variable tags.

PageRecall Displays the page at a specified depth in the stack of previously dis-
played pages.

PageTask Used for running preliminary Cicode before displaying a page in a


window.

PageTransformCoords Converts Page coordinates to absolute screen coordinates.

Process Analyst Functions

ProcessAnalystLoadFile Loads the specified PAV file to a Process Analyst object, which is
identified by parameter ObjName.

ProcessAnalystPopup Displays a Process Analyst page (in the same window) preloaded
with the pre-defined Process Analyst View (PAV) file and specified
trend or variable tags.

ProcessAnalystSelect Allows a set of pens to be selected before displaying the PA page.

ProcessAnalystSetPen Allows a new pen to be added to a PA display.

Displays a Process Analyst page (in a new window) preloaded with


ProcessAnalystWin
the pre-defined Process Analyst View (PAV) file.

Quality Functions

QualityCreate Creates a quality value based on the quality fields provided.

QualityGetPart Extracts a requested part of the Quality value from the QUALITY var-
iable.

QualityIsBad Returns a value indicating whether the quality is bad.

QualityIsGood Returns a value indicating whether the quality is good.

QualityIsUncertain Returns a value indicating whether the quality is uncertain.

QualitySetPart Sets a Quality part’s value to the QUALITY variable.

81
Chapter: 2 What's New in CitectSCADA v7.x

QualityToStr Returns a textual representation of the CitectSCADA quality.

QualityIsOverride Returns a value indicating whether the tag is in Override Mode.

QualityIsControlInhibit Returns a value indicating whether the tag is in Control inhibit mode.

VariableQuality Extracts the quality from a given variable.

Server Functions

ServerBrowseClose This function terminates an active data browse session and


cleans up resources associated with the session.

ServerBrowseFirst This function places the data browse cursor at the first record.

ServerBrowseGetField This function retrieves the value of the specified field from the
record the data browse cursor is currently referencing.

ServerBrowseNext This function moves the data browse cursor forward one record.

ServerBrowseNumRecords This function returns the number of records that match the filter
criteria.

ServerBrowseOpen This function initiates a new browse session and returns a han-
dle to the new session that can be used in subsequent data
browse function calls.

ServerBrowsePrev This function moves the data browse cursor back one record.

ServerGetProperty This function returns information about a specified server and


can be called from any client.

ServerReload This function reloads the server specified by cluster and server
name.

ServerIsOnline This function checks if the given server can be contacted by the
client for giving the online/offline status of the server.

String Functions

StrCalcWidth Retrieves the pixel width of a string using a particular font.

StrTruncFont Returns the truncated string using a particular font (specified by name)
or the specified number of characters.

Returns the truncated string using a particular font (specified by font


StrTruncFontHnd
number) or the specified number of characters.

Super Genie Functions

AssMetadata Performs Super Genie associations using the "Name" and "Value" fields.

AssMetadataPage Uses the metadata information from the current animation point for the
page associations for a new Super Genie page, and displays the new
Super Genie in the current page.

AssMetadataPopup Uses the metadata information from the current animation point for the
associations for a new Super Genie page, and displays the new Super
Genie in a new pop up window.

82
Chapter: 2 What's New in CitectSCADA v7.x

AssMetadataWin Uses the metadata information from the current animation point for the
associations for a new Super Genie page, and displays the new Super
Genie in a new window.

Tag Functions

SubscriptionGetInfo Reads the specified text information about a subscribed tag.

SubscriptionGetQuality Reads quality of a subscribed tag.

SubscriptionGetTag Reads a value, quality and timestamps of a subscribed tag.

SubscriptionGetTimestamp Reads the specified timestamp of a subscribed tag.

SubscriptionGetValue Reads a value of a subscribed tag.

TagSetOverrideBad Sets a quality Override element for a specified tag to Bad Non
Specific.

TagSetOverrideGood Sets a quality Override element for a specified tag to Good Non
Specific.

TagSetOverrideUncertain Sets a quality Override element for a specified tag to Uncertain


Non Specific.

TagSetOverrideQuality Sets a quality of Override element for a specified tag.

Task Functions

Calls a Cicode function by specifying the function name and providing an


TaskCall
arguments string.

Timestamp Functions

TimestampToStr Converts a TIMESTAMP variable into a string.

TimestampDifference Returns a difference between two TIMESTAMP variables as a number


of milliseconds.

TimestampCreate Returns a timestamp variable created from the parts.

TimestampFormat Format a TIMESTAMP variable into a string.

TimestampGetPart Returns one part (year, month, day, etc) of the timestamp variable.

TimestampToTimeInt Converts a TIMETSTAMP variable into a time INTEGER which is rep-


resented as a number of seconds since 01/01/1970.

TimeIntTo Times- Converts a time INTEGER which is represented as a number of sec-


tamp onds since 01/01/1970 to a TIMETSTAMP

TimestampCurrent Returns the current system date and time as a TIMESTAMP variable.

TimestampAdd Adds time (in milliseconds) to a TIMESTAMP variable.

TimestampSub Subtracts time (in milliseconds) from a TIMESTAMP variable.

VariableTimestamp Extract the TIMESTAMP from a given variable.

83
Chapter: 2 What's New in CitectSCADA v7.x

Window Functions

MultiMonitorStart Displays a CitectSCADA window on each of the configured monitors when


a display client starts up.

WinSetName Associates a name with a particular window by its window number.

WndMonitorInfo Returns information about a particular monitor.

Modified Functions
Accumulator Functions

AccumBrowseOpen Opens an accumulator browse session.

Alarm Functions

AlarmDsp Displays alarms.

AlarmDspLast Displays the latest, unacknowledged alarms.

AlmSummaryOpen Opens an alarm summary browse session.

AlmTagsOpen Opens an alarm tags browse session.

Display Functions

DspStr Displays a string at an AN.

DspText Displays text at an AN.

Format Functions

FmtOpen Creates a format template.

Miscellaneous Functions

Shutdown EndsCitectSCADA operation.

Page Functions

PageGetInt Gets a local page-based integer.

PageGetStr Gets a local page-based string.

PageInfo Gets information about the current page.

PagePeekLast Gets any page on the PageLast stack.

PageSetInt Stores a local page-based integer.

PagesetStr Stores a local page-based string.

Security Functions

Login Logs an operator into the CitectSCADA system. Not available when logged

84
Chapter: 2 What's New in CitectSCADA v7.x

in as Windows user.

Super Genie Functions


The following functions were updated to accept string identifiers for substitution param-
eters.

Ass Associates a variable tag with a Super Genie.

AssGetProperty Retrieves association information about the current Super Genie from the
datasource.

AssGetScale Gets scale information about the associations of the current Super Genie
from the datasource (that is scale information about a variable tag that has
been substituted into the Super Genie)

AssInfo Gets association information about the current Super Genie (that is infor-
mation about a variable tag that has been substituted into the Super
Genie).

AssInfoEx Retrieves association information about the current Super Genie (that is
information about a variable tag that has been substituted into the Super
Genie).

AssScaleStr Gets scale information about the associations of the current Super Genie
(that is scale information about a variable tag that has been substituted
into the Super Genie).

Tag Functions

SubscriptionGetAttribute Reads an attribute value of a tag subscription.

TagRead Reads the value of a particular tag element.

TagWrite Writes a tag element value for the tag elements which have
read/write access.

TagSubscribe Subscribes to a particular tag element.

Window Functions

WinNumber Gets the window number of the active CitectSCADA window.

WndInfo Gets the Windows system metrics information.

Reinstated Functions
Following functions have been reinstated for 7.20.
Time and Date Functions

TimeSet Sets the new system time

85
Chapter: 2 What's New in CitectSCADA v7.x

Kernel Commands in Version 7.0


The following Kernel commands are obsolete in CitectSCADA from Version 7.0:
l Kernel Alarm
l Kernel Trend
l Kernel Report
l Kernel IOServer
l Kernel Client
l Probe
l NetBIOS
l PageNetstat

86
Chapter: 3 Upgrading to CitectSCADA v7.20
To upgrade an existing project to v7.20 from v6.x, perform each of the following pro-
cedures.
You do not need to carry out these procedures if you are upgrading from v7.0 or v7.10 to
v7.20.
l Upgrade CTAPI Applications
Verify that CTAPI applications are upgraded before upgrading and running any
CitectSCADA V7.x projects.
l Configure I/O Devices
Before upgrading, verify that I/O Devices are configured as necessary to run in the
project.
l Run the Citect Installer
The installer will lead you through a number of steps until the installation is com-
plete.
l Launch CitectSCADA
An automatic upgrade of your projects will occur when you initially start Citect-
SCADA
l Run the Migration Tool
The automatic update that occurs when you initially launch CitectSCADA does not
fully upgrade your projects, as such it needs to be followed by running the Migration
Tool.
l Define Clusters
Clusters can now be defined. The project needs to be configured to use at least one
cluster.
l Configure Network Addresses
The network addresses and ports of the computers to be used as servers are now
defined in the project.
l Configure Servers
The Alarm, Report, Trend, and I/O Servers are now defined in the project.
l Configure Tags to Use Clustering
Alarms, reports, trends, SPC tags, and accumulators can now be configured to run in
a specific cluster.

87
Chapter: 3 Upgrading to CitectSCADA v7.20

l Configuring Multiple Monitor Support


You may need to check whether a custom configuration operates correctly in a mul-
tiple-monitor environment.
l Compile the Project
Once you have configured your project, compile it and verify that there are no errors.
l Run the Computer Setup Wizard
Run the Computer Setup Wizard for each computer running the project. At each stage
of the Wizard, configure the appropriate settings for that computer.

Note: If you are running version 5.5, verify that you upgrade your projects to version
6.x before upgrading to v7.x.

See Also
What's new in V7.x

Upgrade CTAPI Applications


To set up CitectSCADA v7.20 communications with CTAPI applications in your system
(including CitectSCADA Reports and Ampla), verify that these products have been
upgraded to their latest versions before running any upgraded CitectSCADAv7.20
projects.
Similarly, if you are using any custom CTAPI applications, upgrade CitectSCADA on the
computers where these applications are installed before upgrading any other Citect-
SCADA computers.
See Also
Configure I/O Devices
"CtAPI Functions" in the CitectSCADA Technical Reference

Configure I/O Devices


The upgrade process verifies that the functionality of your project is upgraded to version
7.x. To facilitate this, parts of your project configuration may change during the upgrade.
It is therefore important to verify that a project is configured the way you want it to run
before you upgrade.
In particular, memory I/O Devices defined in your project (specifying MEMORY as the
port) will be configured in the upgraded project as local variables, since memory I/O
Devices are no longer supported. Local variables offer the same functionality as memory
I/O Devices without the need for further configuration.

88
Chapter: 3 Upgrading to CitectSCADA v7.20

However, this also means if you have I/O Devices temporarily defined as memory I/O
Devices for testing or simulation, they will be incorrectly configured as local variables by
the upgrade process. Verify that you configure these devices as you require them to run
before upgrading to version 7.x.

UPGRADE ALTERS COMMUNICATIONS CONFIGURATIONS

After upgrading, confirm and adjust the configuration of all I/O devices in your project.

Failure to follow these instructions can result in death, serious injury, or equip-
ment damage.

Before attempting to configure your I/O devices for the changes caused by the upgrade
process, first read the information in Configuring Local Variables and Using Memory
Mode. This provides details about local variables and the other I/O Device options that
replace memory I/O Devices, allowing you to select and configure your project appro-
priately.

Note: Alarm devices with their Protocol property set to "Alarm" are no longer used
and will be removed by the Migration Tool. All Alarm Servers will now publish
Alarm Properties.

The reconfiguration will take place when you run the Migration Tool. For detailed infor-
mation on this tool, refer to Migration Tool.
See Also
Run the Citect Installer
Configuring Local Variables
Using Memory Mode

Run the Citect Installer


To begin the upgrade, run the CitectSCADAv7.20 installer. The installer will lead you
through a number of steps until the installation is complete.

Note: Uninstall any existing version 6.x or version 7.0 before installing v7.20, as
CitectSCADA does not support different versions running side-by-side. Additionally,
to use the v7.20 Example and CSV_Example projects, it is recommended that you
delete the existing Example and CSV_Example projects using Citect Explorer before
starting the installation.

89
Chapter: 3 Upgrading to CitectSCADA v7.20

Launch CitectSCADA
An automatic upgrade of your projects will occur when you initially start CitectSCADA.
1. To launch CitectSCADA, click Start | All Programs | Citect | CitectSCADA 7.10 |
CitectSCADA Explorer. The following message will display:

2. Click Yes to confirm the upgrade.


See Also
Define Clusters
Migration Tool

Migration Tool
The automatic update that occurs when you initially launch CitectSCADAv7.20 does not
fully upgrade your projects, and needs to be followed by the use of the Migration Tool (
if migrating from v6.x this is particularly noteworthy). The automatic update is a pas-
sive action which updates the database field definition for any database that has been
changed between the two versions and copies new files that are necessary in v7.20. Prior
to the automatic upgrade proceeding you are given the option of canceling the upgrade.
The upgrade can be invoked at a later time by setting the [CtEdit]Upgrade parameter to 1
(True) in the Citect.ini file.
After the automatic update has completed then prepare your projects prior to running
the Migration Tool.
The Migration Tool is a separate application which has to be manually run after the
automatic upgrade has been executed, and initiated by you after you have prepared the
project for final migration. This tool will accommodate the important changes in project
functionality that are incorporated in v7.0 and v7.20.
It is important that you prepare your existing projects for a successful upgrade using this
tool.

90
Chapter: 3 Upgrading to CitectSCADA v7.20

Some of the features introduced in v7.20 of CitectSCADA require changes in the project
data from version 6.x

UPGRADE ALTERS COMMUNICATIONS CONFIGURATIONS

After upgrading, confirm and adjust the configuration of all I/O devices in your project.

Failure to follow these instructions can result in death, serious injury, or equip-
ment damage.

See Also
Memory devices
Alarm devices
Included projects
Using the Migration Tool

Memory Devices
In previous versions of CitectSCADA an I/O Device could be defined as a memory
device by setting the port value to "Memory". This was generally done for one of the fol-
lowing purposes:
l To provide for future devices that were not currently connected to the system, but
their points needed to be configured at this stage of project.
l For virtual devices where there was no corresponding physical I/O Device and you
needed data storage with the entire functionality normally associated with I/O var-
iables such as alarms.
l To act as a variable which was local to the process being used in place of Cicode
global variables.
You can still use I/O Devices for future or virtual devices in version 7.0, but manually
set the Port parameter to an unused value other than Memory, and set the Memory prop-
erty of the device to True to indicate that it is an offline in-memory device before running
the Migration Tool.
You need to review your project to identify which memory I/O Devices are local variable
holders and which ones need to be changed to non-memory so that the Migration tool
does not convert their variables.
The Migration Tool will set any I/O Device's port which is identified as a Memory
device to the new Local Variable, and the original device record will be deleted.
See Also
Configure I/O Devices
Alarm Devices

91
Chapter: 3 Upgrading to CitectSCADA v7.20

Converting Memory Variables

Alarm Devices
In previous versions of CitectSCADA Alarm devices were defined as devices with their
Protocol property set to "Alarm". In version 7.0 the function of configuring such a device
is now replaced by setting the Publish Alarm Properties property to True on the Alarm
Server.
Alarm devices with their Protocol property set to "Alarm" will be deleted from I/O
Devices table by the Migration Tool.
See Also
Alarm Server Definitions
The Migration tool can delete memory and alarm device records. If you want to delete
the devices at a later time, deselect the "Remove obsolete Memory and Alarm Devices"
option.

Note: Alarm devices with their Protocol property set to "Alarm" are no longer used
and will be removed by the Migration Tool. All Alarm Servers will now publish
Alarm Properties.

See Also
Converting Memory Variables

Converting Memory Variables


A memory variable is a variable with its I/O Device Port property set to either "Memory"
or "MEM_PLC".
If there are multiple I/O Devices with the same name, possibly on different I/O Servers,
then the device would not be considered as a memory device regardless of its port value.
In other words the Migration tool will not process the variables for memory devices with
duplicate names.
See Also
Inserting new local variables
Deleting Variable Tags

Inserting new local variables


When the Migration Tool runs, a local variable record will be inserted for each identified
memory variable, and the variable data will be copied into the new local variable.
Local variables have fewer fields than variables; the following table shows the mapping
from variable to local variable when copying their data.

92
Chapter: 3 Upgrading to CitectSCADA v7.20

Variable Tag parameter or constant


Local variable parameter
value

Variable Tag name Name

Data Type Date Type

(Empty) Array Size

Eng. Zero Scale Zero Scale

Eng. Full Scale Full Scale

Comment Comment

With the exception of the Array Size, which has been introduced in version 7.0 exclu-
sively for local variables, every field receives it's value from the same or similar field.
See Also
Deleting Variable Tags

Deleting Variable Tags


Once the Migration Tool has created the local variable records it will insert those var-
iable tag records that have been converted in the previous step, and delete the original
variable tag.
If an error is detected during the insertion of the local variables, the deletion of the var-
iable tags will not be performed. If this occurs it is possible to have two records with
same name and data, one in the local variable (the newly inserted record) and one in the
variable tags (the original record that has not been deleted). You need to delete either of
the variables manually, or restore the backed up project after removing the cause of the
error then run the Migration Tool again.
See Also
Default Scale
Deleting Obsolete I/O Devices

Default Scale
The Scale properties in both variable tags and local variables are optional. If a Scale
value is not specified the default value is indicated by a parameter in the Citect.ini file.
The parameter name is "DefaultSliderScale" under the [General] section in the Citect.ini
file. The default values for Scale is 0-32000, unless the default slider scale is true in
which case the default value depends on the type for example Integer, String etcetera.

93
Chapter: 3 Upgrading to CitectSCADA v7.20

The Migration tool will read this parameter and if it is not set, or set to false, then it will
explicitly set any empty Scale property to a value in to the range of 0 to 32000. This will
be done even if either of the Zero Scale or Full Scale parameters has a value, in which
case the empty Scale parameter will receive the default value.
If the DefaultSliderScale in the Citect.ini file set to True, the Scale parameters will not be
populated with a default value if they are empty, rather they will be interpreted at run-
time.

Deleting Obsolete I/O Devices


Deleting obsolete I/O Devices is an optional step in the Migration Tool and will be per-
formed after the memory variables are converted. If the delete option is chosen, then
obsolete Memory devices and Alarm devices will be deleted as the final step of the
Migration Tool operation.
See Also
Included Projects

Included Projects
Each project may contain multiple included projects. Additionally any included project
may contain its own included project so creating a cascading project.
The Migration Tool needs to process the original project and included projects in a sin-
gle step. The reason for this is that variables can be defined in one project that refer to
I/O Devices defined in another included project.
The Migration Tool performs this procedure sequentially on the "master" project then
each included project.
In the case where two master projects share the same project as an included project, it is
important that you do not select the "Remove obsolete Memory and Alarm devices"
check box when you process a project that contains shared included projects. This is
because the removal is performed at the conclusion of the migration process on each
master and included projects sequentially. This could cause the deletion of an I/O Device
in the first master project which is referenced by a tag in a shared included project
which is processed in a later step.
If two separate "master" projects contain the same included project, run the Migration
Tool on each "master" project without selecting to delete obsolete devices.

94
Chapter: 3 Upgrading to CitectSCADA v7.20

UPGRADE ALTERS COMMUNICATIONS CONFIGURATIONS

After upgrading, confirm and adjust the configuration of all I/O devices in your project.

Failure to follow these instructions can result in death, serious injury, or equip-
ment damage.

To remove obsolete devices it is recommended that once the Migration Tool has com-
pleted successfully (without the check box being selected), run it a second time with the
check box selected. This will safely remove the devices since every tag conversion were
completed in the first pass of the Migration Tool.

Creation of roles for existing users


When upgrading an existing project using the migration tool, a new role will be created
(if needed) for every existing user. The new role will have the same security settings that
were defined for that user and be given a generic name such as Role_1, Role_2 etc. Dur-
ing the upgrade process, if a role exists with the same security settings as the user, then
the existing role will be assigned to the user being upgraded. For example; If Role_1
exists and matches the security settings of the upgraded user then that user will be
assigned Role_1 also.
If you do not want to migrate users from an existing project deselect the option "Create
Roles from User security information" from the migration tool dialog before running it.
See Also
Incremental compilation

Using the Migration Tool

Note: Before you use the Migration Tool is strongly recommended that you famil-
iarize yourself with the process that it performs, and the preparatory steps that you
need to carry out with your existing projects as described under Migration Tool.

To run the Migration Tool:

1. Backup the projects that you intend to migrate.


2. From the Citect Explorer or Citect Editor menu bar select Tools | Migration Tool to
display the Migration Tool dialog.
3. Either accept the project displayed in the edit box, or browse for the project that you
wish to upgrade. To migrate this project as well as any included projects within it,
select the option 'Migrate Included Projects'.

95
Chapter: 3 Upgrading to CitectSCADA v7.20

4. Select the Remove obsolete Memory and Alarm devices check box if you wish to
delete these devices after successful migration.

Note: Do not select this check box if the project contains any included projects
which are shared with more than one master project when you run the tool for
the first time on such projects. Run the tool a second time using this option if the
migration is successful after it is run the first time if you want to delete the
devices.

5. Leave as selected the option 'Create Roles from User security information' if you wish
to migrate the users database from an existing project
6. Check the option 'Copy XP_Style menu into Tab_Style Menu' to convert legacy menu
entries to the format necessary for the new menu configuration system. By default
this option is unchecked, to avoid potential compile errors that may occur after migra-
tion if the legacy menu.dbf contains functions which have been removed.
7. Check 'Migrate Included Projects' to migrate the included projects that are in the
project you previously selected.

Note: If 'Copy XP Syle menu into Tab_Style Menu' and 'Migrate Included Projects'
are both selected when the migration tool runs the following message will be dis-
played "Copying menus of included projects may lead to conflicts. Any conflicts
will need to be manually corrected". To avoid this from occurring it is rec-
ommended you run the migration tool twice. In the first instance just select the
option 'Copy XP_Style menu into Tab_Style Menu', and in the second instance
just select the option 'Migrate Included Projects'.

8. Click Migrate to begin the migration process, or click Close to exit without per-
forming the migration.
9. The migration process will begin and display a progress dialog indicating the stage
of the conversion and the name of the project being migrated. If you wish to cancel
the migration at this point click the Abort button.

Note: Aborting a migration will stop the migration process, and any changes
already completed will not be rolled back. You will have to restore your project
from the backup created in the first step.

10. When the migration process is concluded a confirmation dialog box will display indi-
cating the number of variables converted and the number of I/O Devices deleted (if
device deletion was selected at the start of migration)
11. Click the Close button to close the dialog.

96
Chapter: 3 Upgrading to CitectSCADA v7.20

Define Clusters
Even if you do not intend to use clusters in your project, you need to define at least one.
Tags and servers will default to run in the defined cluster.
1. In the Project Editor, select Servers | Clusters. The Cluster dialog box displays:
2. In the ClusterName field, enter the name of the cluster. The name needs to be unique
to the project and not contain spaces.
3. In the Comment field, enter any useful comment. This property is optional and is not
used at runtime.
4. Click Add.
See Also
Configure Network Addresses

Configure Network Addresses


In the Project Editor, configure the network address of each machine to be used as a
server in the project.
1. In the Project Editor, select Servers | Network Addresses. The Network Addresses
dialog box displays:
2. In the Name field, enter a name for the network address being configured. The name
needs to be unique to the project and not contain spaces.
3. In the Address field,enter the IP address or computer name of the machine being con-
figured.
4. In the Comment field, enter any useful comment. This property is optional and is not
used at runtime.
5. Click Add.
See Also
Configure Servers

Configure Servers
All Primary and Standby Alarms, Reports, Trends, and I/O Servers are now defined
using the Project Editor. This involves specifying a network address and a cluster for
each server.
Default Ports

97
Chapter: 3 Upgrading to CitectSCADA v7.20

Each server has a unique default port assigned to it. This default port may only be used
with that type of server. Attempting to use a default port on another type of server will
result in a compilation error of:
"Invalid port number (2073-2082,20222,21) are reserved"
The following table lists the default port numbers and their associated server type.

Default Port Legacy Port Server Type Server Role

21 N/A FTP Server Page downloads for IDC


IDC Internet Display Server/Client
communications

2073 N/A CTAPI CTAPI Communications

2074 N/A Client Cicode Debugging

2084 2075 Reports Reports Server communications


Server

2080 2076 Alarm Server Alarm Server communications

2085 2077 Trends Trends Server communications


Server

2078 N/A I/O Server Legacy I/O Communications

2080 2076 Alarm Server Alarm Properties Connector

2082 2078 (Client I/O Server Publish Subscribe I/O Server


server com- Communications
munication only)

20222 N/A ODBC ODBC Server

For details on configuring each type of server refer to:


l Alarm Server Definitions
l Reports Server Definitions
l Trends Server Definitions
l I/O Server Definitions

98
Chapter: 3 Upgrading to CitectSCADA v7.20

Configure Tags to Use Clustering


If you have defined multiple clusters, you can configure alarms, reports, trends, SPC
tags, and accumulators to run on particular clusters. Using the Project Editor, you can
now specify the appropriate cluster for each tag.
l Configure Alarm Tags to use Clustering
l Configure Report Tags to use Clustering
l Configure Trend Tags to use Clustering
l Configure SPC Tags to use Clustering
l Configure Accumulators to use Clustering

Configure Alarm Tags to use Clustering


In the Project Editor, select Alarms, and then the type of Alarm you are configuring. The
dialog box for the chosen alarm type displays:
For each alarm, in the Cluster Name field, select the name of the cluster that will run the
alarm. If there is only one cluster defined in the project, you can leave this field blank.
The alarms will default to the defined cluster.
If the project has multiple clusters, and you do not select a cluster name in this dialog,
then CitectSCADA considers the alarm to run on defined clusters.
Using the F2 key in the Alarm Server Definitions dialog, open the extended properties
page and set the Publish Alarm Properties to "True" if you want the alarm properties to
be published and be viewed as normal variable tags, and have the Alarm Server listen
as if it were an I/O connector.
Click Replace to save the changes.
See Also
Configure Report Tags to use Clustering

Configure Report Tags to use Clustering


In the Project Editor, select System | Reports. The Reports dialog box will display:
For each report, in the Cluster Name field, select the cluster that will run the report. If
there is only one cluster defined in the project, you can leave this field blank. The reports
will default to the defined cluster.
If the project has multiple clusters, and you do not select a cluster in this dialog, then
CitectSCADA considers the report to run on defined clusters.
Click Replace to save the changes.

99
Chapter: 3 Upgrading to CitectSCADA v7.20

See Also
Configure Trend Tags to use Clustering

Configure Trend Tags to use Clustering


In the Project Editor, select Tags | Trend Tags. The Trend Tags dialog box will display:
For each trend, in the Cluster Name field, select the cluster that will run the trend. If
there is only one cluster defined in the project, you can leave this field blank. The trends
will default to the defined cluster.
If the project has multiple clusters, and you do not select a cluster in this dialog, Citect-
SCADA considers the trend to run on defined clusters.
Click Replace to save the changes.
See Also
Configure SPC Tags to use Clustering

Configure SPC Tags to use Clustering


In the Project Editor, select Tags | SPC Tags. The SPC Tags dialog box will display:
For each SPC tag, in the Cluster Name field, select the cluster that will run the SPC tag.
If there is only one cluster defined in the project, you can leave this field blank. The SPC
tags will default to the defined cluster.
If the project has multiple clusters, and you do not select a cluster in this dialog, Citect-
SCADA considers the tag to run on defined clusters.
Click Replace to save the changes.
See Also
Configure Accumulators to use Clustering

Configure Accumulators to use Clustering


In the Project Editor, select System | Accumulators. The Accumulators dialog box will
display:
For each accumulator, in the Cluster Name field, select the cluster that will run the
accumulator. If the project has only one cluster defined, you can leave this field blank.
The accumulator will default to the defined cluster.
If the project has multiple clusters, and you do not select a cluster in this dialog, Citect-
SCADA considers the accumulator to run on defined clusters.
Click Replace to save the changes.
See Also
Compile the Project

100

You might also like