Vous êtes sur la page 1sur 1134

Proficy* HMI/SCADA - iFIX

IFIX WITH

FIX DESKTOP

Version 5.5
January 2012

All rights reserved. No part of this publication may be reproduced in any form or by any electronic or mechanical
means, including photocopying and recording, without permission in writing from GE Intelligent Platforms, Inc.

Disclaimer of Warranties and Liability


The information contained in this manual is believed to be accurate and reliable. However, GE Intelligent Platforms,
Inc. assumes no responsibilities for any errors, omissions or inaccuracies whatsoever. Without limiting the foregoing,
GE Intelligent Platforms, Inc. disclaims any and all warranties, expressed or implied, including the warranty of
merchantability and fitness for a particular purpose, with respect to the information contained in this manual and the
equipment or software described herein. The entire risk as to the quality and performance of such information,
equipment and software, is upon the buyer or user. GE Intelligent Platforms, Inc. shall not be liable for any damages,
including special or consequential damages, arising out of the user of such information, equipment and software, even
if GE Intelligent Platforms, Inc. has been advised in advance of the possibility of such damages. The user of the
information contained in the manual and the software described herein is subject to the GE Intelligent Platforms, Inc.
standard license agreement, which must be executed by the buyer or user before the use of such information, equipment
or software.

Notice
2012 GE Intelligent Platforms, Inc. All rights reserved. *Trademark of GE Intelligent Platforms, Inc.
Microsoft is a registered trademark of Microsoft Corporation, in the United States and/or other countries.
All other brands or names are property of their respective holders.

We want to hear from you. If you have comments, questions, or suggestions about our documentation, send them to the
following email address:
doc@ge.com

Table of Contents
About this Guide ............................................................................................................................... 1
Features Available After Upgrading from FIX v7 .............................................................................. 3
Simultaneously Run iFIX and FIX Desktop Applications .............................................................. 3
Use with iFIX Supported Operating Systems ............................................................................... 4
Enhanced Failover and Redundancy Features ............................................................................ 4
Local Node Alias Support for HTD ............................................................................................... 5
Proficy Historian Support in the HTD Application ......................................................................... 5
Configuring Proficy Historian as Your Historian ....................................................................... 6
Browsing for Tags on the Proficy Historian Server ................................................................... 7
iFIX Picture Management from View ............................................................................................ 7
Commands for Managing iFIX Pictures from View ................................................................... 9
Pop-up Window of the iFIX WorkSpace ................................................................................. 19
FIX Desktop Display Management from iFIX ............................................................................. 20
Examples of Opening FIX Desktop Pictures from iFIX...........................................................21
Subroutines for Managing FIX Pictures from iFIX .................................................................. 22
iFIX Automation Interfaces for View, HTD, and Draw ............................................................ 28
Differences Between FIX v7 and iFIX with FIX Desktop ................................................................ 49
FIX32 Items Not Supported in FIX Desktop ............................................................................... 49
Failover Configuration Changes ................................................................................................. 50
Environment Protection Set in the Proficy iFIX WorkSpace Instead of Draw ............................50
Important Notes About Using Environment Protection ...........................................................51
Security Configuration Changes ................................................................................................. 51
Changes in the Integration Toolkit Programs ............................................................................. 53
FIX Desktop Pictures Not Backwards Compatible ..................................................................... 53
Quick Database Tools Not Supported ........................................................................................ 53

iii

iFIX with FIX Desktop

Change in the Default Picture Templates ................................................................................... 54


Example of Changing the Default Template ........................................................................... 54
FIX Desktop Menu Commands That Appear Differently ............................................................ 55
Differences for Working with Tags in Scripts .............................................................................. 55
FIX32 Script Example ............................................................................................................. 55
FIX Desktop Script Example ................................................................................................... 55
Documentation Differences Between FIX Desktop and FIX v7 ..................................................56
Draw Manual................................................................................................................................... 59
Introduction to the Draw Application ........................................................................................... 59
Draw........................................................................................................................................ 59
View ........................................................................................................................................ 59
Draw Features ........................................................................................................................ 60
Understanding Object-Oriented Graphics .............................................................................. 61
Hardware and Software Requirements .................................................................................. 62
Where to Find Files................................................................................................................. 62
Understanding Draw Security ................................................................................................. 62
Designing Pictures ...................................................................................................................... 63
Developing a Hiearchy of Pictures ......................................................................................... 63
Using Templates ..................................................................................................................... 64
Using Dynamos ...................................................................................................................... 65
Using Fast Update Designs .................................................................................................... 65
Developing Large Pictures ..................................................................................................... 65
Developing a Layout ............................................................................................................... 66
Understanding Picture Types ................................................................................................. 66
Using Macros and the Command Language .......................................................................... 71
Understanding Tag Groups .................................................................................................... 72
Using 256 Colors .................................................................................................................... 74
Alarm Counters ....................................................................................................................... 74

iv

iFIX with FIX Desktop

Using Variables ....................................................................................................................... 74


Accessing a Relational Database ........................................................................................... 75
Learning the Basics .................................................................................................................... 75
Starting Draw .......................................................................................................................... 75
Exiting Draw............................................................................................................................ 77
Understanding Picture File Types .......................................................................................... 77
Creating New Pictures ............................................................................................................ 77
Creating Picture Templates .................................................................................................... 77
Modifying Picture Templates .................................................................................................. 78
Opening Pictures .................................................................................................................... 78
Saving Pictures ....................................................................................................................... 78
Closing Pictures ...................................................................................................................... 80
Deleting Pictures ..................................................................................................................... 80
Printing Pictures ...................................................................................................................... 80
Previewing Pictures ................................................................................................................ 80
Changing Picture Size and Settings ....................................................................................... 81
Creating Picture Reports ........................................................................................................ 86
Zooming Pictures .................................................................................................................... 87
Refreshing Pictures ................................................................................................................ 88
Switching Between Picture Windows ..................................................................................... 88
Switching to Other Applications .............................................................................................. 88
Using Draw Cursors................................................................................................................ 89
Searching and Replacing Tagnames ..................................................................................... 90
Using the Draw Tools ................................................................................................................. 92
Using the Toolbox ................................................................................................................... 93
Customizing the Toolbox ........................................................................................................ 94
Using the Color Box ................................................................................................................ 97
Creating a Custom Color Palette .......................................................................................... 100

iFIX with FIX Desktop

Displaying the Cursor Position ............................................................................................. 102


Using the Right Mouse Button .............................................................................................. 102
Working with Graphic Objects .................................................................................................. 102
Creating Objects ................................................................................................................... 103
Coloring and Styling Objects ................................................................................................ 104
Manipulating Polygons and Polylines ................................................................................... 107
Selecting Objects .................................................................................................................. 108
Creating Complex Objects .................................................................................................... 110
Manipulating Objects ............................................................................................................ 113
Aligning Objects .................................................................................................................... 116
Grouping Objects .................................................................................................................. 120
Working with Text ..................................................................................................................... 122
Creating a Text Object .......................................................................................................... 122
Changing a Text Object ........................................................................................................ 122
Working With the Database ...................................................................................................... 124
Entering Undefined Tagnames ............................................................................................. 125
Using Dynamic Properties ........................................................................................................ 125
Dynamic Properties .............................................................................................................. 126
Dynamic Property Assignments by Object ........................................................................... 128
Dynamic Property Assignments for Links in Groups ............................................................ 129
Using Dynamic Properties .................................................................................................... 130
Naming an Object ................................................................................................................. 131
Replacing a Groups Node and Tag ..................................................................................... 132
Making an Object Controllable ............................................................................................. 132
Dynamically Changing Object Colors ................................................................................... 133
Dynamic Movement Properties ............................................................................................ 140
Dynamically Scaling Objects ................................................................................................ 144
Dynamically Rotating Objects ............................................................................................... 146

vi

iFIX with FIX Desktop

Dynamically Filling Objects ................................................................................................... 148


Adding Script Commands to Objects.................................................................................... 151
Making Objects Appear and Disappear ................................................................................ 151
Using Dynamic Properties with Groups ................................................................................ 152
Understanding Links ................................................................................................................. 154
Introduction to Link Types .................................................................................................... 154
Using Tag Groups with Links ................................................................................................ 155
Using Variables with Links .................................................................................................... 156
Creating Links ....................................................................................................................... 156
Grouping Links...................................................................................................................... 158
Creating Information Links ........................................................................................................ 159
Adding a Data Link ............................................................................................................... 159
Creating Special Purpose Links ............................................................................................... 171
Adding an Alarm Summary Link ........................................................................................... 171
Adding a System Information Link ........................................................................................ 173
Adding a Push Button Link ................................................................................................... 175
Creating Trend Chart Links ...................................................................................................... 177
Chart Features ...................................................................................................................... 177
Adding a Trend Link.............................................................................................................. 177
Configuring Pens .................................................................................................................. 181
Creating Statistical Chart Links ............................................................................................ 183
Adding X-Bar, R-Bar, and S-Bar Charts ............................................................................... 184
Configuring Statistical Pens .................................................................................................. 186
Adding a Historgram Chart Link ........................................................................................... 188
Creating XY Plot Charts ........................................................................................................... 191
Chart Features ...................................................................................................................... 191
Adding an XY Plot Chart Link ............................................................................................... 191
Working with Dynamos ............................................................................................................. 195

vii

iFIX with FIX Desktop

Dynamo Prompts .................................................................................................................. 195


Dynamo Sets ........................................................................................................................ 195
Creating Dynamo Sets.......................................................................................................... 196
Defining Dynamo Prompts .................................................................................................... 196
Pasting Dynamos into Pictures ............................................................................................. 200
Importing Dynamos............................................................................................................... 204
Importing Files into Draw .......................................................................................................... 210
Using the Import Wizard ....................................................................................................... 210
Importing and Exporting Bitmaps ......................................................................................... 211
Manipulating Bitmap Graphics .............................................................................................. 211
Defining the View Environment ................................................................................................ 213
Implementing Environment Protection.................................................................................. 213
Preparing Prebuilt Tag Pictures ............................................................................................ 215
Configuring the View Initialization File .................................................................................. 217
Optimizing Picture Performance ........................................................................................... 224
Creating View Layouts .......................................................................................................... 229
Picture Sizing with Environment Protection .......................................................................... 231
Understanding Toolbox Link Buttons........................................................................................ 232
Information Links .................................................................................................................. 232
Chart Links ............................................................................................................................ 232
Special Purpose Links .......................................................................................................... 233
Alarm Summary Link ............................................................................................................ 233
Data Link ............................................................................................................................... 234
Date Link ............................................................................................................................... 234
Histogram Link ...................................................................................................................... 234
Multi-Pen Trend Link............................................................................................................. 234
Multi-Bar Trend Link ............................................................................................................. 235
Pushbutton Link .................................................................................................................... 235

viii

iFIX with FIX Desktop

R-BAR Link ........................................................................................................................... 235


S-BAR Link ........................................................................................................................... 235
System Information Link ....................................................................................................... 235
Time Link .............................................................................................................................. 236
X-BAR Link ........................................................................................................................... 236
XY Plot Link .......................................................................................................................... 236
Using the Command Language ................................................................................................ 236
Command Language Procedures ......................................................................................... 237
Command Syntax Quick Reference ..................................................................................... 243
Command Syntax by Category............................................................................................. 284
Draw Menu Commands ............................................................................................................ 327
The File Menu ....................................................................................................................... 327
The Edit Menu ...................................................................................................................... 330
The Tools Menu .................................................................................................................... 333
The View Menu ..................................................................................................................... 336
The Arrange Menu ................................................................................................................ 338
The Dynamos Menu ............................................................................................................. 343
The Window Menu ................................................................................................................ 345
The Apps Menu .................................................................................................................... 345
Font Menu ............................................................................................................................. 347
The Help menu ..................................................................................................................... 347
Keyboard .............................................................................................................................. 348
Draw Dialog Boxes ................................................................................................................... 351
A-B ........................................................................................................................................ 351
C ........................................................................................................................................... 351
D-G ....................................................................................................................................... 351
H-L ........................................................................................................................................ 351
M ........................................................................................................................................... 352

ix

iFIX with FIX Desktop

N-O ....................................................................................................................................... 352


P-R ........................................................................................................................................ 352
S............................................................................................................................................ 352
T-Z ........................................................................................................................................ 353
A-B ........................................................................................................................................ 353
C ........................................................................................................................................... 358
D-G ....................................................................................................................................... 368
H-L ........................................................................................................................................ 382
M ........................................................................................................................................... 391
N-O ....................................................................................................................................... 402
P-R ........................................................................................................................................ 405
Ramp Fast/Ramp Slow Percentage ..................................................................................... 412
S............................................................................................................................................ 416
SQL Command Configurator Dialog Box ................................................................................. 422
T-Z ........................................................................................................................................ 431
How Do I... ................................................................................................................................ 447
Using Basic Draw Functions ................................................................................................. 447
Cutting and Pasting Objects ................................................................................................. 448
Manipulating Objects ............................................................................................................ 449
Coloring Objects ................................................................................................................... 450
Changing the Fill and Line Styles ......................................................................................... 450
Changing Default Settings .................................................................................................... 450
Selecting and Deselecting Techniques ................................................................................ 451
Searching and Replacing Tagnames ................................................................................... 451
Using the Right Mouse Button Menu .................................................................................... 452
Using the Draw Tools ............................................................................................................... 452
Using the Tool Box ............................................................................................................... 452
Adding and Removing Tool Box Buttons .............................................................................. 453

iFIX with FIX Desktop

Arranging Tool Box Buttons .................................................................................................. 453


Using the Color Box .............................................................................................................. 454
Creating a Custom Color Palette .......................................................................................... 454
Working with Pictures ............................................................................................................... 455
Creating New Pictures .......................................................................................................... 455
Creating Picture Reports ...................................................................................................... 456
Creating Templates .............................................................................................................. 456
Changing Picture Properties ................................................................................................. 456
Adding a Link to a Picture ..................................................................................................... 456
Previewing Pictures in View ................................................................................................. 457
Printing Pictures .................................................................................................................... 457
Saving a New Picture File .................................................................................................... 458
Resolving Pictures ................................................................................................................ 458
Using Tag Groups................................................................................................................. 458
Using Variables ..................................................................................................................... 459
Using Variables as a Numeric Substitution .......................................................................... 459
Using Variables in Data Links ............................................................................................... 459
Using Variables as a Tagname Substitution ........................................................................ 460
Searching and Replacing Tagnames in Multiple Pictures ....................................................460
Specifying the Numeric Data Format.................................................................................... 461
Specifying the Text Format ................................................................................................... 461
Working with Text ..................................................................................................................... 462
Adding a Text Object ............................................................................................................ 462
Changing Fonts .................................................................................................................... 462
Editing Text Objects.............................................................................................................. 462
Stretching a Text Object ....................................................................................................... 463
Working with Bitmaps and Graphic Files .................................................................................. 463
Adding Dynamic Properties to Bitmap Objects .................................................................... 463

xi

iFIX with FIX Desktop

Using the Import Wizard ....................................................................................................... 464


Importing .PCX Graphic Files ............................................................................................... 465
Importing DXF Files .............................................................................................................. 465
Importing Bitmaps through the Clipboard ............................................................................. 467
Working with Dynamo Sets ...................................................................................................... 467
Creating Dynamos ................................................................................................................ 467
Pasting Dynamos into Pictures ............................................................................................. 468
Modifying Dynamo Sets ........................................................................................................ 468
Creating ADF Files ............................................................................................................... 469
Importing ADF Files .............................................................................................................. 473
Using Dynamic Properties ........................................................................................................ 473
Adding Command Language Scripts to Objects .................................................................. 474
Adding or Modifying a Color by Alarm Threshold ................................................................. 474
Adding or Modifying a Color by Value Threshold ................................................................. 475
Filling Objects Dynamically ................................................................................................... 476
Making Objects Appear and Disappear ................................................................................ 477
Moving Endpoints Dynamically............................................................................................. 478
Moving Objects Dynamically ................................................................................................ 479
Rotating Objects Dynamically............................................................................................... 480
Scaling Objects Dynamically ................................................................................................ 481
Creating an SQL Startup Script ............................................................................................ 482
Editing Links ............................................................................................................................. 482
Displaying a Count of Acknowledged and Unacknowledged Alarms .......................................483
Example ................................................................................................................................ 483
Glossary.................................................................................................................................... 485
A-B ........................................................................................................................................ 485
C ........................................................................................................................................... 485
D-E ........................................................................................................................................ 485

xii

iFIX with FIX Desktop

F-G ........................................................................................................................................ 485


H-L ........................................................................................................................................ 486
M-N ....................................................................................................................................... 486
O-Q ....................................................................................................................................... 486
R-S ........................................................................................................................................ 486
T-Z ........................................................................................................................................ 487
A-B ............................................................................................................................................ 487
ADF File ................................................................................................................................ 487
Alarm Area ............................................................................................................................ 487
Alarm Counter Fields ............................................................................................................ 487
Alarm Priority ........................................................................................................................ 488
Application Feature ............................................................................................................... 488
Asterisk Wildcard Character ................................................................................................. 488
C ............................................................................................................................................... 489
Chart Link ............................................................................................................................. 489
Click and Stick ...................................................................................................................... 490
Clipboard .............................................................................................................................. 490
Color Box .............................................................................................................................. 490
Color Palette ......................................................................................................................... 490
Color Threshold .................................................................................................................... 490
Command Language Script .................................................................................................. 490
Compression Mode............................................................................................................... 491
Configurable Blink Speed ..................................................................................................... 491
Cross-Hair Cursor ................................................................................................................. 491
D-E ............................................................................................................................................ 491
DRAW.INI File ...................................................................................................................... 491
Dynamic Property ................................................................................................................. 491
Dynamo ................................................................................................................................ 492

xiii

iFIX with FIX Desktop

Dynamo Prompt .................................................................................................................... 492


DXF File ................................................................................................................................ 492
Environment Protection ........................................................................................................ 492
F-G ............................................................................................................................................ 493
Flip ........................................................................................................................................ 493
Font ....................................................................................................................................... 493
Grid ....................................................................................................................................... 493
Grouped Objects................................................................................................................... 493
H-L ............................................................................................................................................ 493
Handles ................................................................................................................................. 493
I-Beam Cursor ...................................................................................................................... 493
Import Wizard ....................................................................................................................... 494
Information Link .................................................................................................................... 494
Input Dynamics ..................................................................................................................... 494
Insertion Cursor .................................................................................................................... 494
M-N ........................................................................................................................................... 494
Macro .................................................................................................................................... 494
Macro File ............................................................................................................................. 495
Masking ................................................................................................................................ 495
Nudging ................................................................................................................................ 495
O-Q ........................................................................................................................................... 495
Object Property Codes ......................................................................................................... 495
Partial Substitution ................................................................................................................ 496
Picture Caching .................................................................................................................... 496
Picture Fit To Window........................................................................................................... 497
Picture Report ....................................................................................................................... 497
Pitch ...................................................................................................................................... 497
Points .................................................................................................................................... 497

xiv

iFIX with FIX Desktop

Polygon ................................................................................................................................. 498


Polyline ................................................................................................................................. 498
Pop-up Picture ...................................................................................................................... 498
Preload Pictures ................................................................................................................... 498
Properties ............................................................................................................................. 498
R-S ............................................................................................................................................ 499
Refresh Rate ......................................................................................................................... 499
Resolve ................................................................................................................................. 499
Security Area ........................................................................................................................ 499
Special Purpose Link ............................................................................................................ 499
Stacking ................................................................................................................................ 499
Stamper Cursor .................................................................................................................... 500
Standard Picture ................................................................................................................... 500
Subpicture ............................................................................................................................. 500
Substitution ........................................................................................................................... 500
System Menu ........................................................................................................................ 500
T-Z ............................................................................................................................................ 500
Tag Group File ...................................................................................................................... 500
Tag Group Symbol................................................................................................................ 500
Template ............................................................................................................................... 501
Tool Box ................................................................................................................................ 501
ToolTips ................................................................................................................................ 501
Variable ................................................................................................................................. 501
VIEW.INI File ........................................................................................................................ 502
Macro Editor Manual .................................................................................................................... 503
Introducing the Macro Editor .................................................................................................... 503
Understanding Macro Types ................................................................................................ 503
Defining Macros ........................................................................................................................ 504

xv

iFIX with FIX Desktop

Accessing the Macro Editor .................................................................................................. 505


Creating a New Macro .......................................................................................................... 506
Defining a Keystroke Assignment......................................................................................... 507
Saving Macros ...................................................................................................................... 508
Saving Macros Under a Different File Name ........................................................................ 509
Exiting the Macro Editor ....................................................................................................... 509
Associating Macros with Pictures ............................................................................................. 509
Managing Macros ..................................................................................................................... 510
Adding a Macro to a Macro File ............................................................................................ 510
Deleting a Macro from a Macro File ..................................................................................... 511
Deleting a Macro File ............................................................................................................ 511
Default Macro Files ................................................................................................................... 511
DRAW.KMX Keystroke Macros ............................................................................................ 511
VIEW.KMX Keystroke Macros .............................................................................................. 513
Using the Command Language ................................................................................................ 514
Command Language Editor .................................................................................................. 514
Command Syntax Quick Reference ......................................................................................... 516
# ............................................................................................................................................ 516
A............................................................................................................................................ 516
B............................................................................................................................................ 516
C ........................................................................................................................................... 516
D ........................................................................................................................................... 516
E............................................................................................................................................ 517
F ............................................................................................................................................ 517
G-L ........................................................................................................................................ 517
M ........................................................................................................................................... 517
N ........................................................................................................................................... 518
O ........................................................................................................................................... 518

xvi

iFIX with FIX Desktop

P-R ........................................................................................................................................ 518


S............................................................................................................................................ 518
T-Z ........................................................................................................................................ 519
# ............................................................................................................................................ 519
A............................................................................................................................................ 519
B............................................................................................................................................ 521
C ........................................................................................................................................... 521
D ........................................................................................................................................... 524
E............................................................................................................................................ 528
F ............................................................................................................................................ 529
G-L ........................................................................................................................................ 531
M ........................................................................................................................................... 537
Message Command.............................................................................................................. 538
N ........................................................................................................................................... 538
O ........................................................................................................................................... 539
P-R ........................................................................................................................................ 542
S............................................................................................................................................ 547
T-Z ........................................................................................................................................ 554
Command Syntax By Category ................................................................................................ 557
Alarming Commands ............................................................................................................ 558
AUTO/MANL Commands ..................................................................................................... 559
Application Control Commands ............................................................................................ 560
Authorization Commands ..................................................................................................... 562
Block Scanning Commands ................................................................................................. 564
Conversion Commands ........................................................................................................ 565
Data Manipulation Commands ............................................................................................. 566
Debugging Commands ......................................................................................................... 568
Definition Commands ........................................................................................................... 568

xvii

iFIX with FIX Desktop

Digital Block Commands ...................................................................................................... 570


File Access Commands ........................................................................................................ 571
File Edit Commands ............................................................................................................. 573
File Information Commands ................................................................................................. 574
Flow Control Commands ...................................................................................................... 576
Logging Commands.............................................................................................................. 579
Messaging Commands ......................................................................................................... 580
Numeric Manipulation Commands ....................................................................................... 581
Object Movement Commands .............................................................................................. 582
Picture Management Commands ......................................................................................... 582
Picture Movement Commands ............................................................................................. 587
SQL Commands ................................................................................................................... 588
String Manipulation Commands ........................................................................................... 597
Variables Summary .............................................................................................................. 599
FIX Macro Editor Menu Commands ......................................................................................... 605
The File Menu ....................................................................................................................... 605
The Edit Menu ...................................................................................................................... 606
The Font! Menu .................................................................................................................... 607
The Help Menu ..................................................................................................................... 607
Keyboard .............................................................................................................................. 607
FIX Macro Editor Dialog Boxes ................................................................................................ 609
Command Language Editor Dialog Box ............................................................................... 609
Description Dialog Box ......................................................................................................... 610
Key Selected Dialog Box ...................................................................................................... 610
Search and Replace Dialog Box ........................................................................................... 611
SQL Command Configurator Dialog Box.............................................................................. 612
How Do I... .................................................................................................................................... 617
Using the Macro Editor ............................................................................................................. 617

xviii

iFIX with FIX Desktop

Adding a Macro to a Macro File ............................................................................................ 617


Associating Macro Files with Pictures .................................................................................. 618
Creating and Editing a Macro ............................................................................................... 618
Deleting a Macro File ............................................................................................................ 619
Deleting a Macro from a Macro File ..................................................................................... 619
Saving a New Macro File ...................................................................................................... 619
Using the SQL Command Configurator ................................................................................ 619
Glossary.................................................................................................................................... 623
A-C ........................................................................................................................................ 623
D ........................................................................................................................................... 623
E-F ........................................................................................................................................ 623
H-L ........................................................................................................................................ 623
M ........................................................................................................................................... 623
N-O ....................................................................................................................................... 624
P-R ........................................................................................................................................ 624
S............................................................................................................................................ 624
T-Z ........................................................................................................................................ 624
A-C ........................................................................................................................................ 625
D ........................................................................................................................................... 626
E-F ........................................................................................................................................ 627
H-L ........................................................................................................................................ 629
M ........................................................................................................................................... 630
N-O ....................................................................................................................................... 631
P-R ........................................................................................................................................ 631
S............................................................................................................................................ 633
T-Z ........................................................................................................................................ 635
Command Language Manual ....................................................................................................... 639
Introducing the Command Language ....................................................................................... 639

xix

iFIX with FIX Desktop

Developing a Script Execution Strategy ............................................................................... 640


Keystroke Macro Scripts ....................................................................................................... 640
Picture Scripts ....................................................................................................................... 641
Push Button Scripts .............................................................................................................. 641
Object Scripts ....................................................................................................................... 642
Designing Command Language Scripts ................................................................................... 646
Using Relative Commands ................................................................................................... 646
Using Variables ..................................................................................................................... 647
Incorporating Tag Groups ..................................................................................................... 658
Controlling Script Execution Speed ...................................................................................... 660
Using SQL Commands ......................................................................................................... 661
Accessing Files ..................................................................................................................... 661
Using the Command Language Editor ..................................................................................... 662
Using the Command Buttons ................................................................................................ 663
Right Mouse Button Menu .................................................................................................... 667
Creating a Command Language Script ................................................................................ 668
Editing a Command Language Script ................................................................................... 668
Importing Existing Command Language Scripts .................................................................. 669
Building SQL Commands ..................................................................................................... 670
Creating an SQL Startup Script ............................................................................................ 674
Displaying Relational Database Data ................................................................................... 675
Understanding Command Syntax............................................................................................. 677
Command Syntax Conventions ............................................................................................ 677
Command Syntax Rules ....................................................................................................... 680
Using Mathematic Expressions ............................................................................................ 685
Valid Operators and Functions ............................................................................................. 685
Working with Variables ............................................................................................................. 687
Definition Commands ........................................................................................................... 688

xx

iFIX with FIX Desktop

Conversion Commands ........................................................................................................ 691


Numeric Manipulation Commands ........................................................................................... 697
String Manipulation Commands ............................................................................................... 698
Predefined Variables ............................................................................................................ 703
Managing Command Language Scripts ................................................................................... 707
Debugging Commands ......................................................................................................... 707
Flow Control Commands ...................................................................................................... 709
Controlling Database Blocks .................................................................................................... 714
Alarming Commands ............................................................................................................ 715
AUTO/MANL Mode Commands ........................................................................................... 719
Block Scanning Commands ................................................................................................. 722
Digital Block Commands ...................................................................................................... 724
Data Manipulation Commands ............................................................................................. 727
Managing Operator Displays .................................................................................................... 730
Picture Management Commands ......................................................................................... 731
Picture Movement Commands ............................................................................................. 739
Object Movement Commands .............................................................................................. 742
Messaging Commands ......................................................................................................... 744
Incorporating Security Features ............................................................................................... 747
Logging Commands.............................................................................................................. 748
Authorization Commands ..................................................................................................... 749
Controlling Applications ............................................................................................................ 753
Application Control Commands ............................................................................................ 753
Manipulating Files ..................................................................................................................... 757
File Access Commands ........................................................................................................ 757
File Edit Commands ............................................................................................................. 762
File Information Commands ................................................................................................. 765
SQL Commands ................................................................................................................... 770

xxi

iFIX with FIX Desktop

Appendix ................................................................................................................................... 779


Command Listing: Purposes ................................................................................................ 779
Command Listing: Full Syntax .............................................................................................. 785
Command Listing: Relative Syntax ....................................................................................... 788
Application Command Line Parameters ............................................................................... 789
Tag Group Editor Manual ............................................................................................................. 793
Introducing the Tag Group Editor ............................................................................................. 793
How the Tag Group Editor Works......................................................................................... 793
Before You Use Tag Groups ................................................................................................ 795
Using the Tag Group Editor ...................................................................................................... 796
Creating a New Tag Group File ............................................................................................ 796
Tag Group Editor Layout ...................................................................................................... 797
Exiting the Tag Group Editor ................................................................................................ 798
Opening and Closing Existing Tag Group Files ................................................................... 798
Defining a Tag Group ........................................................................................................... 799
Editing a Tag Group File ....................................................................................................... 801
Searching and Replacing Substitutions ................................................................................ 802
Saving a Tag Group File ....................................................................................................... 802
Deleting a Tag Group File .................................................................................................... 803
Tag Group Reports ............................................................................................................... 803
Using Tag Groups in Displays .................................................................................................. 806
Purpose ................................................................................................................................ 806
Using Tag Groups in Draw ................................................................................................... 807
Using Tag Groups in View .................................................................................................... 809
Using Tag Groups in the Command Language .................................................................... 810
Using Tag Groups in Recipes................................................................................................... 812
Learning About Recipes ....................................................................................................... 812
Using Tag Groups in Recipe Builder .................................................................................... 813

xxii

iFIX with FIX Desktop

Entering Symbols into Recipe Builder .................................................................................. 815


Loading Tag Groups into Recipes ........................................................................................ 815
FIX Tag Group Editor Menu Commands .................................................................................. 816
The File Menu ....................................................................................................................... 816
The Edit Menu ...................................................................................................................... 818
The Font! Menu .................................................................................................................... 818
The Help Menu ..................................................................................................................... 818
Keyboard .............................................................................................................................. 819
Search and Replace Tagnames Dialog Box ............................................................................ 820
Search For ............................................................................................................................ 820
Replace With ........................................................................................................................ 820
How Do I... ................................................................................................................................ 823
Defining a Tag Group ........................................................................................................... 823
To define a tag group: ......................................................................................................... 823
Editing a Cell ......................................................................................................................... 823
To edit a specific cell of a tag group: .................................................................................. 823
Deleting Rows ....................................................................................................................... 823
To delete an entire row of a tag group: ............................................................................... 823
Searching and Replacing Substitutions ................................................................................ 824
To search for and replace a tagname in the substitution column: ......................................824
Reporting a Tag Group ......................................................................................................... 824
To report a tag group to a comma separated file (CSV file): ..............................................824
Entering Tag Group Symbols in Draw and Recipe ............................................................... 824
Assigning Tag Groups to a Picture ....................................................................................... 824
Assigning a Tag Group to a Recipe...................................................................................... 825
To assign a tag group to a recipe: ...................................................................................... 825
Glossary.................................................................................................................................... 825
Asterisk Wildcard Character ................................................................................................. 826

xxiii

iFIX with FIX Desktop

Comma Separated File (CSV File) ....................................................................................... 826


Command Language Script .................................................................................................. 826
Description ............................................................................................................................ 827
Download .............................................................................................................................. 827
Dynamic Properties .............................................................................................................. 827
Identifier Column................................................................................................................... 827
Layout ................................................................................................................................... 827
Links ..................................................................................................................................... 827
Macro .................................................................................................................................... 827
Recipe ................................................................................................................................... 827
Substitution ........................................................................................................................... 828
Tag Group ............................................................................................................................. 828
Tag Group Report ................................................................................................................. 828
Tag Group Symbol................................................................................................................ 828
Tagname............................................................................................................................... 828
TGE....................................................................................................................................... 828
Historical Trending Manual ........................................................................................................... 829
Introducing Historical Trending ................................................................................................. 829
How Historical Trending Works ............................................................................................ 829
Example of Historical Trending in Use ................................................................................. 830
Understanding Historical Trending Security ......................................................................... 833
Assigning Blocks for Trending .................................................................................................. 834
Using Historical Assign (Classic Historian) .......................................................................... 834
Determine Which Blocks To Trend ....................................................................................... 834
Application Example ............................................................................................................. 835
Starting Historical Assign ...................................................................................................... 836
How to Create a Collection Group ........................................................................................ 837
Defining a Collection Group .................................................................................................. 838

xxiv

iFIX with FIX Desktop

Suspending a Collection Group ............................................................................................ 845


Modifying a Collection Group ............................................................................................... 846
Deleting a Collection Group .................................................................................................. 846
Exiting the Historical Assign Program .................................................................................. 846
Starting and Stopping Collection .............................................................................................. 846
Historical Data File Storage (Classic Historian) ................................................................... 847
Historical Collect File Location (Classic Historian) ............................................................... 847
Starting Historical Collect ..................................................................................................... 847
Stopping Collection ............................................................................................................... 849
Creating Historical Display Charts ............................................................................................ 849
Example ................................................................................................................................ 849
What You Can Do ................................................................................................................. 850
Using Command Line Parameters ....................................................................................... 851
Historical Display File Location ............................................................................................. 851
What Follows ........................................................................................................................ 851
Starting Historical Display ..................................................................................................... 851
How to Create a Display Chart ............................................................................................. 852
Defining Chart Details ........................................................................................................... 855
Defining a Pen Group ........................................................................................................... 861
Defining a Time Group.......................................................................................................... 869
Saving a Chart Group ........................................................................................................... 873
Displaying Historical Data ......................................................................................................... 874
Starting the Historical Display Program ................................................................................ 875
Displaying Charts Using Command Line Parameters ..........................................................877
Examining Data in the Display.............................................................................................. 883
Modifying a Chart Display ..................................................................................................... 893
Printing a Chart ..................................................................................................................... 898
Copying or Exporting a Chart ............................................................................................... 898

xxv

iFIX with FIX Desktop

Exiting the Historical Display Program ................................................................................. 899


Importing and Displaying Lab Data .......................................................................................... 900
Lab Data Flow....................................................................................................................... 900
Tasks .................................................................................................................................... 900
Creating Lab Data Files ........................................................................................................ 901
Creating a Data Dictionary ................................................................................................... 903
Importing Lab Data ............................................................................................................... 904
Displaying Lab Data in a Chart ............................................................................................. 905
Retrieving and Displaying SQL Data ........................................................................................ 909
Tasks .................................................................................................................................... 909
Creating SQL Tables ............................................................................................................ 911
Defining an SQL Query ........................................................................................................ 912
Editing the SQL Queries in the HTD.INI ............................................................................... 915
Configuring an SQL Login Account in the SCU .................................................................... 917
Displaying SQL Data in a Chart ............................................................................................ 918
Historical Trending System Messages ..................................................................................... 920
Historical Assign Messages .................................................................................................. 920
Historical Collect Messages ................................................................................................. 921
Historical Display Messages ................................................................................................. 922
Using File Servers .................................................................................................................... 925
Disk Usage ............................................................................................................................... 927
Increase Limit Value ............................................................................................................. 927
File Size Formula .................................................................................................................. 927
Example ................................................................................................................................ 927
Historical Display Menu Commands......................................................................................... 928
The File Menu ....................................................................................................................... 928
The Edit Menu ...................................................................................................................... 930
The Configure Menu ............................................................................................................. 930

xxvi

iFIX with FIX Desktop

The Actions Menu ................................................................................................................. 932


The Options Menu ................................................................................................................ 933
The Utilities Menu ................................................................................................................. 935
The Window Menu ................................................................................................................ 936
The Font! Menu .................................................................................................................... 937
The Help Menu ..................................................................................................................... 937
Keyboard .............................................................................................................................. 938
Historical Display Dialog Boxes ................................................................................................ 939
Add/Modify Chart Group Dialog Box .................................................................................... 939
Add/Modify Pen Group Dialog Box ....................................................................................... 940
Add/Modify SQL Query Dialog Box ...................................................................................... 943
Add/Modify Time Group Dialog Box ..................................................................................... 946
Chart Details Dialog Box ...................................................................................................... 948
Configure Chart Dialog Box .................................................................................................. 949
Define Chart Groups Dialog Box .......................................................................................... 950
Define Group/SQL Queries Dialog Box ................................................................................ 950
Define Legend Dialog Box .................................................................................................... 951
Define Pen Groups Dialog Box ............................................................................................. 953
Define Pens Dialog Box ........................................................................................................ 953
Define Remote Historical Data Paths Dialog Box ................................................................ 955
Define SQL Queries Dialog Box ........................................................................................... 956
Define Time - X Axis Dialog Box .......................................................................................... 956
Define Time Defaults Dialog Box .......................................................................................... 957
Define Time Groups Dialog Box ........................................................................................... 958
Header Item Configuration Dialog Box ................................................................................. 958
Line Style and Lab Data Marker Dialog Boxes ..................................................................... 959
Pen Color Selection Box ....................................................................................................... 959
Save As Dialog Box .............................................................................................................. 960

xxvii

iFIX with FIX Desktop

Select Chart Dialog Box ....................................................................................................... 960


Toolbox Dialog Box............................................................................................................... 960
X Axis Dialog Box ................................................................................................................. 961
Y Axis Dialog Box ................................................................................................................. 962
How Do I... ................................................................................................................................ 963
Creating Charts ..................................................................................................................... 963
Modifying Charts ................................................................................................................... 968
Copying, Exporting, and Printing .......................................................................................... 972
Examining Data in a Display Chart ....................................................................................... 973
Working with Lab Data.......................................................................................................... 976
Command Line Functions ..................................................................................................... 979
Working with SQL Data ........................................................................................................ 980
Working with Remote Data ................................................................................................... 981
Glossary.................................................................................................................................... 983
A - C ...................................................................................................................................... 983
D - K ...................................................................................................................................... 983
L - R ...................................................................................................................................... 983
S............................................................................................................................................ 983
T ............................................................................................................................................ 984
X - Z ...................................................................................................................................... 984
A-D ........................................................................................................................................ 984
G-P........................................................................................................................................ 987
S-Z ........................................................................................................................................ 989
View Manual ................................................................................................................................. 991
View Basics .............................................................................................................................. 991
View Features ....................................................................................................................... 992
Starting View......................................................................................................................... 992
Exiting View .......................................................................................................................... 993

xxviii

iFIX with FIX Desktop

Using Mice, Keyboards, and Touch Screens ....................................................................... 993


Using the Right Mouse Button .............................................................................................. 995
Where to Find Files............................................................................................................... 996
Switching to Other iFIX or FIX Desktop Software Programs ................................................996
Previewing Pictures in View ................................................................................................. 997
Creating a Secure Environment ........................................................................................... 997
Working with Picture Files ........................................................................................................ 998
Opening and Closing Pictures .............................................................................................. 998
Working with Large Pictures ................................................................................................. 999
Zooming Pictures .................................................................................................................. 999
Switching Between Pictures ............................................................................................... 1000
Creating Layouts ................................................................................................................. 1001
Creating Default Layouts .................................................................................................... 1002
Picture Types ...................................................................................................................... 1002
Working with Objects .............................................................................................................. 1007
Using Graphic and Text Objects......................................................................................... 1008
Using Push Buttons ............................................................................................................ 1008
Working with Information Links............................................................................................... 1009
Using Data Links................................................................................................................. 1009
Using System Information Links ......................................................................................... 1013
Working with Chart Links ........................................................................................................ 1016
Working with Tagnames ..................................................................................................... 1016
Working with Trend Charts ................................................................................................. 1017
Changing Statistical Charts ................................................................................................ 1019
Changing XY Plots.............................................................................................................. 1019
Changing Histograms ......................................................................................................... 1019
Working with Database Tags and Alarms .............................................................................. 1020
Using Alarm Summary Links .............................................................................................. 1021

xxix

iFIX with FIX Desktop

Horn Control ....................................................................................................................... 1023


Switching Between Auto and Manual Mode ....................................................................... 1023
Taking a Chain On and Off Scan........................................................................................ 1023
Using Tag Status Pictures in View ..................................................................................... 1024
Copying Link Information in Windows ................................................................................ 1025
Sound Support ........................................................................................................................ 1025
Understanding Sound Support ........................................................................................... 1026
Using Sound Support.......................................................................................................... 1026
Command Line Parameters .................................................................................................... 1026
Open Picture Parameter ..................................................................................................... 1027
Suppression Parameter ...................................................................................................... 1027
Open Tag Group File Parameter ........................................................................................ 1028
View Menu Commands .......................................................................................................... 1028
The File Menu ..................................................................................................................... 1028
The View Menu ................................................................................................................... 1030
The Alarms Menu ............................................................................................................... 1031
The Commands Menu ........................................................................................................ 1032
The Applications Menu ....................................................................................................... 1034
The Options Menu .............................................................................................................. 1034
The Window Menu .............................................................................................................. 1034
The Help Menu ................................................................................................................... 1035
Keyboard ............................................................................................................................ 1035
View Dialog Boxes .................................................................................................................. 1037
Change Histogram Dialog Box ........................................................................................... 1037
Change Pens Dialog Box ................................................................................................... 1037
Change Statistical Chart Dialog Box .................................................................................. 1038
Change X vs Y Plot Dialog Box .......................................................................................... 1038
Column Format Dialog Box ................................................................................................ 1039

xxx

iFIX with FIX Desktop

Field Select Dialog Box ...................................................................................................... 1040


Filter By Dialog Box ............................................................................................................ 1042
Sort Control Dialog Box ...................................................................................................... 1043
Sort Keys Dialog Box .......................................................................................................... 1043
Tag Select Dialog Box ........................................................................................................ 1044
Tag Status Dialog Box ........................................................................................................ 1045
How Do I... .............................................................................................................................. 1047
Using Basic View Functions ............................................................................................... 1047
Working with Picture Files .................................................................................................. 1050
Managing Alarms ................................................................................................................ 1053
Using the Alarm Summary Link .......................................................................................... 1054
Modifying Links ................................................................................................................... 1057
Glossary.................................................................................................................................. 1061
A-B ...................................................................................................................................... 1061
C-L ...................................................................................................................................... 1061
M-O ..................................................................................................................................... 1061
P-S ...................................................................................................................................... 1061
T-Z ...................................................................................................................................... 1062
A-B ...................................................................................................................................... 1062
C-L ...................................................................................................................................... 1063
M-O ..................................................................................................................................... 1064
Off Scan Status....................................................................................................................... 1064
P-S ...................................................................................................................................... 1065
T-Z ...................................................................................................................................... 1066
Index ........................................................................................................................................... 1069

xxxi

About this Guide


This guide includes the following sections:

FIX32 Items Not Supported in FIX Desktop

Features Available After Upgrading from FIX v7

Differences Between FIX v7 and iFIX with FIX Desktop

Additionally, if you have the FIX Desktop option installed, you can access the following manuals:

Draw Manual

Macro Editor Manual

Command Language Manual

Tag Group Editor Manual

Historical Trending Manual

View Manual

IMPORTANT: If you do not have the FIX Desktop option installed, the links in the above list will not
work. You must have FIX Desktop installed to view the full suite of FIX Desktop manuals.

Features Available After Upgrading from


FIX v7
After migrating from FIX 7.x to iFIX with FIX Desktop, you obtain the capability to:

Simultaneously Run iFIX, Draw, View, and HTD Applications

Use iFIX Supported Operating Systems with Draw, View, and HTD

Use Enhanced Failover and Redundancy Features

Support Local Node Alias in the HTD Application

Support Proficy Historian in the HTD Application

Manage iFIX Pictures from View

Manage FIX Desktop Displays from iFIX

IMPORTANT: FIX Desktop does not support the higher precision math features available in the
Database Manager. To take advantage of the higher precision math features, create your picture in the
iFIX WorkSpace rather than in FIX Desktop Draw.
NOTES:

For a list of commands for managing iFIX pictures in View, refer to the Commands for
Managing iFIX Pictures from View section.

For a list of subroutines for managing FIX Desktop displays from the iFIX WorkSpace, refer
to the Subroutines for Managing FIX Pictures from iFIX section. For a list of automation
interfaces, refer to the iFIX Automation Interfaces for View, HTD, and Draw section.

Simultaneously Run iFIX and FIX Desktop Applications


For the iFIX with FIX Desktop product, you can run the View, Draw, and Historical Trend Displays
(HTD) applications while also running iFIX applications, such as the WorkSpace. The FIX Desktop
applications (View, Draw, and HTD), are available directly from the Proficy HMI SCADA - iFIX
program group off the Start menu as well.
You can also access the View, Draw, and HTD applications from within the Proficy iFIX WorkSpace.
Open the FIX Desktop folder in the system tree, as shown in the following figure, and double-click an
icon to launch the associated application.

iFIX with FIX Desktop

FIX Desktop Folder in the Proficy iFIX WorkSpace Tree

Use with iFIX Supported Operating Systems


The FIX Desktop Draw, View, and HTD applications can run (along with iFIX) on any operating
system supported by iFIX. For example, with FIX Desktop, you can run View, Draw, and HTD
applications in Windows XP, Windows Server 2003, Windows Vista, or Windows Server 2008.
For a complete list of supported operating systems, refer to the Software Requirements section of the
Getting Started guide.

Enhanced Failover and Redundancy Features


iFIX with FIX Desktop includes support for both Enhanced Failover for SCADAs and LAN
Redundancy features. By upgrading to iFIX with FIX Desktop, you can leverage the LAN Redundancy
and Enhanced Failover capabilities offered in iFIX.
For detailed instructions on configuring Enhanced Failover in iFIX, refer to the Enhanced Failover ebook in the iFIX Electronic Books.

iFIX with FIX Desktop

For detailed instructions on configuring LAN Redundancy in iFIX, refer to the LAN Redundancy ebook in the iFIX Electronic Books.

Local Node Alias Support for HTD


The iFIX local node alias feature is supported in the FIX Desktop HTD application when using Classic
Historian.
With the local node alias feature in HTD, you can share historical collection groups across nodes
without changing the node name. To do this, you substitute a placeholder, THISNODE, for the node
portion of a tagname.
For information on enabling the local node alias in the Local Startup Definition dialog box in the SCU,
refer to the Mastering iFIX manual.
When adding a historical collection group in the Historical Assign application, the Node Select dialog
box includes the local node name, as well as THISNODE. Select THISNODE to add a tag with this
functionality.
After you add the tags in Historical Assign, start HTC in the Mission Control dialog box. When adding
a pen in HTD in the Define Pens dialog box, you can enter a tagname with the THISNODE
placeholder. For instance, this is a tag that uses the THISNODE placeholder:
THISNODE:AI_LEVEL.F_CV

You can also browse for a tag with the THISNODE placeholder from Define Pens dialog box. To
browse for a tag enter the following text and click the Browse (...) button:
THISNODE:

You must include the colon (:) after the THISNODE placeholder when browsing. If you leave the
Tagname field empty, or enter *, the browse does not return tags with the THISNODE placeholder.

Proficy Historian Support in the HTD Application


After you upgrade to iFIX with FIX Desktop, you can use Proficy Historian tags in your HTD
applications. However, there are some limitations:

HTD can only obtain data from the default Proficy Historian server.

HTD cannot accept Proficy Historian server names in remote historical data paths. A remote
historian can only be used with Classic Historian.

HTD does not fetch the EGU limits and description information from the Proficy Historian
database. This information is read from the process database.

Proficy Historian data is not supported by the Report Generator. The Report Generator was
designed for the Classic Historian data.

Lab data cannot be retrieved from Proficy Historian.

iFIX with FIX Desktop

Note on Lab Data and Proficy Historian


When you use Proficy Historian as your historian, be aware that the Import Lab Data command from
the File menu of HTD is not available. This is true for Proficy Historian whether you use iFIX alone or
iFIX with FIX Desktop.
For example, if you use Classic Historian as your historian and you open and save a historical display
that includes a chart with pens that point to lab data, the data displays as expected in HTD. However,
once you switch your historian to Proficy Historian, when you open that display again, the lab data
pens appear in the legend, but not in the chart. This behavior is expected, since lab data cannot be
retrieved from Proficy Historian.

Configuring Proficy Historian as Your Historian


If you want to use Proficy Historian with the HTD application, you need to configure Proficy Historian
as your historian. Use the Change Historian command from the Proficy Historian toolbar in the Proficy
iFIX WorkSpace to do this. This command appears as the first button in the Proficy Historian toolbar.
To view the Proficy Historian toolbar from the WorkSpace, you first need to import it. This toolbar is
available for import once you install the Proficy Historian software on your computer, after installing
iFIX with FIX Desktop. The Proficy Historian toolbar also provides commands for configuring the
Proficy Historian Server and migrating historical data.
To view the Proficy Historian toolbar in the iFIX WorkSpace:
NOTE: In Ribbon view, it is not necessary to display the Historian toolbar, as all functions are
available on the Ribbon.
1.

Start iFIX.

2.

Open the Proficy iFIX WorkSpace.

3.

In the WorkSpace system tree, double-click the Project Toolbar Files folder, and then the
Toolbars folder.

4.

Double-click the iHistorian item to display the toolbar. The Proficy Historian toolbar should
now display in the WorkSpace.

To configure Proficy Historian as your historian:


1.

Start iFIX.

2.

Open the Proficy iFIX WorkSpace.

3.

In Classic view, locate the Proficy Historian toolbar.

4.

In Classic view, click the Change Historian button, which is the first of the three buttons.
-OrIn Ribbon view, on the Administration tab, in the Proficy Historian group, in the Configure
Historian list, click Change Historian.

5.

Select the Proficy Historian option.

6.

Click OK.

iFIX with FIX Desktop

Browsing for Tags on the Proficy Historian Server


You can browse for tags on the Proficy Historian Server from the Define Pens dialog box of the HTD
application. To do this, you click the browse (...) button to the right of the Tagname field in the Pen
Definitions area, as shown in the following figure.

Define Pens dialog box


To browse for tags on the Proficy Historian Server, you can enter the following items in the Tagname
field:

Enter the * wildcard or leave the Tagname field empty. When you click the browse (...)
button, this selection returns a list of all iFIX or FIX32 tags on the Proficy Historian server.

Enter the node name. When you click the browse (...) button, this selection returns a list of
only the iFIX or FIX32 tags from the specified node on the Proficy Historian server.

iFIX Picture Management from View


For iFIX with FIX Desktop, you can use command language scripts in FIX Desktop View to manage
iFIX pictures in the Workspace runtime environment. To accomplish this, use the RUNTASK
command to run the OLE client application, WSPROXY.
Use the RUNTASK WSPROXY command with the existing FIX picture commands syntax to manage
pictures in the Proficy iFIX WorkSpace. For example, from the Draw Command Language Editor, you
can enter this command to open a picture in the WorkSpace:
RUNTASK WSPROXY "OPENPIC Picture"

NOTE: Quotes are required in this command.


You can run the WSPROXY application not only by writing commands in the Draw Command
Language Editor, but also by specifying it as a configured task in the SCU, or by using the Windows'

iFIX with FIX Desktop

Command Prompt (command line).


NOTE: For more detailed information on the syntax of the WSPROXY commands refer to the
Commands for Managing iFIX Pictures from View section. These commands closely resemble the FIX
commands regarding syntax and functionality.
The previous example of the command for the Draw Command Language Editor is shown in the
following figure as script behind a push button mouse On Down event.

When you select the push button in run mode, View opens an iFIX picture in the Workspace runtime
environment. If the WorkSpace is not already running, WSPROXY starts it and switches to run mode
first. If the WorkSpace is running in configure mode, WSPROXY forces it to display in run mode first.
The WorkSpace appears as the desktop foreground window. If the WorkSpace is minimized before
WSPROXY runs, the WorkSpace window maximizes when WSPROXY brings it to the foreground.
The following figure displays the two completed pictures from the following example.

iFIX with FIX Desktop

Commands for Managing iFIX Pictures from View


For iFIX with FIX Desktop, there are three FIX commands that you can use from the FIX Desktop
View application to manage iFIX pictures in WorkSpace run mode. These picture management
commands are as follows:

WSPROXY OPENPIC Command

WSPROXY CLOSEPIC Command

WSPROXY REPLACEPIC Command

Use these commands to open, close, and replace iFIX WorkSpace runtime pictures from the FIX
Desktop View application. In order to use these commands in this manner, iFIX and FIX Desktop both
need to be installed on your computer.
NOTE: You can only use WSPROXY commands within the context of the local machine installation.
Guidelines on Using WSPROXY
This section describes guidelines you should follow when using WSPROXY with FIX Desktop.
Accessing WSPROXY
WSPROXY can be run in the following ways:

iFIX with FIX Desktop

From the Command Language Editor in the FIX Desktop environment. This is where you use
the RUNTASK command with WSPROXY.

As configured tasks in the SCU. You do not need the RUNTASK command with WSPROXY
here.

From a command line. You do not need the RUNTASK command with WSPROXY here.

NOTE: If you use the RUNTASK command with WSPROXY, you must use brackets to surround any
file paths that include spaces. However, if you run WSPROXY from a command line or as a configured
task in the SCU, you do not need to enclose a path with spaces within brackets.
Variables in Command Language Not Supported
When using WSPROXY commands, be aware that variables written in command language are not
supported. For instance, WSPROXY does not support variables, such as picture name represented as
the variable #PICNAME, in the following command language example:
DECLARE #PICNAME STRING
#PICNAME = "Picture.grf"
RUNTASK WSPROXY "OPENPIC #PICNAME"

Using an Alias Instead of a FIX Nickname


The WSPROXY commands do not support FIX nicknames. With WSPROXY, an alias is used instead
of a nickname. An alias is like a nickname, but does not appear in the picture title bar. The alias is a
hidden name, accessed in iFIX as the WindowName property. You can assign the alias to numerous
pictures in order to group them together. Any alias that you assign to a picture remains active as long
as you remain in the Workspace runtime environment, or the picture remains open in the Proficy iFIX
WorkSpace regardless of mode.
The following iFIX VBA code example shows you how to access and display the alias as the
WindowName property in the WorkSpace, if the picture is active:
Dim MyDocFrame As Object
Dim Str As String
Set MyDocFrame = Application.ActiveWindow
Str = MyDocFrame.WindowName
Msgbox (Str)

NOTE: In FIX Desktop you can have multiple pictures with the same name open at the same time. The
Proficy iFIX WorkSpace only allows you to open pictures with unique names. In the WorkSpace,
however, you can assign the same window name (alias) to multiple pictures instead.
WSPROXY OPENPIC Command
Use the WSPROXY OPENPIC command to open a specified iFIX picture in the Workspace runtime
environment from the FIX Desktop View application. You can optionally specify the upper-left corner
X and Y coordinates and the height and width of the picture as it displays in the Proficy iFIX
WorkSpace, an alias, or a tag group file associated with the picture. This syntax closely resembles the
existing FIX OPENPIC command.
NOTE: Be aware you cannot use the WSPROXY command to open a tag status or quick trend picture.

10

iFIX with FIX Desktop

Syntax for WSPROXY OPENPIC Command


RUNTASK WSPROXY "OPENPIC [Picture] [Y,X,W,H] [Alias] [TagGroupFile]"

Part

Description

Picture

String. (Optional) The name of the iFIX picture that you want to open.
The picture name is not case sensitive.
Include the full path of the picture if it is outside of the default PIC folder. If the
path contains spaces, and you are running WSPROXY from the Command
Language Editor in the FIX Desktop environment, enclose the path and picture
name in brackets {} like this:
RUNTASK WSPROXY "OPENPIC {E:\Program
Files\Proficy\Proficy iFIX\PIC\My
Folder\PictureName}"
If running WSPROXY from a command line or as a configured task in the SCU,
you do not need to use brackets around the path with spaces.
By leaving the Picture parameter unspecified, when you run the command, the
Open dialog box appears in the WorkSpace so you can locate the picture.
You can include a .grf file extension, but it is not required. If you include the
wrong file extension, WSPROXY changes it to a .grf file extension.

Integer. (Optional) Specifies the Y coordinate of the upper left corner of the
picture, as a percentage of the vertical screen. This value is a whole number. It
represents the WindowTopPercentage value in the Proficy iFIX WorkSpace.
If you do not want to specify any picture positions, use -1 to represent the Y, X,
H, W fields. When you enter -1 all of the default picture positions (Y,X,H,W) are
used.
The default Y value is 0.

Integer. (Optional) Specifies the X coordinate of the upper left corner of the
picture, as a percentage of the horizontal screen. This value is a whole number. It
represents the WindowLeftPercentage value in the Proficy iFIX WorkSpace.
The default X value is 0.

11

iFIX with FIX Desktop

Part

Description

Integer. (Optional) Specifies the percentage, rounded to the nearest whole value,
of the horizontal screen that the window occupies. This value represents the
WindowWidthPercentage value in the Proficy iFIX WorkSpace.
The default W value is the full iFIX WorkSpace horizontal window size.
For more information, see the Sizing Pictures with WSPROXY OPENPIC and
Determining Y, X, W, and H Values for WSPROXY OPENPIC sections.
NOTE: The iFIX picture is not scaled to fit this value. If the picture contents
exceed the height and width dimensions you specify, the part of the picture that
exceeds these values appears out of view. In this case, you need to resize the
window again manually to view the whole picture.

Integer. (Optional) Specifies the percentage, rounded to the nearest whole value,
of the vertical screen that the window occupies. This value represents the
WindowHeightPercentage value in the Proficy iFIX WorkSpace.
The default H value is the full iFIX WorkSpace vertical window size.
For more information, see the Sizing Pictures with WSPROXY OPENPIC and
Determining Y, X, W, and H Values for WSPROXY OPENPIC sections.
NOTE: The iFIX picture is not scaled to fit this value. If the picture contents
exceed the height and width dimensions you specify, the part of the picture that
exceeds these values appears out of view. In this case, you need to resize the
window again manually to view the whole picture.
Be aware that if you need to enter a value for any one X, Y, W, or H value, you
must enter a value for the rest of them as well.

Alias

String. (Optional) Specifies the alias that you want to assign to the picture. The
alias does not appear in the title bar of the picture you open, unlike the nickname
behavior in FIX OPENPIC command. An alias is hidden; you can access the
alias as the window name only.
The same alias can be assigned to multiple pictures so that you can later close a
group of pictures together, or replace a group of pictures with a single instance of
a picture.
The asterisk (*) is a special case. If you want to specify a tag group file, but not
an alias, use an asterisk (*) as a placeholder for the alias.

12

iFIX with FIX Desktop

Part

Description

TagGroupFile

String. (Optional) Specifies the name of the tag group file that contains all the
tag group symbols required by the picture. You can include the .tgd file
extension, but it is not required. If you include the wrong file extension,
WSPROXY changes it to a .tgd file extension.
If the tag group file does not exist, a user error message appears in the
WorkSpace.
Include the full path of the tag group file if it is outside of the default PIC folder.
If the path contains spaces, and you are running WSPROXY from the Command
Language Editor in the FIX Desktop environment, enclose the path and file name
within brackets {}.
If running WSPROXY from a command line or as a configured task in the SCU,
you do not need to use brackets around the path with spaces.

Examples
This example appears in the Command Language Editor for an On Down Command, specified in the
Dynamic Properties dialog box:
RUNTASK WSPROXY "OPENPIC Picture 5,10,50,74 Alias"

Here is another example showing the middle two parameters (X,Y,W,H and alias) with placeholders:
RUNTASK WSPROXY "OPENPIC Picture -1 * TagGroupFile"

Here is an example of running WSPROXY from the Command Language Editor that includes a path
with spaces:
RUNTASK WSPROXY "OPENPIC {C:\Program Files\Proficy\Proficy iFIX\PIC\My
Folder\PictureName} -1 * {C:\Program Files\Proficy\Proficy iFIX\PIC\TagGroupFile}"

Here is an example of running WSPROXY from a command line, with a path that includes spaces:
WSPROXY "OPENPIC C:\Program Files\Proficy\Proficy iFIX\PIC\My Folder\PictureName -1 *
C:\Program Files\Proficy\Proficy iFIX\PIC\TagGroupFile"

Sizing Pictures with WSPROXY OPENPIC


The picture positioning values used with the WSPROXY OPENPIC command are represented
differently from the values used by the existing FIX OPENPIC command. This is because the Proficy
iFIX WorkSpace and FIX Desktop View logical coordinate systems are different.
If you open an iFIX picture in the WorkSpace with the WSPROXY OPENPIC command from FIX
Desktop View, the X, Y, width, and height values represent percentages of the entire screen area.
Comparatively, if you open a FIX picture with the existing FIX OPENPIC command in FIX Desktop
View, these values represent the number of pixels (a linear value) of the screen area. The number of
pixels depends on the size and resolution of the monitor.

13

iFIX with FIX Desktop

Guidelines for Estimating WorkSpace Window Percentages to Correspond With FIX Desktop View's
Linear Values
As a general guideline, you can use these equations to estimate the Proficy iFIX WorkSpace screen
percentage by using the corresponding FIX Desktop View linear value, if the WorkSpace and View
client screen areas are the same:

Be aware that these equations only provide estimations since the View and Workspace runtime client
areas can be different. If you want more accurate values, refer to the Determining Y, X, W, and H
Values for WSPROXY OPENPIC section.
Example
On the Edit menu in FIX Desktop Draw, click Picture to open the following dialog box to get the
existing values for the Height and Width. In this example the values are 10.18 units for the Width and
6.77 units for the Height, as shown in the following figure.

A unit is 100 pixels. If you want a picture that is 600 pixels wide, by 300 pixels high in FIX Desktop
View, the equation you would use to determine the width and height percentages for the same picture
size viewing area in iFIX Workspace is as follows:

In this example, the width and height values that you want to use with the WSPROXY OPENPIC
command are 59 and 44. The FIX Desktop View OPENPIC command for this example is as follows:
OPENPIC Picture 0,0,600,300

The corresponding WSPROXY OPENPIC command for iFIX Workspace for this example is as

14

iFIX with FIX Desktop

follows:
RUNTASK WSPROXY "OPENPIC Picture 0,0,59,44"

Notes
The iFIX picture is not scaled to fit the height and width values that you indicate with the WSPROXY
OPENPIC command. If the picture contents exceed the height and width dimensions you specify, the
part of the picture that exceeds these values appears out of view. In this case, you need to resize the
window again manually to view the whole picture.
Determining Y, X, W, and H Values for WSPROXY OPENPIC
If you want to precisely indicate the X,Y coordinates and height and width values for your iFIX picture
when using WSPROXY OPENPIC command, use the Proficy iFIX WorkSpace to help determine
these values. Use the WindowLeftPercentage, WindowTopPercentage, WindowWidthPercentage, and
WindowHeightPercentage properties in VBA to determine X, Y, width, and height.
For instance, you might need to know these values if you have more than one window displaying from
the WorkSpace at the same time, and you do not want the windows to overlap.
Open your picture in the Proficy iFIX WorkSpace and temporarily add the data links using the picture
properties that represent the X, Y, W, and H values. When you switch to run mode, you can resize and
reposition the open picture until you are satisfied with the location. You then can record the values for
these data links and use them in your WSPROXY OPENPIC command. If you do not round the values
to the nearest whole number, WSPROXY rounds them for you. The following figure shows an
example of using the WorkSpace to determine the X, Y, W, and H values for the WSPROXY
OPENPIC command.

Example of Properties Added to an iFIX WorkSpace Picture

15

iFIX with FIX Desktop

In this example, the following datalinks are included in the picture:


LocalAsPrimary.WindowWidthPercentage
LocalAsPrimary.WindowHeightPercentage
LocalAsPrimary.WindowLeftPercentage
LocalAsPrimary.WindowTopPercentage

NOTE: The picture name in this example is LocalAsPrimary.


The WindowWidthPercentage, WindowHeightPercentage, WindowLeftPercentage, and
WindowTopPercentage properties put the X, Y, W, and H values at: 6,6,56,58. Use 6,6,56,58 with the
WSPROXY OPENPIC command to place the window in the same location, and with the same size.
WSPROXY CLOSEPIC Command
Use the WSPROXY CLOSEPIC command from FIX Desktop to close an iFIX picture currently open
in the WorkSpace runtime environment. Optionally, you can specify a picture alias instead of the
picture file name. This closes all pictures that are open with the specified alias. The alias does not
display in the title bar of the open pictures, unlike the behavior in FIX. An alias is hidden and can be
accessed as the window name only. You can assign the same alias to multiple pictures so that you can
later close a group of pictures together, or replace a group of pictures with a single instance of a
picture. This WSPROXY CLOSEPIC syntax closely resembles the existing FIX CLOSEPIC
command.
If you do not include a file name or alias when you use the WSPROXY CLOSEPIC command, the
active picture closes when you run the command.
Be aware, that if you specify a file name or alias for a picture that is not open in the Proficy iFIX
WorkSpace, no action takes place when you run the command. A user error message does not display
in this case.
Syntax for the WSPROXY CLOSEPIC Command
RUNTASK WSPROXY "CLOSEPIC [Picture|Alias]"

16

iFIX with FIX Desktop

Part

Description

Picture|Alias

String. (Optional) The file name or alias of an iFIX picture currently open in the
WorkSpace.
The picture name is case-sensitive.
You can include the .grf file extension, but it is not required. If you include the
wrong file extension, WSPROXY changes it to a .grf file extension.
Include the full path of the picture if it is outside of the default PIC folder. If the
path contains spaces, and you are running WSPROXY from the Command
Language Editor in the FIX Desktop environment, enclose the path and file name
within brackets {}.
If running WSPROXY from a command line or as a configured task in the SCU,
you do not need to use brackets around the path with spaces.
If you do not specify a picture file name or alias, the active window is closed by
default.

Examples
This example appears in the Command Language Editor for an On Down Command, specified in the
Dynamic Properties dialog box:
RUNTASK WSPROXY "CLOSEPIC Picture"

Another example of the WSPROXY CLOSEPIC command using a picture alias is as follows:
RUNTASK WSPROXY "CLOSEPIC Alias"

Here is an example showing a picture path with spaces in the Command Language Editor:
RUNTASK WSPROXY "CLOSEPIC {C:\Program Files\Proficy\Proficy iFIX\PIC\My
Folder\PictureName}"

Here is an example showing a picture path with spaces from the command line:
RUNTASK WSPROXY "CLOSEPIC C:\Program Files\Proficy\Proficy iFIX\PIC\My
Folder\PictureName"

WSPROXY REPLACEPIC Command


Use the WSPROXY REPLACEPIC command from the FIX Desktop View application when you want
to replace a specified iFIX picture with another one in the Workspace runtime environment. You can
optionally include the tag group file name associated with the new picture when you open it. The
command opens the second picture and then closes the first one. The syntax closely resembles the
existing FIX REPLACEPIC command.
The WSPROXY REPLACEPIC command additionally allows you to specify an alias to identify the
picture to close. You can assign the same alias to multiple pictures so that you can later close a group
of pictures together, or replace a group of pictures with a single instance of a picture. So for instance, if

17

iFIX with FIX Desktop

you have three pictures open with the same alias, "floor1," you can replace all three pictures with a
new floor2.grf picture.
Be aware that if the picture to close is not currently open in the WorkSpace, no action is made. A user
error message does not display. If the picture to open does not exist, a user error message appears in
the WorkSpace and no action is made.
NOTE: Be aware you cannot use the WSPROXY command to replace a picture with a tag status or
quick trend picture.
Syntax for the WSPROXY REPLACEPIC Command
RUNTASK WSPROXY "REPLACEPIC OldPicture|Alias NewPicture [TagGroupFile]"

Part

Description

OldPicture |
Alias

String. The file name or alias of a picture currently open in the Proficy iFIX
WorkSpace that you want replaced. An asterisk (*) is a special case that
represents the currently active picture.
This file name is case-sensitive.
You can include the .grf file extension, but it is not required. If you include the
wrong file extension, WSPROXY changes it to a .grf file extension.
Include the full path of the picture if it is outside of the default PIC folder. If the
path contains spaces, and you are running WSPROXY from the Command
Language Editor in the FIX Desktop environment, enclose the path and picture
name in brackets {}.
If running WSPROXY from a command line or as a configured task in the SCU,
you do not need to use brackets around the path with spaces.

NewPicture

String. The name of the picture that you want to open as a replacement.
This file name is not case-sensitive.
You can include the .grf file extension, but it is not required. If you include the
wrong file extension, WSPROXY changes it to a .grf file extension.
Include the full path of the picture if it is outside of the default PIC folder. If the
path contains spaces, and you are running WSPROXY from the Command
Language Editor in the FIX Desktop environment, enclose the path and picture
name in brackets {}.
If running WSPROXY from a command line or as a configured task in the SCU,
you do not need to use brackets around the path with spaces.

18

iFIX with FIX Desktop

Part

Description

TagGroupFile

String. (Optional) Specifies the name of the tag group file that contains all the
tag group symbols required by the newly opened picture. You can include the
.tgd file extension, but it is not required. If you include the wrong file extension,
WSPROXY changes it to a .tgd file extension.
If the tag group file does not exist, a user error message appears in the
WorkSpace.
Include the full path of the tag group file if it is outside of the default PIC folder.
If the path contains spaces, and you are running WSPROXY from the
Command Language Editor in the FIX Desktop environment, enclose the path
and tag group file name in brackets {}.
If running WSPROXY from a command line or as a configured task in the SCU,
you do not need to use brackets around the path with spaces.

Examples
This example appears in the Command Language Editor for an On Down Command, specified in the
Dynamic Properties dialog box and replaces the currently active picture:
RUNTASK WSPROXY "REPLACEPIC * NewPicture TagGroupFile"

This example replaces a picture with itself in order to load a new tag group file:
RUNTASK WSPROXY "REPLACEPIC OldPicture OldPicture TagGroupFile"

Here is another example in the Command Language Editor, showing the currently active picture being
replaced with a picture with a path containing spaces:
RUNTASK WSPROXY "REPLACEPIC * {C:\Program Files\Proficy\Proficy iFIX\PIC\My
Folder\NewPicName}"

Here is an example from the command line, showing the currently active picture being replaced with a
picture with a path containing spaces:
RUNTASK WSPROXY "REPLACEPIC * C:\Program Files\Proficy\Proficy iFIX\PIC\My
Folder\NewPicName"

Pop-up Window of the iFIX WorkSpace


A pop-up window is a temporary WorkSpace window that appears in run mode only. You can specify
the dimensions of the pop-up window and whether the menu and title bar display by using the
WorkSpace command line parameters. For information on command line parameters available for
starting the WorkSpace in run mode, refer to the Command Line Parameters for Starting the iFIX
WorkSpace section.
If you want to display a pop-up window of the iFIX WorkSpace from View, use the command line
parameters to open the iFIX WorkSpace first, before running the WSPROXY OPENPIC command.
For example:
RUNTASK WORKSPACE "/WL 50 /WT 100 /WB 700 /WR 800 /MT n"

19

iFIX with FIX Desktop


RUNTASK WSPROXY "OPENPIC FILENAME"

The above example defines the size of the WorkSpace pop-up window that opens in run mode. It also
specifies that the menu and title bars are hidden. The WSPROXY command specifies the name of the
picture to open.
TIPS: To close an open pop-up window of the iFIX WorkSpace, you can use the ALT+F4 keyboard
shortcut. You can also use a VBA script to shut down the WorkSpace. Refer to the Shut Down the iFIX
WorkSpace with a VBA Script section for details on how to do this. Be aware that if security is
enabled, and you want to provide the ability to close the WorkSpace in run mode, the user profile
should not restrict the "WorkSpace Runtime Exit" feature.

FIX Desktop Display Management from iFIX


For iFIX with FIX Desktop, you can use VBA scripting in the Proficy iFIX WorkSpace to specify FIX
displays (pictures or charts) to open, close, or replace from the WorkSpace runtime environment. To
accomplish this, use the picture management subroutines within your iFIX scripts.
For example, you could write a VBA script for a push button in your iFIX picture that includes a link
to a FIX Desktop picture using the subroutines and methods, as shown in the following example.

NOTE: The VBA scripts in the Examples of Opening FIX Desktop Pictures from iFIX section provide
more details on the exact syntax of this script.
When you select the push button in run mode, iFIX launches a FIX Desktop display in another
window. An example of a completed iFIX WorkSpace picture with a push button that opens a FIX
Desktop View picture is shown in the following figure.

20

iFIX with FIX Desktop

Just as you can create a push button in the Proficy iFIX WorkSpace to open a FIX32 picture, you can
also create a push button in a Draw display that opens an iFIX picture when View is running. For more
details on this procedure, refer to the iFIX Picture Management from View section.

Examples of Opening FIX Desktop Pictures from iFIX


There are a couple of ways that you can open a FIX Desktop picture from the Proficy iFIX WorkSpace
with VBA scripting. One way is by using the ViewOPENPIC subroutine. The other way is with the
ChildOpen method from the FixViewApp OLE interface.
The ViewOPENPIC subroutine allows you to open a picture with a single command in your VBA
script.
With the FIXViewApp OLE Interface you can create your own subroutine to open a picture; this
allows you to customize parameters such as the title bar of the active window, and the window size for
the main View application, and so on.
NOTE: For detailed information on how to create VBA Scripts in iFIX, refer to the Writing Scripts
manual.
Example 1: Using ViewOPENPIC to Open a Picture
This example adds a push button to an iFIX picture. When the user clicks the button, the
ViewOPENPIC command opens a picture named Picture1.odf. The SetViewToFront command brings
the View application to the foreground.
Private Sub CommandButton1_Click()
ViewOPENPIC "Picture1", , , 500, 500, "MyPic", ""
End Sub

21

iFIX with FIX Desktop

Example 2: Using ChildOpen to Open a Picture


This example adds a push button to an iFIX picture. When the user clicks the button, the ChildOpen
method opens a picture named Picture1.odf. The ChildSetTitle method sets the title of the active
window to: "This is the window title." The SetSize method makes the View application window appear
at 500 pixels wide by 500 pixels long. The Restore method restores the View window. And finally, the
SetViewToFront command brings the View application to the foreground.
Private Sub CommandButton1_Click()
Dim View As New FixViewApp.FixViewApp
View.ChildOpen "Picture1"
View.ChildSetTitle "*", "This is the window title."
View.SetSize 500, 500
View.Restore
Set View=nothing
End Sub

For More Information...


For more information on the picture management subroutines available for iFIX with FIX Desktop,
refer to the Subroutines for Managing FIX Pictures from iFIX section.
For more information on other OLE interfaces available for iFIX with FIX Desktop, refer to the iFIX
Automation Interfaces for View, HTD, and Draw section.
NOTE: To include the OLE interfaces in your iFIX picture, you must add references to the picture
manually from the Microsoft Visual Basic Editor. See the iFIX Automation Interfaces for View, HTD,
and Draw section for more details.

Subroutines for Managing FIX Pictures from iFIX


For iFIX with FIX Desktop, there are picture management subroutines available from the Proficy iFIX
WorkSpace for the View, Draw, and HTD applications. The names of the subroutines are as follows:

ViewOPENPIC Subroutine

ViewREPLACEPIC Subroutine

ViewCLOSEPIC Subroutine

SetViewToFront Subroutine

SetDrawToFront Subroutine

SetHtdToFront Subroutine

With these subroutines you can open, replace, and close FIX Desktop pictures from the Proficy iFIX
WorkSpace in run mode. You can also use these subroutines to control whether the View, Draw, or
HTD application window opens in the foreground.
ViewOPENPIC Subroutine
Use the ViewOPENPIC subroutine in a VBA script to open a FIX Desktop picture in the View
application from the Proficy iFIX WorkSpace. You can optionally specify the X and Y coordinates, the
height and width of the picture as it displays in View, a nickname, and a tag group name associated
with the picture. When the picture displays, the View application appears in the foreground.

22

iFIX with FIX Desktop

If View is not already open, the View window is maximized. If View is already open, the current
window's settings are used.
NOTE: The maximum number of pictures that you can have open at any one time in View is 15. If you
exceed that limit by attempting to open a 16th picture, an error message appears.
Syntax
ViewOPENPIC "PictureName", [Y], [X], [W], [H], "[nickname]","[TagGroupName]"

Part

Description

PictureName

String. The name of the FIX Desktop picture that you want to open. Include the
full path of the picture if it is outside of the default PIC folder.
You can include the .odf file extension, but it is not required.

Long. (Optional) Specifies the Y coordinate of the upper left corner of the
picture. This value is a positive number. The units are in pixels.
For instance, if you enter 100, the picture begins 100 pixels below the View
title bar, as shown in the following figure.

If you do not enter the Y and X coordinates, the picture opens in the top left
corner of the View window, by default.

23

iFIX with FIX Desktop

Part

Description

Long. (Optional) Specifies the X coordinate of the upper left corner of the
picture. This value is a positive number. The units are in pixels.
For instance, if you enter 100, the picture begins 100 pixels to the right of the
main view window, as shown in the following figure.

If you do not enter the X and Y coordinates, the picture opens in the top left
corner of the View window, by default.
W

Long. (Optional) Specifies the width of the picture, in pixels. If you do not
specify a width, the original picture's width is used by default.
If you want to scale a picture so that it appears at a different size, make sure
that you maintain the original picture's width/height ratio. If this aspect ratio is
off, the image may appear stretched or squished in the child window that you
open. For more information, see the Tips for Sizing Pictures That Appear in
View section.
Be aware that if you enter a value for the width and height with this subroutine,
you must also enter a value for the X and Y coordinates, even if these vales are
0,0. If you do not, the height and width values do not function properly.

Long. (Optional) Specifies the height of the picture, in pixels. If you do not
specify a height, the original picture's height is used by default.
If you want to scale a picture so that it appears at a different size, make sure
that you maintain the original picture's width/height ratio. If this aspect ratio is
off, the image may appear stretched or squished in the child window that you
open. For more information, see the Tips for Sizing Pictures That Appear in
View section.
Be aware that if you enter a value for the width and height with this subroutine,
you must also enter a value for the X and Y coordinates, even if these vales are
0,0. If you do not, the height and width values do not function properly.

24

iFIX with FIX Desktop

Part

Description

nickname

String. (Optional) Specifies the nickname you want to assign to the picture.
The nickname appears in the title bar of the picture you open.
The same nickname can be assigned to multiple pictures so that you can later
close a group of pictures together, or replace a group of pictures with a single
instance of a picture.
NOTE: The nickname is also known as the picture alias.

TagGroupName

String. (Optional) Specifies the name of the tag group file that contains all the
tag group symbols required to open the picture. You can include the .tge file
extension, but it is not required.

Example 1
The following example is for a push button command in iFIX. If you click the push button when the
WorkSpace is in run mode, this command opens a picture named: Picture1.odf, at the X, Y coordinates
of: (0,0), with a height 500 pixels and width a of 500 pixels, and includes a nickname of MyPic. View
opens in the foreground.
Private Sub CommandButton1_Click()
ViewOPENPIC "Picture1", , , 500, 500, "MyPic", ""
End Sub

Example 2
The following example performs the same actions as in example 1, however in example 2, the
ViewOPENPIC command does not include any special parameters such as the child window size,
location, nickname, or tag group name.
Private Sub CommandButton1_Click()
ViewOPENPIC "Picture1"
End Sub

ViewREPLACEPIC Subroutine
Use the ViewREPLACEPIC subroutine in a VBA script when you want to replace a picture open in
View with another picture. If you have two or more pictures open with the same name, the topmost
picture is replaced.
You can optionally include a tag group file name for the new picture when you open it. When the
picture displays, the View application appears in the foreground.
If View is not already open, the View window is maximized. If View is already open, the current
window's settings are used.
Syntax
ViewREPLACEPIC "Picture1Name", "Picture2Name", "[TagGroupName]"

25

iFIX with FIX Desktop

Part

Description

Picture1Name

String. The file name or nickname of a FIX Desktop picture currently open in
View. An asterisk (*) indicates the currently selected picture.
You can include the .odf file extension in the file name, but it is not required.

Picture2Name

String. The name of the FIX Desktop picture that you want to replace picture 1
with.
Include the full path of the picture if it is outside of the default PIC folder.
You can include the .odf file extension in the file name, but it is not required.

TagGroupName

String. (Optional) Specifies the name of the tag group file that contains all the
tag group symbols required by picture 2. You can include the .tge file
extension, but it is not required.

Example
The following example is for a push button command in iFIX. If you click the push button when the
WorkSpace is in run mode, this command replaces Picture1.odf, which is currently open in View, with
Picture2.odf.
Private Sub CommandButton1_Click()
ViewREPLACEPIC "Picture1", "Picture2", ""
End Sub

ViewCLOSEPIC Subroutine
Use the ViewCLOSEPIC subroutine in a VBA script when you want to close a picture that is currently
open in View. If you have two or more pictures open with the same name, the topmost picture is
closed.
This method does NOT bring the View application to the foreground. View remains running after the
picture closes.
Syntax
ViewCLOSEPIC "Picture1Name"

Part

Description

PictureName

String. The name of the FIX Desktop picture that you want to close. An asterisk
(*) indicates the currently selected picture.
You can include the .odf file extension, but it is not required.

26

iFIX with FIX Desktop

Example
The following example is for a push button command in iFIX. If you click the push button when the
WorkSpace is in run mode, this command closes Picture2.odf from the View application.
Private Sub CommandButton1_Click()
ViewCLOSEPIC "Picture2"
End Sub

SetViewToFront Subroutine
Use the SetViewToFront subroutine in a VBA script when you want to bring the View application to
the foreground, if it is running.
Syntax
SetViewToFront

Example
The following example is for a push button command in iFIX. If you click the push button when the
WorkSpace is in run mode, these commands close Picture2.odf in the View application, and then
brings the View application to the foreground.
Private Sub CommandButton1_Click()
ViewCLOSEPIC "Picture2"
SetViewToFront
End Sub

SetDrawToFront Subroutine
Use the SetDrawToFront subroutine in a VBA script when you want to bring the Draw application to
the foreground, if it is running.
Syntax
SetDrawToFront

Example
The following example is for a push button command in iFIX. If you click the push button when the
WorkSpace is in run mode, these commands open Picture1.odf in the View application, and then
brings the Draw application to the foreground.
Private Sub CommandButton1_Click()
ViewOPENPIC "Picture1", , , 500, 500, "MyPic", ""
SetDrawToFront
End Sub

27

iFIX with FIX Desktop

SetHtdToFront Subroutine
Use the SetHtdToFront subroutine in a VBA script when you want to bring the HTD application to the
foreground, if it is running.
Syntax
SetHtdToFront

Example
The following example is for a push button command in iFIX. If you click the push button when the
WorkSpace is in run mode, these commands open Picture1.odf in the View application, and then
brings the Historical Trend Display (HTD) application to the foreground.
Private Sub CommandButton1_Click()
ViewOPENPIC "Picture1", , , 500, 500, "MyPic", ""
SetHtdToFront
End Sub

iFIX Automation Interfaces for View, HTD, and Draw


In addition to the picture management subroutines, there are some other OLE Interfaces available from
the Proficy iFIX WorkSpace for the View, Draw, and HTD applications. The names of these OLE
interfaces are as follows:

FixViewApp Object

FixDrawApp Object

FixHtdApp Object

These interfaces allow you to open, replace, and close files in the View, Draw, and HTD applications
when the Proficy iFIX WorkSpace is in run mode. They also provide access to more sophisticated
methods that allow you to control the title of the window of the application that you call, whether the
window is maximized or minimized, resized, or in a different location, as well as other specifications.
To include these interfaces in your iFIX picture, you must add references to the picture manually from
the Microsoft Visual Basic Editor.
To manually add references to an iFIX picture:

28

1.

Open the picture in the iFIX WorkSpace.

2.

Select the object that you want to add the interface to.

3.

Right-click the object and select Edit Script. The Microsoft Visual Basic Editor appears.

4.

On the Tools menu, click References. The References dialog box appears.

5.

Scroll until you locate the following entries:

FixDrawApp 1.0 Type Library

FixHTDApp 1.0 Type Library

iFIX with FIX Desktop

FixViewApp 1.0 Type Library

6.

Select the check box next to each entry.

7.

Click OK when you are finished.


You should now be able to access these View, Draw, and HTD interfaces from your scripts in
the Microsoft Visual Basic Editor.

FixViewApp Object
Use the FixViewApp object in a VBA script from your iFIX application when you want to use
methods to open, close, or replace a picture that appears in the View application. You can also use this
object to set the window properties of the child window or the main View application window, such as
the title bar, position, or size. The supported property and methods for the FixViewApp object are as
follows.
Property
FixAppTitle Property
Methods
ChildBringToFront Method
ChildClose Method
ChildGetTitle Method
ChildOpen Method
ChildReplace Method
ChildSetPosition Method
ChildSetSize Method
ChildSetTitle Method
ClearHistory Method

Exit Method
GetHistory Method
ListOpenChildren Method
Maximize Method
Minimize Method
Restore Method
SetPosition Method
SetSize Method

FixDrawApp Object
Use the FixDrawApp object in a VBA script from your iFIX application when you want to use
methods to close, maximize, minimize, or restore the Draw application window. You can also use this
object to set the window properties of the main Draw application window, such as the title bar,
position, or size. The supported property and methods for the FixDrawApp object are as follows.
Property
FixAppTitle Property
Methods
Exit Method
Maximize Method
Minimize Method

Restore Method
SetPosition Method
SetSize Method

29

iFIX with FIX Desktop

FixHtdApp Object
Use the FixHtdApp object in a VBA script from your iFIX application when you want to use methods
to open, close, or replace a chart that appears in the HTD application. You can also use this object to
set the window properties of the child window or the main HTD application window, such as the title
bar, position, or size. The supported property and methods for the FixHtdApp object are as follows.
Property
FixAppTitle Property
Methods
ChildBringToFront Method
ChildClose Method
ChildGetTitle Method
ChildOpen Method
ChildReplace Method
ChildSetPosition Method
ChildSetSize Method
ChildSetTitle Method
ClearHistory Method

Exit Method
GetHistory Method
ListOpenChildren Method
Maximize Method
Minimize Method
Restore Method
SetPosition Method
SetSize Method

FixAppTitle Property
The FIXAppTitle property returns or sets the name on the title bar for the main application window in
the View, Draw, or HTD application. For instance, with this property you can change the title bar in
View from "FIX Desktop View" to another title. The same is true for HTD and Draw, as well. The title
bar remains the same as long as the application remains open. When you close the application, this
property does not remain in effect.
Syntax
object.FixAppTitle

Part

Description

object

An object expression that evaluates to the FixViewApp, FixDrawApp, or FixHtdApp


object.

Return Value
This method returns a String value, if requested.
Example 1
The following example shows how to read and set the FixAppTitle property. In this example, the title
bar for the View application reads "New Title." MyPic.odf picture opens in View. The picture is
positioned in the upper left corner of the View screen. The name of the child window is set to a

30

iFIX with FIX Desktop

specified title (This is my child name), the picture and main View windows are resized to 500x500
pixels, and the View application appears in the foreground, if it is not already there.
Private Sub CommandButton1_Click()
Dim View as New FixViewApp.FixViewApp
Dim Name as String
Name=View.FixAppTitle ' Reads the title property
View.FixAppTitle="New Title" ' Sets the title property
View.ChildOpen "MyPic", , , , , "", ""
View.ChildSetPosition "*", 0, 0
View.ChildSetTitle "*", "This is my child name"
View.SetSize 500, 500
View.Restore
SetViewToFront
Set View = Nothing
End Sub

Example 2
In this example, the title bar for the HTD application reads "New Title." A chart named MyChart opens
in HTD. The chart is positioned in the upper left corner of the HTD screen. The name of the child
window is set to a specified title (This is my child name), the chart and main HTD windows are resized
to 500x500 pixels, and the HTD application appears in the foreground, if it is not already there.
Private Sub CommandButton1_Click()
Dim Htd As New FixHtdApp.FixHtdApp
Dim Name As String
Name = Htd.FixAppTitle ' Reads the title property
Htd.FixAppTitle = "New Title"' Sets the title property
Htd.ChildOpen "MyChart"
Htd.ChildSetTitle "*", "This is my child name"
Htd.ChildSetSize "*", 500, 500
Htd.SetSize 500, 500
Htd.Restore
SetHtdToFront
Set Htd = Nothing
End Sub

Example 3
In this example, the title bar for the Draw application reads "New Title." The main Draw window
appears at 500 pixels wide, by 650 pixels long. The Draw application appears in the foreground, if it is
not already there.
Private Sub CommandButton1_Click()
Dim Draw As New FixDrawApp.FixDrawApp
Dim Name As String
Name = Draw.FixAppTitle 'Reads the title property
Draw.FixAppTitle = "New Title"'Sets the title property
Draw.SetSize 500, 650
Draw.Restore
SetDrawToFront
Set Draw = Nothing
End Sub

31

iFIX with FIX Desktop

ChildBringToFront Method
This method brings a specified child window from the View or HTD application to the foreground.
Syntax
object.ChildBringToFront "bstrChildName"

Part

Description

object

An object expression that evaluates to the FixViewApp or FixHtdApp object.

bstrChildName

String. The file name or nickname of the child window that you want brought to
the foreground. An asterisk (*) indicates the currently active child.

Example
The following example opens MyPic1.odf and MyPic2.odf in the View application. It places
MyPic1.odf in the foreground, so that MyPic1.odf overlaps MyPic2.odf.
Private Sub CommandButton1_Click()
Dim View As New FixViewApp.FixViewApp
View.ChildOpen "MyPic1", 50, 50, 500, 500, "", ""
View.ChildOpen "MyPic2", 30, 30, 500, 500, "", ""
View.Restore
View.ChildBringToFront "MyPic1"
SetViewToFront
Set View = Nothing
End Sub

ChildClose Method
This method closes a specified child window for the View or HTD application.
Syntax
object.ChildClose "bstrChildName"

Part

Description

object

An object expression that evaluates to the FixViewApp or FixHtdApp object.

bstrChildName

String. The file name or nickname of the child window that you want to close.
An asterisk (*) indicates the currently active child.
You can include a .odf file extension in the file name, but it is not required.

32

iFIX with FIX Desktop

Example
This example opens 2 pictures, and then closes the first one that you opened.
Private Sub CommandButton1_Click()
Dim View As New FixViewApp.FixViewApp
View.ChildOpen "MyPic1", 50, 50, 500, 500, "", ""
View.ChildOpen "MyPic2", 30, 30, 500, 500, "", ""
View.Restore
SetViewToFront
View.ChildClose "MyPic1"
Set View = Nothing
End Sub

ChildGetTitle Method
This method obtains the title of the currently active child window in the View or HTD application.
Syntax
object.ChildGetTitle

Part

Description

object

An object expression that evaluates to the FixViewApp or FixHtdApp object.

Return Value
This method returns a String that indicates the name in the title bar of the currently active child
window.
Example
This example opens 3 pictures, gets the title for the active window (Picture3), and sets the titles for all
3 windows.
Private Sub CommandButton1_Click()
Dim View As New FixViewApp.FixViewApp
View.ChildOpen "Picture3", 70, 70, 500, 500, "", ""
View.ChildOpen "Picture1", 30, 30, 500, 500, "", ""
View.ChildOpen "Picture2", 50, 50, 500, 500, "", ""
View.Restore
SetViewToFront
View.ChildBringToFront "Picture3"
View.ChildGetTitle "*"
View.ChildSetTitle "*", "This is Child Win3"
View.ChildSetTitle "Picture1", "This is Child Win1"
View.ChildSetTitle "Picture2", "This is Child Win2"
Set View = Nothing
End Sub

33

iFIX with FIX Desktop

ChildOpen Method
This method opens a specified picture in the View application, or a specified chart in the HTD
application.
If you exceed the maximum number of pictures open at any one time in View, which is 15, an error
message appears.
If you try to open more than nine instances of a chart, HTD also displays an error message. You can
only have nine charts open in HTD at any one time.
Syntax
object.ChildOpen "bstrChildName", [iXPos], [iYPos], [iWidth], [iHeight], "[NickName]",
"[TagGroupName]"

Part

Description

object

An object expression that evaluates to the FixViewApp or FixHtdApp object.

bstrChildName

String. The name of the FIX Desktop picture or chart that you want to open.
For picture files, include the full path if it is outside of the default PIC folder.
You can include the .odf file extension with a picture name, but it is not
required.

iXPos

Variant. (Optional) A specified X coordinate value to open the picture or chart


within the View or HTD application. Use a whole number for this value. The
units are in pixels.
The X value represents the number of pixels across that you want to place the
upper left corner of the picture or chart inside the main application window.
NOTE: Use the SetPosition Method if you want to specify the location of the
main application window.

iYPos

Variant. (Optional) A specified Y coordinate value to open the picture or chart


within the View or HTD application. Use a whole number for this value. The
units are in pixels.
The Y value represents the number of pixels down that you want to place upper
left corner of the picture or chart inside the main application window.
Be aware that if your child window includes a title bar and you want to view the
title bar in the window you open, this value should be at least 20 pixels.
NOTE: Use the SetPosition Method if you want to specify the location of the
main application window.

34

iFIX with FIX Desktop

Part

Description

iWidth

Variant. (Optional) A specified width to open the picture or chart window, in


pixels. Use a whole number for this value.
If you want to scale a picture so that it appears at a different size, make sure that
you maintain the original picture's width/height ratio. If this aspect ratio is off,
the image may appear stretched or squished in the child window that you open.
For more information, see the Tips for Sizing Pictures That Appear in View
section.
Be aware that if you enter a value for the height and width with this method, you
must also enter a value for the X and Y coordinates, even if these vales are 0,0.
If you do not, the height and width values do not function properly.
NOTE: Use the SetSize Method if you want to resize the width of the main
application window without changing the picture aspect ratio of the child
window.

iHeight

Variant. (Optional) A specified height to open the picture or chart with, in


pixels. Use a whole number for this value.
If you want to scale a picture so that it appears at a different size, make sure that
you maintain the original picture's width/height ratio. If this aspect ratio is off,
the image may appear stretched or squished in the child window that you open.
For more information, see the Tips for Sizing Pictures That Appear in View
section.
Be aware that if you enter a value for the height and width with this method, you
must also enter a value for the X and Y coordinates, even if these vales are 0,0.
If you do not, the height and width values do not function properly.
NOTE: Use the SetSize Method if you want to resize the height of the main
application window without changing the picture aspect ratio of the child
window.

NickName

String. (Optional) Specifies the nickname you want to assign to the picture. The
nickname appears in the title bar of the picture you open.
The same nickname can be assigned to multiple pictures so that you can later
close a group of pictures together, or replace a group of pictures with a single
instance of a picture.
NOTE: The nickname is also known as the picture alias.

TagGroup

String. (Optional) Specifies the name of the tag group file that contains all the
tag group symbols required to open the picture. You can include the .tge file
extension, but it is not required.

Example 1
This example opens a picture named Picture1.odf when the user clicks a push button in the Proficy

35

iFIX with FIX Desktop

iFIX WorkSpace. The ChildOpen method positions the picture at the top left corner of the View
window, with the corner of the active window appearing 30 pixels over and 20 pixels down (30, 20).
The ChildOpen method also sizes the child window at 500 pixels wide, by 400 pixels long.
Also in this example, the ChildSetTitle method sets the title of the child window to read: "This is my
child window." The SetSize method specifies that the main application window for View opens at 600
pixels wide, by 500 pixels long. The View application appears in the foreground.
Private Sub CommandButton1_Click()
Dim View As New FixViewApp.FixViewApp
View.ChildOpen "Picture1", 30, 20, 500, 400, "", ""
View.ChildSetTitle "*", "This is my child window"
View.SetSize 600, 500
View.Restore
SetViewToFront
Set View = Nothing
End Sub

Example 2
This example opens a picture named Picture1.odf when the user clicks a push button in the Proficy
iFIX WorkSpace. The only parameter passed in with the ChildOpen method is the picture name and
the tag group name. The View application appears in the foreground.
Private Sub CommandButton1_Click()
Dim View As New FixViewApp.FixViewApp
View.ChildOpen "Picture1", , , , , "", "MyTagGroup"
View.Restore
SetViewToFront
Set View = Nothing
End Sub

Example 3
This example shows how the ChildOpen method can be shortened to display only the mandatory fields.
You may write your script like this if you do not need to specify any of the other parameters for the
child window, such as the position, size, nickname, or tag group name, with the ChildOpen method.
Private Sub CommandButton1_Click()
Dim View As New FixViewApp.FixViewApp
View.ChildOpen "Picture1"
View.Restore
SetViewToFront
Set View = Nothing
End Sub

Example 4
This example opens a picture named MyPicture.odf when the user clicks a push button in the Proficy
iFIX WorkSpace. The only parameter passed in with the ChildOpen method is the picture name. The
ChildSetPosition method places the top left corner of the picture at the (x, y) coordinates of (30, 10)
within the View window. The ChildSetSize method sets the child window at 500 pixels wide, by 400
pixels long. The ChildSetTitle method sets the title of the child window to read: "This is my child

36

iFIX with FIX Desktop

window." The SetSize method specifies that the main application window for View opens at 600 pixels
wide, by 500 pixels long. The View application appears in the foreground.
Private Sub CommandButton1_Click()
Dim View As New FixViewApp.FixViewApp
View.ChildOpen "MyPicture"
View.ChildSetPosition "*", 30, 10
View.ChildSetSize "*", 500, 400
View.ChildSetTitle "*", "This is my child window"
View.SetSize 600, 500
View.Restore
SetViewToFront
Set View = Nothing
End Sub

Tips for Sizing Pictures That Appear in View


The following interfaces allow you to configure the size of the child window when you open a picture
in View:

ViewOPENPIC Subroutine

ChildOpen Method

ChildSetSize Method

These interfaces all require that you enter the height and width in pixels, if you chose to specify these
values. In the Draw application, however, the picture height and width values are different. You can
convert the picture height and width values to pixels so that you can use them with the ViewOPENPIC
subroutine, ChildOpen method, or ChildSetSize method.
Determining the Height and Width of a Picture in Pixels
If you want to specify the picture's original height and width when you use these interfaces, reference
the Picture Properties in the Draw application. Though these values for the width and height are not in
pixels, all you need to do is multiply by 100 to obtain the number of pixels equivalent to this value.

To determine the height and width of a picture in pixels:


1.

Start iFIX.

2.

Open Draw.

3.

Open the picture that you want to check the size of.

4.

On the Edit menu, click Picture. A dialog box opens with the picture properties in the top left
corner of the window, as shown in the following figure.

37

iFIX with FIX Desktop

5.

Multiply the Picture Width field by 100 to obtain the width value in pixels.

6.

Multiply the Picture Height field by 100 to obtain the height value in pixels.

ChildReplace Method
This method replaces one child window with another window in the View or HTD application.
Syntax
object.ChildReplace "bstrOriginal", "bstrReplacement", "[TagGroupName]"

Part

Description

object

An object expression that evaluates to the FixViewApp or FixHtdApp object.

bstrOriginal

String. The file name or nickname of the child window that you want to
change. An asterisk (*) indicates the currently active child.

bstrReplacement

String. The file name of the new window that you want to open.

TagGroup

String. (Optional) Specifies the name of the tag group file that contains all the
tag group symbols required by picture 2. You can include the .tge file
extension, but it is not required.

Example
The following example opens Picture1.odf and then replaces it with Picture2.odf.
Private Sub CommandButton1_Click()
Dim View As New FixViewApp.FixViewApp
View.ChildOpen "Picture1"
View.ChildReplace "Picture1", "Picture2", ""

38

iFIX with FIX Desktop


View.Restore
SetViewToFront
Set View = Nothing
End Sub

ChildSetPosition Method
This method moves a specified child window in the View or HTD application to a new location.
Syntax
object.ChildSetPosition "bstrChildName", X, Y

Part

Description

object

An object expression that evaluates to the FixViewApp or FixHtdApp object.

bstrChildName

String. The file name or nickname of the child that you want to move. An
asterisk (*) indicates the currently active child.

Integer. A specified X coordinate value to open the child window within the
View or HTD application. The units are in pixels.
The X value represents the number of pixels across that you want to place upper
the left corner of the picture or chart inside the main application window.
NOTE: Use the SetPosition Method if you want to specify the location of the
main application window.

Integer. A specified Y coordinate value to open the child window within the
View or HTD application. The units are in pixels.
The Y value represents the number of pixels down that you want to place the
upper left corner of the picture or chart inside the main application window.
You do not need to account for the menu bar of the main window when
specifying a Y coordinate with this method.
NOTE: Use the SetPosition Method if you want to specify the location of the
main application window.

Example
The following example opens Picture8.odf, and positions the upper left corner of the picture at the
(x,y) coordinates of (30,50) in the View window.
Private Sub CommandButton1_Click()
Dim View As New FixViewApp.FixViewApp
View.ChildOpen "Picture8"
View.ChildSetPosition "*", 30, 50
View.Restore
SetViewToFront

39

iFIX with FIX Desktop


Set View = Nothing
End Sub

ChildSetSize Method
This method changes the size of a specified window in the View or HTD application to a specified
height and width.
Syntax
object.ChildSetSize "bstrChildName", iWidth, iHeight

Part

Description

object

An object expression that evaluates to the FixViewApp or FixHtdApp object.

bstrChildName

String. The file name or nickname of the child that you want to resize. An
asterisk (*) indicates the currently active child.

iWidth

Integer. The width of the specified child window, in pixels.


If you want to scale a picture so that it appears at a different size, make sure that
you maintain the original picture's width/height ratio. If this aspect ratio is off,
the image may appear stretched or squished in the child window that you open.
For more information, see the Tips for Sizing Pictures That Appear in View
section.
NOTE: Use the SetSize Method if you want to resize the width of the main
application window without changing the picture aspect ratio of the child
window.

iHeight

Integer. The width of the specified child window, in pixels.


If you want to scale a picture so that it appears at a different size, make sure that
you maintain the original picture's width/height ratio. If this aspect ratio is off,
the image may appear stretched or squished in the child window that you open.
For more information, see the Tips for Sizing Pictures That Appear in View
section.
NOTE: Use the SetSize Method if you want to resize the height of the main
application window without changing the picture aspect ratio of the child
window.

Example
The following example opens Picture8.odf. This picture appears inside the View application window
as 500 pixels wide, by 600 pixels long.
Private Sub CommandButton1_Click()
Dim View As New FixViewApp.FixViewApp

40

iFIX with FIX Desktop


View.ChildOpen "Picture8"
View.ChildSetSize "*", 500, 600
View.Restore
SetViewToFront
Set View = Nothing
End Sub

ChildSetTitle Method
This method changes the title of the specified child window in the View or HTD application.
Syntax
object.ChildSetTitle "bstrChildName", "bstrNewTitle"

Part

Description

object

An object expression that evaluates to the FixViewApp or FixHtdApp object.

bstrChildName

String. The file name or nickname of the child window for which you want to
change the title. An asterisk (*) indicates the currently active child.

bstrNewTitle

String. The new name that you want to appear in the title bar of the specified
window.

Example
The following example opens a picture named MyPic.odf when the user clicks a push button on the
iFIX display. MyPic opens with the words "My new title" in the title bar. The main View window
opens at a size of 500 by 500 pixels.
Private Sub CommandButton1_Click()
Dim View As New FixViewApp.FixViewApp
View.ChildOpen "MyPic", , , , , "", ""
View.ChildSetTitle "*", "My new title"
View.SetSize 500, 500
View.Restore
SetViewToFront
Set View = Nothing
End Sub

ClearHistory Method
This method removes the history log file, ViewHist.log or HTDHist.log, from the C:\Program
Files\Proficy\Proficy iFIX\Local folder.
NOTE: The ClearHistory method does not delete the temporary history file created by the GetHistory
Method.

41

iFIX with FIX Desktop

You can also remove the ViewHist.log or HTDHist.log file by shutting down the View or HTD
application, respectively, or by deleting the .log file manually.
Syntax
object.ClearHistory

Part

Description

object

An object expression that evaluates to the FixViewApp or FixHtdApp object.

Example
The following example deletes the ViewHist.log file in the C:\Program Files\Proficy\Proficy
iFIX\Local folder when a user clicks a pushbutton:
Private Sub CommandButton2_Click()
Dim View As New FixViewApp.FixViewApp
View.ClearHistory
Set View = Nothing
End Sub

Exit Method
This method closes the specified View, Draw, or HTD application.
Syntax
object.Exit

Part

Description

object

An object expression that evaluates to the FixViewApp, FixDrawApp, or FixHtdApp


object.

Example
The following example closes the HTD application and then brings the View application to the
foreground.
Private Sub CommandButton1_Click()
Dim Htd As New FixHtdApp.FixHtdApp
Dim View As New FixViewApp.FixViewApp
Htd.Exit
View.Restore
SetViewToFront
Set View = Nothing
Set Htd = Nothing

42

iFIX with FIX Desktop


End Sub

GetHistory Method
This method copies the current history queue from the View or HTD application in the C:\Program
Files\Proficy\Proficy iFIX\Local folder into a temporary file in the iFIX folder, or another location that
you specify. The history queue functionality must be enabled to use the GetHistory method.
Enabling the History Queue
By default, history queues (ViewHist.log and HTDHist.log) are disabled. To enable history queues, use
the application's .INI file. You can find the View.ini and HTD.ini files in the C:\Program
Files\Proficy\Proficy iFIX\Local folder. The following .INI setting enables the history queue in the
View or HTD application:
[Miscellaneous]
OLELOGGING=TRUE

If this setting is not listed in the .INI file, you can add it. If you attempt to use the GetHistory method
without enabling the history queue, the specified application displays an error message.
Be aware that you may need to maintain the history queue files so that they do not grow boundlessly.
When OLELOGGING is enabled for the View or HTD application, the ViewHist.log or HTDHist.log
in the C:\Program Files\Proficy\Proficy iFIX\Local folder grows until you delete the file, shut down
the specified application, or use the ClearHistory Method.
Syntax
object.GetHistory "bstrFileName"

Part

Description

object

An object expression that evaluates to the FixViewApp, FixDrawApp, or


FixHtdApp object.

bstrFileName

String. The path and name of the file that you want to store the temporary file to.
If you do not specify a path, the file is saved into the iFIX folder. If you installed
to the default location, this folder is C:\Program Files\Proficy\Proficy iFIX.

Example
The following example opens a picture named Picture1.odf within View when a user clicks
pushbutton. Next, the history from the VIEWHist.log file in the C:\Program Files\Proficy\Proficy
iFIX\Local folder is copied into a temporary file named History.txt in the C:\ folder.
Private Sub CommandButton1_Click()
Dim View As New FixViewApp.FixViewApp
ViewOPENPIC "Picture1", , , 500, 500, "MyNickName", ""
SetViewToFront

43

iFIX with FIX Desktop


View.GetHistory "C:\History.txt"
Set View = Nothing
End Sub

ListOpenChildren Method
This method lists all currently open charts in the HTD application, or pictures in the View application.
To use this method, you need to declare a string array, assign it to a Variant, and pass the Variant to the
call. If you attempt to make the call any other way, the call returns an error indicating the wrong type.
Syntax
object.ListOpenChildren bstrarrayChildren

Part

Description

object

An object expression that evaluates to the FixViewApp or FixHtdApp object.

bstrarrayChildren

Variant holding a safe array of strings. Each string in the array describes the
name of an open chart or picture.

Example
This example shows how to use a single dimensioned array to display a list of open pictures within a
list box in an iFIX picture. In this example, a push button command (CommandButton2) populates a
list box (ListBox1), in the same picture, with the names of all the open pictures from the FIX Desktop
View application.
This is the VBA code for the push button:
Private Sub CommandButton2_Click()
Dim x As Integer
Dim ViewApp As New FixViewApp.FixViewApp
Dim s(255) As String
Dim Ret As Variant
Ret = s
ViewApp.ListOpenChildren Ret
For x = 0 To 255
If Ret(x) <> "" Then
ListBox1.AddItem Ret(x)
End If
Next x
End Sub

This is the code for the list box:


Private Sub ListBox1_Click()
End Sub

TIP: To add a list box to an iFIX picture in configure mode, on the Insert menu, click OLE Object. The
Insert Object dialog box appears. Select the Microsoft Forms 2.0 ListBox, and click OK. The

44

iFIX with FIX Desktop

WorkSpace should add code similar to the code example for the list box above. If the default name is
not ListBox1 and you want to use the above example, in the iFIX WorkSpace select the list box, open
the Properties window, and update the Name property to ListBox1.
Maximize Method
This method maximizes the main application window for the View, Draw, or HTD application.
Syntax
object.Maximize

Part

Description

object

An object expression that evaluates to the FixViewApp, FixDrawApp, or FixHtdApp


object.

Example
The following example opens a chart in the HTD application and then maximizes the HTD window.
Private Sub CommandButton1_Click()
Dim Htd As New FixHtdApp.FixHtdApp
Htd.ChildOpen "Chart7"
Htd.Maximize
SetHtdToFront
Set Htd = Nothing
End Sub

Minimize Method
This method minimizes the main application window for the View, Draw, or HTD application.
Syntax
object.Minimize

Part

Description

object

An object expression that evaluates to the FixViewApp, FixDrawApp, or FixHtdApp


object.

Example
The following example opens a chart in the HTD application and then minimizes the HTD window.
Private Sub CommandButton1_Click()

45

iFIX with FIX Desktop


Dim Htd As New FixHtdApp.FixHtdApp
Htd.ChildOpen "Chart7"
Htd.Minimize
Set Htd = Nothing
End Sub

Restore Method
This method restores the main application window size for the View, Draw, or HTD application, if the
current window is maximized or minimized.
Syntax
object.Restore

Part

Description

object

An object expression that evaluates to the FixViewApp, FixDrawApp, or FixHtdApp


object.

Example
The following example opens a chart in the HTD application, minimizes the HTD window, and then
brings the Draw application to the foreground.
Private Sub CommandButton1_Click()
Dim Htd As New FixHtdApp.FixHtdApp
Dim Draw As New FixDrawApp.FixDrawApp
Htd.ChildOpen "Chart7"
Htd.Minimize
Draw.Restore
SetDrawToFront
Set Htd = Nothing
Set Draw = Nothing
End Sub

SetPosition Method
This method moves the main application window for the View, Draw, or HTD application to another
specified location.
Syntax
object.SetPosition X, Y

46

iFIX with FIX Desktop

Part

Description

object

An object expression that evaluates to the FixViewApp, FixDrawApp, or FixHtdApp


object.

Integer. The X coordinate of the main application window, in pixels.

Integer. The Y coordinate of the main application window, in pixels.

Example
This example opens a picture named MyPic.odf in View. The (x,y) coordinate of the upper left corner
of the View application is (20,50): 20 pixels to the right, 50 pixels down. The size of the main View
application in is set to open at 600 pixels wide by 500 pixels long in this example.
Private Sub CommandButton1_Click()
Dim View As New FixViewApp.FixViewApp
View.ChildOpen "MyPic"
View.SetPosition 20, 50
View.SetSize 600, 500
View.Restore
SetViewToFront
Set View = Nothing
End Sub

SetSize Method
This method changes the size of the main application window for the View, Draw, or HTD application.
Syntax
object.SetSize iWidth, iHeight

Part

Description

object

An object expression that evaluates to the FixViewApp, FixDrawApp, or FixHtdApp


object.

iWidth

Integer. The width of the main application window, in pixels.

47

iFIX with FIX Desktop

Part

Description

iHeight

Integer. The height of the main application window, in pixels.


NOTE: The height and width of the child window is not resized with this method. If the
child window exceeds the dimensions of the application window, the part that exceeds
the specified height or width appears out of view. In this case, you need to resize the
window again manually to view the whole picture. Use the ChildSetSize Method to
specify the dimensions of the child window; you can also specify these dimensions when
you open the window with the ChildOpen Method.

Example
This example opens a picture named MyPic.odf in View. The size of the main View application is set
to open at 500 pixels wide by 600 pixels long.
Private Sub CommandButton1_Click()
Dim View As New FixViewApp.FixViewApp
View.ChildOpen "MyPic"
View.SetSize 500, 600
View.Restore
SetViewToFront
Set View = Nothing
End Sub

48

Differences Between FIX v7 and iFIX with


FIX Desktop
After you upgrade to iFIX with FIX Desktop, you can run FIX Desktop Draw, View, and HTD
applications alongside the Proficy iFIX WorkSpace. All applications use the iFIX security, database,
and system configuration information. The use of iFIX core applications is the major change from FIX
7.x.
Some of the other differences from FIX 7.x that you may notice in FIX Desktop include the following:

FIX32 Items Not Supported in FIX Desktop

Failover Configuration Changes

Environment Protection Set in the Proficy iFIX WorkSpace Instead of Draw

Security Configuration Changes

Changes in the Integration Toolkit Programs

FIX Desktop Pictures Not Backwards Compatible

Quick Database Tools Not Supported

Change in the Default Picture Templates

FIX Desktop Menu Commands That Appear Differently

Differences for Working with Tags in Scripts

Documentation Differences Between FIX Desktop and FIX v7

iFIX Features Unavailable in FIX Desktop Applications


Even though an upgrade to iFIX with FIX Desktop provides many new features, such as enhanced
redundancy features that are not available in FIX32, be aware that not all iFIX features are supported
in the FIX Desktop environment. For instance, you cannot allow iFIX to send data to FIX Stats.

FIX32 Items Not Supported in FIX Desktop


The following FIX32 features are not supported in iFIX with FIX Desktop:

FIX32 Tutorial Mode

AutoCAD DXF Import

10-character node names that FIX for Windows 5.65/10 supported.

FIX Desktop clients and Paradym-31

Quick Database Tools

49

iFIX with FIX Desktop

Failover Configuration Changes


If your FIX32 applications used the failover feature prior to the iFIX 5.0 with FIX Desktop upgrade,
you need to set up failover again. Be aware that, if you want to use failover, all nodes (primary,
secondary, and view nodes) must be upgraded to iFIX with FIX Desktop. FIX32 failover is
incompatible with iFIX.
One of the biggest changes required for iFIX failover is that you include a logical node name in your
configuration. Failover in iFIX follows a different paradigm. In iFIX with FIX Desktop, the
applications on the iClient communicate to the logical node name, and iFIX substitutes the physical
node name at run time based on which SCADA server is available. The combination of the logical
node name, and physical primary and secondary SCADA server names, is referred to as the primary
and secondary pair. You configure the primary and secondary pair in the SCU of the iClient and of
each SCADA server.
For detailed instructions on configuring Enhanced Failover in iFIX, refer to the Enhanced Failover ebook in the iFIX Electronic Books.
For detailed instructions on configuring LAN Redundancy in iFIX, refer to the LAN Redundancy ebook in the iFIX Electronic Books.

Environment Protection Set in the Proficy iFIX WorkSpace


Instead of Draw
You configure environment protection differently in iFIX with FIX Desktop. In FIX v7, you
configured environment protection by clicking Environment command on the Edit menu in Draw to
access the options. In iFIX with FIX Desktop, if you attempt to access these settings from FIX Desktop
Draw, a message box appears, as shown in the following figure.

Environment Protection Message Box in Draw


This message box directs you to the location in iFIX where you configure environment protection
settings. These settings apply to iFIX with FIX Desktop applications.
To configure environment protection in iFIX with FIX Desktop, use the Environment Protection tab of
the User Preferences dialog box of the Proficy iFIX WorkSpace, as shown in the following figure.

50

iFIX with FIX Desktop

Environment Protection Options in the Proficy iFIX WorkSpace


All of the previous FIX v7 environmental protection settings can be found in this dialog box, with the
exception of the Disable Pop-up Menu option. This setting is still available for FIX Desktop View,
however, you must enable it through the PopUpMenu setting in the FixUserPreferences.INI file. When
the PopUpMenu=1, then the right-click pop-up menu is not available. When this value is set to 0, the
pop-up menu is available in View.

Important Notes About Using Environment Protection


When you use environmental protection for iFIX with FIX Desktop, be aware that some limitations
apply to these options when View is running and the Proficy iFIX WorkSpace is in run mode:

Disable <Ctrl><Alt><Del>

Disable Task Switching

Be aware that if you exit the WorkSpace or View, the open application retains the environment
protection settings. However, if you switch the WorkSpace from run to configure mode while View is
still running, View does not retain the environment protection settings.

Security Configuration Changes


Many of the application feature names in FIX v7 have changed in iFIX with FIX Desktop. After you
upgrade to iFIX with FIX Desktop, you need to update your user accounts to the upgraded feature
names if you want to allow the same security.
The following table lists the FIX32 feature name that changed, along with the corresponding feature
name in iFIX with FIX Desktop.

51

iFIX with FIX Desktop

52

Feature Name for FIX32

Feature Name for iFIX with FIX Desktop

Database Builder,
Database Create

Database Manager

Draw

WorkSpace Configure

View

WorkSpace Runtime

Key Macro Editor

Fix32 - Key Macro Editor

Operating System Window

Fix32 - Operating System Window

FIX - System Shutdown

iFIX - System Shutdown

Alarm Summary Display

Fix32 - Alarm Summary Display

Historical Trend Display

Fix32 - Historical Trend Display

Run a Task from View

Fix32 - Run a Task from View

Historical Display Configuration

Fix32 - Historical Display Configuration

Exit from View

WorkSpace Runtime Exit

Database Block Add/Delete

Database Block Add-Delete

GUI Recipe Builder Operations Window

Recipe Builder Operations Window

GUI Recipe Builder Development Window

Recipe Builder Development Window

GUI Recipe Save

Recipe Save from Recipe Builder

GUI Recipe Download

Recipe Download from Recipe Builder

GUI Recipe Upload

Recipe Upload from Recipe Builder

GUI Recipe Text Output

Recipe Text Output from Recipe Builder

GUI TASK Switching

Enable Task Switching

iFIX with FIX Desktop

Feature Name for FIX32

Feature Name for iFIX with FIX Desktop

GUI System Reboot

Enable Ctrl-Alt-Del

Historical Trend Display View Only

Fix32 - Historical Trend Display View Only

CDA Feature 1 - 54

EDA Feature 1- 54

Changes in the Integration Toolkit Programs


After you upgrade to iFIX with FIX Desktop, it is recommended that you recompile your FIX32 EDA
and HDA programs with the iFIX Integration Toolkit. Existing applications that do not include any
new features should work in iFIX with FIX Desktop without any changes. But to keep your system
current, it is good practice to recompile on the upgraded system.
Be aware that EDA programs built under the 6.x or 7.x FIX Integration Toolkit are not able to send or
receive alarms. You must recompile and link the program using the iFIX Integration Toolkit to access
this functionality.

FIX Desktop Pictures Not Backwards Compatible


After you upgrade to iFIX with FIX Desktop, a picture that you save in FIX Desktop cannot be used on
a FIX v7 system. The FIX Desktop picture format is not backwards compatible.
If you want to ensure future compatibility between FIX v7 and iFIX with FIX Desktop, edit and save
your pictures on the FIX v7 system. Be aware that pictures opened with FIX Desktop will be upgraded
automatically during the picture opening process, and may change formats.

Quick Database Tools Not Supported


The FIX Desktop Draw and View applications do not support the FIX32 quick database tools. This is
because the FIX Desktop applications use the iFIX Database Manager instead of the FIX32 Database
Builder. As a result, be aware of the following changes in FIX Desktop:

The Applications menu in View includes an option for the iFIX Database Manager instead of
the FIX32 Database Builder.

The Apps menu in Draw includes an option for the iFIX Database Manager instead of the
FIX32 Database Builder.

The Database menu in Draw is no longer available.

The Add Tag, Modify Tag, Delete Tag, View Tag, and Save Database buttons for the Draw
Toolbox are disabled. If you try to use these buttons, nothing happens. By default, these
buttons do not display in the toolbox, but you can still add them in the Toolbox Configuration
dialog box.

53

iFIX with FIX Desktop

Buttons for Database Quick Tools

The Database Modify option, that appears in the right-click menu in Draw (for instance, when
you have a data link selected), is not available for use. This option appears shaded.

The Add Tag button in the Field Select dialog box in Draw is no longer available. The dialog
box does not display this button.

In the Data Link dialog box in Draw, if you try to add a new tag by typing a new name in the
Tagname field, Draw does not create the new tag. A message appears indicating that the tag
does not exist, allowing you to use it anyway. The message box does not include a button to
add the tag to the database.

Change in the Default Picture Templates


In previous FIX32 releases, the picture size for the default .odt templates was your computer's screen
resolution. This meant that a default .odt template file used by FIX32 Draw could be an XGA, SVGA,
or VGA template.
To support this, FIX32 included four files for each template style. The default file is the .odt file; this is
the actual template file that Draw uses. There are also three supporting files: .xga, .sva, and .vga
templates. The .odt file is actually a copy of the .xga, .sva, or .vga template, but with a different file
extension.
In iFIX with FIX Desktop, the default .odt template file uses the XGA screen resolution. XGA
templates are the default, since most video adapters now provide XGA or better resolution. iFIX with
FIX Desktop includes two other files that can be renamed to an .odt template file. The file extensions
are .sva and .vga. The .sva and .vga files are included only to support older video cards.
If you have an older video card and want to use either the VGA or SVGA template instead, you can
rename the file that you want to use as a template with .odt file extension. This changes the default
template to one optimized for VGA or SVGA monitors.

Example of Changing the Default Template


The iFIX with FIX Desktop product includes a Bungee template style. The PIC folder includes three
files:
File name

Resolution

Bungee.odt

XGA (1024x768)

Bungee.sva

SVGA (800x600)

Bungee.vga

VGA (640x480)

In this example, the Bungee.odt is the file that Draw uses for the default template. This .odt file is a

54

iFIX with FIX Desktop

XGA resolution template. If you want to use the SVGA resolution file (Bungee.sva) as your default
template, use the following steps.
To use the Bungee.sva as your default template:
1.

Rename the current Bungee.odt to Bungee.xga.

2.

Rename Bungee.sva to Bungeee.odt.

This changes the default template to one optimized for SVGA monitors.

FIX Desktop Menu Commands That Appear Differently


In addition to the menu options described in the Quick Database Tools Not Supported section, the
following menu items changed in FIX Desktop:

In Draw, the Multi. Picture Search and Replace command on the File menu, now reads Global
Search and Replace.

In HTD, the Import Lab Data command on the File menu is not available if Proficy Historian
is your configured historian. Though disabled, the menu option still appears in the menu.

Differences for Working with Tags in Scripts


If any of your FIX Desktop pictures use a command script that change the mode of a tag to manual and
then immediately change the value of the tag, you will need to update the script. If you do not, an error
may generate when you run the script.
An error can occur because the value changes as part of the scan cycle, which is not always
immediately. For instance, if your scan cycle is one second, the change in value does not occur until
one second after you issue the command.

FIX32 Script Example


For example, this push button script reports an error on the set value command if the tag is in auto
mode:
SETMANL MyNode:AI1
Setval MyNode:AI1.f_cv 2

FIX Desktop Script Example


In iFIX with FIX Desktop, you would update the script in the previous example to:
SETMANL MyNode:AI1
Pause 1
Setval MyNode:AI1.f_cv 2

55

iFIX with FIX Desktop

Documentation Differences Between FIX Desktop and FIX v7


The FIX Desktop documentation includes updated .HLP files that you can access in all applications
from the Help menu, What's This help, or Help buttons, just as with FIX v7.
In addition, the FIX Desktop electronic book replaces the electronic book for FIX 7.x. The newer help
file is in HTML Help format. It includes new content, along with these FIX32 manuals:

Draw Manual

Macro Editor Manual

Command Language Manual

Tag Group Editor Manual

Historical Trending Manual

View Manual

The remaining FIX32 manuals are no longer applicable. Use this table as a guide to determine which
iFIX manual replaces each obsolete FIX v7 manual.
Changes in the Electronic Books

56

If you Previously Referenced this FIX32


Electronic Book...

You Should Now Refer to this book in the


iFIX Electronic Books...

What's New in FIX v7

iFIX with FIX Desktop

How to Use the Electronic Books

Understanding iFIX, Using the Electronic Books

Introduction to the FIX Software

Getting Started with iFIX

Basics Manual

Understanding iFIX

Environment Setup Manual

Setting Up the Environment

Networking Manual

Setting Up the Environment

System Configuration Manual

Setting Up the Environment

Database Builder Manual

Building a SCADA System

Database Reference Manual

Building a SCADA System

Alarming and Messaging Manual

Implementing Alarms and Messages

iFIX with FIX Desktop

Changes in the Electronic Books


If you Previously Referenced this FIX32
Electronic Book...

You Should Now Refer to this book in the


iFIX Electronic Books...

Security Manual

Configuring Security Features

Recipe Manual

Creating Recipes

Real-Time ODBC SQL Setup Manual

Using SQL

Real-Time ODBC SQL Application Manual

Using SQL

57

Draw Manual
The Draw Manual covers the following topics:

Introduction to the Draw Application

Designing Pictures

Learning the Basics

Using the Draw Tools

Working with Graphic Objects

Working with Text

Working With the Database

Using Dynamic Properties

Understanding Links

Creating Information Links

Creating Special Purpose Links

Creating Trend Chart Links

Creating Statistical Chart Links

Creating XY Plot Charts

Working with Dynamos

Importing Files into Draw

Defining the View Environment

Introduction to the Draw Application


The Draw application provides everything you need to develop real-time computer displays and
provides users with a variety of ways to interact with the displays. The displays you develop in Draw
are viewed by operators using the View application. Below are descriptions of the Draw and the View
programs.

Draw
Draw provides the display designer with graphic, text, data, animation, and charting tools so that the
displays you create are attractive, organized, easy to use, and easy to understand.

View
View provides your operators with a wealth of commands and ways to interact with the displays. Refer
to the View Manual for more information.

59

iFIX with FIX Desktop

Both programs have a full graphical user interface (GUI). With pull-down menus, push buttons, list
boxes, and the other familiar parts of a GUI, learning and mastering Draw and View is both quick and
intuitive. In fact, GE Intelligent Platforms encourages you to put down this documentation and see how
much you can teach yourself by doing. If you're new to GUIs and drawing programs, keep this manual
handy. If you are an experienced user, this manual may serve you better as a reference.

Draw Features
Draw provides the following features:

60

Intuitive graphical user interface.

Complete on-line help.

Support for high-resolution graphic formats.

256 color support.

Access to any point in any iFIX database on the network including the ability to add, modify,
and delete database tags directly from Draw.

Customizable Draw tools including a configurable Toolbox and Color Box.

Ability to quickly view and test your pictures in View from the Draw application.

Variety of operator input dialog boxes.

Screen layout and arrangement features:


o

Alignment options.

Spacing options.

Zoom options.

Snap to grid.

Rectangle, oval, and polygon objects with foreground color, background color, edge color,
pattern style, and edge style properties.

Line and polyline objects with edge color and edge style properties.

Text objects with font, style, and size properties.

Ability to import bitmaps from popular paint programs.

Data, Time, and System information link objects.

Custom alarm queue list boxes (Alarm Summary link object).

Custom push buttons that execute command language scripts (Push Button link object).

Variety of trend and statistical chart link objects:


o

Multi-Pen Trend

Multi-Bar Trend

X-Bar

R-Bar

S-Bar

XY Plot

iFIX with FIX Desktop

Histogram

Ability to convert simple shapes and application scripts into higher level re-usable graphic
wizards called Dynamo Objects.

Dynamic property assignments for objects:


o

Dynamic foreground, background, and edge coloring.

Dynamic horizontal and vertical movement.

Dynamic scale.

Dynamic rotate.

Dynamic horizontal and vertical fill.

Command language scripts.

Dynamic visibility.

Pre-built and modifiable tag summary pictures, one for each tag type.

Pre-built and modifiable Network Status Display pictures.

Understanding Object-Oriented Graphics


Bitmapped Graphics
Your monitor consists of a matrix of tiny dots called pixels. Many graphics programs work by giving
you tools to manipulate the color of each pixel. When you add rectangles, lines, or text, the program
translates the shapes into matrixes of dots and changes the color of the screen pixels to match the dot
matrixes. These dot matrixes are called bitmaps.
A limitation of bitmaps is that once you create a matrix, there is very little you can do to change it.
You can erase or partially erase the bitmap or paint a new bitmap on top of the old one. Changing
bitmaps takes almost as much time as creating bitmaps.
Object-Oriented Graphics
Draw, on the other hand, works with mathematically defined objects, not individual pixels. An objectoriented graphic consists of a visible bitmap and an invisible data structure of programming logic that
defines the size, color, style, position, and special properties of the object. The existence of the data
structure frees the user from having to work with individual pixels. You interact with tools, menus, and
dialog boxes to add and change object properties while the program automatically adjusts the object
representation and data structure for you.
Comparison
Suppose two artists are each given a blank canvas and asked to create a representation of a square,
circle, and triangle. The first artist paints the three shapes. The second artist cuts the shapes out of
colored paper and lays them on the canvas. If you then ask the artists to change the order of the shapes
on the canvas, the first artist has to repaint them all. The second artist simply moves the paper shapes
with his or her finger. In fact, the second artist can add, delete, and move objects quite quickly while
the first artist has to repaint for every new request. In the language of computer graphic programs, the
first artist is using bitmapped graphics. The second artist is using object-oriented graphics.
To be fair to bitmapped graphics, this technology is useful when you need to add very fine detail and

61

iFIX with FIX Desktop

don't mind spending the time it takes. Since fine detail can sometimes be important, Draw allows you
to import bitmapped graphics and use the bitmaps as objects. For more information about bitmap
objects, see Importing and Exporting Bitmaps.

Hardware and Software Requirements


Hardware
The basic requirements for a FIX node also apply to a Draw user. Throughout your iFIX with FIX
Desktop software, configuration programs require the use of a supported pointing device like a mouse
or a track ball. Therefore, Draw requires a pointing device, but View does not.
Software
Both Draw and View require you to start up the basic iFIX software before you can use them. Refer to
the Getting Started guide for more information on hardware and software requirements.

Where to Find Files


Draw creates the following types of files that you may want to include in your system backup plans:
File Type

Extension

Backup Extension

Default Directory

Operator display files

.ODF

.^DF

Pic

Template Files

.ODT

.^DT

Pic

Dynamo Sets

.SBL

.^BL

Pic

Custom Palettes

.PLT

.^LT

Pic

Understanding Draw Security


To use Draw, you must be assigned the proper security rights. If you cannot perform a task because
you lack security rights, Draw displays an appropriate error message.
If you are unable to perform a function, contact your Security or System Administrator.
Securing the Operator Environment
In Draw, you can use environment protection to create a secure View environment that prevents the
operator from performing unauthorized actions. You can prevent operators from:

62

Starting other tasks.

Opening unauthorized pictures.

Switching to unauthorized tasks.

iFIX with FIX Desktop

Closing the current picture.

Exiting View.

Rebooting the computer using CTRL+ALT.

Using the View menu.

Refer to Defining the View Environment for more information on creating a secure environment.

Designing Pictures
The Draw program provides graphic, text, data, and animation tools that let you create high-resolution,
real-time operator displays. You can design displays that combine process and system data to give
plant managers, engineers, and operators the information they need in the most meaningful format.
Draw provides a wealth of graphic tools that give you powerful ways to translate data into easily
understandable charts and visual cues.
Once you've created displays, operators can access them with the View program. Draw builds and
View displays the window into your process.
This chapter highlights techniques that you can use to help design and plan the function of each Draw
picture. This chapter also covers design concepts that you should evaluate before beginning to develop
individual operator displays. This chapter includes the following topics:

Developing a Hierarchy of Displays

Using Templates

Using Dynamos

Using Fast Update Designs

Developing Large Pictures

Developing a Layout

Understanding Picture Types

Using Macros and the Command Language

Understanding Tag Groups

Using 256 Colors

Alarm Counters

Using Variables

Accessing a Relational Database

Developing a Hiearchy of Pictures


Before developing individual displays, consider designing a hierarchy. A hierarchy is simply a system
of linked displays that provides progressively more specific information as you move through the
displays. A hierarchy should suit the needs of the various users, including managers, MIS groups,
engineers, supervisors, and operators.
Your hierarchy could include a:

63

iFIX with FIX Desktop

Directory

Plant-wide overview

Process monitoring display

Management summary display

System status

Alarm summary

Trend display

The following figure shows a display hierarchy.

Hierarchy of Displays
By providing users with a way to navigate through your system, users can quickly get to the data they
require. You can make moving from display to display, either flexible in an operator controlled
environment, or predefined in a secured environment.

Using Templates
Draw lets you create templates that you can use as a head start when designing displays, while
ensuring the uniformity that you need. For example, there may be information that you want to display
on every screen such as the:

System date

System time

Picture name

Alarm summary

Key database values

Push buttons that call up other pictures

The Draw template feature lets you create a picture containing the elements that you want to appear on

64

iFIX with FIX Desktop

multiple displays. You can use a template each time you need to create an operator display. When
using a template to create a display, Draw saves the picture as a normal operator display (.ODF) file
and does not overwrite the template file.
Refer to Learning the Basics for the procedures and commands to create and use templates.
NOTE: The resolution of the default templates changed between FIX32 and iFIX with FIX Desktop. In
iFIX with FIX Desktop, the default .odt template file uses an XGA (1024x768) screen resolution. For
information on changes to the default templates between FIX32 and FIX Desktop, refer to the Change
in the Default Picture Templates section.

Using Dynamos
As you develop a system of operator displays, you may need to use an object you created for one
picture in other pictures. Draw provides a powerful way to save custom-built objects and application
scripts into higher-level reusable graphic wizards called Dynamos. A Dynamo is an object, link, or
group of objects that you store in a Dynamo set. Using Dynamos makes drawing your displays easier
and creates a consistent design across your operator displays.
Refer to Working with Dynamos for the procedures and commands to create and use Dynamos.

Using Fast Update Designs


Updating open pictures uses valuable processing resources because View redraws the picture at each
update. To help reduce the amount of time it takes to update a picture, View only redraws the areas of
the picture that need to be changed.
View divides each picture into 3 regions. Refer to Optimizing Picture Performance for information on
designing your pictures using the regions.

Developing Large Pictures


You can only see the part of the picture that is currently in the viewport. Draw and View provide scroll
bars so that you can move different parts of the picture into the viewport. View updates only the part of
the picture that is in the viewport. View also updates the picture as you scroll. The following figure
illustrates the concept of a viewport to a large picture.

Viewing Large Pictures

65

iFIX with FIX Desktop

Developing a Layout
Since you can have several pictures open, you can create arrangements of small pictures. A picture
arrangement is called a layout. In View, you can save specific combinations of pictures and their
positions on the screen in layout files. Later you can open the layout file and the pictures open to the
positions you saved them in. When you have several pictures open in View, View updates each picture
according to its own update time.
The following figure illustrates a layout of small pictures.

Viewing Small Pictures


Refer to Defining the View Environment for the procedures and commands on creating layouts.

Understanding Picture Types


The displays you create with Draw are called pictures. Draw distinguishes among the following types
of pictures:

Standard pictures

Subpictures

Pop-up pictures

Picture Definitions
A standard picture is most commonly used for your full screen displays. Standard pictures can open
other pictures inside them. The pictures that appear inside of a standard picture are called subpictures.
Subpictures can be either titled or untitled, and are best suited for showing detailed information about
an item in a standard picture. Subpictures can also appear inside other subpictures. This feature makes
subpictures a good choice when you want to show several levels of detail.
The following figure shows an example of a standard picture and a subpicture. For additional
information about standard and subpictures, refer to Working with Standard Pictures and Subpictures.

66

iFIX with FIX Desktop

Sample Standard Pictures and Subpictures


A pop-up picture is a picture that is always in front of all currently open pictures. For this reason, popup pictures are well suited to show alarm messages, control panels, toolbars, or menus. Pop-up pictures
are also ideal for simulating dialog boxes that appear off your standard pictures.
Pop-up pictures can be moved anywhere on the screen. Moving a pop-up picture does not affect any
other open window.
The following figure shows an example of pop-up pictures. For more information on pop-ups, refer to
Working with Pop-up Pictures.

Sample System and View Pop-up Pictures

67

iFIX with FIX Desktop

Working with Standard Pictures and Subpictures


When you work with standard pictures and subpictures, you need to understand the behavior of picture
windows. Standard picture windows behave like documents in any other program you may be familiar
with (for example, Word documents or Excel workbooks). Window operations, such as moving, sizing,
or closing a standard picture, do not affect any other open standard picture. If you have more than one
standard picture open, the active picture is always in front of the other standard pictures.
Subpictures behave differently from standard pictures.
Moving Subpictures
A subpicture can be moved within the area of the picture that opened it by dragging the subpicture's
title bar. If an operator moves a subpicture beyond the border of the picture that opened it, the
subpicture is clipped. The following figure shows this concept.

Moving Subpictures Inside a Standard Picture


You can also move a subpicture by dragging the title bar of the picture that opened it. When you move
the picture that opened the subpicture, the subpicture moves with it. The following figure shows this
concept.

68

iFIX with FIX Desktop

Moving Subpictures by Moving its Parent


Closing Subpictures
On the File menu or System menu, click Close to close a subpicture. You can also close a subpicture
by closing the picture that opened it.
Alternatively, you can provide a push button to close a subpicture using a command language script
with the CLOSEPIC or REPLACEPIC commands. Refer to the Command Language Manual for more
information on using these commands.
Working with Pop-up Pictures
Pop-up pictures can be set up in one of two ways. By default, pop-up pictures are always in front of all
currently open FIX Desktop pictures. However, pop-up pictures can also be configured to be always on
top. When this option is selected for a pop-up picture, it remains in front of all open windows from all
applications.
Working with pop-up picture windows is similar to working with standard picture windows. For
example, window operations, such as moving, sizing, or closing a pop-up picture, do not affect any
other open picture. However, unlike standard pictures and subpictures, pop-up picture move
independently from View, as the following figure shows.

69

iFIX with FIX Desktop

Moving Pop-up Pictures


Specifying the Picture Type
You can specify the type of picture you want to create with the following steps.
To specify the type of picture that you want to create:

70

1.

Start Draw.

2.

On the Edit menu, click Picture. The Picture dialog box appears.

3.

Select one of the picture type radio buttons. The following table describes your options.

To create a

Select the

Standard picture

Standard radio button

Subpicture

Subpicture radio button

Pop-up picture

Pop-up radio button

iFIX with FIX Desktop

To create a

Select the

Pop-up picture that is always on top

Pop-up radio button and the Always on top check box

After specifying the picture type, select one or more window properties for the picture. Proceed to the
Window Properties for Pictures section to determine which window properties you need.
Window Properties for Pictures
Draw provides the following window properties for pictures:

Title bars

System Menus

Sizing Borders

Always on Top

Not all properties are available for all pictures. The type of picture dictates which properties can be
selected. Each of these properties can be turned on or off, allowing you to create the exact look and
feel you want. For example, you can:

Simulate dialog boxes by creating pop-up pictures with the title bar and System Menu
enabled.

Create a tool palette for operators using a pop-up picture with the sizing borders and System
Menu disabled.

Create an opening title screen by creating a standard picture with each window property
disabled.

Selecting Window Properties for Pictures


Use the following steps to enable of disable a window property.
To enable or disable a window property for a picture:
1.

Start Draw.

2.

On the Edit menu, click Picture. The Picture dialog box appears.

3.

In the Windows Properties area, select check boxes that you want to apply and click OK.

4.

Add the objects you want to the picture, and save it.

Using Macros and the Command Language


Macros
Command Language is a powerful scripting tool that lets you automate operator tasks through a series
of commands and instructions. These instructions are stored in command language scripts that execute
upon request. The Macro Editor is used to create custom keyboard accelerators that execute a

71

iFIX with FIX Desktop

command language script. When you assign a script to a keyboard accelerator, it's called a macro.
Security Ideas
The capabilities of the command language provide a wide range of possibilities to add custom
functionality to your automation strategy. For example, View contains many powerful menu
commands. You may want to prevent access to these commands. You can create a macro file that
disables unwanted menus, menu commands, and keyboard accelerators.
Command Language
You can also assign command language scripts to picture files and objects within Draw. The command
language contains many commands that you can use to automate operator tasks. For example, you can
use the command language to:

Manipulate files.

Manage alarming.

Control I/O points.

Automatically run other applications.

Incorporate custom security features.

Incorporate custom operator messages.

Depending on how the system and display development incorporates the command language, script
execution can come from a variety of sources:

Keystroke.

Push button selection.

Object selection.

Picture opening.

Picture closing.

It's a good idea to get familiar with this powerful part of your FIX environment.
See the Macro Editor Manual and the Command Language Manual for information on the Macro
Editor and the command language.

Understanding Tag Groups


If many of your pictures are identical except for the tagnames they reference, you can create one
generic picture that uses multiple sets of tags. These sets are called tag groups. By using tag groups,
you can cut development time and save a considerable amount of disk space.
A tag group symbol can be used as a place holder for a tagname that will be substituted dynamically at
view time when a tag group is applied to a picture. See the Tag Group Editor Manual for more
information on tag groups.
Using this feature, you can create multiple sets of tagnames that you assign to a picture. If a different
tag group is needed subsequently for a picture, you can assign that tag group in place of the currently

72

iFIX with FIX Desktop

assigned one. Instead of switching between different displays, simply load different tag groups into the
same display.
For example, to create a picture that gives information on 4 different wells you would do the
following:
1.

Draw one detailed well display to use for all 4 wells.

2.

In this picture include 4 buttons or hot points to access information on each well.

3.

For each button in the picture, apply a different tag group file.

4.

When the picture is opened in View, the operator is required to specify one of the tag group
files. See Opening Pictures with Tag Groups in View for more information.

In Draw, you can use tag groups with:

Dynamic Properties. Refer to Using Dynamic Properties for more information.

Links. Refer to Understanding Links for more information.

Command language scripts. Refer to the Command Language Manual for more information.

Opening Pictures with Tag Groups in View


When an operator opens a picture in View, the picture is checked for tag group symbols. If tag group
symbols are found, the operator must specify a tag group file in order for the picture to open.
To load a tag group into a display, simply select the desired picture file from the File Open command
in View. If the picture requires a tag group, you will be prompted with the Enter Tag Group Filename
dialog box. Select a tag group file by either typing it into the file name field and pressing ENTER or by
double-clicking it in the list box. View opens the picture with the tag group you have specified.
NOTE: If you assign a tag group to a picture in View, and a link within the picture contains a tag
group symbol that is not defined in the tag group you assigned, the link will be removed from the
picture.
You may also specify tag groups within a layout file. The layout file is used to group pictures together.
You can predefine layout files to avoid having the operator open pictures and select tag groups.
You can also assign tag groups to pictures that use the Next and Previous commands to open them.
This allows the operator to select the Next or Previous menu items and automatically have tag groups
assigned to the pictures being opened.
NOTE: Refer to Changing Picture Size and Settings for information on assigning tag groups to
pictures.
Applying a Tag Group Automatically
If you have a set of common displays that you want to use for several process areas, you can use tag
groups for each area by using a tag group file in command language scripts that open (OPENPIC
command) and replace (REPLACEPIC command) pictures. For example, you can create several Push
Button links and assign scripts that open a common display. The Command Language also allows tag
group symbols to be used for many command parameters.
Refer to the Command Language Manual for more information on the command language.

73

iFIX with FIX Desktop

Using 256 Colors


With a 256 (or more) color video driver installed, Draw can display up to 256 solid colors in a picture.
However, if you display a picture on a PC that supports less colors than the PC where the picture was
originally created, you will see a noticeable difference in the colors of your objects and bitmaps.
For example, if you create a picture on a machine with a 256 color video driver and then display that
picture on a machine with a 16 color video driver, only 16 of the colors will be solid and the remaining
colors will be dithered.
If you need to design pictures that are downward compatible (from 256 color to 16 colors), the Draw
color box contains a row of 16 colors which will display as solid regardless of the video driver. Using
these colors will ensure that your objects and bitmaps will appear as they were originally created.
Refer to the Using the Draw Tools section for more information on the color box.

Alarm Counters
The SIM driver provides access to alarm counters which are real-time values that represent the number
of acknowledged and unacknowledged alarms that currently exist in your system. You can use alarm
counters in database blocks to perform certain functions, such as alarming and trending. In Draw, you
can create displays which incorporate alarm counter information. You can:

Display a count of acknowledged and unacknowledged alarms using a Data link that targets
an alarm counter field. For example, to display a count of the unacknowledged alarms in area
B, enter NODE:SYSTEM.A_UAB in the tagname field of a Data link.

Display whether or not acknowledged and unacknowledged alarms exist in your system.

Assign dynamic properties to an object that targets a Digital Input tag that is configured to
access SIM driver alarm counters. For example, you can have an object change color if
unacknowledged alarms exist.

NOTE: For more information on alarm counters, refer to the Using Alarm Counters section in the
Implementing Alarms and Messages electronic book.

Using Variables
Draw lets you enter a variable in place of a tagname for objects with dynamic properties and for certain
links. A variable, as its name suggests, can represent different values at different times. By changing
the value of a variable in a command language script, you can quickly and easily display process data
as needed.
Variables can store string or numeric values. However, when a variable is used as a tagname
substitution, string data is required in the following format:
NODE:TAG.FIELD
Variables must be defined and their values set in a command language script before you can use them
as a tagname. When an operator displays an object or link using a variable, View resolves the
substitution by retrieving the value of the tagname specified by the variable. View retrieves values
according to the picture's Refresh Rate, by default every .1 seconds.
For more information about using a variable in a dynamic property or a link, refer to Working With the

74

iFIX with FIX Desktop

Database, Using Dynamic Properties, and the Command Language Manual.

Accessing a Relational Database


Draw provides support for accessing a relational database. This support lets you display the data that
resides in the database to operators. To access this data, define an SQL login account in the SCU and
create an SQL startup script for a picture. The SQL startup script executes when an operator opens a
picture containing the script.
For information on SQL and iFIX ODBC, refer to the Using SQL manual. To create a startup script,
use the Picture dialog box. Refer to Learning the Basics for more information on adding an SQL
startup script to a picture. Note that for additional flexibility and ease-of-use, you can also create an
SQL startup script from a Data link. Refer to Creating Information Links for more information on
creating an SQL startup script from a Data link.
If you experience difficulty accessing a relational database or if access is slow, you may need to
optimize your relational database. For tips on using SQL, refer to the Using SQL manual.

Learning the Basics


Draw is the type of program that's easy to learn by trying out the various tools and menu commands.
This chapter covers the most basic features of the program including:

Starting, maximizing, and exiting Draw.

Understanding the picture file types.

Creating, opening, closing, saving, deleting, and printing pictures.

Creating picture templates.

Previewing pictures in View.

Changing picture size and settings.

Creating picture reports.

Zooming and refreshing pictures.

Switching picture windows.

Switching to other applications.

Using the Draw cursors.

Searching and replacing tagnames.

Starting Draw
When you open Draw for the first time, it opens a blank, untitled picture, and the Toolbox and the
Color Box are displayed, as shown in the following figure. If you make no changes to the start-up
picture, Draw closes it automatically when you open another picture or template.
Refer to the Using the Draw Tools section for information on using the Toolbox and the Color Box.

75

iFIX with FIX Desktop

Draw Window
Draw gives you several ways to organize what you see in the window. For example, when a picture is
too large to fit in the window, Draw provides scroll bars to move around. Draw's scroll bars work like
the ones you find in your window manager. Draw also lets you zoom a picture and open and switch
between many picture files.
If you attempted to start Draw, but you are not logged on, the following message appears.
Unauthorized access to Draw.

If you log on and still cannot start Draw, then your system administrator has not assigned you rights to
use the program. To proceed, get in touch with your system administrator.
Maximizing Draw
When Draw is open and you subsequently minimize the window.
Windows provides two ways to reopen the window. You can click the icon at the bottom of the screen
or you can click the icon in your Proficy HMI SCADA - iFIX program group. Always click the icon at
the bottom of the screen. If you reopen Draw using the other method, Draw is not maximized. If you
modify or create a picture when Draw is not maximized, the picture may produce scroll bars in View.
Remember, always draw pictures in a maximized window to avoid conversion problems between
standard and high resolution monitors.

76

iFIX with FIX Desktop

Exiting Draw
On the Toolbox, click the Exit button. Or, on the File menu, click Exit to close the Draw program. If
you have open picture files, Dynamo sets, or databases that contain unsaved changes, Draw asks if you
want to save the changes for each file or database. After you save or cancel changes, Draw exits and
returns to the window manager.

Understanding Picture File Types


There are two types of picture files:

Operator display pictures These are the displays that operators view in View. Draw stores
these pictures in the Picture directory. You can recognize these picture files by the .ODF file
extension. For example: TANKS.ODF STATUS.ODF OVERVIEW.ODF

Templates You can create templates to use as a head start when creating operator displays.
Draw stores template files in the Picture directory. You can recognize template files by the
.ODT file extension. For example: TANKS.ODT STATUS.ODT OVERVIEW.ODT

NOTE: You cannot open template (*.ODT) files in View. However, you can preview templates using
QuickView (see the Maximizing Draw section).
The remainder of this chapter describes the Draw procedures and commands to manipulate template
and picture files. Most of these commands are on the File menu.

Creating New Pictures


You can create a new picture from scratch or use a template as a starting point. (See the Creating
Picture Templates section for information on creating templates.)
To create a new picture from scratch, simply click the New Picture Tool Box button. This button
automatically opens a blank untitled picture (.ODF) file.
To create a new picture using a template as a starting point:
1.

On the File menu, click New. The New dialog box appears.

2.

Select a template from the list box and click OK. The template picture appears. When you
save the picture, Draw saves it as an (.ODF) file and does not overwrite the original template
file.

Creating Picture Templates


Draw lets you create templates that you can use as a starting point when creating displays. Using
templates ensures a uniform look across your displays by providing a means to display standard
information in multiple pictures. Refer to the Designing Pictures section to see a sample template.
To create a template:
1.

On the File menu, click New. The New dialog box appears.

2.

In the Create New section of the dialog box, select the Template button.

77

iFIX with FIX Desktop

3.

Click OK.
A blank untitled template appears.

4.

Create the display elements as you would a normal display and save the file. Draw saves the
template as an .ODT file and stores it in the Picture directory.

NOTE: The New Picture button on the Toolbox does not allow you to create a template.

Modifying Picture Templates


The steps that follow explain how to modify a template.
To modify a template:
1.

On the Toolbox, click the Open Picture button. Or, on the File menu, click Open. The
standard File Open dialog box appears.

2.

In the List Files of Type field, select Templates (*.ODT) as the file type.

3.

Select the template file from the list that appears and click OK.

4.

Make the necessary changes to the template.

5.

On the File menu, click Save to save the changes.

Opening Pictures
On the Toolbox, click the Open Picture button. Or, on the File menu, click Open to display an existing
picture (*.ODF), template (*.ODT), or backup (*.^D?) file. You can have up to 10 files open at a time.
When you select Open, the standard File Open dialog box appears. Select the desired file and click
OK.
You may not have the necessary security rights to access some pictures. If this is true, the following
message appears:
Unauthorized access attempted.

To proceed, contact your System Administrator.

Saving Pictures
Use the Save command to store your picture or template file on disk. The first time you save a picture
file, Draw prompts you to enter a file name. On subsequent uses of the Save command, Draw saves the
file under the same name.
If you are saving for the first time (you are saving an Untitled file), then use the following steps.
To save a picture for the first time:

78

1.

On the Toolbox, click the Save Picture button. Or, on the File menu, click Save. The standard
File Save dialog box appears.

2.

In the File Name field, type in a new name, up to eight characters long.

iFIX with FIX Desktop

3.

Select OK. Draw adds the appropriate file extension: .ODF for operator displays or .ODT for
templates.

When you select Save for a picture that already has a name, Draw writes your changes directly to the
disk file.
Save your work often. Doing so makes recovering from mistakes easier. The title bar of the picture
displays an asterisk (*) next to the picture name if the file contains unsaved changes.
For example, when you first bring up a picture, the picture window displays the name in the title bar:
PICTURE.ODF.

As soon as you make a change, an asterisk appears next to the name in the title bar:
PICTURE.ODF*

Save As
Use the Save As command to save a copy of the active picture or template file under a different name
or as a different file type. Save As does not remove the original file it creates a new file with a new
name or type.
If you make changes to a file and then use Save As to create a new file, only the new file contains the
changes. The old file remains exactly as it was before you made changes. If you wanted your changes
in both the old and new files, use Save before Save As.
To save a file under a new name or as a different file type:
1.

On the File menu, click Save As. The standard File Save dialog box appears.

2.

In the File Name field, enter the new name, up to eight character long to save a copy of the
file under a new name.

3.

In the Save Files as Type field, select the file type to save a copy of the file under a new type.
The default type, either Picture or Template, is the current file type. Draw adds the
appropriate file extension: .ODF for operator displays or .ODT for templates.

4.

Select OK.

Renaming Pictures
To change the name of a picture, use the Save As command. By using this command, you ensure the
internal name of the file is updated and matches the new name you select. Both names must match if
you plan to preload it.
If you rename a picture through the operating system or if you copy an .ODF file to a different name,
the internal file name is not updated. To correct this, be sure to open the picture in Draw and save it
with the new file name.
Backup Files
Draw creates a backup file each time you save a picture, template, custom color palette, or Dynamo
set. Backup files allow you to recover the last version of a file before you saved.

79

iFIX with FIX Desktop

The backup file uses the same name as the original file, but has a different file extension. The file
extensions for Draw backup files are:

.^DF for operator displays.

.^DT for templates.

.^BL for Dynamo sets.

.^LT for custom color palettes.

Closing Pictures
When you select the Close command from the Toolbox or the File menu, Draw removes the active
picture or template from the screen.
If you haven't saved your changes, Draw displays the following message:
Save changes for Untitled1?

Select Yes to save changes, No to discard changes, or Cancel to return to Draw with the file still open.
If the file does not yet have a name, and you click Yes, the File Save dialog box appears.

Deleting Pictures
The following steps describe how to delete pictures and templates.
To permanently delete pictures and templates:
1.

On the File menu, click Delete.

2.

In the List Files of Type field, select the type of file you want to delete.

3.

Select the file that you want to delete from the file list and select OK.
Draw displays a message box asking you to confirm the deletion.

4.

Click Delete to delete the file or Cancel to cancel without deleting the file.

Printing Pictures
On the Toolbox, click Print. Or, on the File menu, click Print to print the currently active picture. If the
picture is larger than the screen and you want to print the entire picture, select the Zoom Out or Fit in
Window commands from the Toolbox or the View menu before you print.
When the picture is printing, a dialog box appears that allows you to cancel the printing.

Previewing Pictures
While you are creating a picture in Draw, you can preview the picture in View using the QuickView
command. QuickView lets you test the elements of the picture, such as links and push buttons, as you
create them.

80

iFIX with FIX Desktop

To preview the active picture from Draw:


1.

Click the QuickView button on the Toolbox or select QuickView from either the View menu
or the right mouse button menu.
The View window opens, ignoring any default layout, caching, or picture preloading defined
for View, and displays the picture that is active in Draw. You can now test the picture. Note
that the QuickView command erases the Undo actions to prevent old copies of objects from
interfering with the preview.

2.

From the View application, on the View menu, click QuickDraw to return to Draw. The
active picture in View displays in Draw.

This procedure can also begin from View. Start View, open a picture, and then on the View menu,
click QuickDraw. QuickDraw starts Draw and displays the picture that is active in View.
Considerations
Consider the following when previewing pictures:

Task Switching must be enabled in the Environment Protection settings in the iFIX
WorkSpace (from the User Preferences dialog box), to use the QuickView and QuickDraw
commands.

Any Commands on Opening or Commands on Closing scripts will execute in View unless
you specify otherwise in the VIEW.INI file.

While using QuickView, any changes you make to environment protection settings will not
take effect until after you shut down and restart the View application.

Refer to the Defining the View Environment section for more information on environment protection.

Changing Picture Size and Settings


Every picture file has several settings that you can change, such as picture size. To view or change the
settings of the active picture file, on the Toolbox, click the Edit Picture button. Or, on the Edit menu,
click Picture. Draw displays the Picture dialog box, as shown in the following figure.

81

iFIX with FIX Desktop

Picture Dialog Box


Setting the Width and Height
To change the picture width and height, complete the following fields in the Picture dialog box:
1.

Enter the width, ranging from 0.25 to 32.00 inches, that you want the picture to occupy in the
Picture Width field.

2.

Enter the height, ranging from 0.25 to 32.00 inches, that you want the picture to occupy in the
Picture Height field.

The default values are the maximum width and height that your monitor can display. If you specify a
larger width, Draw and View supply scroll bars so you can move through the picture.
If environment protection is defined so that the menu bar or View application title bar is disabled, you
must adjust the height settings of the picture to make it appear full screen in View. The following table
shows the height settings for three possible screen configurations (with environment protection
enabled).

82

iFIX with FIX Desktop

Screen Resolution

Default

No Menu Bar

No Menu and Title Bars

640x480

4.17

4.330

4.530

800x600

5.37

5.550

5.730

1024x768

7.05

7.230

7.430

The settings in the previous table also apply to pictures that have the picture's title bar (as opposed to
the View title bar) disabled. See the Enabling or Disabling the Title Bar section for information on
disabling and enabling the picture's title bar.
Refer to the Defining the View Environment for more information on Environment Protection settings.
Setting the Background Color
You can think of the background as a painting canvas. The default background color is white.
To change default background color from the Open the Picture dialog box:
1.

Select the Background Color button to display the color palette.

2.

Choose a new background color by clicking it. The Background Color button displays the
color you chose.

3.

Click OK to return to the Draw window and display the new background color.

Setting the Refresh Rate


By default, View updates a picture every 0.1 seconds with new database values. This is called the
refresh rate.
To change the refresh rate, enter a new value in the Refresh Rate field. You can enter values from 0.05
to 1800.0 seconds.
It's a good practice to assign fast refresh rates for animation only. Slower refresh rates conserve
processing time and network resources.
Restricting Security Access
You can restrict access to the picture to certain security groups. The default is NONE which lets all
Draw and View users access to the picture.
To restrict access, in the Picture dialog box:
1.

Select the browse (...) button next to the Security Area field to see a list of security areas.

2.

Select the appropriate security area from the list box and select OK.

For more information about software security, refer to the Configuring Security Features manual.

83

iFIX with FIX Desktop

Assigning Keyboard Accelorators


You can assign custom keyboard accelerators to a picture. Keyboard accelerators are stored in a macro
file. When the operator opens the picture in View, the custom keyboard accelerators stored in the file
become available to the operator.
To assign a keyboard accelerator macro file to a picture, in the Picture dialog box:
1.

Select the browse (...) button next to the Macro File Name field to see a list of keyboard
accelerator macro files.

2.

Select a macro file from the list box and select OK.

See the Macro Editor Manual for information on how macros work FIX Desktop.
Enabling or Disabling the Title Bar
You can enable or disable a picture's title bar. By default the title bar is enabled.

To disable the title bar, uncheck the Title Bar check box.

To enable the title bar, check the Title Bar check box.

When a picture has no title bar, its position is fixed. The picture opens in Draw and View in the
position it was saved the user cannot move it. When the picture is as large as possible and cannot be
moved, your operators cannot switch to other pictures by using the mouse. When you select this
option, the maximum size of the picture is the size of the monitor screen.
Pictures without title bars are useful for simulating dialog boxes.
NOTE: For pictures without title bars, add a title bar before moving between standard resolution and
high resolution monitors. You can remove the title bar after you move the picture.
Enabling or Disabling the System Menu
You can disable or enable a picture's system menu. By default the system menu is disabled. The
system menu is located on the far left side of the picture's title bar. It contains the system commands
such as the Close command that lets the operator close the file, and the Switch To command that lets
the operator switch from View to another task.
To enable a picture's system menu, check the System Menu Enabled check box. The picture's title bar
(see the Enabling or Disabling the Title Bar section) must be enabled to enable the System Menu.
To disable a picture's system menu, uncheck the System Menu Enabled check box.
Adding Command Scripts to a Picture
You can add a Command Language script to a picture so that the script executes upon closing or
opening the picture in View. Scripts are built using the Command Language Editor. View executes the
commands in the script after you select the picture, but before the picture appears in the View window.
For complete information on using both the Command Language Editor and the Command Language,
see the Command Language Manual.

84

iFIX with FIX Desktop

To add a script that executes when the picture is opened in View, in the Picture dialog
box:
1.

Select the Commands on Opening button. The Command Language Editor dialog box
appears.

2.

Enter the script and select OK. A check mark appears in the Open Commands check box. You
can disable and erase the script by unchecking the box.

To add a script that executes when the picture is closed in View, in the Picture dialog
box:
1.

Select the Commands on Closing button. The Command Language Editor dialog box appears.

2.

Enter the script and select OK. A check mark appears in the Close Commands check box.
You can disable and erase the script by unchecking the box.
NOTE: Commands included in the Commands Upon Closing button will only execute upon
normal picture closing or by selecting the Exit command from View. If a picture is closed as a
result of the iFIX software shutdown option, these commands will not execute.

Defining the Previous and Next Picture


You can create a series of linked pictures that a View operator can cycle through by using the Previous
Picture and Next Picture commands in View.
To define the previous picture:
1.

Enter the name of the picture in the Previous Picture Name field. Select the browse (...) button
to choose from a list of pictures.

2.

If you always want the previous picture file to use the same tag group, enter a specific tag
group file name in the Previous Picture Tag Group Name field.

To define the next picture:


1.

Enter the name of the picture in the Next Picture Name field. Select the browse (...) button to
choose from a list of pictures.

2.

If you always want the next picture file to use the same tag group, enter a specific tag group
file name in the Next Picture Tag Group Name field.

If you assign a previous or next picture tag group, it automatically loads the tag group each time the
operator uses the Page Up or Page Down keys in View. If you want the next or previous picture file to
access multiple tag groups, leave this field blank. Refer to the Understanding Tag Groups section for
more information on tag groups.
Adding SQL Startup Scripts
You can make pictures automatically log into a relational database and retrieve data by adding to the
pictures SQL startup scripts. View handles the automatic login.

85

iFIX with FIX Desktop

To add SQL startup scripts to pictures:


1.

Select the SQL Commands on Opening button or the SQL Commands check box in the
Picture dialog box.

2.

When the Command Language Editor appears, enter a command language script to retrieve
the data you need.

The script you create executes concurrently with the Commands on Opening script. To avoid timing
issues, design each script to operate independently.
When the SQL startup script ends, View keeps the database connection open to speed the retrieval of
additional data. The connection closes when View closes.
For more information on using a command language script to access a relational database, refer to the
Command Language Manual. To delete SQL startup scripts, deselect the SQL Commands check box.
Note that for additional flexibility and ease-of-use, you can also create SQL startup scripts from a Data
link. Refer to the Creating Information Links section for more information on creating SQL startup
scripts from a Data link.

Creating Picture Reports


On the File menu, click Report to generate a report for the currently active picture. The information
contained in the report varies depending on the complexity of a picture. The report may contain the
following information:

Picture-specific properties:
o

Name

Width

Height

Background color

Refresh rate

Key macro

Security area

Dynamic properties for each object or link:


o

Controllable

Modifiable

Foreground color

Horizontal Position

Visible/Invisible

Scaling

Horizontal Fill

Command List

After you select Report, you are prompted to enter a filename for the report. Reports have an .ODR file

86

iFIX with FIX Desktop

extension and are stored in the picture directory path defined in the SCU.
When you create a picture report, each color attributed to the picture is represented by a sequence of
three numbers. The first number represents the degree of red within that color, the second number the
amount of green, and the third number the amount of blue. These numbers range from 0 to 255, with
255 representing the highest possible intensity of that color. The following table explains this concept:
If the numbers are...

Then the display color is...

000

Black

255 255 255

White

255 0 0

Red

0 255 0

Green

0 0 255

Blue

255 255 0

Yellow

Zooming Pictures
Zooming is the process of magnification, as if you were looking through an adjustable camera lens.
The Zoom commands reside on the Toolbox and on the View menu. Use the Zoom In command to
enlarge your picture to work on the details. Use the Zoom Out command to reduce the picture to work
on the overall structure. Using a zoom function does not permanently change the size of the objects
contained in the picture.
To restore your normal view, on the Toolbox, click the Default View button. Or, on the View menu,
click Default View. The following table describes the zoom functions.
Function

Description

Default
View

Restores the view to 100% magnification

Zoom in

Increases the magnification by increments of 25%.

Zoom Out

Increases the magnification by increments of 25%.

87

iFIX with FIX Desktop

Function

Description

Zoom To

Allows you to select a screen area. Draw then proportionally magnifies the area in
the picture window. To use:

Fit in
Window

1.

On the View menu, click Zoom To

2.

Select the top left corner of the zoom area and drag until the select box
encloses the area.

3.

Release the mouse button.

Zooms out until the entire picture can fit in the picture window. When you use Fit
in Window, you no longer need scroll bars.

Refreshing Pictures
To refresh a picture, on the Toolbox click the Refresh button. Or, on the View menu, click Refresh.
The Refresh command clears the window and redraws the picture.

Switching Between Picture Windows


Draw uses a multi-document interface, meaning that you can have up to 10 pictures open at the same
time. The name of each open picture is displayed on the Window menu. When you select a picture, it
becomes the active picture.
The Cascade command arranges all open pictures in a stack so that you can see the title bars. The first
picture in the stack is the first picture you opened. The second is the second you opened, and so on.

Switching to Other Applications


Draw lets you start and switch to other programs and applications. The iFIX applications that you can
switch to include:

Database Manager

Tag Group Editor

Macro Editor

Historical Assign

Historical Display

Recipe

System Configurator (SCU)

Login

Alarm History

Mission Control

To start an application from Draw, select the application from the Apps menu or select the equivalent

88

iFIX with FIX Desktop

Toolbox button.

Using Draw Cursors


The following table shows all the different cursors that you can encounter in Draw. As long as you
understand how menus and dialog boxes work, this table contains all the information you need to begin
experimenting.
Name

Use to...

Selector

Select objects, menu commands, buttons, tools, colors, and styles. Move the
selector with the mouse. Click to select an object. Double-click to bring up dialog
boxes.

Cross-Hair

Create rectangles, ovals, lines, polygons, and polylines. Move the cross-hair with
the mouse. Click and drag to create rectangles, ovals, and lines. To create
polylines and polygons, click once for each point. Double-click to finish. Select an
area to zoom in on while using the Zoom To command.

I-Beam

Mark the start of a new text object or to place the insertion cursor in existing text.
Use the mouse to move the I-beam. Click to place the insertion cursor.

Insertion
Cursor

Show the point where text you type appears. Move the insertion cursor within a
text object with the arrow keys. Use the I-beam to place it in a new or different text
object.

Stamper

Position a link that you're adding to the picture. Move the stamper with the mouse.
Use the outline of the object you're inserting to position it. Click to place the
object.

Reshape
Point

Move a point in a polygon or polyline while using the Reshape command.

Add Point

Add a point to a polygon or polyline while using the Add Point command.

Delete
Point

Delete a point from a polygon or polyline while using the Delete Point command.

Hourglass
Watch

Alert the user that the system is working and that no new input can be processed
until the system completes its current task.

Select
Dynamo

Select a Dynamo from a symbol set. Move the cursor into a Dynamo set and click
on the Dynamo.

Paste
Dynamo

Paste a Dynamo from a Dynamo set into a picture. The second cursor indicates that
the location you are pasting to is not valid.

89

iFIX with FIX Desktop

Searching and Replacing Tagnames


Links and dynamic properties work with data from valid database tags. At times, you may want to
change the tagnames specified in link and dynamic property dialog boxes from one node to another
node. The Search and Replace command lets you automate this type of change.
Tagnames throughout your iFIX software have the following format:
Node:Tag.Field

Search and Replace identifies and replaces all selected objects for the Node and Tag portions of the
tagname. Search and Replace does not modify the Field portion of the tagname.
When Search and Replace encounters a matching tagname in a group that uses the Group Tagname
function, it changes the tagname in the Group Tagname field and in all the tagname fields in that
group.
Using Search and Replace
CAUTION: Using the Search and Replace command makes changes immediately. You cannot cancel
or undo a search and replace action after Draw executes it. You can revert to your last saved version
of the picture file by closing the affected picture without saving changes.
To use Search and Replace:
1.

Select the objects in your picture that you want modified. On the Edit menu, click Select All
to select all objects. When you use Select All, this lets you do a search and replace for the
Commands on Opening and Commands on Closing scripts.

2.

Select Search and Replace from the Toolbox, from the right mouse button menu, or from the
Edit menu. The Search and Replace Tagnames dialog box appears.

3.

Type the node and tag that you are looking for in the Search For field using the following
format: Node:Tag

4.

Using the same format, type the new node and tag that you want to replace the original node
and tag with in the Replace With field.

5.

When you are certain that you typed the correct entries, select Replace. Draw replaces every
occurrence of the node and tag combination in the selected objects. If you want to leave the
dialog box without replacing any tagnames, select Done instead of Replace.

6.

Select Done to exit.

Example
The following example illustrates how to change all the Node1 tags in the picture from AI1 to AI2:

90

1.

Select all NODE1:AI1 tags in the picture.

2.

On the Edit menu, click Search and Replace.

3.

Type NODE1:AI1 in the Search For field.

4.

Type NODE1:AI2 in the Replace With field.

5.

Select Replace.

iFIX with FIX Desktop

6.

Select Done to exit.

Using Search and Replace with Wildcards


CAUTION: Using the Search and Replace command makes changes immediately. You cannot cancel
or undo a search and replace action after Draw executes it. You can revert to your last saved version
of the picture file by closing the affected picture without saving changes.
The Search and Replace command supports the asterisk (*) wildcard in both the Search For and
Replace With fields. The following table describes each use of the asterisk wildcard.
Field

Wildcard

Meaning

Search For

*:*

Search for all tags.

Search For

N*:*

Search for all tags with a node name that begins with N

Search For

NODE*:*

Search for all tags with a node name that begins with the first four
characters NODE.

Search For

*:Tag

Search for all tags with TAG as the tag name.

Search For

Node:*

Search for all tags with NODE as the node name.

Replace
WIth

*:Tag

Replace the search tag with TAG, but leave the node as is.

Replace
WIth

N*:*

Replace the first character of the search node with N, and leave the
tag as is.

Replace
WIth

NODE*:*

Replace
WIth

Node:*

Replace the search node with NODE, and leave the tag as is.

Replace
WIth

Node:Tag

Replace the search node with NODE and the search tag with TAG.

Replace the first four characters of the search node with NODE,
and leave the tag as is.

Example
The following table provides examples of using the asterisk wildcard.

91

iFIX with FIX Desktop

Original Tagname

Search Object

Replace Object

Modified Tagname

NODE1:AI1

N*:A*

M*:B*

MODE1:BI1

NODE1:AI1

*1:*1

*2:*2

NODE2:AI2

NODE1:AI1

*:*

TOOMANYCHR:*

NO CHANGE

NODE1:AI1

*:AI1

NEWNODE:A

NEWNODE:A

NODE1:AI1

*:*

N2:A2

N2:A2

NODE1:AI2

*1:*2

*3:*4

NODE3:AI4

NODE1:AI2

NOD*:AI*

BE*:CO*

BEE1:CO2

Using the Draw Tools


The Draw workspace environment contains tools that are both flexible and easy to use. The tools are
designed so that you can customize and use them in the manner that best suits your particular
designing needs.
The Draw desktop tools include a Toolbox, Color Box, and a cursor position indicator. The following
figure shows the Draw desktop tools.

92

iFIX with FIX Desktop

Draw Desktop Tools


The following sections explain how to customize and use these tools:

Using the Toolbox

Customizing the Toolbox

Using the Color Box

Creating a Custom Color Palette

Displaying the Cursor Position

Using the Right Mouse Button

Using the Toolbox


Using the Toolbox is a great alternative to using the menu. The Tool Box contains buttons that execute
menu commands. Just as commands are grayed out on the menu bar, the Toolbox buttons are grayed
out when they cannot be executed. The Toolbox also displays ToolTips for each button when the
cursor rests on a button.
To execute a command using the Toolbox:
1.

On the Tools menu, click Toolbox to display the Toolbox. A check mark is displayed next to
the Tool Box menu item. The following figure displays the default Toolbox. The default
Toolbox contains a subset of the menu commands.

93

iFIX with FIX Desktop

Default Toolbox
2.

Click the button on the Toolbox that you want to execute.

Customizing the Toolbox


You have complete control over the placement of the buttons and the size and layout of the Toolbox.
The items that you place in the Tool Box appear as a button. When you select a button, a command is
performed.
The following sections provide more information on how to customize the toolbox:

Adding and Removing Toolbox Buttons

Arranging the Toolbox Buttons

Sizing and Moving the Toolbox

Disabling Tooltips

Adding and Removing Toolbox Buttons


Adding Buttons
To add a Toolbox button:
1.

On the Tools menu, click Toolbox Setup. The Toolbox Configuration dialog box appears.

2.

Click on the command you want to add to the Toolbox in the Available Buttons list box and
click the Add button. or Double-click the on the command you want to add in the Available
Buttons list box. The selected command appears in the Active Buttons list box.

3.

Click OK.

To add all the Draw menu commands to the Toolbox, select the Add All button in the Toolbox
Configuration dialog box.
Removing Buttons
To remove a Toolbox button:
1.

94

On the Tools menu, click Toolbox Setup. The Toolbox Configuration dialog box appears.

iFIX with FIX Desktop

2.

Click on the command that you want to remove from the Toolbox in the Active Buttons list
box and click the Remove button. or Double-click on the command that you want to remove
in the Active Buttons list box.

3.

Click OK.

To remove all the Draw menu commands from the Toolbox, select the Clear button in the Toolbox
Configuration dialog box.
Arranging the Toolbox Buttons
You can arrange the order of the Toolbox buttons to best suit your needs.
To arrange the order of the Toolbox buttons:
1.

On the Tools menu, click Toolbox Setup. The Toolbox Configuration dialog box appears.

2.

Click on the command in the Active Buttons list box that you want to move.

3.

Use the up and down buttons to the right of the Active Buttons list box to move the selected
item up or down in the list. The first item in the list displays as the first button in the Toolbox.

4.

Click OK.

Sizing and Moving the Toolbox


You can customize the length and width of the Toolbox and move the Toolbox to any location in the
Draw window. Any modifications you make are retained for subsequent Draw sessions.
To resize the Toolbox:
1.

Position the cursor on the outer edge of the Toolbox until the resize cursor appears.

2.

Hold down the mouse button and drag the cursor. An outline representing the shape of the
Tool Box appears.

3.

Release the mouse button when the outline is in the desired shape.

To move the Toolbox:


1.

Position the cursor on the Toolbox title bar.

2.

Hold down the mouse button and drag the cursor to the new location.

3.

Release the mouse button when the Toolbox is in the desired location.

Using the DRAW.INI File


The DRAW.INI file is where Draw writes the Toolbox display settings each time you display or resize
the Toolbox, and enable or disable ToolTips. These settings are saved when you exit Draw. The next
time you start Draw, the Toolbox appears exactly as it did in the previous session.
To configure multiple nodes to use the same Toolbox settings, simply copy the DRAW.INI file to each
node.

95

iFIX with FIX Desktop

If you prefer, you can define the default display attributes for the Toolbox directly in the DRAW.INI
file.
To define the default display attributes for the Toolbox directly in the DRAW.INI file:
1.

Using a text editor, open the DRAW.INI file in the Local path. The default settings for the
Toolbox statements are shown below:
[Toolbox]
ToolboxVisible=TRUE
TopEdge=61
LeftEdge=4
RightEdge=173
BottomEdge=214
ToolTipsEnabled=TRUE
ButtonOrder=

2.

Change the statement values as required. Refer to the following table for a description of the
statements.

Statement

Description

ToolboxVisible=TRUE

The Toolbox displays when you start Draw.

ToolboxVisible=FALSE

The Toolbox does not display when you start Draw.

TopEdge=n
LeftEdge=n

The top-left, bottom-left, top-right, and bottom-right pixel


locations of the Toolbox.

RightEdge=n
BottomEdge=n
ToolTipsEnabled=TRUE

ToolTips display when the cursor rests on a Toolbox button.

ToolTipsEnabled=FALSE

ToolTips do not display when the cursor rests on a Toolbox button.

ButtonOrder=code_id

Stores the order in which the buttons appear on the Toolbox.

NOTE: The color box and database tag On/Off Scan settings are also specified in the DRAW.INI file.
Make sure these settings are appropriate before you copy the file to different nodes.
Disabling Tooltips
ToolTips display the command that the button executes when you rest the cursor on the respective

96

iFIX with FIX Desktop

button. As you become more familiar with each button on the Toolbox, you may want to disable
ToolTips.
To disable ToolTips:
1.

On the Tools menu, click Toolbox Setup. The Toolbox Configuration dialog box appears.

2.

Uncheck the Enable ToolTips check box.

Using the Color Box


The Draw color box contains all the tools you need to select colors for your objects and create
customized color palettes. If your PC has a 256 (or more) color driver installed, Draw can display up to
256 different solid colors in a picture. If your PC has a 16 color driver installed, 16 of the colors are
solid, and the remaining colors are dithered to best simulate the solid color.
The color box contains two color areas:

Standard Colors are colors that cannot be changed. It is recommended that you use
standard colors for Dynamos to preserve system independence. If you need to design pictures
that are downward compatible (from 256 color to 16 color video drivers) and you want your
colors to remain solid, use only the top row of colors. These 16 colors will display as solid
regardless of the video driver installed, ensuring that your objects and bitmaps will appear as
they were originally created.

Custom Colors are colors that can be changed. Refer to the Creating a Custom Color
Palette section for instructions on customizing colors.

The following figure shows the color box.

The Color Box


Coloring Objects
The steps that follow describe how to color an object.

97

iFIX with FIX Desktop

To color an object:
1.

Select the object that you want to color.

2.

On the Toolbox, click the Color Box button. Or, on the Tools menu, click Color Box.

3.

Click the:

4.

Foreground color button to change the foreground color of the currently selected
object.

Background color button to change the background color of the currently selected
object. The background color only appears if you select a fill pattern.

Edge color button to change the edge color of the currently selected object.

Click a color in the palette and the object's color changes.

Text Objects
Text objects cannot have a dithered color. Selecting one of the 16 solid colors displayed in the top row
of the color box will ensure a consistent text color regardless of the color video driver installed.
The following table shows the properties that can be changed for each graphic object.
Object

Foreground
Color

Background
Color

Edge
Color

Edge
Style

Pattern
Style

Rectangle

Oval

Polygon

Line

Polyline

NOTE: For information on selecting an object's fill pattern and edge style, refer to the Fill Patterns,
Edge, and Line Styles section.
Changing Default Colors
The foreground, background, and edge color buttons display the default color settings when no object
is selected. Each time you add a new object to a picture, Draw uses these colors.
To change the default colors:

98

1.

Click on an empty space in the Draw window so that no object is selected.

2.

Click either the foreground, background, or edge color button on the color box.

iFIX with FIX Desktop

3.

Click a color in the palette. This chosen color becomes the default used for new objects that
you add to the picture. It does not change the colors of objects that are already in the picture.

Sizing and Moving the Color Box


You can customize the length and width of the color box and move the color box to any location in the
Draw window. Both the size and location of the color box is saved for subsequent Draw sessions.
To change the length and width of the color box:
1.

Position the cursor on the outer edge of the color box until the resize cursor appears.

2.

Hold down the mouse button and drag the cursor. An outline of the color box appears.

3.

Release the mouse button when the outline is in the desired shape. The size of the individual
color slots are scaled based on the size of the color box.

To move the color box:


1.

Position the cursor on the color box title bar.

2.

Hold down the mouse button and drag the cursor to the new location.

3.

Release the mouse button when the color box is in the desired location.

Using the DRAW.INI File


The DRAW.INI file is where Draw writes the color box display settings each time you select a new
palette to use, resize and move the color box, or change the default color settings. These settings are
saved when you exit Draw. The next time you start Draw, the color box displays exactly as it was last
used.
To configure multiple nodes to use the same color box settings, simply copy the DRAW.INI file to
each node.
NOTE: The Toolbox and Database Tag On/Off Scan settings are also configured in the DRAW.INI
file. Make sure these settings are appropriate before you copy the file to different nodes.
If you prefer, you can define the default display attributes for the color box directly in the DRAW.INI
file.
To define the default display attributes for the color box directly in the DRAW.INI file:
1.

Using a text editor, open the DRAW.INI file in the Local path. The default settings for the
color box statements are shown below:
[Colorbox]
ColorboxVisible=FALSE
PaletteName=
ForegroundColor=
BackgroundColor=

99

iFIX with FIX Desktop


EdgeColor=
opEdge=62
LeftEdge=470
RightEdge=638
BottomEdge=405

2.

Change the statement values as required. Refer to the following table for a description of the
statements.

Statement

Description

ColorboxVisible=TRUE

The color box displays when you start Draw.

ColorboxVisible=FALSE

The color box does not display when you start Draw.

Palette=path\filename.plt

The path and file name of the customized palette that Draw uses. If no
palette is specified, Draw uses the original non-customized palette.

ForegroundColor=
BackgroundColor=
EdgeColor=

TopEdge=n
LeftEdge=n

The color codes indicating the default foreground, background,


and edge colors. If no codes are specified, Draw uses the system
defaults.

The top-left, bottom-left, top-right, and bottom-right pixel locations


of the color box.

RightEdge=n
BottomEdge=n

Creating a Custom Color Palette


You can customize the Draw color palette to contain the colors that you need for your displays. Draw's
color palette supports 256 solid colors. You can customize 64 of these colors with extreme precision to
formulate the exact colors you need. The remaining 192 colors are standard. You can create multiple
color palettes; however, you can use only one palette at one time. Custom palette files have a .PLT
extension and reside in the Picture path.
If you use a customized palette to create pictures, it is important that each View node that will display
the pictures uses the same palette. View's palette is defined in the VIEW.INI file. Refer to the
Configuring the View Color Palette section for information on configuring View's color palette.
It is recommended that you decide on one custom palette to use throughout your system to preserve
colors. If you draw a picture using one palette and later open that picture using a different palette, the
picture's custom colors change to the colors specified in the current palette.
For example, suppose you draw an oval and select a color from the custom color area of the color box.

100

iFIX with FIX Desktop

Later, you open the picture but a different palette is being used. The oval's color reflects the custom
color that is displayed in the color slot from where the oval's color was originally selected.
To customize the Draw color palette:
1.

Display the color box by clicking the Color Box button on the Toolbox or by selecting Color
Box from the Tools menu.

2.

Double-click the color you want to change in the Custom colors area. The Define Color
dialog box appears.

3.

Create a custom color using the following methods: If you know the Red, Green, Blue (RGB)
codes for the color you need, you can enter these numbers directly in the Red, Green, and
Blue fields. Drag the cross-hair to the color you want. The color selection appears in the Solid
Color box.

4.

Click OK. You are returned to the color box. The new color appears in the selected slot of the
custom color section.

5.

Save the palette by clicking the Save Palette button. The standard File Save As dialog box
appears. Enter a name for the palette in the File name field. Draw adds a .PLT file extension.

Restoring a Customized Palette


If you make changes to a custom palette and do not want to save the changes, you can restore the
original custom palette by completing the following steps.
To restore the original custom palette:
1.

Click the Get Palette button on the color box.


Draw asks you if you want to save the changes to the custom palette.

2.

Select No. The Standard File Open dialog box appears.

3.

Open the previously saved version of the customized palette.

Resetting the Original Palette


To use the original, non-customized palette supplied by Draw, click the Reset Palette button. If you
have made changes to the current palette, Draw asks you to save the palette. Make sure you save any
changes because you cannot Undo the Reset Palette command.
Specifying Which Palette to Use
The color palette which was last used in Draw becomes the default palette used for subsequent Draw
and View sessions.
To specify a different customized color palette:
1.

Click the Get Palette button on the color box.


The standard File Open dialog box appears.

2.

Select the customized palette file (.PLT) you want to use and click OK.

101

iFIX with FIX Desktop

To use the original, non-customized color palette, click the Reset Palette button on the color box.
Saving Palettes
To save a custom color palette, click the Save Palette button on the color box. The standard File Save
dialog box appears. Enter a name for the palette, up to 8 characters long. Draw adds a .PLT extension
and saves the palette in the Picture path.

Displaying the Cursor Position


The Cursor Position box displays the exact position (in inches) of the cursor. You can use this tool to
measure objects as you create them.
To display the Cursor Position box, on the toolbox, click the Cursor Position button. Or, on the Tools
menu, click Cursor Position. The Cursor Position box appears on screen.

Using the Right Mouse Button


As an alternative to using the standard pull-down menus to access a command, FIX Desktop Draw and
View systems support a right mouse button menu, which can be used as a shortcut to some of these
same commands.
To use the right mouse button menu:
1.

Click the right mouse button from anywhere within Draw or View. A menu of appropriate
commands opens. For additional information on menu item availability, see the Menu Item
Availability section.

2.

Highlight the command you wish to use by positioning the cursor over the command and then
clicking either the left or right mouse button.

3.

Release the mouse button. The command is then executed.

Menu Item Availability


The right mouse button option is available both with and without any objects selected. However, the
menu items that appear are varied based on whether an object is selected, as well as what type of object
is selected.
For example, if an object is selected in Draw and you click on the right mouse button, one of the menu
items listed is Create Dynamo. If, however, a Dynamo is selected in Draw, then the Create Dynamo
menu item will not appear, but the Convert to Objects item will be listed in the menu.

Working with Graphic Objects


Because Draw objects are mathematically defined, the graphic objects are geometrically based. Your
pictures will consist of ovals, rectangles, lines, polygons and polylines. A polyline is a line with two or
more connected line segments. This collection of simple shapes gives you all the building blocks you
need to build complex graphic objects.
This chapter shows you how to create and change simple and complex graphic objects. If includes the

102

iFIX with FIX Desktop

following sections:

Creating Objects

Coloring and Styling Objects

Manipulating Polygons and Polylines

Selecting Objects

Creating Complex Objects

Manipulating Objects

Aligning Objects

Grouping Objects

Creating Objects
Creating graphic objects is easy. Simply select a tool button from the Toolbox or the Tools menu and
follow the instructions in the following table.
NOTE: Before you start drawing an object, check the Draw Dynamo Sets. You may find the object you
need already exists. Refer to the Working with Dynamos section for more information.
To create
a...
Line

Rectangle

Oval

Do this...

1.

Move the cursor to where you want the line to start.

2.

Click and drag the mouse until the line is the desired length.

3.

Release the mouse button to complete the line.

1.

Move the cursor to where you want the rectangle to start.

2.

Click once and drag.

3.

Drag the mouse until the rectangle is the desired shape.

4.

Release the mouse button to complete the rectangle.

1.

Move the cursor to where you want the oval to start.

2.

Click once and drag.

3.

Drag the mouse until the oval is the desired shape.

4.

Release the mouse button to complete the oval.

103

iFIX with FIX Desktop

To create
a...

Do this...

Polyline

1.

Move the cursor to where you want the polyline to start.

2.

Click once for each point.

3.

Double-click the last point.

Polylines can be closed or open. Polylines do not have fill properties. For
example: Click at these points to draw this:

Polygon

1.

Move the cursor to where you want the polygon to start.

2.

Click once for each point.

3.

Prior to drawing the last segment, double-click

Draw creates the last segment for you by connecting the last point to the first
point, and closes the shape. For example: Click at these points to draw this:

Coloring and Styling Objects


Graphic objects can have up to five color and style properties:

Foreground color

Background color

Edge color

Edge style

Fill style

The following figure shows the color and style properties of an object.

104

iFIX with FIX Desktop

Color and Style Properties


The following table shows the properties that can be changed for each graphic object.
Object

Foreground
Color

Background
Color

Edge
Color

Edge
Style

Pattern
Style

Rectangle

Oval

Polygon

Line

Polyline

Coloring Objects
To select colors for objects:
1.

Select an object.

2.

Display the color box. On the Toolbox, click the Color Box button. Or, on the Tools menu,
click Color Box.

3.

Click the:

Foreground color button to change the foreground color of the object.

Background color button to change the background color of the object. The
background color only appears if you select a fill pattern.

105

iFIX with FIX Desktop

4.

Edge color button to change the edge color of the object.

Click a color in the palette and the object's color changes.

For more information on using the Color Box, refer to the Using the Color Box section.
Fill Patterns, Edge, and Line Styles
Fill Pattern
To change an object's fill pattern:
1.

Select an object.

2.

On the Toolbox, click the Fill Pattern button. Or, on the Tools menu, click Fill Pattern. The
Fill Style dialog box appears.

3.

Click the box containing the fill pattern you want to use. Click the first box for no fill
(transparent). Click the second box for a solid fill.

Edge and Line Style


To change an object's edge or line style:
1.

Select an object.

2.

On the Toolbox, click the Edge Style button. Or, on the Tools menu, click Edge Style. The
Line Style dialog box appears.

3.

Click the box containing the style you want to use. Click the first box for no edge.

Changing the Default Settings


The foreground, background, and edge color buttons on the Color Box display the default color
settings when no object is selected. Each time you add a new object to a picture, Draw uses these
colors. You can also change the default fill and line styles.
To change the default colors:
1.

Click on an empty space in the Draw window so that no object is selected.

2.

Click either the foreground, background, or edge color button on the Color Box.

3.

Click a color in the palette. The chosen color becomes the default used for new objects that
you add to the picture. It does not change the colors of objects that are already in the picture.

To change the default fill and line styles:

106

1.

Click on an empty space in the Draw window so that no object is selected.

2.

On the Toolbox, click the Fill or Line Style button. Or, on the Tools menu, click the Fill or
Line Style button.

3.

In the dialog box that appears, click on the style you want to use as the default.

iFIX with FIX Desktop

Manipulating Polygons and Polylines


Polygons and polylines consist of many connected points. Draw gives you three ways to control each
point in a polygon and polyline.
To add a point:
1.

Select a polygon or polyline.

2.

On the Toolbox, click Add Point. Or, on the Arrange menu, click Add Point.

3.

Click a line segment at the desired location.

4.

On the Toolbox, click the Reshape button. Or, on the Arrange menu, click Reshape to move
the new point.

To delete a point:
1.

Select a polygon or polyline.

2.

On the Toolbox, click Delete Point. Or, on the Arrange menu, click Delete Point.

3.

Click the point that you want removed.


The point disappears and Draw connects the points on either side of the deleted point.

To reshape (move) a point:


1.

Select a polygon or polyline.

2.

On the Toolbox, click Reshape. Or, on the Arrange menu, click Reshape.

3.

Drag a point to a new location.


Use Reshape to change the location of one point in a polygon or polyline and thereby change
the length and angles of the connecting line segments.
NOTE: You stay in reshape mode until you select another command.

107

iFIX with FIX Desktop

Example of Adding a Point

Example of Deleting a Point

Example of Reshaping Points

Selecting Objects
Before you perform an action on any object, you must first select it. A selected object has handles.
Handles are small squares located on the corners and sides of the object, as shown in the following
figure.

Handles
Notice that the handles on normal objects are hollow, while the handles on an object that has dynamic
properties are solid. (A dynamic property is a real-time animation feature. The Using Dynamic
Properties section covers dynamic properties.)
There are several ways to select or deselect objects. The following table describes selection and
deselection techniques. Before you use any technique, click the Selector button in the Toolbox or

108

iFIX with FIX Desktop

select it from the Tools menu.


To...

Do this...

Select a single object

Click the object with the selector tool.


NOTE: To select polylines and unfilled polygons, position the
selector on a line segment and click.

Select two or more objects.

Select all objects in an area

Hold down SHIFT and click each object.

1.

Click empty space above and to the left of the objects and
hold down the mouse button.

2.

Drag. Notice the thin gray rectangle that grows as you


drag. The rectangle is called the select box

3.

Drag until all desired objects are completely inside the


select box.

4.

Release the mouse button.

Select all objects in a picture

Use the Select All command on the Toolbox or from the Edit
menu

Deselect all objects

Click an empty space or use the Deselect All command on the


Toolbox or from the Edit menu.

109

iFIX with FIX Desktop

To...

Do this...

Deselect on object from


many selected objects.

Hold down SHIFT and click the object you want to deselect.

Creating Complex Objects


The real power of object-oriented graphics is the ability to create complex objects from simple objects.
This section shows you how to create complex shapes and turn them into new objects by:

Stacking

Using the Send to Back and Bring to Front commands

Masking

After you create a complex object and define its dynamic properties, you can save it as a Dynamo,
making it easy to use the object in multiple pictures. Refer to the Working with Dynamos section for
more information.
Stacking
The first technique for creating complex objects is called stacking. In an object-oriented environment,
moving one object on top of another does not erase the object underneath. You can stack many objects
on top of each other. In this way, you can stack simple shapes to create a complex object. When you
select and group the stack, it becomes a new object. The first figure shows four simple objects stacked
and grouped to become a pump object and the second figure shows several objects stacked to become a
vat object.

Building a Pump Object

110

iFIX with FIX Desktop

Building a Vat Object


Using the Send to Back and Bring to Front Commands
When you stack objects, the object that appears on top is always the newest object. Draw gives you
two commands for moving objects within a stack: Send to Back and Bring to Front.
Select a single object and then select Send to Back from either the Toolbox, the Arrange menu, or the
right mouse button menu. The object becomes the bottom object of the stack. Select several objects
and then select Send to Back. The selected objects become the bottom of the stack, but they keep their
positions relative to each other. The following table illustrates this concept. Bring to Front pulls objects
to the top of the stack and works similarly to Send to Back.
Task
Move one object to the back
of a stack

Directions
1.

Select an object in a stack.

2.

On the Toolbox, click Send to Back. Or, on the Arrange


menu, click Send to Back.

Similarly, Bring to Front can move an object to the front of a stack.


Before

After

111

iFIX with FIX Desktop

Task

Directions

Move two objects to the


back of a stack.

1.

Select objects in a stack.

2.

On the Toolbox, click Send to Back. Or, on the Arrange


menu, click Send to Back.

Similarly, Bring to Front can move many objects to the front of a


stack.
Before

After

Another technique for creating complex objects is called masking. Masking is a way of appearing to
remove unwanted parts from a shape. By creating objects that match your background color and have
no edge, you can make parts of a shape disappear.
Making a Pipe Elbow by Masking
Step 1
When you only want part of a graphic object, use objects that match the background color of the
picture to remove or mask the unwanted parts.
Here, you want to build a pipe elbow from a solid circle. You need three masking objects: a rectangle
to mask the top, a rectangle to mask a side, and a circle to mask the inside.
Example

112

iFIX with FIX Desktop

Step 2
Move the masks on top of the circle. Use Send to Back to make sure that the solid circle is the bottom
object.
Example

Step 3
Select the masking objects and change the edge style to no edge. Select all four objects and group
them. You now have a pipe elbow that you can duplicate to create as many elbows as you need.
Use the flipping commands to change the direction of the elbow.
Example

Manipulating Objects
Draw has many basic functions that you can use to manipulate all objects. These functions include:

Moving

Nudging

Stretching

Flipping

Undoing

Cutting and Pasting

Copying

Deleting

Duplicating

Once you learn to use them with any one object, you've learned how to use them with all objects.
Moving
Any object you can create can be moved simply by dragging it to a new position. To drag an object,
click the object and hold down the mouse button. Move the mouse and the object moves as well.
When you have the object positioned correctly, release the mouse button. Your move is complete.

113

iFIX with FIX Desktop

Nudging
Nudging is the act of moving an object by the smallest possible increment. Because it's often hard to
nudge objects precisely with the mouse, Draw gives you another way to nudge objects.
Select an object and press the arrow key that represents the desired direction. You can press repeatedly
to slowly move the object in that direction.
Stretching
When you drag a handle of a selected object, the object resizes in the direction you moved the mouse.
You can stretch an object horizontally or vertically or both ways at the same time.
To stretch both ways, click and drag a corner handle.
Flipping
Flipping is the process of swinging an object along the vertical or horizontal axis. You can flip an
object simply by dragging a handle of one side over the opposite side, but this process also stretches
the object. A safer way to flip is to use the Flip Horizontal and Flip Vertical commands on the Toolbox
or on the Arrange menu. The following figure shows an original object and how it appears after using
the flip commands.

Flipping
Undoing
Every once in awhile, you'll do something you wish you hadn't. To recover, click the Undo button on
the Toolbox or select it from either the Edit menu or the right mouse button menu. Anything you do in
Draw that alters the picture file can be undone, as long as you select Undo immediately afterward.
NOTE: The Undo stack is erased when you use the QuickView command.

114

iFIX with FIX Desktop

Using the DRAW.INI file


By default, you can undo up to the last 10 actions. However, you can configure Draw so that you can
undo up to 50 actions.
NOTE: The Color Box and Database Tag On/Off Scan settings are also specified in the DRAW.INI
file. Make sure these settings are appropriate if you copy the file to different nodes.
To configure the number of undo actions:
1.

Using a text editor, open the DRAW.INI file in the Local path. The default setting is as
follows:
[Undo]
;UndoStackLimit=1

2.

Remove the semicolon (;) and enter a new value, up to 50. For example:
[Undo]
UndoStackLimit=50

NOTE: The larger the undo stack, the more memory it uses. If you perform a lot of memoryintensive actions such as bitmap calculations, you may want to keep the undo stack at a
minimum.
Cutting and Pasting
Your window manager provides a special data area called the clipboard. Programs use the clipboard to
temporarily hold data. Draw has its own clipboard it does not use the window manager clipboard.
Draw has several menu commands that use the Draw clipboard, including Cut and Paste.
NOTE: The Draw Copy Bitmap and Paste Bitmap commands use the window manager clipboard. See
the Importing and Exporting Bitmaps section for more information.
To cut and paste objects:
1.

Select the object or objects that you want to cut.

2.

Click the Cut Tool Box button or select it from either the Edit menu or the right mouse button
menu.
The objects are removed from the picture and are placed into the Draw clipboard. They
remain in the clipboard until they are replaced by another object. For example, if you cut one
object and then immediately cut another object, the second object erases the first object.

3.

Open the destination picture or, if it's already open, switch to it by selecting it from the
Window menu if you want to paste the object into a different picture.

4.

Click the Paste Tool Box button or select the command from either the Edit menu or the right
mouse button menu to place objects in the Draw clipboard into the active picture.
Draw places the object next to the selected object or in the middle of the screen if no object is
selected. You can use paste several times to make copies of the objects in the Draw clipboard.
NOTE: Objects placed in the Draw clipboard cannot be used by other programs. However,
you can copy a bitmap representation of any object to the Windows clipboard. Other

115

iFIX with FIX Desktop

programs can then use the bitmaps. See the Importing and Exporting Bitmaps section for a
complete description of the Paste Bitmap and Copy Bitmap commands on the Edit menu.
Copying
Use the Copy command on the Toolbox, from the Edit menu or from the right mouse button menu to
place a copy of the selected object or objects into the Draw clipboard.
Copy does not remove the original objects from the picture.
Deleting
Use the Delete command on either the Edit menu or the right mouse button menu, or press <delete> to
remove the selected object or objects from the picture.
Delete does not place the objects into the clipboard. The only way to retrieve deleted objects is to
select Undo soon after deleting.
Duplicating
On the Toolbox, use the Duplicate button. Or, on the Edit menu or the right mouse button menu, select
Duplicate to copy selected objects and paste a copy of the objects next to the original. This command
is very useful for quickly creating a supply of basic objects.
The Duplicate command does not affect the contents of the Draw clipboard.

Aligning Objects
There are several ways to align objects in Draw. All of these features help you create and maintain
useful and attractive layouts:

Using the Grid

Grid Settings

Using the Align Commands

Using the Horizontal and Vertical Spacing Commands

Using the Grid


The grid is a tool to help guide your placement of objects for precise vertical or horizontal alignment.
When you enable the grid, evenly spaced dots appear on the screen. These dots represent the
intersection of grid lines.
To make precise alignment effortless, enable Snap to Grid. This forces the top left corner of every
object you create or move to stick to the closest grid point. Objects drawn before you enabled Snap to
Grid remain where they are, unless you move them. You can turn the snap feature on and off by
clicking the Snap to Grid Toolbox button or by selecting the Snap to Grid command on the Arrange
menu.

116

iFIX with FIX Desktop

To use the grid:


1.

Click the Grid Toolbox button or select Grid from the Arrange menu. The Grid dialog box
appears.

2.

Click the Show Grid check box to display the grid dots, spaced according to the entry in the
Grid Lines field.

3.

Enter the amount of space between each grid line in the Grid Lines field. The smallest grid
you can enter is .03 inches. The largest grid depends on the height and width of your picture.

4.

Click the Snap to Grid check box to force newly drawn or moved objects to stick to the
nearest grid point.

5.

Select OK.

The following figure shows a sample picture where using the grid produced an aligned layout.

Using the Grid


Grid Settings
In FIX v6.1 and greater, the grid spacing setting is now remembered by Draw when a picture is saved.
The grid spacing that has been set for each individual picture is recalled when that picture is re-opened.
The Show grid and Snap to grid settings are now global in Draw application. The settings you
configure from the pull-down menus are now the default for all subsequent pictures created or opened
in Draw.
Using the Align Command
The Align commands let you line up two or more selected objects by their vertical or horizontal lines.
To align objects:
1.

On the Arrange menu, make certain the Snap to Grid option is disabled.

117

iFIX with FIX Desktop

2.

On the Toolbox, click the Align button. Or, on the Arrange menu, click Align. The Alignment
dialog box appears.

3.

Select the Vertical or Horizontal alignment options.

The following table shows how a layout of three objects is affected by each of the alignment options.
Alignment
None

Horizontal Left

Vertical Top

Horizontal Right

Vertical Bottom

118

Description

iFIX with FIX Desktop

Alignment

Description

Horizontal Center

Vertical Center

Using the Horizontal and Vertical Spacing Commands


The Horizontal Spacing and Vertical Spacing commands on the Arrange menu and the Toolbox spread
out a group of selected objects so that the amount of empty space between them is equal. Vertical
spacing helps you create columns, and horizontal spacing helps you create rows.
The following figure shows an example of vertical spacing.

Vertical Spacing
The following figure shows an example of horizontal spacing.

119

iFIX with FIX Desktop

Horizontal Spacing
Tick Marks
The spacing commands are very useful for creating tick marks on bar graphs.
To create tick marks:
1.

Draw one line (tick mark) at the top and bottom (or left and right) of the bar graph.

2.

Between the first two tick marks, draw as many more as you need.

3.

Select all the tick marks.

4.

Use the Align command to line up all the tick marks.

5.

On the Toolbox, click the Vertical Spacing button. Or, on the Arrange menu, click Vertical
Spacing. (Horizontal Spacing for left-right bar graphs.) Draw places the tick marks at equally
spaced positions along the bar graph.

The following figure shows an example of precisely placed tick marks.

Spacing Tick Marks

Grouping Objects
Once you've created something by combining objects, you can group the objects together to create a
new single object, called a group. Grouping objects does not have to be permanent. You can always
disband the group by ungrouping the objects.
The Group command lets you create custom objects. If you build a custom object, you can use it over
and over again without having to rebuild it from scratch. Draw also lets you store custom built objects
in sets so that you can use these objects in many pictures. Objects stored in sets are called Dynamos
and a set is called a Dynamo set. See the Working with Dynamos section for more information.
Groups can contain graphics, bitmaps, text, and links, but this section focuses on grouping graphic
objects. In later chapters, you can find sections that describe how to use other components in groups.

120

iFIX with FIX Desktop

Using the Group Functions


Draw provides two group functions found on the Toolbox or on the Arrange menu. The same Toolbox
button is used for both functions. If multiple objects are selected, the button groups those objects. If a
grouped object is selected, the button ungroups the object.

Group bands together selected objects. Draw treats the grouped objects as a single object.
After you group objects and select the group, you see only one set of handles that surrounds
all the objects in the group.

Ungroup lets you disband previously grouped objects.

You can have several layers of groups. The following figure displays four ovals.

Four Individual Objects


For example, the four ovals shown in the following figure can be grouped into two sets of two, as
shown in the following figure.

Individual Objects Grouped


The two groups of two could then be grouped again, as shown in the following figure.

Groups Grouped
When you disband a group, any changes you made to the group that affected a member object stay
with that object. In other words, ungrouping does not return the member objects back to the original
state of the objects before you grouped them.
NOTE: This does not apply to dynamic properties. For more information on dynamic properties, refer
to the Using Dynamic Properties section.

121

iFIX with FIX Desktop

Editing Group Objects


Once you group objects, you can manipulate the group like any other object. You can move, cut, paste,
copy, stretch, and color a group, using the same methods used for individual objects.
The important thing to remember is that whatever you do to the group object gets done to each group
member. For example, if you group a red and green square and then select black for a fill color, both
squares turn black.

Working with Text


The text object can be thought of as a collection of text characters within an invisible rectangle. When
you make a change to the text object, each character changes. A text object has no limit on the number
of characters it can hold.
This chapter describes how to create and use text objects and how to change the appearance of the text
characters within a text object. It includes the following sections:

Creating a Text Object

Changing a Text Object

Editing Text

Using Text Objects in Groups

Creating a Text Object


The procedure for creating a new text object is simple.
To create a new text object:
1.

On the Toolbox, click the Text button. Or on the Tools menu, click Text. The I-beam cursor
appears.

2.

Move the I-beam to the position where you want to start typing.

3.

Click the mouse button. The insertion cursor appears.

4.

Type the new text. Use BACKSPACE to erase text you just typed. Use ENTER to start a new
line.

Changing a Text Object


Move the selector tool over a text object and click. Notice that the text object has handles like all other
objects. When the text object is selected, you can:

122

Cut, copy, paste, delete, and duplicate the entire text object.

Change the design (font) of all the text characters in the object.

Change the size of all the text characters in the object.

Change the text (foreground) color through the color box.

iFIX with FIX Desktop

You can control how text looks in the object by applying a font, changing the font style, or adjusting
the point size.
Applying Fonts
To apply a font to a text object:
1.

Select the text object.

2.

On the toolbox, click the Font button. Or, on the main menu, click the Font! command. The
standard Font dialog box appears. This displays the fonts that are available on the PC.

3.

Enter the font, style, and point size, and click OK. The text object changes to reflect the
selected font information.

Selecting Fonts
When creating text, it is important to choose the font carefully. The fonts you apply are saved with
each picture. Therefore, it is important that the selected fonts are available on each PC that will display
the picture. If a picture contains a font, and the picture is displayed on a PC where that font is not
loaded, the picture selects the font that most closely matches the requested font. Depending on the
fonts available, it is possible for the picture's text to have a different appearance.
Whenever possible use TrueType fonts. TrueType fonts allow greater flexibility when working with
text. TrueType fonts are denoted by a TT to the left of the font name in the Font list box.
Note that the DRAW.INI file contains the ShowTTFontsOnly parameter. This parameter controls
whether the computer shows all fonts or only TrueType fonts in Draw.
NOTE: Because of the way Windows handles certain italicized fonts, text may appear to clip on the
upper right hand side when italicized. To alleviate this problem, if you must use an italicized font, add
a space after the text.
Strecthing a Text Object
Stretching is another way to change the font size. Select a corner handle and drag. When you release
the mouse button, Draw changes the font size to the largest font size that will fit in the stretch area, as
shown by the example in the following figure.

Changing Font Size by Stretching


If Draw does not honor a stretch request, it is because no suitable font size exists.
NOTE: Certain non-TrueType fonts cannot be resized using the stretch method.
Creating Text
Text objects cannot have a dithered color. If the picture will be displayed on PCs with various video

123

iFIX with FIX Desktop

drivers installed, selecting one of the 16 solid colors displayed in the top row of the color box will
ensure a solid text color. Refer to the Using the Draw Tools section for more information on the color
box and coloring objects.
Editing Text
To edit the text within the object, use the following steps.
To edit the text within the object:
1.

Make sure the text object is not grouped to other objects.

2.

Select the text tool.

3.

Move the I-beam over the text you want to edit.

4.

Click. The insertion cursor appears in the text object.

5.

The table below summarizes the available editing functions.

If you want to

Then

Add text

Start typing.

Delete text

Use the BACKSPACE key to delete characters to the left of the insertion
cursor.

Add a line break

Press the RETURN key.

Move the insertion


cursor

Go back to step 3 of this procedure, or press the arrow keys.

Using Text Objects in Group


You can add text objects to groups as you would any other object. There are two small differences in
the behavior of text in groups.
When you select a group and then select a Font! command, every text object (and some links) changes
to reflect that selection. Other objects are not affected.
When you flip or rotate a group, the text within the group does not flip or rotate. However, Draw keeps
the text in the same relative position within the group.

Working With the Database


In previous versions of FIX32, Draw automatically prompted you to add a tag to the database
whenever you entered an undefined tagname. This feature was offered as part of the quick database
tools. In iFIX with FIX Desktop, FIX32 quick database tools are no longer supported. This is because
the FIX Desktop applications rely on the iFIX Database Manager instead of the FIX32 Database
Builder.

124

iFIX with FIX Desktop

In iFIX with FIX Desktop, if you enter a tag that does not exist, iFIX stills displays a prompt,
indicating that the tag does not exist. The FIX Desktop applications do not automatically add the tag to
the database, however.
For a list of changes in the FIX Desktop applications in regard to the quick database tools (from
previous releases), refer to the Quick Database Tools Not Supported section.
For information on the iFIX Database Manager and how it works, refer to the Building a SCADA
System manual for more information.
NOTE: If you are upgrading from a previous FIX32 release, your existing database will be migrated
to the iFIX Database Builder format. Refer to the Migrating from FIX32 to iFIX guide (MG.chm in the
MigrationTools folder of your iFIX product DVD) for details.

Entering Undefined Tagnames


Draw prompts you when you specify a tagname that does not exist:

In any of the dynamic property dialog boxes.

In link configuration dialog boxes.

When pasting a Dynamo into a picture.

NOTE: You are not prompted while using the Command Language Editor, searching and replacing
tagnames, or when specifying a Group Tagname in the Dynamic Properties dialog box.
When you specify a tagname that does not exist in the database, a message box appears with the
following text:
No such field in block. Use Tagname anyway?

Using Dynamic Properties


As you've discovered by now, properties are attributes of objects that you can alter in Draw using
tools, menu commands, and dialog boxes. Dynamic properties are object attributes that change in
View based primarily on changes in database values. In other words, dynamic properties produce realtime effects like coloring and animation. This chapter describes the dynamic properties that you can
assign to objects, text, bitmaps, and grouped objects.
Use the Dynamic Properties dialog box, shown in the following figure, to make all dynamic property
assignments. To access the dialog box, double-click the object that you want to add a dynamic property
to, or select the object and select Dynamic Properties from the Edit menu. Each object can have an
unlimited amount of dynamic properties.

125

iFIX with FIX Desktop

Dynamic Properties Dialog Box


The following table introduces each of the dynamic properties. The tables following that table show
which properties can be used with each type of object and link. (A link, as discussed in the
Understanding Links section is an object that has built-in dynamic properties.)

Dynamic Properties

126

Dynamic
Property

Description

See Section

Foreground
Color

Changes the fill color (or hatch line color) of closed


graphic objects and the color of text based on a database
value. Each object can have several color assignments
that correspond to values or alarm states of the target
field.

Dynamically
Changing Object
Colors

Edge Color

Changes the edge color of closed graphic objects and the


color of lines and polylines based on a database value.
Each object can have several color assignments that
correspond to values or alarm states of the target field.

Dynamically
Changing Object
Colors

iFIX with FIX Desktop

Dynamic
Property

Description

See Section

Background
Color

When a closed graphic object has a hatch line pattern, this


property changes the color of the space between the hatch
lines based on a database value. Each object can have
several color assignments that correspond to values or
alarm states of the target field.

Dynamically
Changing Object
Colors

Horizontal
Position

Moves an object horizontally along a specified range


based on a database value.

Dynamic
Movement
Properties

Vertical
Position

Moves an object vertically along a specified range based


on a database value

Dynamic
Movement
Properties

Endpoint 1
Position

Moves the first endpoint of a line horizontally, vertically,


or diagonally along a specified range based on a database
value

Dynamic
Movement
Properties

Endpoint 2
Position

Moves the second endpoint of a line horizontally,


vertically, or diagonally along a specified range based on
a database value

Dynamic
Movement
Properties

Scale

Shrinks an object to a specified minimum size based on a


database value.

Dynamically
Scaling Objects

Rotate

Rotates a graphic object in 1 degree increments up to 360


degrees based on a database value.

Dynamically
Rotating Objects

Horizontal Fill
Percentage

Fills a closed graphic object horizontally (right to left or


left to right) based on a database value. This property
essentially turns rectangles, ovals, and polygons into
horizontal bar graphs.

Dynamically
Filling Objects

Vertical Fill
Percentage

Fills a closed graphic object vertically top to bottom or


bottom to top) based on a database value. This property
essentially turns rectangles, ovals, and polygons into
vertical bar graphs.

Dynamically
Filling Objects

Commands on
Down

Assigns a FIX command language script to any object.


When the user clicks down on an object in View, the
script executes.

Adding Script
Commands to
Objects

127

iFIX with FIX Desktop

Dynamic
Property

Description

See Section

Commands
While Down

Assigns a FIX command language script to any object.


When the user clicks down on an object in View, the
script executes. The script continues to run until the
scriptruns to completion or the user releases the mouse
button.

Adding Script
Commands to
Objects

Commands on
Up

Assigns a FIX command language script to any object.


When the user releases the mouse button for the selected
object, the script executes.

Adding Script
Commands to
Objects

Visible

Controls the appears or disappearance of an object based


on a logical comparison of a target value to a database
value.

Making Objects
Appear and
Disappear

Dynamic Property Assignments by Object


The following table describes the dynamic property assignments by object.
Dynamic
Property

Rectangle/Polygon

Oval

Foreground
Color

Edge Color

Background
Color

Horizontal
Position

Vertical Position

Text

Bitmap

Endpoint
Position

128

Line/Poyline

(line only)

Scale

Rotate

iFIX with FIX Desktop

Dynamic
Property

Rectangle/Polygon

Oval

Line/Poyline

Text

Bitmap

Horizontal Fill

Vertical Fill

Visible

Commands on
Down

Commands
While Down

Commands On
Up

Dynamic Property Assignments for Links in Groups


The following table describes the dynamic property assignments for links in groups.
Dynamic
Property

Data
Link

Foreground
Color

Time
/ Date
Link

System
Information
Link

Alarm
Summary
Link

Push
Button
Link

Chart
Links

Edge Color
Background
Color

Horizontal
Position

Endpoint
Position
Scale
Rotate

129

iFIX with FIX Desktop

Dynamic
Property

Data
Link

Time
/ Date
Link

System
Information
Link

Alarm
Summary
Link

Push
Button
Link

Chart
Links

Visible

Commands
on Down

Commands
While Down

Commands
on Up

Horizontal
Fill
Vertical Fill

Using Dynamic Properties


In the Dynamic Properties dialog box (shown in the Using Dynamic Properties section) a check box
and an icon button reside next to the name of each dynamic property.
To access the dialog box for a particular property:
1.

Select the check box or click the icon button. The specific dialog box appears.

2.

Fill in the dialog box and click OK. You return to the Dynamic Properties dialog box. Notice
that the check box is selected.

3.

To modify the dynamic property settings, click the icon button.

4.

To remove the dynamic property assignment, deselect the check box.

Using Tag Groups with Dynamic Properties


The following is a list of dynamic properties that allow tag group substitution:

130

Color Threshold Definitions. Refer to the Dynamically Changing Object Colors section.

Horizontal and Vertical Positioning. Refer to the Dynamic Movement Properties section.

Endpoint Positioning. Refer to the Dynamic Movement Properties section.

Scaling. Refer to the Dynamically Scaling Objects section.

Rotating. Refer to the Dynamically Rotating Objects section.

Filling. Refer to the Dynamically Filling Objects section.

iFIX with FIX Desktop

Commands .Refer to the Adding Script Commands to Objects section.

Visibility. Refer to the Making Objects Appear and Disappear section.

Incorporating tag groups within an elaborate layered object with dynamic properties is useful because
it allows you to use the same object with different tags. The object is only created once. Additional tag
groups can be created and used by the same object.
For more information on tag groups, refer to the Designing Pictures section and the Tag Group Editor
Manual.
Usig Variables with Dynamic Properties
Variables may be used with any dynamic property. You must define the variable and set its value
before you can use it. Refer to the Command Language Manual for more information on defining and
setting the value of a variable.
The following sections in this chapter provide more information on using dynamic properties with
variables.
Fetching EGU Tag Limits
When defining dynamic properties to move, rotate, scale, or fill objects, the default low and high limits
for the targeted database tag are set to 0 and 100, respectively.
Each dynamic property dialog box contains a Fetch Limits button. You can retrieve the EGU limits
that were assigned to the database tag by pressing the Fetch Limits button.
TIP: If you enter (zero) for both the High and Low limits, View automatically retrieves the tag's EGU
limits when the picture is opened. Note that you cannot press the Fetch Limits button to retrieve EGU
limits when using a variable instead of a tag. Instead, you must manually enter the limits.
You can also choose to modify the high and low limits to those that do not match the EGU limits for
the database tag. Enter limits that accurately cover the possible values of the target tag.
Depending on the dynamic property, if the database value falls outside the specified high and low
limits, the object does one of the following:

Moves to either the maximum or minimum offset.

Rotates to either the maximum or minimum angle.

Scales to either the maximum or minimum percentage.

Fills to either the maximum or minimum percentage.

Naming an Object
When you add a dynamic property to an object, you can give that object a name. The object name
helps you identify objects when working with groups that contain many objects.
To name an object:
1.

Double-click the object to display the Dynamic Properties dialog box.

131

iFIX with FIX Desktop

2.

Enter a name, up to 11 alphanumeric characters, in the Object Name field.

Replacing a Groups Node and Tag


For grouped objects, you can replace the node and tag components of every tagname used in a group's
links and dynamic properties. If you ungroup the object after using this field, the individual objects
keep the new node and tag. You can use this feature even if you do not assign the group a dynamic
property.
NOTE: Refer to Grouping Objects for instruction on how to group and ungroup objects.
To use a group tagname:
1.

Double-click the group to display the Dynamic Properties dialog box.

2.

Enter a valid node:tag in the Group Tagname field. To choose from a list, click the browse
(...) button to display the Tag Select dialog box.
NOTE: You cannot use variables or tag groups for group tagnames.

Example
For example, suppose you have three objects:
Object

Tagname

Data Link

NODE1:AI07.F_CV

Data Link

NODE2:AI15.F_CUALM

Rectangle with vertical fill

NODE7:TANK04.F_CV

In the Group Tagname field you enter SCADA:AO14 . Each of the three objects now have a new node
and tag, as shown below:
Object

Tagname

Data Link

SCADA:AO14.F_CV

Data Link

SCADA:AO14.F_CUALM

Rectangle with vertical fill

SCADA:AR14.F_CV

Making an Object Controllable


You can define an object as controllable so that in View operators can:

132

iFIX with FIX Desktop

Change the tag's scan status between off and on.

Change the tag's mode between manual and automatic.

Disable or enable the tag's alarming functions.

This ability also depends on whether or not the View operator has the appropriate security rights to
access the tag.
To make an object controllable:
1.

Double-click the object to display the Dynamic Properties dialog box.

2.

Check the Controllable check box.

Tagname Search Order


When you use Controllable with an object that has several dynamic properties, View performs the
selected command on the first tagname it encounters. View searches for tagnames in this order:
1.

Foreground Color

2.

Background Color

3.

Edge Color

4.

Horizontal Fill

5.

Vertical Fill

6.

Horizontal Position

7.

Vertical Position

8.

Endpoint 1 Horizontal Position

9.

Endpoint 1 Vertical Position

10. Endpoint 2 Horizontal Position


11. Endpoint 2 Vertical Position
12. Scale
13. Visible
14. Rotate
Data Errors
When a dynamic property cannot get the required data from a database because of a communication or
database error, the dynamic property turns off. The object appears in View as it would when you
open the picture file in Draw.
If an object contains multiple dynamic properties, and one or more of these properties contains an
undefined tag group symbol, the object disappears from the screen in View.

Dynamically Changing Object Colors


You can dynamically change the foreground, edge, and background color of objects to give your

133

iFIX with FIX Desktop

operators visual cues about the value or alarm condition of a database field. This section describes how
to use the first three dynamic properties listed in the Dynamic Properties dialog box. The procedures
and dialog boxes described in this section are common to all three properties, without exception. Once
you learn to use one property, you've learned to use all three.
Refer to the Using Dynamic Properties section for information on which objects can use which
dynamic properties.
Understanding Color Thresholds
Before proceeding, you need to understand the concept of a color threshold. A color threshold is either
a color and value combination or a color and alarm state combination. There are three types of color
thresholds:

Color by current value

Color by latched alarm

Color by current alarm

For a value threshold, you specify the upper limit of the range of values that correspond to the color.
When the target database field is less than or equal to the threshold, but greater than all lower
thresholds, the object's foreground, background, or edge changes to the color defined by the threshold.
See the Understanding Color By Current Value section for more information on current value
thresholds.
For an alarm threshold, the object remains the specified color while the database tag remains in that
alarm state. See the Understanding Color By Alarm section for more information on latched and
current alarm thresholds.
NOTE: You must select the Blink on a New Alarm check box to enable the operator to acknowledge a
single alarm with the Acknowledge One command in View when an object is colored by current value
or colored by current alarm. Refer to the Blinking Thresholds section for more information on blinking
thresholds.
Understanding Color by Current Value
In this color-by strategy, you enter key values and assign each a unique color. When the target
database tag falls within a threshold definition, the object changes to that color.
For example, suppose a fruit processing plant washes incoming fruit with clean water as the first step
in the process. The water comes from a nearby tank. When the water in the tank falls below 1000
gallons, the pumps from the main water supply turn on and refill the tank. When the water in the tank
rises above 9000 gallons, the pumps shut off. In one picture, you create an object that represents the
water tank. You set up the thresholds shown in the table below:

134

Value

Color

Tank object is...

1000

Blue

Blue when the tank contains 0 to 1000 gallons.

9000

Green

Green when the tank contains 1001 to 9000 gallons.

iFIX with FIX Desktop

Value

Color

Tank object is...

10000

Red

Red when the tank contains 9001 to 10000 gallons.

When your operator sees the tank object change color, the operator can also check to see whether the
pumps have turned on or off.
Color by Value with Digital Tags
Color thresholds can be useful with digital tags, too. Suppose you assign the following thresholds to a
pump object linked to a digital tag that monitors the pump status.
Value

Color

Tank object is...

Red

Off

Green

On

When a dynamic property cannot get the required data, it displays the original state of the object from
the picture file. If the original color of the object is yellow, you now have a third visual cue that shows
when there is a communication or database error.
Understanding Color by Alarm
Depending upon your database setup, a database field can generate a variety of alarms. You can set up
thresholds in Draw to visually alert your operators that a database field is in a particular alarm state.
Using the fruit processing example from above, suppose the database generates High and Low alarms
based on the same values used for the color-by-value strategy. Then, you could use a color-by-alarm
strategy to yield the same visual cues:
Tag
Alarm

Color

Tank object is...

Low Low

Aqua

Aqua when the tag is in the Low Low alarm state. (Tank contains 0 to
100 gallons.)

Low

Blue

Blue when the tag is in the Low alarm state. (Tank contains 101 to
1000 gallons.)

OK

Green

Green when the tag is in the OK alarm state. (Tank contains 1001 to
9000 gallons.)

High

Magenta

Magenta when the tag is in the High alarm state. (Tank contains 9001
to 10000 gallons.)

135

iFIX with FIX Desktop

Tag
Alarm

Color

Tank object is...

High High

Red

Red when the tag is in the High High alarm state. (Tank contains
10001 to 11000 gallons.)

Tag alarms can provide data on more than just control limits. For example, suppose the speed at which
the tank fills is important. You could set up another threshold using the Rate of Change alarm state.
Latched Alarm vs. Current Alarm
The two color-by-alarm strategies differ in how they handle multiple alarm states. When a tag is in
more than one alarm state that has defined thresholds, the latched alarm strategy displays the color
assigned to the unacknowledged alarm of the highest priority. If there are no unacknowledged alarms,
it displays the color of the current alarm. The current alarm strategy always displays the color assigned
to the current alarm.
Creating Dynamic Color Assignments
The procedure below describes how to create dynamic color assignments in the Color Threshold
Definition dialog box.
To create dynamic color assignments:
1.

Double-click an object or group to display the Dynamic Properties dialog box.

2.

Click either the Foreground, Background, or Edge color button in the Color group. The Color
Threshold Definition dialog box appears.

3.

Select a color-by strategy by clicking one of the buttons in the Color By group.

4.

Enter the target tag in the Tagname field or select the browse (...) button to use the Tag Select
dialog box.
Draw fills in the default SCADA node for you. If you want to specify a different node, enter
the entire tagname in node:tag format. Draw fills in the field component based on the
selection entered in the Color By group.
If you select the Current Value color-by strategy, you can override the chosen field
component by specifying the desired F_ field. If you enter a variable or tag group symbol in
the Tagname field, it must reference a tagname substitution formatted as node:tag.f_field for
current value (where f_field is any floating point field), node:tag.b_laalm for latched alarms,
or node:tag.b_cualm for current alarms.
For a Current Value color-by strategy only.

136

5.

Select the Blink on a New Alarm box to make the object begin blinking every time the
database tag registers a new alarm and stop blinking when the alarm is acknowledged. Upon a
new alarm, this setting overrides the Visible, Invisible, or Blinking settings defined for
individual thresholds. The object blinks between the threshold color and the object's
background color.

6.

Add, modify, or delete color thresholds to make up your dynamic color assignments. The
sections that follow give detailed instructions:

iFIX with FIX Desktop

Adding or Modifying a Color By Alarm Threshold

Adding or Modifying a Color By Value Threshold

Blinking Thresholds

Deleting Thresholds

Color Threshold Settings

Adding or Modifying a Color by Value Threshold


While the value of a database tag is less than or equal to the value assigned to a color, but greater than
the value assigned to lower thresholds, the object displays that color. You need to specify enough of
these color thresholds so that your operators can approximate the value of a tag by the color they see
on screen.
To add or modify a threshold, in the Color Threshold Definition dialog box:
1.

Click Add to add a new threshold. or Double-click the threshold, or select the threshold and
click Modify to modify and existing threshold. The Color by Value dialog box appears.

2.

Define the threshold. Enter an amount in the Value field to define the highest value of the
range of values that have this color assignment.

3.

Select the type of threshold in the Threshold Color group. The three choices are:
o

Visible when selected, the object displays a solid color.

Invisible when selected, the object displays no color (transparent).

Blinking when selected, the object alternates between the selected threshold color
and the object's foreground or background color.

4.

Click the color button to bring up the color palette.

5.

Click the desired threshold color.

6.

Click OK.

The Color Threshold Definition dialog box reappears. If you selected the Blinking button for one of
the values, the color box located to the right of the Value/Alarm column divides into two separate
boxes. Refer to the Blinking Thresholds section for more information.
Adding or Modifying Color by Alarm Threshold
As a database tag records alarm states, you can assign colors to represent alarms states to let your
operators know about the critical ones. The procedures and dialog boxes are the same for both the
latched or current alarm strategies.
To add or modify a color by alarm threshold, in the Color Threshold Definition dialog
box:
1.

Click Add to add a color assignment to an alarm type. or Double-click the threshold, or select
the threshold and click Modify to modify and existing threshold. The Color by Alarm dialog
box appears.

2.

Scroll through the Possible Alarms list box and click the desired alarm. Refer to the Color

137

iFIX with FIX Desktop

Threshold Settings section for descriptions of the alarm conditions.


3.

Select the type of threshold in the Threshold Color group:


o

Visible when selected, the object displays a solid color.

Invisible when selected, the object displays no color (transparent).

Blinking when selected, the object alternates between the selected threshold color
and the object's foreground or background color.

4.

Click the color button to bring up the color palette.

5.

Click the desired threshold color.

6.

Click OK to finish.

The Color Threshold Definition dialog box reappears. If you selected the Blinking button for one of
the alarms, the color box located to the right of the Value/Alarm column divides into two separate
boxes. Refer to the Blinking Thresholds section for more information.
Blinking Thresholds
When you select the Blinking button on the Color by Alarm or Color by Value dialog box, the color
box located to the right of the Value/Alarm column divides into two separate boxes, as shown in the
following figure.

Blinking Threshold Color


Foreground Property
When you assign a blinking threshold color to a value or alarm within the Foreground dynamic

138

iFIX with FIX Desktop

property, the threshold color replaces the object's foreground color when the assigned value or alarm
status is reached. The color of the object blinks between the threshold color and the object's
background color.
Background Property
Only assign the Background dynamic property a blinking threshold color if the object has a hatched fill
pattern. When you assign a blinking threshold color to a value or alarm within the Background
dynamic property, the threshold color replaces the object's background color when the value or alarm
status is reached. The color of the object blinks between the threshold color and the object's foreground
color.
NOTE: Background colors are only visible in Draw when you apply a hatched fill pattern to an object.
See the Fill Patterns, Edge, and Line Styles section for instructions on assigning fill patterns to
objects, and see the Changing the Default Settings for instructions on changing object colors.
Blink Speed
The rate at which objects blink is defined in the VIEW.INI file. The configurable blink speed allows
you to set the threshold to blink at rates set in tenths of a second. Refer to the Defining the View
Environment section for more information on the VIEW.INI file.
Deleting Thresholds
To delete one of the threshold assignments that appear in the Value/Alarm list box:
1.

Select the assignment by clicking it.

2.

Click the Delete button in the Threshold group.

The color threshold table settings are global in Draw. The settings you configure from the Color
Threshold Definition dialog box become the default for all subsequent pictures created in Draw.
NOTE: The Color Threshold settings should be configured from within Draw. Do not attempt to alter
these settings by editing the DRAW.INI file.
Alarm Descriptions
Alarms

Triggered when...

Change from
Normal

The value of the digital tag is the opposite of the user-defined norm.

Change of State

The digital tag has changed.

Communications

The I/O driver records a communications error that does not fit a defined
category (usually a cable problem).

Deviation

The tag value deviates outside the user-defined limit.

139

iFIX with FIX Desktop

Alarm Descriptions
Alarms

Triggered when...

Device Failure

The I/O driver records a communication error that is a defined category (see
the I/O driver documentation for more information).

Floating Point
Error

The tag records an error translating input into a floating point value (usually
bad input from the poll table).

General Block
Error

The tag records a tag error does not fit a defined category.

High High

The tag equals or exceeds the user-defined high high control limit.

High

The tag equals or exceeds the user-defined high control limit.

I/O Failure

The I/O driver records an error reading from or writing to the process
database.

Low Low

The tag equals or falls below the user-defined low low control limit.

Low

The tag equals or falls below the user-defined low control limit.

OK

No alarm condition exists.

Rate of Change

There is a change in the tag value that isgreater than the Rate of Change
limit defined for the tag.

Below is a list of alarms that can be optionally returned by an I/O driver. Most I/O drivers do not
return these optional alarms. The actual meaning of these alarms depend on the specific driver.

Open Circuit

Station Failure

Out of Range

Under-range

Over-range

Dynamic Movement Properties


This section describes how to use the three types of dynamic movement properties: Horizontal,
Vertical, and Endpoint Position. Refer to the Using Dynamic Properties section for information on the
objects that can use each of these dynamic properties.

140

iFIX with FIX Desktop

As you reference this section, notice that Horizontal and Vertical Position properties can be attributed
to several different types of objects, but Endpoint Position properties can only be attributed to line
objects.
Understanding Dynamic Movement
Dynamic movement properties work by comparing the current value of the specified tagname to the
specified limit range. As the database value changes, the object or endpoint moves to a new position. If
the database value changes frequently enough, the object or endpoint appears to be moving on the
screen. The table below describes the calculations View makes to execute dynamic movement.
Step
1.

Example
View fetches the tag's current value.

Current Value
150

2.

View calculates the limit range.

CLimit Range = High Range Low Limit


200 = 300 100

3.

View calculates the current value's percent


of the limit range.

Value Percent = [(Current Value Low


Limit)/Limit Range] * 100
25 = [(150-100)/200]*100

4.

View calculates the movement range.

Movement Range = Max. Offset Min


Offset
2 = 4.5 2.5

5.

View calculates the new offset.

New Offset = Min. Offset + (Value Percent *


Movement Range)
3 = 2.5 + (.25 * 2)

View determines the direction of the movement by the sign of the entries in the offset fields. A positive
vertical change moves the object or endpoint down; a negative vertical change moves the object or
endpoint up. Likewise, a positive horizontal change moves the object or endpoint to the right; a
negative horizontal change moves the object or endpoint to the left. The following figure illustrates this
concept.

141

iFIX with FIX Desktop

Dynamic Movement with Positive and Negative Offsets


Understanding Input Properties
When enabled, the Input Properties feature allows operators to change database values by manipulating
an object or endpoint in View. As you drag the object or endpoint, View writes new values to the
database. Note that the database tag attributed to the object or endpoint must be on scan for the Input
Properties to work in View.
If Allow Input Properties is enabled, all current value links (F_CV) that access the same database
endpoint update as you drag the object. Links that access the same database endpoint through a tag
group symbol or a non-current value field update only after you finish dragging the object.
Reconfiguring Input Properties
You can configure by what method and how often View sends updated values to the database by
modifying the Input Dynamics section of the VIEW.INI file. By default, View writes a value to the
database at a specified interval while you are dragging the mouse and pressing the left mouse button.
Refer to the Defining the View Environment section for more information on the VIEW.INI file.
Applying Dynamic Movement to an Object
The procedures outlined in this section describe how to apply the Horizontal and Vertical Position
properties to an object. Although the dialog boxes shown in this section are specific to the Horizontal
Position property, you can use the same procedure to apply the Vertical Position property. You can
apply both horizontal and vertical movement to the same object to create diagonal movement.
To use one of these properties, in the Dynamic Properties dialog box:

142

1.

Select the check box or click the icon button next to one of dynamic movement properties. A
dialog box appears.

2.

Enter the target tag in the Tagname field or click the browse (...) button to select from the
Field Select dialog box. The default SCADA node and field are configured automatically. If
you want to configure a different node and field, enter the entire tagname in node:tag.field
format. The field must be in floating point format (F_). If you enter a tag that does not exist, a
prompt appears. You must add this tag to the database manually; it will not get added
automatically. You can also enter a numeric variable or tag group symbol.

3.

Enter the low limit in the Low Limit field. The default is 0.

4.

Enter the high limit in the High Limit field. The default is 100.

iFIX with FIX Desktop

TIP: Click the Fetch Limits button to retrieve the tag's high and low EGU limits.
Alternatively, you can enter in both the High and Low Limit fields to have View automatically
fetch the tag's EGU limits when the picture is opened.
5.

Calculate the number of inches that you want the object to move from its origin when the tag
equals the low limit entry. Enter that number in the Minimum Offset field. Use positive or
negative numbers to control direction. If you use a large enough offset, the object can actually
move off screen.

6.

Calculate the number of inches that you want the object to move from its origin when the tag
equals the high limit entry. Enter that number in the Maximum Offset field. Use positive or
negative numbers to control direction.
TIP: For best performance, position the object in Draw at one extreme of the movement
range, enter a 0 into the Minimum Offset field, and specify a positive or negative number in
the Maximum Offset field.

7.

Enable the Allow Input Properties check box if you want operators to write database values
by dragging the object in View. Note that the tag attributed to the object must be on scan for
the input properties to take effect.
NOTE: You cannot use a numeric variable for Horizontal or Vertical Position dynamic
properties if Allow Input Properties is enabled.

Applying Dynamic Movement to an Endpoint of a Line


The procedure outlined in this section describes how to apply dynamic horizontal, vertical, and
diagonal movement to an endpoint of a line. This procedure is very similar to applying dynamic
movement properties to an object (discussed in the Applying Dynamic Movement to an Object section)
except that an endpoint's Horizontal and Vertical Position properties are both configured in the same
dialog box.
The procedure for drawing a line, as described in the Working with Graphic Objects section is to click
the Line tool, move the cursor to where you want the line to start, click and drag the mouse until the
line is the desired length, and release the mouse button to complete the line. Draw designates the point
where you clicked to start the line as Endpoint 1, and the point where you released the mouse button
after dragging as Endpoint 2. For example, if you draw a line from left to right, the left endpoint is
Endpoint 1 and the right endpoint is Endpoint 2.
To use one of these properties, in the Dynamic Properties dialog box:
1.

Select the check box or click the icon button next to one of Endpoint Position properties. A
dialog box appears.

2.

Enter the target tag in the Tagname field or click the browse (...) button to select from the
Field Select dialog box. The default SCADA node and field are configured automatically. If
you want to configure a different node and field, enter the entire tagname in node:tag.field
format. The field must be in floating point format (F_). If you enter a tag that does not exist, a
prompt appears. You must add this tag to the database manually; it will not get added
automatically. You can also enter a variable or tag group symbol.

3.

Enter the low limit in the Low Limit field. The default is 0.

4.

Enter the high limit in the High Limit field. The default is 100.
TIP: Click the Fetch Limits button to retrieve both tags' high and low EGU limits.
Alternatively, you can enter in both the High and Low Limit fields to have View automatically

143

iFIX with FIX Desktop

fetch both tags' EGU limits when the picture is opened.


5.

Calculate the number of inches that you want the endpoint to move from its origin when the
tag equals the low limit entry. Enter that number in the Minimum Offset field. Use positive or
negative numbers to control direction. If you use a large enough offset, the endpoint can
actually move off screen.

6.

Calculate the number of inches that you want the endpoint to move from its origin when the
tag equals the high limit entry. Enter that number in the Maximum Offset field. Use positive
or negative numbers to control direction.
TIP: For best performance, position the endpoint in Draw at one extreme of the movement
range, enter a 0 into the Minimum Offset field, and specify a positive or negative number in
the Maximum Offset field.

7.

Enable the Allow Input Properties check box if you want operators to write database values
by dragging the endpoint in View. Note that the tag attributed to the endpoint must be on scan
for the input properties to take effect.
NOTE: You cannot use a numeric variable for Endpoint Position dynamic properties if Allow
Input Properties is enabled.

The following figure illustrates the three types of dynamic movement that you can attribute to an
endpoint of a line, and the tagname field that corresponds to each type of movement.

Examples of Endpoint Dynamic Movement

Dynamically Scaling Objects


The scale dynamic property shrinks an object based on the value of a database field. The property
works by comparing the current value of the specified tagname to the limit range.
As the database value changes, View recalculates the scale percent and shrinks the object from its
original size to that percent.
The table below describes the calculations View makes to execute dynamic scaling:
Step
1.

Example
View fetches the tag's current value.

Current Value
150

2.

View calculates the limit range.

CLimit Range = High Range Low Limit


200 = 300 100

144

iFIX with FIX Desktop

Step
3.

Example
View calculates the current value's percent
of the limit range.

Value Percent = [(Current Value Low


Limit)/Limit Range] * 100
25 = [(150-100)/200]*100

4.

View calculates the scaling range.

Movement Range = Max. Offset Min


Offset
60 = 80 20

5.

View calculates the new scale.

New Offset = Min. Offset + (Value Percent *


Movement Range)
35 = 20 + (.25 * 60)

View scales the object from the center point, as shown in the following figure.

Dynamic Scaling Example


Applying Object Scaling
To use dynamic scale, in the Dynamic Properties dialog box:
1.

Select the Scale check box or click the icon button in the Properties area. The Scale dialog
box appears.

2.

Enter the target tag in the Tagname field or click the browse (...) button to use the Field Select
dialog box. Draw fills in the default SCADA node and the field for you. If you want a
different node and field, enter the entire tagname in node:tag.field format. The field must be
in floating point format (F_). If you enter a tag that does not exist, you are prompted to add
the tag to the database. Alternatively, you can enter a variable or tag group symbol.

3.

Enter the low limit in the Low Limit field. The default is 0.

4.

Enter the high limit in the High Limit field. The default is 100.
TIP: Entering (zero) for both the High and Low limits causes View to automatically retrieve
the tag's EGU limits when the picture is opened.
NOTE: Press the Fetch Limits button to retrieve the high and low EGU limits assigned to the

145

iFIX with FIX Desktop

tag in the database. Refer to the Fetching EGU Tag Limits section for more information.
5.

Calculate the percent size that you want the object to scale to when the database tag equals the
low limit entry. Enter that number in the Minimum Scale field. Note that if you enter zero, the
object disappears from the screen when the database field equals the low limit.

6.

Calculate the percent size that you want the object to scale to when the database tag equals the
high limit entry. Enter that number in the Maximum Offset field.
TIP: For best performance, draw objects at 1 percent and leave the Maximum Scale field at 1
percent.

Dynamically Rotating Objects


The rotate dynamic property rotates an object based on the value of a database field. The property
works by comparing the current value of the specified tagname to the specified limit range.
As the database value changes, View recalculates the degrees of rotation and rotates the object
accordingly.
Understanding Dynamic Rotation
The following table describes the calculations View makes to execute dynamic rotation:
Step
1.

Example
View fetches the tag's current value.

Current Value
150

2.

View calculates the limit range.

CLimit Range = High Range Low Limit


200 = 300 100

3.

View calculates the current value's percent


of the limit range.

Value Percent = [(Current Value Low


Limit)/Limit Range] * 100
25 = [(150-100)/200]*100

4.

View calculates the rotation range.

Movement Range = Max. Offset Min


Offset
360 = 360 0

5.

View calculates the new rotation.

New Offset = Min. Offset + (Value Percent *


Movement Range)
90 = 0 + (.25 * 360)

View uses the new angle to produce one of two effects: spinning or orbiting. Which effect takes place
depends on the center of rotation you specify. If the center falls within the boundary of the object, it
appears to spin. If the center falls outside the boundary of the object, it appears to spin and orbit around

146

iFIX with FIX Desktop

the center point. The following figure illustrates this concept.

Spinning and Orbiting Examples of Dynamic Rotation


Applying Dynamic Rotation
To use dynamic rotate, in the Dynamic Properties dialog box:
1.

Select the Rotate check box or click the icon button in the Properties area. The Rotation
dialog box appears.

2.

Enter the target tag in the Tagname field or click the browse (...) button to use the Field Select
dialog box. Draw fills in the default SCADA node and the field for you. If you want a
different node and field, enter the entire tagname in node:tag.field format. The field must be
in floating point format (F_). If you enter a tag that does not exist, you are prompted to add
the tag to the database. Alternatively, you can enter a variable or tag group symbol.

3.

Enter the low limit in the Low Limit field. The default is 0.

4.

Enter the high limit in the High Limit field. The default is 100.
TIP: Click the Fetch Limits button to retrieve the tag's high and low EGU limits.
Alternatively, you can enter in both the High and Low limit fields to have View automatically
fetch the tag's EGU limits when the picture is opened.

5.

Calculate the angle that you want the object to rotate to when the database tag equals the low
limit entry. Enter that number in the Minimum Angle field. You can use values from -360 to
360 degrees. A minimum angle of and a maximum angle of 360 degrees produces clockwise
rotation. A minimum angle of and maximum angle of -360 degrees produces counterclockwise rotation.

6.

Calculate the angle that you want the object to rotate to when the database tag equals the high
limit entry. Enter that number in the Maximum Angle field.

7.

Draw automatically calculates the center of the object and inserts the coordinates in the X
Coordinate and Y Coordinate fields. If you want the object to rotate around a point other than
the object's center, adjust the values in these fields. The coordinates , represent the top lefthand corner of the picture.
TIP: To get the exact rotation point needed, you may want to use the Cursor Position tool.
Refer to the Displaying the Cursor Position section for more information on the Cursor
Position tool.

147

iFIX with FIX Desktop

Rotating Grouped Objects


When rotating a set of grouped objects, use the following guidelines to ensure all the objects in the
group rotate together:

Do not assign the rotation property to any of the individual objects in a group.

Make sure that none of the objects in a group is a grouped item.

Dynamically Filling Objects


This section describes how to use the horizontal and vertical fill dynamic properties. The procedures
and dialog boxes described in this section are common to both properties, without exception. Once you
learn to use one property, you've learned to use both.
See the Using Dynamic Properties section for information on which objects can use which dynamic
properties.
These dynamic properties fill an object with the assigned color from one end to the other. The two
properties work by comparing the current value of the specified tagname to the limit range. The nonfilled part of the object is always transparent.
Understanding Dynamic Filling
The following table describes the calculations View makes to calculate fill:
Step
1.

Example
View fetches the tag's current value

Current Value
150

2.

View calculates the limit range

Limit Range = High Limit Low Limit


200 = 300 100

3.

View calculates the current value's percent


of the limit range.

Value Percent = [(Current Value Low


Limit) / Limit Range] * 100
25 = (150-100) / 200] * 100

4.

View calculates the fill range.

Fill Range = Max. Percent Min. Percent


100 = 100 0

5.

View calculates the new fill.

New Fill = Min. Percent + (Value Percent *


Fill Range)
25 = 0 + (.25 * 100)

You can experiment by using different fill directions and by combining the two properties. The
following tables summarize the results.

148

iFIX with FIX Desktop

Single Dynamic Fill Assignments


Single Dynamic Fill Assignment

Example

Vertical Bottom to Top

Vertical Top to Bottom

Horizontal Left to Right

Horizontal Right to Left

Double Dynamic Fill Assignments


Double Dynamic Fill Assignment

Example

Vertical Bottom to Top and Horizontal Left to Right

Vertical Bottom to Top and Horizontal Right to Left

Vertical Top to Bottom and Horizontal Left to Right

Vertical Top to Bottom and Horizontal Right to Left

149

iFIX with FIX Desktop

Applying Horizontal and Vertical Fills


To use horizontal and vertical fill properties, in the Dynamic Properties dialog box:
1.

Select the check box or click the icon button next to either the Horizontal Fill or Vertical Fill
properties.
The dialog box that appears is identical for both properties.

2.

Enter the target tag in the Tagname field or click the browse (...) button to use the Field Select
dialog box. Draw fills in the default SCADA node and the field for you. If you want a
different node and field, enter the entire tagname in node:tag.field format. The field must be
in floating point format (F_). If you enter a tag that does not exist, you are prompted to add
the tag to the database. Alternatively, you can enter a variable or tag group symbol.

3.

Select the fill direction by clicking the appropriate radio button.

4.

Enter the low limit in the Low Limit field. The default is 0.

5.

Enter the high limit in the High Limit field. The default is 100.
TIP: Click the Fetch Limits button to retrieve the tag's high and low EGU limits.
Alternatively, you can enter in both the High and Low limit fields to have View automatically
fetch the tag's EGU limits when the picture is opened.

6.

Calculate the amount you want the object filled when the database tag equals the low limit
entry. Enter that number in the Minimum Percent field.

7.

Calculate the amount you want the object filled when the database tag equals the high limit
entry. Enter that number in the Maximum Percent field.

Creating Bar Graphs


By using either of these properties you can turn a simple rectangle into a bar graph. You can also
combine this property with several others to make the bar graph show more data. The following figure
shows a bar graph set up to provide meaningful data and visual cues.

Bar Graph Example

150

iFIX with FIX Desktop

Adding Script Commands to Objects


Command Language is a powerful scripting tool that lets you automate operator tasks through a series
of commands and instructions. These instructions are stored in command language scripts that execute
upon request.
Command dynamic properties let you add a command language script to an object. When an object has
a command script, an operator can click the object in View to execute the command script.
When you select a command dynamic property, Draw calls up the Command Language Editor. This
program is your tool for creating command scripts wherever your iFIX with FIX Desktop software
supports them. You can find complete information on the Command Language Editor, command
dynamic properties, and the command language in the Command Language Manual.
Example uses for command scripts include:

Creating graphic representations of various process devices and assigning scripts that open
pictures containing detailed data on the objects.

Clicking graphic representations of valves and pumps to toggle states.

NOTES:

If you give a group that contains modifiable links a command property, the command
property overrides the modifiable property in View.

The Command While Down and Command on Down dynamic properties cannot be assigned
to Push Button links.

Making Objects Appear and Disappear


The visibility dynamic property allows you to control the appearance and disappearance of objects or
groups based on a database value.
View uses entries in the Visibility dialog box to create a logical comparison between the current value
of the target database field and the user-specified value. If a statement is TRUE, View displays the
object. If the statement is FALSE or the current value is unknown, View removes the object from the
display.
Applying Dynamic Visibility
To use dynamic visibility, in the Dynamic Properties dialog box:
1.

Select the check box or click the icon button next to Visibility. The Visibility dialog box
appears.

2.

Enter the target tag in the Tagname field or click the browse (...) button to use the Field Select
dialog box. Draw fills in the default SCADA node and the field for you. If you want a
different node and field, enter the entire tagname in node:tag.field format. The field must be
in floating point format (F_). If you enter a tag that does not exist, you are prompted to add
the tag to the database. You can also enter a variable or tag group symbol.

3.

Enter the number you want to compare the database value to in the Value field.

151

iFIX with FIX Desktop

4.

Choose the desired logical comparison by clicking the appropriate button in the Conditions
group:

Condition

Object is visible when the

<

Current value is less than the entry in the Value field.

>

Current value is greater than the entry in the Value field.

Current value is greater than or equal to (Value field Tolerance field) and the
current value is less than or equal to (Value field + Tolerance field).

Using Dynamic Properties with Groups


You can group objects that have dynamic properties and the individual objects retain their dynamic
property assignments. You can also assign the group object dynamic properties. In most cases, both the
group and group member dynamic properties work harmoniously. In other cases, the group or the
group member overrides the other.
The following table shows the effects of the different combinations. This list describes the terms used
in this table:

Group
Member

Both: Property of Group works in harmony with property of Group member.

Group: Property of Group overrides property of Group member.

Member: Property of Group member overrides property of Group.

Special 1: If the Group is invisible, no dynamic property assignments work. If the Group is
visible, all property assignments work as expected.

Special 2: When combining a Fill property with rotate, the object may rotate but the Fill still
acts on the horizontal or vertical axis. The effect is as if the Fill were liquid in a tipped
container.

Group

Horiz.
Fill

Vert.
Fill

Horiz.
Position

Vert.
Position

Scale

Rotate

Visible

Fore.
Color

Back.
Color

Edge
Color

Command

Horiz.
Fill

Group

Group

Both

Both

Both

Special
2

Special
1

Both

Both

Both

Both

Vert. Fill

Group

Group

Both

Both

Both

Special
2

Special
1

Both

Both

Both

Both

152

iFIX with FIX Desktop

Group
Member

Group

Horiz.
Position

Both

Both

Both

Both

Both

Both

Special
1

Both

Both

Both

Both

Vert.
Position

Both

Both

Both

Both

Both

Both

Special
1

Both

Both

Both

Both

Scale

Both

Both

Both

Both

Member

Both

Special
1

Both

Both

Both

Both

Rotate

Special
2

Special
2

Both

Both

Both

Member

Special
1

Both

Both

Both

Both

Visible

Both

Both

Both

Both

Both

Both

Special
1

Both

Both

Both

Both

Fore.
Color

Both

Both

Both

Both

Both

Both

Special
1

Group

Both

Both

Both

Back.
Color

Both

Both

Both

Both

Both

Both

Special
1

Both

Group

Both

Both

Edge
Color

Both

Both

Both

Both

Both

Both

Special
1

Both

Both

Group

Both

Commnd

Both

Both

Both

Both

Both

Both

Special
1

Both

Both

Both

Group

Dynamically Filling Groups


When you group objects and assign a dynamic horizontal or vertical fill, the group fill overrides any
group members that also have the same dynamic fill property. View does not fill each group member
individually; instead it fills them in a series, starting at one end and moving to the other.
For example, suppose you have five stacked rectangles with different colors, as shown in the following
figure. You group the five rectangles and assign dynamic vertical fill going from bottom to top. When
the target value is 25 percent of the range, each individual rectangle does not receive a 25 percent fill.
Instead, View fills 25 percent of the group as a whole. In this case, you would only see the bottom two
rectangles (1 and 2), because combined they equal 25% of the group's vertical measurement.

153

iFIX with FIX Desktop

Group Dynamic Fill Example

Understanding Links
The Draw program provides special objects called links that allow you to display real-time database
and system data in View. Links can be grouped into three categories:

Informational links display data as numbers and text. See Introduction to the Draw
Application for instructions on creating Informational links.

Special Purpose links are the Alarm Summary Link and the Push Button Link. See
Creating Special Purpose Links for instructions on creating Special Purpose links.

Chart links display data in familiar chart formats. For instructions on creating : Trend chart
links, see Creating Trend Chart Links. Statistical chart links, see Creating Statistical Chart
Links. XY Plot chart links, see Creating XY Plot Charts.

The distinctions between the three categories are important to remember because Informational links
generally behave like text objects, while Chart links and Special Purpose links generally behave like
grouped graphic objects (although they cannot be ungrouped).

Introduction to Link Types


This chapter and the sections that follow introduces you to the 13 different links and contains general
information that applies to each link. Refer to the following table for where to go to obtain more
information on each type of link.

154

Link

Description

See Section

Data

Displays numeric or text data from the database. Gives the


operator a variety of display and input formats.

Adding a Data
Link

Time

Displays the system time, as set in the operating system of


the computer on which View is running.

Adding Time and


Date Links

Date

Displays the system date, as set in the operating system of


the computer in which View is running.

Adding Time and


Date Links

iFIX with FIX Desktop

Link

Description

See Section

Alarm
Summary

Displays a list box of alarm messages. The link offers The


link offers a variety of options that let you specify which
messages show up in the list box, as well as extensive
formatting options.

Adding an Alarm
Summary Link

System
Information

Displays numeric or text data on system parameters, such


as SAC output status or alarm priority level.

Adding a System
Information Link

Push Button

Adds a push button to your picture that invokes a


command language script. After configuring the
appearance of the push button, press the Edit Commands
button to display the Command Language Editor.

Adding a Push
Button Link

Multi-Pen
Trend

Displays real-time trends of floating point values on a


trend chart. The trend appears as continuous, colored pen
lines. Values can be any floating point or trend data.

Adding a Trend
Link

Multi-Bar
Trend

Displays real-time trends of floating point values on a


trend chart. The trend appears as sets of bars that represent
the values of the trended points during a fixed point in
time. Values can be any floating point or trend data.

Adding a Trend
Link

X-Bar

Displays the real-time average value from a Statistical


Data tag.

Adding X-Bar, RBar, and S-Bar


Charts

R-Bar

Displays the real-time average range from a Statistical


Data tag.

Adding X-Bar, RBar, and S-Bar


Charts

S-Bar

Displays the real-time average standard deviation from a


Statistical Data tag.

Adding X-Bar, RBar, and S-Bar


Charts

Histogram

Displays a frequency distribution chart.

Adding a
Historgram Chart
Link

XY Plot

Displays the intersection point of two variables in real-time


(for example, temperature versus pressure).

Adding an XY
Plot Chart Link

Using Tag Groups with Links


A link allows you to display real-time database and system data in View. The following is a list of

155

iFIX with FIX Desktop

links that allow tag group substitution:

Data

Histogram

Multi-Pen Trend

Multi-Bar Trend

S-Bar

R-Bar

XY Plot

X-Bar

Using a tag group with a link provides the flexibility of substituting different node:tag.field values into
a picture. Refer to the Understanding Tag Groups section for more information on using tag groups.
When defining tag group symbols for statistical charts, note that in order for the Tag Group Editor to
recognize a tagname substitution, you must enter the complete node:tag.field syntax in the Substitution
column. However, for statistical charts the field component is ignored at View time and is replaced
with the appropriate field (such as G_XBAR for X-Bar charts). For complete information on creating
tag groups refer to the Tag Group Editor Manual.

Using Variables with Links


In addition to tag groups, you can also use a variable as a tagname entry. Variables may be used in the
following types of links:

Data link

Histogram link

Multi-Pen and Multi-Bar links

XY Plot link

You must define a variable and set its value before you can use it as a tagname entry. For more
information about defining and setting the value of a variable, refer to the Command Language
Manual.
NOTE: When using a variable in place of tagname, you cannot fetch the limits of the tag reference by
the variable. Additional information about using variables with specific types of links is provided in the
Introduction to the Draw Application, Creating Trend Chart Links, and Creating Statistical Chart
Links sections.

Creating Links
There are two methods you can use to add links to your pictures; using the Toolbox or using the
Available Links dialog box.
Toolbox
Using the Toolbox is the faster method. It contains buttons for each of the 13 links. To add a link,

156

iFIX with FIX Desktop

simply click on the appropriate button.


Available Links Dialog Box
To add a link using the Available Links dialog box:
1.

On the Tools menu, click Link. The Available Links dialog box, shown in the following
figure, appears.

2.

Click one of the 13 link icons or click Cancel to exit the Available Links dialog box. The
stamp icon appears. Attached to the stamp icon is an outline of the link you selected.
NOTE: These icons are the same as those displayed on the buttons in the Tool Box.

Available Links Dialog Box


Adding the Link
To add the selected link to the picture:
1.

Move the link outline to the appropriate position in your picture and click. The corresponding
link dialog box appears.

2.

Fill out the link dialog box or boxes.

3.

Replace the default name in the Object Name field with a unique name to help you identify
the link later.

4.

Click OK. The new link is now added to the picture.

Changing Links
While in Draw, you can change the settings of any link (except system Time and Date links). Simply
double-click a link to bring up its dialog box (or you can select a link and then, on the Edit menu,

157

iFIX with FIX Desktop

select Dynamic Properties).


If a link you want to edit is in a group, you must first ungroup the link before you can access its dialog
box.
Manipulating Links
You can cut, copy, paste, delete, and duplicate links the same way you do with other objects.
You can move and stretch links. You can also use certain style (font and color) options.

Grouping Links
Links can be grouped with all other types of objects. Refer to Grouping Objects for information on
how to group and ungroup objects.
Using Dynamic Properties
You cannot add dynamic properties to a link, unless the link is within a group. In a sense, a link is an
object with a predefined set of dynamic properties. You can, however, add dynamic properties to a
group that contains links. (A link can also be grouped by itself). The following table shows which links
react to which group dynamic properties.
Dynamic
Property

Foreground
Color

Data
Link

Time/Date
Link

System
Information
Link

Alarm
Summary
Link

Background
Color

Horizontal
Position

Vertical
Position

Rotate
Horizontal
Fill

158

Chart
Links

Edge Color

Scale

Push
Button
Link

iFIX with FIX Desktop

Dynamic
Property

Data
Link

Time/Date
Link

System
Information
Link

Alarm
Summary
Link

Push
Button
Link

Chart
Links

Commands
on Down

Commands
While
Down

Commands
on Up

Visible

Vertical Fill

Moving Grouped Data Links


If you have a Data link that is grouped and assigned to a dynamic property that moves the group across
the screen (for example, rotating the group), make the Data link large enough to display the maximum
value that it will contain.
For example, if the maximum value is four digits long, make the Data link large enough to display four
digits.

Creating Information Links


Informational links display data as numbers or text. These links include the:

Data Link

System Date Link

System Time Link

The following sections describe how to add these links to a picture.

Adding a Data Link

Adding Time and Date Links

Adding a Data Link


The Data link is a flexible tool for displaying text and values from databases on your network. The
Data link provides:

159

iFIX with FIX Desktop

Access to node, tag, and field information through the Field Select dialog box (press the
browse (...) button).

Access to alarm counter fields to display counts of unacknowledged and acknowledged


alarms.

Dynamic coloring.

Flexible display format.

Variety of operator input templates.

Access to SQL relational database information using an SQL startup command language
script.

To create a new data link:

From the Draw Toolbox, click the Data link button. Or, on the Tools menu, select Link to
display the Available Links dialog box. From this dialog box, click the Data link icon.

To edit an existing data link:

Double-click it. The Data Link dialog box appears.

Making the Link Controllable


Check the Controllable check box to allow View operators to select and use View commands on the
Data link. For example, the operator could acknowledge tag alarms or turn the tag on scan.
Entering a Datbase Tag
You can display data from any valid database tag using the Data link. Enter the target tag in the
Tagname field or click the browse (...) button to use the Field Select dialog box. If you enter a tag that
does not exist, you are prompted. If you add the tag, despite the prompt, the tag is not automatically
added to the database.
Draw fills in the default SCADA node and the field for you. Draw supplies the field portion based on
the format of the data. If you specify Numeric Data, Draw enters F_CV as the field. If you specify Text
Data, Draw enters A_CV as the field. If you want a different node and field, enter the entire tagname in
node:tag.field format.
Alternatively, you can enter a variable (#VARIABLE) or a tag group symbol (?SYMBOL). Refer to
the Using Variables section for information on variables, refer to the Understanding Tag Groups and
Using Tag Groups with Links sections for information on tag groups.
NOTE: To display system and alarm counter information, you must enter SYSTEM in the tag portion
of the tagname followed by the appropriate field. Refer to the on-line help for a list of alarm counters
and system information fields.
Formatting Numeric Data
If you specify a field with an F_ prefix in the Tagname field, the Data link displays numeric data
(values). If you are using a variable or a tag group in the Tagname field, ensure that it also returns
numeric data.

160

iFIX with FIX Desktop

NOTE: See the Formatting Text Data section for information on formatting Text data.
To format numeric data, in the Data Link dialog box:
1.

Select either Left or Right justification, as described in the Justifying Data section.

2.

Select Numeric Data. The Numeric Data Format dialog box appears.

3.

Enter an integer from 0 to 7 in the Whole Digits field. This entry establishes the number of
digits displayed before the decimal point.

4.

Enter an integer from 0 to 7 in the Decimal Digits field. This entry establishes the number of
digits displayed after the decimal point. View rounds the decimal portion of the value to fit
into the display digits specified.
NOTE: View can display up to seven accurate digits. Therefore, the sum of Whole Digits and
Decimal digits must be seven or less.

5.

Check the Scientific Notation check box to display the number in standard scientific notation.

The following table shows examples of formatted numbers:


Whole Digits

Decimal Digits

Scientific Notation

View Example

No

12.1234

No

1.123456

No

123456.1

No

.1234567

No

1234567

Yes

1.123456E+012

Yes

123456.1E+012

Formatting Text Data


If you specify a field with an A_ prefix in the Tagname field, the Data link displays text data (ASCII
alphanumeric characters). If you are using a variable or a tag group in the Tagname field, ensure that it
also returns text data.
To format text data, in the Data Link dialog box:
1.

Select either Left or Right justification, as described in the Justifying Data section.

2.

Select Text Data. The Text Format dialog box appears.

161

iFIX with FIX Desktop

3.

Enter the maximum number of lines the text data can occupy in the Number of Lines field.

4.

Enter the maximum number of characters of text that can be displayed on each line in the
Characters per Line field.

5.

To use the number of lines and characters specified in the database, click Get Format.

6.

Click OK.

Justifying Data
The Data link can display the value lined up by the first character (select Left Justify) or by the last
character (select Right Justify), as shown in the table below:
Left Justified

Right Justified

142.00

142.00

AUTO

AUTO

987601

987601

Using Dynamic Coloring


The value displayed by the Data link can change color according to the value or alarm condition of the
database field. In other words, the Data link has dynamic foreground coloring built directly into it. The
Data link's dynamic coloring uses the same procedures and dialog boxes as the dynamic foreground
color property. For complete instructions, see the Dynamically Changing Object Colors section.
Data links can also have a background color different from the picture background color.
To change the background color of a data link:
1.

Click the Visible Background Color button to display the color palette.

2.

Click the desired color. Draw uses the selected color to display a colored rectangle under the
Data link. If you choose not to assign a visible background color, the Data link writes over
whatever object is underneath it.

3.

To change the color later, click the color button to the right of the check box.
NOTE: The Data link uses the configurable blink speed defined in the VIEW.INI file. Refer to
the Defining the View Environment section for more information on the VIEW.INI file.

Allowing Data Entry


To allow data entry into the link by your operators, check the Allow Data Entry check box. The
Choose Data Entry Method dialog box appears, as shown in the following figure.

162

iFIX with FIX Desktop

Choose Data Entry Method Dialog Box


In this dialog box, you select the type of data entry you want the operator to perform. The following
sections describe how to configure each data entry selection:

Configuring Numeric Data Entry

Configuring Slider Data Entry

Configuring Push Button Data Entry

Configuring Alphanumeric Data Entry

Configuring Multiple Item Selection Data Entry

Configuring Ramp Value Data Entry

Configuring Numeric Data Entry


In the Choose Data Entry Method dialog box, when you select Numeric Entry, the Numeric
Configuration dialog box appears, as shown in the following figure.

Numeric Configuration Dialog Box


To configure Numeric Data Entry:
1.

Enter values, up to seven decimal places, in the Low Limit and High Limit fields. These
values become the lowest and highest values that operators can enter in View.
The defaults are zero (0). If you keep the defaults, when you open the picture in View, the
tag's EGU limits are automatically retrieved. The Fetch Limits button retrieves the high and
low EGU limits assigned to the tag in the database.

163

iFIX with FIX Desktop

2.

Check the Include calculator check box if you want the operator to use a calculator.

3.

Click OK.

Examples
The following figure shows an example of what the operator sees in View.

Numeric Data Entry Dialog Box in View


The following figure shows the same example if you check the Include calculator check box.

Numeric Entry Dialog Box with Calculator in View


Configuring Slider Data Entry
In the Choose Data Entry Method dialog box, when you select Slider Entry, the Slider Configuration
dialog box appears, as shown in the following figure.

164

iFIX with FIX Desktop

Slider Configuration Dialog Box


To configure slider data entry:
1.

Enter values, up to seven decimal places, in the Low Limit and High Limit fields. These
values become the lowest and highest values that operators can enter in View. The entry in the
High Limit field controls whether the values are displayed as integers or floating values in
both the Low and High Limit fields.
The defaults are zero (0). If you keep the defaults, when you open the picture in View, the
tag's EGU limits are automatically retrieved. The Fetch Limits button retrieves the high and
low EGU limits assigned to the tag in the database.

2.

Click OK.

Example
The following figure shows an example of what the operator sees in View.

Slider Entry Dialog Box in View


Configuring Push Button Data Entry
In the Choose Data Entry Method dialog box, when you select Push Button Entry, the Push Button
Configuration dialog box appears, as shown in the following figure.

165

iFIX with FIX Desktop

Push Button Configuration Dialog Box


To configure Push Button data entry:
1.

In the Close [1] field, enter the title, up to 12 characters long, for the push button that sends a
1 to the database tag .

2.

In the Close [0] field, enter the title, up to 12 characters long, for the push button that sends a
0 to the database tag. You can also use this data entry dialog box with alphanumeric data.

Example
The following figure shows an example of what the operator sees in View.

Push Button Entry Dialog Box in View


Configuring Alphanumeric Data Entry
In the Choose Data Entry Method dialog box, when you select Alphanumeric Entry (available only
when the format is text data), the Alphanumeric Configuration dialog box appears, as shown in the
following figure.

Alphanumeric Configuration Dialog Box


To configure alphanumeric data entry, optionally check the include keypad check box, if you want the
operator you use a keypad.

166

iFIX with FIX Desktop

Example
The following figure shows an example of what the operator sees in View.

Alphanumeric Data Entry Dialog Box in View


The following figure shows the same example if you check the Include Keypad box.

Alphanumeric Data Entry Dialog Box with Keypad in View


NOTE: The numeric keypad portion of this data entry dialog box does not function like a calculator.
Configuring Multiple Item Selection Data Entry
In the Choose Data Entry Method dialog box, when you select Multiple Item Selection, the Item
Selection Configuration dialog box appears, as shown in the following figure.

167

iFIX with FIX Desktop

Item Selection Configuration Dialog Box


To configure multiple item selections:
1.

Enter a legal operator entry in the Selection field.

2.

Click Add to add the selection to the list of allowable operator entries. You can add up to 100
items to the list.

To modify an existing selection:


1.

Select an item in the list box.

2.

Enter a new value in the Selection field.

3.

Click Modify.

To delete an existing selection:


1.

Select an item in the list box.

2.

Click Delete.

Example
When the operator double-clicks the Data link in View, a list box appears showing all the selections
that you configured. The operator can only select an entry from this list.
The following figure shows an example of what the operator sees in View. Note that this data entry
dialog box can also be used for alphanumeric entries.

168

iFIX with FIX Desktop

Multiple Item Data Entry Dialog Box in View


Configuring Ramp Value Data Entry
In the Choose Data Entry Method dialog box, when you select Ramp Value Entry, the Ramp Value
Configuration dialog box appears, as shown in the following figure.

Ramp Value Configuration Dialog Box


To configure ramp value data entry:
1.

Enter values, up to seven decimal places, in the Low Limit and High Limit fields. These
values become the lowest and highest values that operators can enter in View. The entry in the
High Limit field controls whether the values are displayed as integers or floating values in
both the Low and High Limit fields.
The defaults are zero (0). If you keep the defaults, when you open the picture in View, the
tag's EGU limits are automatically retrieved. The Fetch Limits button retrieves the high and
low EGU limits assigned to the tag in the database.

2.

Enter a percentage of the specified range in the Ramp Fast Percentage field. This percentage
defines how much the fast ramp button modifies the current value.

3.

Enter a percentage of the specified range in the Ramp Slow field. This percentage defines
how much the slow ramp button modifies the current value.

4.

Click OK.
NOTE: In View, if the target tag assigned to the Data link contains an unknown or

169

iFIX with FIX Desktop

uninitialized value, the tag's Low limit value becomes the current value for the tag. Therefore,
in this case, when an operator ramps the value, the value written to the database is based on
the Low limit value, not the actual process value.
Example
In View, the Ramp Value dialog box presents operators with four arrow buttons that correspond to
slow and fast ramp up and down.
The following figure shows what an operator would see in View.

Ramp Value Dialog Box in View


Requiring Confirmation
In View, data entered through any of the data entry dialog boxes is written to the appropriate database
tag during the next scan cycle. You can require confirmation from the operator before the data is
written to the database.
To require confirmation, check the Require Confirmation check box in the Data Link dialog box. After
the operator enters data in View, View displays a dialog box asking the operator to confirm that they
want to make the requested write.
Naming the Data Link
You can give the Data link object a unique name. The default name for all Data links is DATALINK.
To enter a new name, enter it in the Object Name field on the Data Link dialog box.
Creating a SQL Startup Script
Using the Data Link, you can make a picture automatically log into a relational database and retrieve
data. View handles the automatic login. To retrieve data from a relational database, create an SQL
startup script.

170

iFIX with FIX Desktop

To create a SQL startup script:


1.

Select the SQL button or the SQL Open Script check box in the Data Link dialog box.

2.

When the Command Language Editor appears, enter a command language script to access the
data you need.

The script you create executes concurrently with the Commands on Opening script. To avoid timing
issues, design each script to operate independently.
When the SQL startup script ends, View keeps the database connection open to speed the retrieval of
additional data. The connection closes when View closes.
For more information on using a command language script to access a relational database, refer to the
Command Language Manual. To delete a script, uncheck the SQL Open Script check box.
NOTE: One SQL startup script is shared by all the Data links in a picture. As a result, if you delete the
script from one Data link, it is removed from all Data links in that picture. In addition, the script is
treated like a picture property. If you delete all the Data links from a picture without deselecting the
Open SQL Script check box, when you open the picture in View, the SQL startup script runs.
Adding Time and Date Links
The Time and Date links display the current time and date in the computer's native format. That is,
your iFIX with FIX Desktop software uses the time and date formats set through the operating system.
You can change the font, font size, and color of the Time and Date links.
To create a new Time or Date link:
1.

On the toolbox, click the Time Link or Date Link button. Or, on the Tools menu, select Link
to display the Available Links dialog box. From this dialog box, click the Time Link or Date
Link icon. The cursor becomes a stamper.

2.

Place the stamper in the desired location, and click.

Creating Special Purpose Links


Special Purpose links let you add alarm summaries and push buttons to your pictures. The following
sections describe how to add Alarm Summary links and the Push Button links to pictures:

Adding an Alarm Summary Link

Adding a System Information Link

Adding a Push Button Link

Adding an Alarm Summary Link


One of the most important operator functions is to monitor and manage alarms. The Alarm Summary
link provides your View operators with a list box of current alarms. You control which alarms appear
by setting up a variety of filtering options.
The following figure shows a sample Alarm Summary as it appears in View.

171

iFIX with FIX Desktop

Sample Alarm Summary Display


To add an Alarm Summary link:

From the Draw Toolbox, click the Alarm Summary link button. Or, on the Tools menu, select
Link to display the Available Links dialog box. From this dialog box, click the Alarm
Summary link.

To edit an existing Alarm Summary link:

Double-click it. The Alarm Summary Configuration dialog box appears.

Setting up and using the Alarm Summary is closely related to the information and tasks described in
the Implementing Alarms and Messages manual. You can find complete set-up instructions there.
Manipulating Alarm Summary Links
You can change the Alarm Summary in Draw as described below:

172

Action

Procedure

Move

Drag the Alarm Summary to the new position.

Stretch

Select the Alarm Summary and drag a handle.

Change Font Size

Use the Font! command to choose a font size.

iFIX with FIX Desktop

Action

Procedure

Change Column Heading Text


Color

Use the normal color box procedure for changing a


foreground color.

Change Background Color

Use the normal color box procedure for changing a


background color.

Adding a System Information Link


The System Information link displays one of several available parameters that can help you monitor
how your system is running. The link can display system parameters from any node on the network.
To create a new System Information link:
1.

From the Draw Toolbox, click the System Information link button. Or, on the Tools menu,
select Link to display the Available Links dialog box. From this dialog box, click the System
Information link icon.
The System Information dialog box appears. To edit an existing System Information link,
double-click it.

2.

In the Node Name field, enter the name of the SCADA node that you are seeking information
from or select the browse (...) button to choose from a list of nodes.

3.

Select one of the System Field choices.

4.

Click OK.

The following sections explain the functions of the system fields:

Displaying Database Information

Displaying SAC Status Information

Displaying the Number of SAC Cycles

Displaying Alarm Priorities

Displaying the Node Time and Date

Displaying the Number of Blocks Processed

Displaying Database Information


To display:

The name of the database that is running on the node, select the Database Name button.

The unique number that your iFIX software assigns to a database configuration, select the
Database Serial Number button. If appropriate, you can use this link to monitor the integrity
of the database. If the database configuration changes at any time, this number also changes.

173

iFIX with FIX Desktop

Displaying SAC Status Information


To display:

The number of times that the Scan, Alarm, and Control (SAC) program could not execute all
requests during a scan period, click the Number of SAC Overruns button. The count begins on
startup.

The SAC's scan status, click the SAC scan status button. The scan status is displayed as either
RUN or STOP.

Whether operator outputs are allowed, click the SAC Output button. This status is displayed
as ENABLE or DISABLE. If the link displays DISABLE, then operator outputs are written to
a storage location in the database, but are not displayed, and not written to the I/O hardware.
If the link displays ENABLE, then operator outputs are written to the I/O hardware. When
you select the SAC Output button, the Value Modifiable check box on the System
Information Link dialog box becomes available. Check this box if you want your operators to
be able to change the SAC output status through this link.

Displaying the Number of SAC Cycles


To display:

The number of cycles that SAC executes per minute, click the SAC Cycles Per Minute
Button. Each time SAC completes a full scan of all applicable database tags, it has completed
one cycle. SAC attempts to execute 12 cycles per minute. If the number displayed for this
parameter in View is less than 12 cycles, it is an indication that SAC is overloaded.

The number of cycles that SAC executes per second, click the SAC Cycles Per Second button.
Each time SAC completes a full scan of all applicable database tags, it has completed one
cycle. SAC attempts to execute 2 cycles per second. If the number displayed for this
parameter in View is less than 2 cycles, it is an indication that SAC is overloaded.

Displaying Alarm Profiles


To display the node's alarm priority level, click the Alarm Priorities level button. This link displays the
node's alarm priority level as CRITICAL, HIHI, HIGH, MEDIUM, LOW, LOLO, or INFO.
When you select this parameter, the Value Modifiable check box becomes available. Check this box if
you want your operators to be able to change the node's alarm priority level through this link.
Displaying the Node Time and Date
To display:

The operating system time for the selected SCADA node, click the Node Time button.

The operating system date for the selected SCADA node, click the Node Date button.

When you select either button, the Value Modifiable check box becomes available. Check this box if
you want to let operators change the node's operating system time and date through this link for
synchronization purposes.

174

iFIX with FIX Desktop

Displaying the Number of Blocks Processed


To display:

The total number of database blocks that SAC has processed or scanned since your iFIX
software started, click the Total Number of Blocks Processed Button.

The number of database blocks that SAC has processed or scanned during the last second,
click the Number of Blocks Per Second button.

Adding a Push Button Link


The Push Button link is a tool that lets you add push buttons just like the ones used throughout Draw
to your View pictures. Push buttons execute your command language scripts. When an operator
clicks the button, View executes the script.
Push buttons work exactly the same as the command dynamic property. However, push buttons have
one major advantage: to operators, it's immediately apparent that a push button is something you can
click.
The Push Button Link uses the Command Language Editor. This program is your tool for creating
command scripts wherever your iFIX with FIX Desktop software supports them. For complete
information on the Command Language Editor refer to the Command Language Manual.
Some sample uses for push buttons include to:

Toggle tags between Automatic and Manual mode.

Open and close pictures.

Toggle digital tags between OPEN and CLOSE states.

Switch tag groups in a display.

Manipulate files.

Run other applications.

Relativity
The Command Language is flexible enough to support command relativity. Relativity lets a command
script interact with a selected object. For example, suppose you have two push buttons set up to toggle
a tag between manual and automatic mode. The buttons are part of a picture with four Data links to
different Analog Input blocks. The push buttons' command scripts do not specify a particular tag.
Instead, the operator first selects the appropriate link and then clicks one of the buttons. The Command
Language sends the appropriate message to the selected tag. The following figure illustrates this
example.

175

iFIX with FIX Desktop

Push Buttons with Relative Commands


The procedure below shows you how to add a Push Button link to a picture.
To create a Push Button link:
1.

In the Toolbox, click the Push Button. Or, on the Tools menu, select Link to display the
Available Links dialog box. From this dialog box, click the Push Button icon.
The stamper cursor appears.

2.

Use the mouse to position the stamper cursor where you want the push button to appear.

3.

Click the mouse button.


The Push Button Configuration dialog box appears.

4.

Enter the text, up to 40 characters, that you want to appear on the push button in the Button
Text field.

5.

Click the Edit Commands button to display the Command Language Editor. Add your
command script according to the instructions found in the Command Language Manual.

6.

Click OK. The push button is now added to your screen.

Manipulating Push Buttons


Because push buttons are an extension of the operating system, you cannot change the color or font
properties of the button through Draw. Also note that push buttons are always on top they cannot be
buried under other objects. However, you can move and resize push buttons:
To move a push button:

Place the cursor in the center of the button and, hold down the mouse button and drag the push
button to the new location.

To resize a push button:

Place the cursor on one of the handles and drag to stretch or shrink the size of the button.

NOTE: When you change the text in a push button, the button size changes based on the size of the

176

iFIX with FIX Desktop

text.

Creating Trend Chart Links


Trend links produce real-time trend charts in View. The links can trend data from any floating point
database field (F_) or data collected by a Trend tag (G_DATA field). Each chart can trend up to eight
pens. You can display the data in one of two formats, as shown in the following table.
Name

Description

Multipen

Plots up to eight floating point or Trend tags. You can set up each trend line with a
different color and marker style.

MultiBar

Plots up to eight floating point or Trend tags as groups of bars. You can set up each
trend bar with a different color.

Chart Features
The following figure shows an example of a Trend chart.

Example of a Trend Chart

Adding a Trend Link


To add Multi-Pen or Multi-Bar Trend Link:
1.

Click the Multi-Pen or Multi-Bar Trend Link button on the Toolbox.


-Or-

177

iFIX with FIX Desktop

On the Tools menu, select Link to display the Available Links dialog box. From this dialog
box, click the Multi-Pen or Multi-Bar Trend link icon. The cursor becomes a stamper.
2.

Move the stamper to location where you want to place the chart and click. The chart
configuration dialog box appears.

Task Overview
The following is a list of the tasks you need to perform to create a trend chart link:

Configure the X and Y Axis.

Define the time duration for the chart.

Define the chart area colors.

Configure the chart legend.

Configure whether or not you can modify the chart in View.

Configure pens for the chart:


o

Enter a tagname.

Define tag high and low limit ranges.

Select pen colors.

Format the trend lines and configure markers (for Multi-Pen trend charts only).

Add the pen to the chart.

To edit an existing trend link, double-click it.


The following sections describe these tasks in detail:

Configuring the X and Y Axis

Defining the Time Duration

Defining the Chart Area Colors

Configuring the Legend

Making the Chart Modifiable

Configuring the X and Y Axis


The X axis displays the time and the Y axis displays the limit range of the pens. You can configure the
color, low limit, high limit, and markers for the each axis. The following figure labels the axes parts
that you can configure.

178

iFIX with FIX Desktop

Axis Parts
To define the X and Y axis, in the Multi-Pen Chart Configuration dialog box:
1.

Click the X or Y axis icon to define the chart's X or Y axis. The Axis Configuration dialog
box appears.

2.

Click the Show Axis check box to display the axis line in View. By default this check box is
enabled. Disabling the Y axis is useful if you are placing several charts next to each other in a
display.

3.

Enter a name for the axis in the Title field. If you do not want an axis title, delete the title text
in this field.

4.

Click the Axis color button to change the color of the X axis line, tick marks, and grid lines
and select a color from the color palette.

5.

Click the Label color button to change the color of the axis labels and axis title. View ignores
any color you specify here for the Y axis labels; the color of the labels matches the color of
the pen or bar that the operator selects in View.

6.

Enter the number of tick marks that you want displayed on the axis, from 0 to 40. The number
of tick marks also determines the number of grid lines.

7.

Enter the number of value labels, from 0 to 20, that you want to display along the axis in the
Number of Labels field.

8.

Check the Display Grid Lines check box to display horizontal (for the Y axis) or vertical (for
the X axis) lines spaced at the tick marks on the chart.

9.

Check the Show Date check box to display the date.

Defining the Time Duration


To control how much data the trend link can display, specify the total amount of time the trend can
display in DD:HH:MM:SS format in the Time Duration field. You can specify a duration between
00:00:00:01 and 99:23:59:59.
To support large durations, charts use compression. Charts can store up to 1,000 points per pen. If the
duration you specify causes the number of points to exceed 1,000 points, the chart automatically enters
compression mode. In this mode, it uniformly filters out a proportion of data points. There is a loss of
precision when compression is enabled. If you want all the points to be trended, use a shorter duration.
The number of points required to cover the entire duration is calculated as follows:

179

iFIX with FIX Desktop

Number of Points = [Duration/Rate]+1


The Rate is determined by the type of field being trended:
Field...

Rate...

Floating Point (F_)

Picture refresh rate

G_DATA

(Scan time of the chain) * (Compress ration for the Trend tag)

Defining the Chart Area Colors


You can define colors for the chart's foreground and background areas. The foreground of the chart is
the area inside the trend axis. The background area (only included in the chart when you also configure
an axis) is the area outside the trend axis.
You can also make the chart transparent. Making a chart transparent lets you place the chart on top of
other objects in the picture. This feature is useful for stacking trend links to get many trends in one
space. You could also put a graphic of the ideal or target trend behind the trend link for comparison
with the real-time trend.
To define chart area colors:
1.

Click the Foreground color button and select a color from the color palette.

2.

Click the Background color button and select a color from the color palette.

3.

Check the Transparent check box to make the foreground and background of the chart
transparent.

Configuring the Legend


The chart legend is a key to the information displayed in the chart. The legend displays at the bottom
of the chart, below the X axis.
To configure the chart legend, in the Multi-Pen or Multi-Bar Chart Configuration dialog
box:
1.

Check the Display Tagname check box to include the names of the trended tags in the legend.

2.

Enter the number of characters, up to 28, to reserve for the tagname.

3.

Check the Display Descriptor check box to include the tag descriptions for the trended tags in
the legend.

4.

Enter the number of characters, up to 40, to reserve for the tag description.

5.

Check the Current Value check box to include the current values of the trended tags in the
legend.

6.

Enter the number of characters, up to 13, to reserve for the value.

If you want operators to be able to modify the chart in View, check the Modifiable check box.

180

iFIX with FIX Desktop

When a chart is modifiable, the operator can double-click on the chart in View and make changes to
the chart, such as changing the tagname of a trended pen.

Configuring Pens
The configuration of pens differs between the Multi-Pen and Multi-Bar chart links. In Multi-Pen chart
links, the pen is the tagname and style definition that make up a trend line. In Multi-Bar chart links, the
pen is the tagname and style definition that make up a trend bar. Each link can have up to eight trend
lines or bars.
To configure pens:

Click the Pen icon in the Multi-Pen or Multi-Bar Pen Configuration dialog box. If you are
adding a Multi-Pen link, the Multi-Pen Chart Pen Configuration dialog box appears. If you
are adding a Multi-Bar link, the Multi-Bar Chart Pen Configuration dialog box appears.

Specifying Tag Names


You can trend data from any valid tagname, variable (#VARIABLE), or tag group symbol
(?SYMBOL). Enter the target tag in the Tagname field or click the browse (...) button to use the Field
Select dialog box. If you enter a tag that does not exist, a prompt appears. (You must add this tag to the
database manually; it will not get added automatically.) Draw fills in the default SCADA node and
field for you. If you want to specify a different node and field, enter the entire tagname, using the
standard node:tag.field format.
For information on using variables in links, refer to the Using Variables section. For information on
using tag groups in links, refer to the Using Tag Groups with Links and Understanding Tag Groups
sections.
Defining Tag Name Ranges
For each pen, you can define the highest and lowest value of the tag that you want to trend in the chart.
To define High and Low limits for a pen:
1.

Enter the lowest value of the tag that you want to appear on the chart in the Low Limit field.
The default is 0 (zero).

2.

Enter the highest value of the tag that you want to appear on the chart in the High Limit field.
The default is 100.

If you enter (zero) in both the high and low limit fields, the tag's EGU limits are automatically
retrieved when you open the picture in View.
You can also retrieve the EGU limits assigned to the tag in the database, by selecting the Fetch Limits
button.
NOTE: You cannot fetch EGU limits for variables and you cannot fetch EGU limits for tag group
symbols that resolve to 0 (zero).
You can define limits to produce special chart effects:

181

iFIX with FIX Desktop

Chart Effect

Low Limit Entry

High Limit Entry

Automatically retrieve the tag EGU limits


when the picture is opened in View.

0 (zero).

0 (zero).

"Zoom in" on a part of the limit range.

Enter a value greater


than the tag's low limit.

Enter a value less than


the tag's high limit.

"Zoom out" on the limit range.

Enter a value less than


the tag's low limit.

Enter a value greater


than the tag's high limit.

Compare several tags with different limit


ranges absolutely.

Use the same entry for


every pen on the chart.

Use the same entry for


every pen on the chart.

Compare several tags with different limit


ranges by percent.

Use the EGU Low


Limit

Use the EGU High


Limit

Trending Pens with Different Ranges


If you have pens with different limit ranges on the same chart, View maps the high limit to the top of
the chart and the low limit to the bottom of the chart for each pen.
In other words, if one pen has a range of 1 to 100, when that trend line touches the top of the chart, the
value is 100. If another pen on the same chart has a range of 1 to 5, when that trend line touches the top
of the chart, the value is 5. In this setup, you are comparing trends by percent of range.
Selecting Pen and Y Axis Label Colors
The color you select for a pen is also used for the pen's Y axis labels.
To select a pen color, click the Pen Color button and choose a color from the color palette.
Formatting Trend Lines
The Multi-Pen Chart links displays data in the form of trend lines, (as opposed to the Multi-Bar chart
which displays data in trend bars). Trend lines can be displayed in different formats, from no line at all,
to lines with markers.
To format the Multi-Pen trend lines:

182

1.

Check the Show Line check box to make the trend line visible. By default this check box is
enabled. If you disable the line, you must use a marker.

2.

Check the Constant Line check box to create straight lines that represent control limits or
comparisons. Enable this feature if you are trending a tag with infrequently changing values.
View creates a constant line across the trend chart using two samples which operators can use
to compare against more dynamic trends.

iFIX with FIX Desktop

Configuring Trend Line Markers


On the Multi-Pen Trend chart you can configure trend line markers. Trend line markers serve two
purposes:

When you use markers without showing the trend line, the chart displays markers for each
individual sample at the actual time the sample was taken.

When you use markers and show the trend line, the markers are evenly spaced along the trend
line. This is useful to distinguish between lines if you print the chart in black and white.

To define a pen's trend line marker:


1.

Check the Use Marker check box to display markers.

2.

Click one of the following: The Rectangle button, to mark samples with a square. The Oval
button, to mark samples with a circle. The Character button, to mark samples with the ASCII
alphanumeric character you enter in the associated text field. You may want to use character
markers if you are marking more than two pens in one chart.

Creating Statistical Chart Links


The statistical chart links use the Statistical Data database tag and the Histogram tag. These tags collect
data according to how you configure the tag, and the statistical charts display the collected data in
View. The number of samples and other parameters are configured in the tag, not through Draw. Refer
to the Database Block Reference for more information on configuring Statistical and Histogram tags.
The statistical links provide graphical data of key Statistical Data and Histogram Data tag calculations.
There are four statistical links, as shown in the following table.
Type

Description

X-Bar

Plots the collected X-Bar data provided by the specified Statistical Data Tag.

R-Bar

Plots the collected R-Bar data provided by the specified Statistical Data Tag.

S-Bar

Plots the collected S-Bar data provided by the specified Statistical Data Tag.

Histogram

Displays a frequency distribution chart and works in conjunction with the Histogram
database tag.

Statistical Data Tag Charts


The following figure shows an example of an X-Bar chart.

183

iFIX with FIX Desktop

Example of an X-Bar Chart


Histogram Tag Charts
The following figure shows an example of a Histogram chart.

Features of Histogram Charts

Adding X-Bar, R-Bar, and S-Bar Charts


To add an X-Bar, R-Bar, or S-Bar statistical chart link:
1.

On the toolbox, click the X-Bar, R-Bar, or S-Bar link button. Or, on the Tools menu, select
Link to display the Available Links dialog box. From this dialog box, click the the X-Bar, RBar, or S-Bar link icon. The cursor becomes a stamper.

2.

Move the stamper to location where you want to place the chart and click. The Statistical
Chart Configuration dialog box appears. For the X-Bar, R-Bar, and S-Bar statistical links, this
dialog box is the same.

Task Overview
The following is a list of the tasks you need to perform to create an X-Bar, R-Bar, and S-Bar chart link:

184

iFIX with FIX Desktop

Configure the X and Y Axis.

Define the chart area colors.

Configure whether or not the chart is modifiable in View.

Configure pens for the chart: Enter a Statistical Data tag. Format the pen line.

The dialog boxes and controls are the same for X-Bar, R-Bar, and S-Bar chart links. The only
difference is the type of data that you are manipulating. The following sections below provide
instructions for filling in these common dialog boxes:

Configuring the X and Y Axis

Defining the Chart Area Colors

Making the Chart Modifiable

Configuring the X and Y Axis (X-Bar, R-Bar, and S-Bar Charts)


The Y axis displays the limit range of the pens and the X axis displays groups. For each, you can
configure the title, color, and tick marks. The following figure labels the axis parts that you can
configure.

Axis Parts
To configure the X and Y axis:
1.

Click the X or Y Axis icon to define the X or Y axis. In both cases, the Axis Configuration
dialog box appears.
NOTE: The controls in this dialog box are the same for both the Y and X axis.

2.

Click the Show Axis check box to display the axis line in View. By default, this check box is
enabled. Disabling the Y axis is useful if you are placing several charts next to each other in a
display.

3.

Enter a name for the axis in the title field. If you do not want a title, delete any title text in this
field.

4.

Click the Axis Color button to change the color of the axis line, tick marks, and grid lines, and
select a color from the color palette.

5.

Click the Label Color button to change the color of the axis title and labels.

185

iFIX with FIX Desktop

6.

Enter the number of tick marks that you want displayed on the axis, from 0 to 40. The number
of tick marks also determines the number of grid lines.

7.

Enter the number of value labels, from 0 to 20, that you want to display along the axis in the
Number of Labels field.

8.

Check the Display Grid Lines check box to display horizontal (for the Y axis) and vertical
(for the X axis) lines spaced at the tick marks on the chart.

Defining the Chart Area Colors


You can define colors for the chart's foreground and background areas. The foreground of the chart is
the area inside the axes. The background area (only included in the chart when you also configure an
axis) is the area outside the axes.
You can also make the chart transparent. Making a chart transparent lets you place the chart on top of
other objects in the picture. This feature is useful for stacking chart links to get many charts in one
space.
To define chart area colors:
1.

Click the Foreground color button and select a color from the color palette.

2.

Click the Background color button and select a color from the color palette.

3.

Check the Transparent check box to make the foreground and background of the chart
transparent.

Making the Chart Modifiable (X-Bar, R-Bar, and S-Bar Charts)


If you want operators to be able to modify the chart in View, check the Modifiable check box. When a
chart is modifiable, the operator can double-click on the chart in View and make changes to the chart,
such as changing the tagname.

Configuring Statistical Pens


Statistical pens show the plot of the statistical calculation. For each of the three statistical links, the Pen
Configuration dialog box works the same. You select the desired pen from the available choices and
then use the various style options to configure its appearance.
Each type of pen is listed below:

186

X-Bar

X-Bar-Bar

Range (R)

R-Bar

S-Bar

Standard Deviation (S)

Upper Control Limit. This limit is three standard deviations above X-Bar, R-Bar, or S-Bar.

Lower Control Limit. This limit is three standard deviations below X-Bar, R-Bar, or S-Bar.

iFIX with FIX Desktop

Upper Warning Limit. This limit is two standard deviations above X-Bar, R-Bar, or S-Bar.

Lower Warning Limit. This limit is two standard deviations below X-Bar, R-Bar, or S-Bar.

To configure a statistical pen:


1.

Click the Pen icon in the Statistical Chart dialog box. The Pen Configuration dialog box
appears.

2.

Select a pen from the list box. The list box displays all of the pens and limit lines available.
You can configure all the pens to appear on one chart.

3.

Complete the remainder of the dialog box and click the Change Properties button to apply the
selections to the selected pen. The sections describe how to complete the remainder of the
dialog box:

Entering a Tag Name (Statistical Pens)

Formatting Line Properties (Statistical Pens)

Entering a Tag Name (Statistical Pens)


You can chart data from any valid tag or tag group symbol (?SYMBOL). Enter a valid tag in the
Tagname field. Draw fills in the default SCADA node for you. If you enter a tag that does not exist,
Draw prompts you to add the tag to the database.
If you want to specify a different node, enter the tagname in node:tag format or click the browse (...)
button to use the Tag Select dialog box.
NOTE: Refer to the Using Tag Groups with Links section for more information on tag groups.
Formatting Line Properties (Statistical Pens)
In this group you can configure the selected pen to display as a continuous line, a series of sample
markers, or both.
To format pen lines:
1.

Select a pen from the list box.

2.

Click the Show Line check box to show the selected line. If you deselect this option, the line
does not display in the chart.

3.

Click the Color button and select a color for the selected line from the color palette.

4.

Click the Show marker check box to display markers for each sample taken. When you show
markers for the X-Bar line and show the line, the markers are evenly spaced along the line.

5.

If you are showing markers, click one of the following: The Rectangle button, to mark
samples with a square. The Oval button, to mark samples with a circle. The Character button,
to mark samples with the ASCII alphanumeric character you enter in the associated text field.

187

iFIX with FIX Desktop

Adding a Historgram Chart Link


To add a Histogram chart link:
1.

Click the Histogram link button on the Tool.


-OrOn the Tools menu, click Link to display the Available Links dialog box. From this dialog
box, click the Histogram link icon.
The cursor becomes a stamper.

2.

Move the stamper to location where you want to place the chart and click. The Histogram
Chart Configuration dialog box appears.

Task Overview
The following is a list of the tasks you need to perform to create a Histogram Link.

Configure the X and Y Axis.

Define the chart area colors.

Configure the chart legend.

Configure whether or not you can modify the chart in View.

Configure a pen for the chart.

To edit a Histogram link, double-click it.


The following sections describe each task:

Configuring the X and Y Axis

Defining the Chart Area Colors

Configuring the Legend

Making the Chart Modifiable

Configuring Histogram Pens

Configuring the X and Y Axis (Histogram Chart Link)


The Y axis displays the number of observations. The X axis displays the limit range. For each, you can
configure the title, color, and tick marks. The following figure labels the axes parts that you can
configure.

188

iFIX with FIX Desktop

Axis Parts
To configure the X and Y axis:
1.

Click the X or Y axis icon to define the X or Y axis. In both cases, the Axis Configuration
dialog box appears.
NOTE: The controls in this dialog box are the same for both the Y and X axis.

2.

Click the Show Axis check box to display the axis line in View. By default this check box is
enabled. Disabling the Y axis is useful if you are placing several charts next to each other in a
display.

3.

Enter a name for the axis in the Title field. If you do not want a title, delete any title text in
this field.

4.

Click the Axis Color button to change the color of the axis line, tick marks, and grid lines, and
select a color from the color palette.

5.

Click the Label Color button to change the color of the axis labels and title, and select a color
from the color palette. For the X axis, View ignores any color you specify here. The color of
the labels matches the color of the bars.

6.

Enter the number of tick marks that you want displayed on the axis, from 0 to 40. The number
of tick marks determine the number of grid lines.

7.

Enter the number of value labels, from 0 to 20, that you want to display along the axis in the
Number of Labels field.

8.

Check the Display Grid Lines check box to display horizontal (for the Y axis) and vertical
(for the X axis) lines spaced at the tick marks on the chart.

Defining the Chart Area Colors (Histogram Chart Link)


You can define colors for the chart's foreground and background areas. The foreground of the chart is
the area inside the axes. The background area (only included in the chart when you also configure an
axis) is the area outside the axes.
You can also make the chart transparent. Making a chart transparent lets you place the chart on top of
other objects in the picture.

189

iFIX with FIX Desktop

To define chart area colors:


1.

Click the Foreground color button and select a color from the color palette.

2.

Click the Background color button and select a color from the color palette.

3.

Check the Transparent check box to make the foreground and background of the chart
transparent.

Configuring the Legend (Histogram Chart Link)


The chart legend is a key to the information displayed in the chart. The legend displays at the bottom
of the chart, below the X axis.
To configure the chart legend, in the Histogram Chart Configuration dialog box:
1.

Check the Display Tagname check box to include the tagname of Histogram tag in the legend.

2.

Enter the number of characters, up to 28, to reserve for the tagname.

Making the Chart Modifiable (Histogram Chart Link)


If you want operators to be able to modify the chart in View, check the Modifiable check box.
When a chart is modifiable, the operator can double-click on the chart in View and make changes to
the chart, such as changing the tagname.
Configuring Histogram Pens
A histogram pen is displayed as bars. The bars show the total observed at a limit range. Click the Pen
icon to bring up the Histogram Chart Pen Configuration Dialog box.
To configure a Histogram chart pen:
1.

Enter the target tag in the Tagname field. Draw fills in the default SCADA node for you. If
you enter a tag that does not exist, Draw prompts you to add the tag to the database. If you
want to specify a different node, enter the entire tag in node:tag format in the Tagname field
or click the browse (...) button to use the Tag Select dialog box.
Alternatively, you can enter a variable (#VARIABLE) or a tag group symbol (?SYMBOL).
Refer to the Using Variables section for more information on variables, and the
Understanding Tag Groups and Using Tag Groups with Links sections for more information
on tag groups.

2.

Click the Pen color button to select a pen color from the color palette.

3.

Enter the lowest limit that the pen can display on the chart in the Low limit field. To use the
EGU limit range, click the Fetch Limits button, and Draw fills in the field for you.

4.

Enter the highest limit that the pen can display on the chart in the High Limit field. To use the
EGU limit range, click the Fetch Limits button, and Draw fills in the field for you.
If you enter 0 (zero) in both the high and low limit fields, the tag's EGU limits are
automatically retrieved when you open the picture in View.

5.

190

Click OK.

iFIX with FIX Desktop

NOTES:

A Histogram tag should be the only block type referenced by a variable used in a Histogram
link. The field name should always be G_DATA.

You cannot fetch the EGU limits of any tag referenced by a variable from within the
Histogram Chart Pen Configuration dialog box.

Creating XY Plot Charts


The XY Plot link allows you to plot the real-time intersection of values from two database tags. While
the trend charts plot a value against time, the XY Plot link gives you the flexibility to do other
graphical comparisons, like temperature versus pressure.

Chart Features
The following figure shows an example of an XY Plot chart.

Features of XY Plot Charts

Adding an XY Plot Chart Link


To add an XY Plot chart link:
1.

Click the XY Plot link button on the Toolbox. Or, on the Tools menu, select Link to display
the Available Links dialog box. From this dialog box, click the XY Plot link icon.

2.

Move the stamper to location where you want to place the chart and click. The X vs. Y Chart
Configuration dialog box appears.

Task Overview
The following is a list of the tasks you need to perform to create an XY Plot Link:

Define the number of history points.

191

iFIX with FIX Desktop

Configure the X and Y Axis.

Define the chart area colors.

Configure the chart legend.

Configure whether or not you can modify the chart in View.

Configure pens for the chart.

To edit an XY Plot Link, double-click it.


The following sections describe each task in detail:

Defining the Number of History Points

Configuring the X and Y Axis

Defining the Chart Area Colors

Configuring the Legend

Making the Chart Modifiable

Configuring XY Plot Pens

Defining the Number of History Points


In the Number of History Points field, enter the number of points, from 1 to 999, that you want
displayed on the chart. A point is the intersection of the values of the X and Y tags as recorded in a
picture refresh period. For example, entering 500 would give you the intersections of the X and Y tags
for the last 500 picture refresh periods.
The chart displays only the latest values. For example, if you enter 10 in this field, when View fetches
the eleventh value, the first value is thrown out and the chart displays points 2 through 11. After the
next refresh period, the chart displays points 3 through 12, and so on.
Configuring the X and Y Axis (XY Plot Chart Link)
The Y axis displays the limit range of one tag. The X axis displays the limit of the other tag. For both,
you can configure the title, colors, and tick marks. The following figure labels the axes parts.

192

iFIX with FIX Desktop

Axis Parts
To configure the X and Y axis:
1.

Click the X or Y axis icon to define the X or Y axis. In both cases, the Axis Configuration
dialog box appears.
NOTE: The controls in this dialog box are the same for both the Y and X axis.

2.

Click the Show Axis check box to display the axis line in View. By default this check box is
enabled. Disabling the Y axis is useful if you are placing several charts next to each other in a
display.

3.

Enter a name for the axis in the Title field. If you do not want a title, delete any text in the
Title field.

4.

Click the Axis Color button to change the color of the X axis line, tick marks, and grid lines,
and select a color from the color palette.

5.

Click the Label Color button, to change the color of the axis title, and select a color from the
color palette. Note that the color you select for the pen markers is also the color used for the
axis labels.

6.

Enter the number of tick marks that you want displayed on the axis, from 0 to 40. The number
of tick marks determines the number of grid lines. Enter the number of samples to match up
the tick marks with the sample markers.

7.

Enter the number of value labels, from 0 to 20, that you want to display along the axis in the
Number of Labels field.

8.

Check the Display Grid Lines check box to display horizontal (for the Y axis) and vertical
(for the X axis) lines spaced at the tick marks on the chart.

Defining the Chart Area Colors (XY Plot Chart Link)


You can define colors for the chart's foreground and background areas. The foreground of the chart is
the area inside the axes. The background area (only included in the chart when you also configure an
axis) is the area outside the axes.

193

iFIX with FIX Desktop

You can also make the chart transparent. Making a chart transparent lets you place the chart on top of
other objects in the picture.
To define chart area colors:
1.

Click the Foreground color button and select a color from the color palette.

2.

Click the Background color button and select a color from the color palette.

3.

Check the Transparent check box to make the foreground and background of the chart
transparent.

Configuring the Legend (XY Plot Chart Link)


The chart legend is a key to the information displayed in the chart. The legend displays at the bottom
of the chart, below the X axis.
To configure the chart legend, in the X vs. Y Chart Configuration dialog box:
1.

Check the Display Tagname check box to include the names of the tags in the legend.

2.

Enter the number of characters, up to 28, to reserve for the tagname.

3.

Check the Display Descriptor check box to include the tag descriptions in the legend.

4.

Enter the number of characters, up to 40, to reserve for the tag description.

5.

Check the Display Current Value check box to include the current values of the tags in the
legend.

6.

Enter the number of characters, up to 13, to reserve for the value.

Making the Chart Modifiable (XY Plot Chart Link)


If you want operators to be able to modify the chart in View, check the Modifiable check box.
When a chart is modifiable, the operator can double-click on the chart in View and make changes to
the chart, such as changing the tagname.
Configuring XY Plot Pens
Click the Pen icon to display the X vs. Y Chart Pen Configuration dialog box.
To configure XY Plot pens:
1.

For each axis, enter a target tag in the Tagname field. Draw supplies the default SCADA node
and field for you. If you enter a tag that does not exist, Draw prompts you to add the tag to the
database. If you want to specify a different node or field, enter the entire tagname in
node:tag.field format or click the browse (...) button to use the Field Select dialog box.
Alternatively, you can enter a variable (#VARIABLE) or a tag group symbol (?SYMBOL).
Refer to the Using Variables section for more information on variables, and the
Understanding Tag Groups and Using Tag Groups with Links sections for more information
on tag groups.

194

iFIX with FIX Desktop

2.

For each axis, enter the lowest limit that the points can display on the chart in the Low Limit
field. To use the EGU limit range defined for the tag in the database, click the Fetch Limits
button.

3.

For each axis, enter the highest limit that the points should display on the chart in the High
Limit field. To use the EGU limit range defined for the tag in the database, click the Fetch
Limits button.
If you enter (zero) in both the high and low limit fields, the tag's EGU limits are automatically
retrieved when you open the picture in View.

4.

Optionally, enter a digital tagname in the Optional Trigger Tagname field. The chart fetches
samples when the value of the digital tag changes from 0 (OPEN) to 1 (CLOSE).

5.

Select one of the following marker options:

Click the Rectangle button to display history points as squares.

Click the Oval button to display the history points as circles.

Click the Character button and enter the ASCII alphanumeric character that you want
to use as a point marker.

6.

Click the Marker color button to select a color for the marker from the color palette.

7.

Click OK.

Working with Dynamos


As you develop a system of operator displays, you may need to use an object you created for one
picture in other pictures. Draw provides a convenient way to save custom built objects and application
scripts into higher level re-usable graphic wizards called Graphic Dynamo Objects. A Dynamo is an
object, link, or group of objects that you store in a Dynamo set. Using Dynamos creates a consistent
design across your operator displays.
For example, suppose you create several custom objects that all relate to piping pipes, pipe elbows,
valves, and so on. By storing these commonly used objects in a set, you can have them instantly
available when you create your next piping display.

Dynamo Prompts
The dynamic properties associated with an object are retained when you create a Dynamo. To provide
greater flexibility when using Dynamos, you can substitute the tagnames, command script variables,
and text associated with the Dynamo with natural language and generic prompts. Later, when you
paste the Dynamo in a picture, the prompts act as labels to enter values that are appropriate for the
current picture.

Dynamo Sets
Draw also provides pre-built Dynamo sets containing common process control Dynamos, such as
pumps, that you can paste into your pictures rather than drawing them yourself. Dynamo sets have a
.SBL file extension and are stored in the Picture directory.
The following sections explain how to create and add Dynamos to sets, and how to use Dynamos in
pictures.

195

iFIX with FIX Desktop

Creating Dynamo Sets

Defining Dynamo Prompts

Pasting Dynamos into Pictures

Opening and Closing Dynamo Sets

Maintaining Dynamo Sets

Typical Dynamo Scenario

Importing Dynamos

Creating Dynamo Sets


A Dynamo set is a collection of custom or pre-built Dynamos. Draw contains several Dynamo sets that
you can use. You can add Dynamos to these sets or you can create new Dynamo sets.
You can create a Dynamo containing any object or group of objects and add it to a Dynamo set. You
are not required to group objects to create a Dynamo. Instead, just select the objects that make up the
Dynamo. The objects are grouped as one Dynamo when they are placed in the set.
Creating a Dynamo
To create a Dynamo:
1.

Select the object or group of objects that you want to convert to a Dynamo.

2.

On the Toolbox, click the Create Dynamo Toolbox button. Or, from the Dynamos menu, click
Create Dynamo. The Create Dynamo dialog box appears.

3.

Type a new Dynamo set name, up to 8 characters, in the Set field or select the down arrow
button to add the Dynamo to an existing Dynamo set.

4.

Type a Dynamo name, up to 11 characters, in the Name field. This name will be displayed
beneath the Dynamo in the Dynamo set.

5.

Select OK to add the Dynamo to the specified set.


A Dynamo set window opens at the bottom half of the screen and the cursor becomes a
stamper.

6.

Move the stamper to the location of the Dynamo set where you want the Dynamo to reside
and click the mouse.

The User Prompts for the Dynamo dialog box appears, allowing you to define prompts for the
Dynamo. Refer to the Defining Dynamo Prompts section for more information.
NOTE: Do not use reserved DOS device names (such as, AUX PRN, COM# LPT#, NUL, or CON) as a
Dynamo set name. If you do use a reserved device name, Draw cannot save the Dynamo set.

Defining Dynamo Prompts


When you create a Dynamo that contains dynamic properties, links, or text, the User Prompts for the
Dynamo dialog box appears. This dialog box displays the following information:

196

iFIX with FIX Desktop

Object Property displays each property assigned to the Dynamo. Refer to the table below for an
explanation of the object property codes.
Current Setting displays the value, such as the tagname or command script variable, that is
currently assigned to the object property.
User Prompt fields allow you to enter Dynamo prompts for each object property so you can reuse the Dynamo in multiple displays. A Dynamo prompt should be meaningful, so that
when it is placed in a picture, the user can enter the unique properties for the Dynamo.
To enter Dynamo prompts:
1.

In the User Prompt field, for each object property, enter a prompt up to 127 characters long.
Surround the prompt with brackets if you are using partial substitution. See Using Partial
Substitution for more information on partial substitution. If you do not enter a Dynamo
prompt, the value in the Current Setting field is always used.
NOTE: Although you can enter prompts up to 127 characters, when you paste a Dynamo into
a picture, the prompt displays the first 35 characters of the prompt.

2.

In the Dynamo Name field, you can assign a new name to the Dynamo.

3.

Select OK. The Dynamo Prompt dialog box closes. Later, when you paste a Dynamo into a
picture, you are prompted to enter values for each unique prompt. You must enter brackets if
you are using partial substitution.

NOTE: You can add or modify Dynamo prompts at a later time. Just double-click on the Dynamo in
the Dynamo set to display the User Prompts for the Dynamo dialog box
Understanding the Codes
The Object Property codes at the left side of the User Prompts for the Dynamo dialog box are the
codes for each dynamic property.
The basic format for the Object Property code is as follows:
Object Name.Property
Where object name is the entry from the Object Name field in either the Dynamic Properties or the
link's configuration dialog box, and property is the dynamic property or text assigned to the object. The
following table describes the Property Codes.
Property
Code

Description

FCOLOR

Dynamic Fill Color.

ECOLOR

Dynamic Edge Color.

BCOLOR

Dynamic Background Color.

197

iFIX with FIX Desktop

Property
Code

Description

XPOS

Dynamic Horizontal Position.

YPOS

Dynamic Vertical Position.

ROTATE

Dynamic Rotate.

HFILL

Dynamic Horizontal Fill.

VFILL

Dynamic Vertical Fill.

VIS

Dynamic Visibility.

SCALE

Dynamic Scale.

GTAG

Group Tagname.

PEN#

Pen or bar on a chart link. Named by number (Pen1, Pen2, Pen3, and so on).

TAG

Tagname or node name for a link.

CMD

Command in the Command Language script. See Command Scripts for more
information.

TEXT

The text added to the object.

Using One Prompt for Multiuple Properties


If you use the same prompt for multiple properties, when you paste the Dynamo into the picture only
one prompt is displayed. The value that you enter for the prompt is used for each item that was
assigned that prompt.
Instead of retyping duplicate prompts, use the following steps.
To use the same prompt for multiple properties without retyping:

198

1.

Highlight the prompt you want to copy and press CTRL+C.

2.

Position the cursor in the User Prompt field where you want to copy the prompt text and press
CTRL+V.

iFIX with FIX Desktop

Using Partial Substitution


Partial substitution is allowed when using Dynamo prompts. For example, you can enter a prompt for
the node:tag portion of the tagname and leave the field as static. The following table shows an example
of using partial substitution.
Tagname

Dynamo Prompt

User is prompted to enter...

SCADA01:TL01.F_CV

{Enter Measurement Tag}.*

Node and tag

You must enter brackets around the prompt text when using partial substitution. Enter an asterisk for
static values.
Command Scripts
When you create a Dynamo that contains command properties, each command variable in the script
can be substituted with Dynamo prompts. For example, an oval object executes the following
command script:
MISSING-15A
When you create a Dynamo for the object, each individual parameter can have a Dynamo prompt, as
shown in the following figure.

Entering Prompts for Command Script Variables


NOTE: The OPENPIC command does not allow Dynamo prompt substitution for coordinates. The
PAN command does not allow Dynamo prompt substitution.

199

iFIX with FIX Desktop

Pasting Dynamos into Pictures


To paste Dynamos into pictures:
1.

Open the picture into which you want to paste a Dynamo.

2.

On the Toolbox, click the Paste Dynamo from Set button. Or, on the Dynamos menu, click
Paste from Set. The Open Dynamo Set dialog box appears.

3.

Select the set containing the appropriate Dynamo. The selected set opens at the bottom half of
the screen.
NOTES: To close the Dynamo set without pasting a Dynamo, press the ESC key. You cannot
make changes to a set using the Paste from Set command. Use the Open Set command to
make changes to a set.

4.

Click once on the Dynamo you want, move the cursor to the desired location, and click again.
You can also drag the Dynamo into the picture by clicking once and holding the mouse button
down while dragging the Dynamo. Release the mouse button when the Dynamo is positioned
in the picture.

5.

If Dynamo prompts were assigned to the Dynamo, the Dynamo Properties dialog box appears.
Refer to the Using Dynamo Prompts section for more information on using the prompts.
If Dynamo prompts were not assigned, the Dynamo is automatically converted to objects
when you paste it into a picture. The objects return to their original state. For example, if the
objects were grouped prior to becoming a Dynamo, the objects remain grouped when the
Dynamo is pasted into the picture.

Using Dynamo Prompts


When you paste a Dynamo that contains prompts into a picture, the following figure appears.

Dynamo Properties Dialog Box


The Dynamo Properties dialog box lists the Dynamo prompts that were entered for each object
property. (See the Defining Dynamo Prompts section for more information on defining Dynamo
prompts.) It also lists the original values that were assigned to the object when it was converted to a
Dynamo.

200

iFIX with FIX Desktop

To replace the current values:


1.

For each Dynamo prompt, enter an appropriate value. If necessary, use the scroll bar to page
through the list. If you are entering a tagname, you can select one from a list using the Tag
List button.

2.

Select OK to accept the values.


NOTE: Tag groups are accepted in place of tagnames. Refer to the Designing Pictures
section for information on using tag groups.

Modifying Dynamos
You can make changes to the values specified in the Dynamo Properties dialog box until you convert
the Dynamo into an object (see the Converting Dynamos to Objects section). Simply double-click on
the Dynamo in the picture to display the Dynamo Properties dialog box and make the necessary
changes.
If a Dynamo has no prompts assigned, when you paste the Dynamo into a picture it is automatically
converted into objects. If the Dynamo does have prompts, it remains as a Dynamo in the picture until
you convert it to objects using the Convert to Objects command. Once converted, you can modify the
individual objects that make up the Dynamo. See the Converting Dynamos to Objects section for more
information.
Converting Dynamos to Objects
If you paste a Dynamo with prompts into a picture and you want to modify the properties of an object
within the Dynamo, use the following steps.
To modify the properties of an object within a pasted Dynamo:
1.

Select the Dynamo in the picture.

2.

On the Toolbox, click the Convert to Objects button. Or, on the Dynamos menu, click
Convert to Objects.
The Dynamo attribute is removed and the objects return to their original state. You can now
make changes to individual object properties.

Opening and Closing Dynamo Sets


To open an existing Dynamo set:

On the Toolbox, click the Open Dynamo Set button. Or, on the Dynamos menu, click Open
Set. The Open Dynamo Set dialog box appears. Use the down arrow to scroll through a list, and
select a set to open.

To close the active Dynamo set:

On the Toolbox, click the Close Dynamo Set button. Or, on the Dynamos menu, click Close
Set.

You cannot open more than one Dynamo set at one time. If you open a Dynamo set while another set

201

iFIX with FIX Desktop

is open, Draw asks you to save any changes made to the first set and then closes the set.
Maintaining Dynamo Sets
To maintain Dynamo sets, use the Open Set command to open the set. You can then:

Delete the Dynamos. On the Edit menu, click Delete. You can use all the commands that are
not grayed-out while the Dynamo set is open.

Drag Dynamos to different locations within the open set.

Double-click on Dynamos to edit prompts for a Dynamo.

Typical Dynamo Scenario


This section shows a typical scenario of creating a Dynamo for a single loop controller face plate,
shown in the following figure. This face plate monitors, and allows operators to control, the level of a
tank. It has several dynamic properties assigned to it and needs to be used in several operator displays.

Face Plate Dynamo Example


Create the Dynamo
Draw the face plate and assign the appropriate dynamic properties. When the dynamic properties are
working properly, add the face plate to a Dynamo set by selecting all the objects that make up the
Dynamo and then selecting the Create Dynamo command.
After you enter the Dynamo set and name in the Create Dynamo dialog box, the Draw window splits
and the selected Dynamo set opens at the bottom half of the screen as shown in the following figure.

202

iFIX with FIX Desktop

Creating a Dynamo Set


An outline of the Dynamo appears in the set. Position the cursor in the set and click the mouse. The
User Prompts for the Dynamo dialog box appears, showing each dynamic property assigned the object.
Enter Prompts
Below are examples of the Dynamo prompts you might enter for this Dynamo. Notice the use of partial
substitution for properties that use the same tag, combined with the use of identical prompts for several
properties. Those items that are not assigned prompts will always use the Current Setting.

Paste the Dynamo


To paste this Dynamo in a picture, simply open the set and drag the Dynamo into the picture. As you
place the Dynamo in the picture, the Dynamo Properties dialog box appears, allowing you to replace
the current values.

203

iFIX with FIX Desktop

Importing Dynamos
In FIX v6.1 and greater, you can import .ADF and .PCX files into Draw through an Import Wizard.
Draw provides a special import command as part of the Wizard that lets you create pictures by
importing existing Dynamo Objects using an ASCII Definition File (ADF). This feature automates the
creation of pictures from Dynamos.
For example, suppose you need to create many similar pictures. You could create each picture
individually. However, this approach is time-consuming and costly. A better way is to create an ADF
file that defines the common Dynamo Objects used by each picture. By using this ADF file as a
template, you can import the picture repeatedly and then add the individual objects you need for a
specific display. This saves time and eliminates the need for opening Dynamo sets and manually
pasting each Dynamo into the picture. Additionally, since the ADF file is a text file, you can
manipulate it from a Visual Basic program.
Before you can use this feature, you first need to create the Dynamos that you want to import. For
information on creating Dynamos, refer to the Creating Dynamo Sets section.
Creating an ADF File
The ASCII Definition File specifies the Dynamos that you want to import. Keywords (described in the
Import File Keywords section), followed by a string or a numeric parameter, are used to define each
Dynamo. You can optionally define certain attributes for the Dynamo, including tagnames, dynamo
prompts, and certain object properties, such as color, edge style, the degree of rotation, and the scale
percentage.
File Format
The import file must be in ASCII format. Information for each Dynamo is defined on a separate line in
the file. Each line must end with a semicolon (;) and cannot exceed 200 characters. You can have an
unlimited number of lines within the file.
File Name and Location
Store your ADF files in the Picture path with the file extension .ADF. If you choose to save your files
in a different path, you need to specify the path when you import the file.

204

iFIX with FIX Desktop

Example
The following shows a simple example of a line in an ADF file:
SET("PUMPS") NAME("PUMP1") LOC(30,200);

This example imports the PUMP1 Dynamo located in the PUMPS Dynamo set and positions the
Dynamo at pixel (x,y) coordinates 30, 200.
Sample Import File
The example below shows a sample definition file that defines and imports:
SET("LOGOS") NAME("LOGO1") LOC(0,0) FCOL (255,0,0);
SET("PUMPS") NAME("PUMP1") LOC(8,20) SUB("SCADA:AI1","SCADA1:TT01");
SET("PUMPS") NAME("PUMP1") LOC(108,10) SUB("SCADA:AI1","SCADA1:TT02");
SET("PUMPS") NAME("PUMP1") LOC(208,10) SUB("SCADA:AI1","SCADA1:TT03");
SET("PUMPS") NAME("PUMP1") LOC(308,10) SUB("SCADA:AI1","SCADA1:TT04");
SET("PUMPS") NAME("PUMP1") LOC(408,10) SUB("SCADA:AI1","SCADA1:TT05");
SET("VALVES") NAME("VALVE1") LOC(8,220) PROPERTY ("Enter Tag","Enter
Valve Tag");

In this sample:

LOGO1 from the LOGOS Dynamo set, positions the Dynamo at the top left corner of the
screen (as specified by the 0,0 pixel coordinates) and gives the Dynamo a foreground color of
red (as specified by the RGB code).

Five copies of PUMP1 from the PUMPS Dynamo set. Each copy of the Dynamo is assigned a
tag using the SUB keyword by substituting all occurrences of SCADA:AI1 with a tag that is
appropriate for each pump.

VALVE1 from the VALVES Dynamo set. The PROPERTY keyword replaces every
occurrence of the Dynamo prompt Enter Tag with Enter Valve Tag. The new prompt appears
in the Dynamo Properties dialog box when you double-click the Dynamo in the picture.

Import File Keywords


As the sample in the Sample Import File section shows, each line in the import file contains keywords
to specify and define the Dynamo you want to import.
General Syntax Rules
Keywords must be entered in upper case (NAME) or lower case (name). You cannot use mixed case
for keywords. Also, keyword definition strings cannot contain the following characters:
( ) , ; \t \r \n
Therefore, when you first create Dynamos, do not assign names that contain these characters. For
example, the following keyword would not be accepted because it is entered in mixed case and the

205

iFIX with FIX Desktop

Dynamo name contains a comma:


Name("PUMP,2")

Extra characters that do not conform to the keyword syntax are ignored. Consider the following
examples:
The keyword...

Is Treated as...

FCOL(-255,0,0)

FCOL(255,0,0)

SCALE(S200)

SCALE(200)

SCALE(S)

SCALE() and generates an error

NOTE: The valid characters that are out of range generate an error. For example, the keyword EDGE
accepts a numeric value between and 7. As a result, the syntax EDGE(8) is out of range.
Required Keywords
For each Dynamo you want to import, you must specify the Dynamo name and the picture location.
Required keywords must precede all optional keywords except the SET keyword. For example, you
might use the following keywords in the following order:
1.

SET

2.

NAME

3.

LOC or FIT

4.

Optional keywords

The following table describes the required keywords.

206

Required
Keywords

Description

Syntax

NAME

The Dynamo name.

NAME(dynamoname)

iFIX with FIX Desktop

Required
Keywords

Description

Syntax

LOC

The pixel coordinates of the picture. The exact pixel


coordinates vary depending on the resolution of your
monitor:

LOC(x,y)

0,0 is the top left corner for all resolutions.

600,800 is the bottom right corner for a


600x800 resolution monitor.

This keyword can be used in place of the FIT


keyword.
FIT

Scales a Dynamo to fit the box defined by the


specified pixel coordinates. The top left-hand corner
is defined by the coordinates (x1,y1); the bottom
right-hand corner is defined by (x2,y2). This
keyword can be used in place of the LOC keyword.

FIT(x1,y1,x2,y2)

Optional Keywords
You can further define the Dynamos you want to import using the keywords described in the following
table. Keep in mind that any color or style property you define applies to the entire Dynamo. For
example, if the Dynamo is comprised of multiple objects and you use the FCOL keyword, the
foreground color of every object in the Dynamo changes to the color you specify.
Optional
Keywords

Description

Syntax

SET

The Dynamo set where the Dynamo


resides. If the set is not specified,
Draw searches all sets in the Picture
path.

SET("setname")

For increased performance, it is


highly recommended that you use
this keyword.

207

iFIX with FIX Desktop

Optional
Keywords

Description

Syntax

FCOL

The Foreground (FCOL),


Background (BCOL), or Edge Color
(ECOL) for all objects in the
Dynamo.

FCOL(r,g,b)

BCOL
ECOL

BCOL(r,g,b)
ECOL(r,g,b)

Enter the Red, Green, Blue (RGB)


color code. For example, the red
color code is: 255,0,0.
Valid RGB codes range from 0 to
255.
TIP: You can determine the RGB
values of an object by selecting
that color from the Define Color
dialog box in Draw. To display
this dialog box, double-click a
custom color from the Color
palette.

EDGE

The edge or line style for all objects


in the Dynamo. Specify the
appropriate index code as follows:

0 None

1 Thinnest

2 Thinner

3 Thin

4 Normal

5 Thick

6 Thicker

7 Thickest

EDGE(index)

For examples of each edge style,


display the Edge Style dialog box in
Draw.
PROPERTY

208

Enables you to search for a Dynamo


prompt and replace the prompt's
current value. Wildcards are not
supported for this keyword.

PROPERTY("search_string","property")

iFIX with FIX Desktop

Optional
Keywords

Description

Syntax

PAT

The fill pattern style for all objects


in the Dynamo. Specify the
appropriate index code as follows:

PAT(pindex)

0 Transparent

1 Opaque (default)

2 Horizontal hatch

3 Vertical hatch

4 Diagonal backward hatch

5 Diagonal forward hatch

6 Cross-hatch

7 Diagonal Cross-hatch

For examples of each fill pattern,


display the Fill Style dialog box in
Draw
PROMPT

Replaces every occurrence of the


first Dynamo prompt with the
second Dynamo prompt. Wildcards
are not supported for this keyword.

PROMPT("prompt1","prompt2")

ROT

The degree to rotate the entire


Dynamo. The degree of rotation
can range from 0 through 359. Do
no rotate Dynamos that contain
ovals, text, Chart links, Data links,
or bitmaps. Doing so may distort
the Dynamo.

ROT(degree)

SCALE

The percentage to scale the size of


the entire Dynamo. For example, to
double the size of a Dynamo, you
would scale it by 200 percent.

SCALE(percent)

SUB

Replaces every occurrence of the


first node and tag with the second
node and tag. The asterisk wildcard
(*) is supported as shown.

SUB("node1:tag1","node2:tag2")
SUB("node1:*","node2:*")
SUB("*:tag1","*:tag2")
SUB("*:*","node2:tag2")

209

iFIX with FIX Desktop

Importing an ADF File


Once you have created an ASCII Definition File (ADF), you can import the file using the Import
Wizard. See the Importing Files into Draw section for more detailed instructions.
Once imported, the Dynamos behave as if they were pasted in manually. For example, you can doubleclick the Dynamo to assign different tags using the Dynamo Properties dialog box.
Log File
Each time you import an ADF file, Draw creates or updates a log file, IMPADF.LOG, with
information regarding the import. This file is stored in the Picture path. The information contained in
this file includes the date and time of the import, and describes any errors that were encountered.

Importing Files into Draw


In FIX v6.1 and greater, an Import Wizard is used to import graphics files. This replaces the Import
PCX and Import ADF commands previously available from the File pull-down menu in Draw. A
button for the Import Wizard is now included in the list of available buttons and may be added to the
toolbox, as well.
This chapter includes the following sections:

Using the Import Wizard

Importing and Exporting Bitmaps

Manipulating Bitmap Graphics

Exporting Bitmaps

NOTE: In iFIX with FIX Desktop, Draw does NOT support the import of AutoCAD .DXF files.

Using the Import Wizard


To import either a .PCX or .ADF graphic file into Draw:
1.

Select the Import Wizard, either as a menu item or as a toolbox button. The Welcome dialog
box appears.

2.

Select the type of file you want to import by clicking on the appropriate radio button.
IMPORTANT: The DXF Import is not supported in FIX Desktop.

210

3.

Click on the Next button. The Files To Import dialog box appears.

4.

Enter the name of the file(s) to import, either manually or by using the Browse button feature.
When importing more than one .ADF file:

iFIX with FIX Desktop

If...

Then...

You leave the Batch-Mode Import box


unchecked

By default, the wizard imports all files into one


.ODF file.

You check the Batch-Mode Import Box

The wizard imports each .ADF file into its own


.ODF file.

5.

Click the Finish button.

Importing and Exporting Bitmaps


The one advantage pixel-oriented drawing programs have over object-oriented programs is that you
can create strikingly detailed bitmaps with pixel-by-pixel editing. Your iFIX with FIX Desktop
software has a powerful bitmap import command that allows you to paste bitmaps from other programs
directly into Draw.
Draw also has the ability to convert objects into bitmaps, so that you can paste images of Draw objects
into word processors or other graphic packages.
There are two ways to place a bitmap in a Draw picture file. You can either read in a whole graphic file
or place a portion of that file on the window manager clipboard and then paste it into an open picture
file
Importing Bitmaps through the Clipboard
You can import bitmap graphics from the window manager clipboard using the Paste Bitmap
command on the Edit menu.
To import bitmap graphics from the clipboard:
1.

Open your graphics program and the appropriate file.

2.

Copy the desired bitmap to the clipboard.

3.

Switch to Draw.

4.

On the Edit menu, click Paste Bitmap.


Most graphic programs that use the clipboard for cutting and pasting store compatible bitmaps
on the clipboard. If Paste Bitmap is dimmed, then either the clipboard is empty or the format
of the bitmap is not compatible with Draw. Draw places the new bitmap object in the center
of the picture.
NOTE: If you are having trouble pasting a bitmap into Draw, first paste the bitmap into
Paintbrush, then copy it, and it should now be in a format that is compatible with Draw.

Manipulating Bitmap Graphics


You can manipulate a bitmap object in the following ways:

Cut, copy, paste, duplicate, and delete.

211

iFIX with FIX Desktop

Stretch

Move

Group

Add some dynamic properties (see Using Dynamic Properties)

You cannot:

Use color palette functions.

Use font functions.

Adding Dynamic Properties


You can assign the following dynamic properties to bitmap objects:

Horizontal or vertical position

Scale

Command

Visibility

These dynamic properties work exactly the same on bitmap objects as they do on other objects.
Using Bitmaps in Groups
You can include bitmap objects with all other objects in groups. You can also make groups with
bitmaps into symbols. Groups with bitmaps behave a little differently when you assign them dynamic
properties or when you change a group using the color box.
When you use the color palette or a dynamic property that does not support bitmaps on a group, the
group acts as you would expect, except for the bitmaps. For example, if you changed the fill color of a
group either through the color palette or through a dynamic property, all objects in the group change
color except for the bitmaps.
If you assign a supported dynamic property to a group with bitmaps, the bitmap object responds
accordingly. For example, if you make the group disappear using the dynamic visibility property, the
bitmap disappears with the rest of the group.
Exporting Bitmaps
You can turn any Draw object into a simple bitmap graphic by using the Copy Bitmap command. This
function copies only the bitmap image of the object to the window manager clipboard in the standard
clipboard format.
Other programs that read bitmaps from the clipboard can then import the Draw image.
To export an object:

Select the object, and on the Edit menu, click Copy Bitmap.

CAUTION: Do not use Copy Bitmap and Paste Bitmap to move Draw objects from picture to picture

212

iFIX with FIX Desktop

or to duplicate Draw objects. Doing so removes the object's properties. Even when duplicating
imported bitmap objects, use the standard Copy and Paste commands.

Defining the View Environment


This chapter covers the tasks that the display designer or system administrator must undertake to
define the View environment for operators. Some of these tasks are performed within Draw, and others
are performed from the View application. However, all affect the way View functions. These tasks
include:

Implementing Environment Protection performed in the iFIX WorkSpace.

Preparing the Pre-built Tag Pictures performed in Draw.

Configuring View Initialization performed in the VIEW.INI file.

Optimizing Picture Performance performed in both View and Draw.

Implementing Environment Protection


Environment protection is used to create a secure environment in View that prevents the operator from
performing unauthorized actions. These actions include:

Starting other tasks.

Opening unauthorized pictures.

Switching to unauthorized tasks.

Closing the current picture.

Exiting View.

Restarting the computer using CTRL+ALT+DELETE.

The View package is the base for the secure environment. For example, it is possible to create a View
display without a menu bar. By eliminating the menu bar, operators cannot use any menu bar
functions. In addition, the saved space allows for larger displays.
NOTE: After installing the iFIX software, restart the operating system before attempting to use
environment protection for the first time.
Security functions are assigned on a user basis. Many combinations can be used to allow one user to
close a current picture while another user cannot. Security privileges can be assigned using both the
Security Configuration and using environment protection in the Proficy iFIX WorkSpace. Both
applications provide system-wide picture security. If you configure the security features in the Proficy
iFIX WorkSpace, they take effect when View is started.
The following sections describe the commands and procedures used to create a secure environment:

Securing the View Environment from the Proficy iFIX WorkSpace

Securing the View Environment Using the Security Configurator

Using Environment Protection with the Security Application

213

iFIX with FIX Desktop

NOTE: Before iFIX with FIX Desktop, environment protection was enabled in the Draw application.
Refer to the Environment Protection Set in the Proficy iFIX WorkSpace Instead of Draw section for
more information on these differences. You will find this section especially useful if you are upgrading
from FIX32 to iFIX with FIX Desktop.
Securing the View Environment from the Proficy iFIX WorkSpace
When applying environment protection to a picture using the Draw application, keep in mind that the
settings you specify are applied system wide. All of your pictures share the same environment settings.
To secure the View environment from the Proficy iFIX WorkSpace:
1.

In Classic view, in the Proficy iFIX WorkSpace, on the WorkSpace menu, click User
Preferences.
-OrIn Ribbon view, on the Home tab, in the WorkSpace group, click Settings, and then click User
Preferences.

2.

Click the Environment Protection tab.

3.

Select the Enable Runtime Environment Protection check box.

4.

Select the required options:

Disable Title Bar and Menu Bar

Disable Menu Bar

Disable <Ctrl><Alt><Delete>

Disable Task Switching

5.

Click OK.

6.

Additionally, if you want to use the Disable Pop-up Menu environment protection option,
enable it through the PopUpMenu setting in the FixUserPreferences.INI file.
When the PopUpMenu=1, then the right-click pop-up menu is not available. When this value
is set to 0, the pop-up menu is available in View. The FixUserPreferences.INI file can be
found in the iFIX LOCAL folder. By default, the path to this folder is C:\Program
Files\Proficy\Proficy iFIX\LOCAL.

The options that are selected take effect when View is started. If you change these options while View
is running, you will have to restart View for the new changes to take effect.
Important Notes About Using Environment Protection
When you use environmental protection for iFIX with FIX Desktop, be aware that some limitations
apply to these options when View is running and the Proficy iFIX WorkSpace is in run mode:

Disable <Ctrl><Alt><Del>

Disable Task Switching

If you exit the WorkSpace or View, the open application retains the environment protection settings.
However, if you switch the WorkSpace from run to configure mode while View is still running, View
does not retain the environment protection settings.

214

iFIX with FIX Desktop

Securing the View Environment Using the Security Configurator


The Security Configurator allows you to assign specific application features and security areas to user
and group accounts. By restricting access to an application feature or security area, you can prevent
unauthorized users from accessing parts of the system. The following options can also be configured in
the Security application:

Starting other tasks.

Opening unauthorized pictures.

Switching to unauthorized tasks.

Exiting View.

Rebooting the computer.

Refer to the Configuring Security Features manual for more information on configuring application
features.
NOTE: If you are upgrading from FIX32, be sure to update your user accounts to use the upgraded
features names (if you want to allow for the same security). Many of the application feature names in
FIX v7 have changed in iFIX with FIX Desktop. Refer to the Security Configuration Changes section
for more details.
Using Environment Protection with the Security Application
Environment protection options can be combined with the security application. By applying
environment protection to View, the picture in View has the properties assigned to it. Only the users
with the proper security rights can override the environment protection assigned to View.
For example, if you disable task switching and the reboot option, and an operator logs in with the
security rights to do these tasks, the security rights override the environment protection settings in
View.

Preparing Prebuilt Tag Pictures


In View, the Tag Status command on the Command menu checks the selected link and displays the
appropriate pre-built picture when the operator provides a legal tagname. View then:
1.

Determines the type of database tag that the tagname represents.

2.

Opens the pre-built picture that corresponds to that tag type (Analog Input, Digital Output,
and so on).

3.

Reads configuration information from the database tag menu and adds it to the picture.

4.

Determines the current value and status of the tag and adds it to the picture. The result is that
operators can quickly get a status and configuration summary.

Write-Protected Fields
To protect against unauthorized writes, none of the fields in the tag pictures are modifiable. You can
open tag status pictures in Draw and make the fields modifiable or make other changes. If you decide
to make changes, first make up a backup set of the original files.

215

iFIX with FIX Desktop

You cannot change the names of the tag pictures. The Tag Status command works by looking for
specific picture file names. The table at the end of this topic shows the file name for each tag. These
files are stored in the picture directory path defined in the SCU.
NOTE: When accessing tags in a v2.x database, remove the security section of the tag status picture.
The following figure shows the pre-built picture for Analog Input tags.

Pre-Built Analog Input Tag Status Display


The following table describes the pictures with tag displays.

216

Picture Name

Tag type

Picture Name

Tag Type

AA.BDF

Analog Alarm

BB.BDF

On-Off Control

AI.BDF

Analog Input

PA.BDF

Pareto

AO.BDF

Analog Output

PG.BDF

Program

AR.BDF

Analog Register

PID.BDF

PID

iFIX with FIX Desktop

Picture Name

Tag type

Picture Name

BL.BDF

Boolean

RB.BDF

Tag Type

Ratio/Bias

CA.BDF

Calculation

RM.BDF
Ramp

DA.BDF

Digital Alarm

SC.BDF
Statistical Control

DI.BDF

Digital Input

SD.BDF
Statistical Data

DO.BDF

Digital Output

SQD.BDF
SQL Data Transfer

DR.BDF

Digital Register

SQT.BDF
SQL Trigger

DT.BDF

Dead Time

SS.BDF
Signal Select

EV.BDF

Event Action

TM.BDF
Timer

FN.BDF

Fanout

TR.BDF
Trend

HS.BDF

Histogram

TT.BDF
Totalizer

LL.BDF

Lead Lag

TX.BDF
Text

Configuring the View Initialization File


The VIEW.INI file is an ASCII file that contains the configuration information for:

Input Dynamics

217

iFIX with FIX Desktop

Click and Stick

Configurable Blink Speed

View Title Bar

Picture Caching

Picture Fit to Window Settings

Sound Support

Color Palette

QuickView

Command Script Execution

Picture caching is discussed in the Optimizing Picture Performance section. Refer to this section for
more information on the functionality of picture caching in the VIEW.INI file, along with other
optimization techniques.
You can edit the VIEW.INI file, located in the Local path, by opening the Notepad program or a text
editor.
Configuring Input Dynamics
Input dynamics writes the current database value when you release the mouse button or by periodically
writing the value while you press the mouse button.
To configure how input dynamics writes the current database value:
1.

Open the VIEW.INI file in the Local path. The example below shows the default contents of
this file.
[InputDynamics]
;WriteOnUp=No
;Timeout=2

2.
If...

Then...

WriteOnUp=YES

The current database value is written when the left mouse button is released.
Note that this value is written once, when you release the mouse button.

WriteOnUp=NO

The current database value is written every Timeout interval while the left
mouse button is being pressed. This field is used in conjunction with the
Timeout value.

3.

218

Delete the semicolon (;) and configure the WriteOnUp value:

Change the Timeout value to the number of timer ticks (in tenths of a second) that a value is
written to the database while the left mouse button is being pressed. This value is used in
conjunction with the WriteOnUp=No statement.

iFIX with FIX Desktop

Example
For example, one VIEW.INI file might look like the example below:
[InputDynamics]
WriteOnUp=Yes

In this example, the value is written on UP, so that the value is not changed until the mouse button is
released. Note that the Timeout is ignored because Timeout is not used in conjunction with
WriteOnUp=Yes statement.
Using Click and Stick
Click and Stick allows the user to easily see which objects can be selected, and can either perform
actions, or have actions performed on them. By default, Click and Stick is enabled.
As the mouse moves around the screen, a single highlighted box clicks around the object if it is
selectable. If the object is highlighted, use the mouse to select or stick the object and the object
becomes the current object.
If the object contains command language scripts, they are executed when the object is selected. For
example, you create a picture that contains a pump that opens and closes when the pump object is
selected.
To disable Click and Stick:
1.

Open the VIEW.INI file in the Local path. The example below shows the default contents of
this file.
[Highlight]
Shadow=True
Timeout=25

2.

Configure the Shadow field:

If...

Then...

Shadow=True

The Click and Stick functionality is enabled.

Shadow=False

The Click and Stick functionality is disabled.

3.

Change the Timeout value to the number of timer ticks (in tenths of a second) that expire
before an unattended selected object's highlight disappears.

Example
For example, one VIEW.INI file might look like the example below:
[Highlight]

219

iFIX with FIX Desktop


Shadow=True
Timeout=10

In this example, the Click and Stick feature is enabled. If the mouse in on a selectable link, the
highlight will be removed in one second.
Disabling Click and Stick Sound Support
You can disable any or all of the sound attributes to the Click and Stick functions by remarking out the
desired statements.
To change or disable any of the Click and Stick sounds:
1.

Open the VIEW.INI file in the local path. The example below shows the default contents of
this file:

2.

Delete the existing sound file from the desired function's statement. Type the name of an
alternate sound (.WAV) file after the equal sign, or comment out the statement containing the
undesired sound for that function.

Example
For example, one VIEW.INI file might look like the example below:
VanishSnd=VANISH
ClickSnd=CLICK
StickSnd=STICK

In this example, the default Click and Stick sounds are enabled. Whenever an operator passes over an
object that can be selected, the default click sound will play. Whenever an operator selects an object,
the default stick sound will play. However, when the highlight times out and disappears, no sound will
play.
Defining Configurable Blink Speed
The configurable blink speed is the delay that the colors blink on the screen. You can configure colors
to blink with dynamic foreground, background, or edge color. The colors can blink on either a value or
an alarm. The Color by Value and Color by Alarm thresholds use the configurable blink speed to set
the threshold blink rates. Configurable blink speed can also be used with data links.
To define a configurable blink speed:
1.

Open the VIEW.INI file in the Local path. The example below shows the default contents of
this file:
[Miscellaneous]
BlinkRate=5

2.

220

Change the BlinkRate value to the number of timer ticks, in tenths of a second, that toggle the
blinking colors. The options are:

iFIX with FIX Desktop

Blink Rate Value:

Rate:

Fastest (every 1/1 of a second)

Slower (every 1/2 second)

10

Not Fast (every second)

Example
For example, one VIEW.INI file might look like the example below:
[Miscellaneous]
BlinkRate=1

Configuring the View Title Bar


You can configure the View title bar to have a standard message or text header. This message always
appears, as long as View is running.
To configure the View title bar:
1.

Open the VIEW.INI file in the Local path. The example below shows the default contents of
this file.
[Miscellaneous]
;AppTitle=New Title

2.

Delete the semicolon (;) and change the AppTitle statement to include a new message. This
message can be a string up to 63 characters long. Also, this field can be left blank so that no
title appears.
For example, one VIEW.INI file might look like the example below:
[Miscellaneous]
AppTitle=This is a customized title

The following figure illustrates a customized title bar. In this example, when you open View, the title
displayed in the View application reflects the customized title bar.

221

iFIX with FIX Desktop

Customized Title Bar


Configuring Picture Fit to Window
To configure how View opens and replaces pictures, using the OPENPIC and REPLACEPIC
commands, when a picture's dimensional parameters are not specified, use the following steps.
To configure how View opens and replaces pictures:
1.

Open the VIEW.INI file in the Local path. The example below shows the default contents of
this file.
[Miscellaneous]
FitToWindow=FALSE

2.

Configure the FitToWindow field:

If...

Then...

FitToWindow=FALSE

Pictures without dimensional (X, Y, H, W) parameters are opened using


the dimensions in which the picture was drawn. If the picture is larger
than the View window, scroll bars are displayed.

FitToWindow=TRUE

Pictures without dimensional (X, Y, H, W) parameters are opened so


they fit within the View window. No scroll bars are displayed.

NOTE: When the OPENPIC and REPLACEPIC X, Y, H, and W parameters are specified, the picture
always opens so it fits within the View window, as defined by the parameters.
Configuring the View Color Palette
The custom color palette that View uses to display pictures should be the same as the custom color
palette that was used in Draw when the picture was created. For more information on custom palettes,
refer to the Using the Draw Tools section.

222

iFIX with FIX Desktop

To configure which color palette View uses:


1.

Open the VIEW.INI file in the Local path. The example below shows the default contents of
this file.
[Color]
PaletteName=

2.

Specify a palette as follows:

If...

Then...

PaletteName=

When no palette is specified, View uses the default non-customized


palette.

PaletteName=filename.plt

View uses the custom palette file (.PLT) specified.

Configuring QuickView
The QuickView command lets you preview the current picture in Draw. By default, QuickView
executes the Commands on Opening and Commands on Closing scripts associated with the picture.
To configure whether QuickView executes these scripts:
1.

Open the VIEW.INI file in the Local path. The example below shows the default contents of
this file.
[QuickView]
PerformOpenCommands=TRUE
PerformCloseCommands=TRUE

2.

Configure the fields as follows:

If...

Then...

PerformOpenCommands=TRUE

QuickView executes the Commands on Opening script.

PerformOpenCommands=FALSE

QuickView does not execute the Commands on Opening


script.

PerformCloseCommands=TRUE

QuickView executes the Commands on Closing script.

PerformCloseCommands=FALSE

QuickView does not execute the Commands on Closing


script.

223

iFIX with FIX Desktop

Configuring Command Script Execution


To configure the speed at which command scripts are executed:
1.

Open the VIEW.INI file in the Local path. The example below shows the default contents of
this file.
[Scripts]
Timeslice=TRUE

2.

Configure the Timeslice field:

If...

Then...

Timeslice=TRUE

This speeds up the execution of scripts by executing a block of simple


commands in a 0.1 second timeslice, until it reaches one of the commands
listed in the next table.

Timeslice=FALSE

Executes each command separately in 0.1 second. This is how scripts


executed in versions prior to FIX v5.

The commands in the following table will interrupt a timeslice:


CLOSEDIG

OPENDIG

TOGGLEALARM

DISABLEALARM

PAUSE

TOGGLEDIG

ENABLEALARM

RAMP

TOGGLESCAN

GOTO

SETVAL

TOGGLEMANL

ONSCAN

SETAUTO

OFFSCAN

SETMANL

Optimizing Picture Performance


The two areas where you can optimize the performance of View are the speed at which pictures are
opened and the speed at which pictures are updated. Common to both areas are the speed of the
machine and the RAM memory to support the applications:

224

Speed The faster the machine, the faster your applications will perform. Use the fastest
machine possible.

RAM Memory To avoid swapping, your machine must have enough memory to hold all
applications, databases, and cached pictures. If your machine does not have enough memory,
Windows swaps applications to disk to run other applications.

iFIX with FIX Desktop

Opening Pictures
To optimize the speed at which View initially displays pictures:

Use picture caching.

Use the Resolve feature.

Updating Pictures
To optimize the speed at which View dynamically updates pictures, based on changes in process
conditions:

Reduce the picture refresh rate to .05.

Use machines that have a local bus video.

Make groups of dynamic position objects into bitmaps.

Avoid using blinking alarms.

Use exception-based processing in your database.

Design your pictures so that dynamically changing objects are grouped into regions on the
screen.

The following sections describe these optimization techniques in detail:

Using Picture Caching

Modifying the Cache Picture Count

Resolving Pictures

Reducing the Picture Refresh Rate

Converting Dynamic Position Objects into Bitmaps

Blinking Alarms

Using Exception-Based Processing

Grouping Dynamic Objects in Regions

Using Picture Caching


Your iFIX software provides a caching system that you can enable to optimize the performance of
View when opening pictures. The cache holds the pictures in memory, so that each time you open a
cached picture, View does not have to read the picture file from disk. When caching is enabled, View
sets up a cache capable of holding the number of pictures you specify. By default, the cache is set to
five pictures.
Picture caching information is stored and configured in the VIEW.INI file. In View, you can see what
pictures are currently in the cache by pressing CTRL+SHIFT+C.
Preloading Pictures
Optionally, you can preload commonly used pictures directly into the cache when View starts. These
pictures are called preload pictures. Preload pictures always occupy space in the cache, so anytime you

225

iFIX with FIX Desktop

open a preloaded picture, it opens quickly. Depending on the number of pictures specified, View takes
longer to start when you have preload pictures configured.
The cache keeps the newest version of the picture file. When a picture is opened in View, the caching
system compares the date and time of the cached picture with the date and time of the picture on disk.
View reads the most recent version. This may occur while a picture is in the cache and is modified in
Draw.
Runtime Pictures
View can also automatically cache pictures that you haven't preloaded when you open them in View.
These pictures are called runtime pictures. Runtime caching only works if the CachedPictureCount
value is greater than the number of preload pictures. The CachedPictureCount value is the total number
of pictures you want the cache to hold. View uses extra cache slots to cache any runtime pictures. The
default CachedPictureCount is set to five.
If View closes a runtime picture and you have an empty runtime cache slot open, View automatically
puts the picture into the cache. If View closes a runtime picture and you have full runtime cache slots,
View removes the oldest runtime picture and puts the new picture into the cache.
Memory Considerations
The process of caching assumes that your computer has extra memory that View can use to accomplish
the fast picture open times. You should not use caching if you do not have the necessary system
resources.
To determine if you have enough memory to use caching, first configure caching. Then, start View and
open and close the cached pictures. If you notice no improvement in the speed at which cached
pictures open in View, then your computer's processor may not be able to handle the extra load with
your current configuration. You can try reducing the size of the cache but if you still don't see an
improvement, disable caching. Caching can actually degrade performance when there are not enough
resources.
Modifying the Cache Picture Count
By default, caching is enabled and is set to five pictures.
To modify the picture caching setting:
1.

Open the VIEW.INI file in the Local path. The example below shows the default contents of
this file.
[Cache]
;CachedPictureCount=5

2.

Delete the semicolon (;) and increase or decrease the CachedPictureCount value to the
number of pictures you want the cache to hold. Larger values mean View will use more
system resources. To disable Caching, set the number to zero.

3.

For each picture you want View to preload into the cache, add the following statement in the
VIEW.INI file:
Preload=filename.ODF

226

iFIX with FIX Desktop

For example, one VIEW.INI file might look like the example below:
[Cache]
CachedPictureCount=10
PRELOAD=DIR.ODF
PRELOAD=PROCESS1.ODF
PRELOAD=PROCESS2.ODF
PRELOAD=PROCESS3.ODF
PRELOAD=ALARMS.ODF

In this example, when you start View, View creates a cache of ten pictures and loads the five listed
pictures into the cache. These five pictures are kept in the cache at all times. The next five runtime
(non-preloaded) pictures you close will occupy the remaining five slots. When you close the sixth
runtime picture, View removes the oldest runtime picture from the cache. The new picture takes its
place. The preload pictures always remain in the cache.
Resolving Pictures
Database information for each tag in a picture or tag group file is saved as part of the file on disk.
When a picture is displayed in View, and the database information is not up-to-date, View queries the
database and resolves the tag definitions. This is a time consuming process which slows the opening of
the picture.
Resolving pictures in Draw removes the need for View to query the database. The result is that
resolved pictures open faster in View. The Resolve command queries the appropriate databases for tag
definitions and saves this information in the picture or tag group file.
To run the Resolve command:
1.

In Draw, on the File menu, click Resolve. The Resolve dialog box appears.

2.

In the List Files of Type area, check the check boxes next to the type of file you want to
resolve. You can resolve both file types at one time by selecting both check boxes.

3.

If the files reside in a path other than the Picture path, click the Set Paths button to specify a
different path.

4.

In the list box, click on the files that you want to resolve. Hold down the SHIFT key to select
multiple files, or click the Select All button to select all of the files.

5.

Click the Resolve button to resolve the selected files. A message appears when Draw has
finished resolving.

If the process database is modified after you run Resolve, you need to re-run the Resolve command.
These modifications include:

Loading a different database.

Adding, modifying, or deleting database tags.

227

iFIX with FIX Desktop

Reducing the Picture Refresh Rate


View checks the database for changes based on the picture refresh rate. A different refresh rate can be
specified for each picture to reduce the load on the system for those displays that don't need to be
updated quickly. The refresh rate value you specify is the optimum refresh rate. You can enter values
from .05 to 1800 seconds, in .05 increments. By default, View updates a picture every 0.1 seconds.
Keep in mind, if your displays are complicated and dynamic, View may take longer to re-draw the
display when using the default value of 0.1 seconds.
To set the picture refresh rate:
1.

On the Toolbox, click the Edit Picture button. Or, on the Edit menu, click Picture. The Picture
dialog box appears. For more information on the Picture dialog box, refer to the Changing
Picture Size and Settings section.

2.

Decrease the rate entered into the Refresh Rate field. To update the picture at the fastest rate
possible, enter .05 in the Refresh Rate field.

For best performance, you should coordinate your refresh rates, scan times, and poll times so that they
are set to the smallest possible values that are appropriate for your system configuration.
In View, use CTRL+SHIFT to display the Performance Statistics window. The Total field is an
indication of the time needed to update the display. The Total time is the sum of all the times listed. If
most of the time is in the Calc field, then reduce the number of dynamically changing objects. If most
of the time is in the Paint field, then an improved graphics system could help.
NOTE: Typically, graphics accelerator cards do not measurably improve the performance of display
updates if most of the time is in the Calc field.
Converting Dynamic Position Objects into Bitmaps
If you are creating animation by using the Vertical or Horizontal position dynamic properties, you may
get a significant performance improvement if you convert a group of many small objects into one
bitmap object. This is typically true if you have drawn a complex object that consists of more than ten
objects within a group.
To convert a group of objects into a bitmap:
1.

Select the group that you want to convert to a bitmap.

2.

On the Edit menu, click Copy Bitmap.

3.

Paste the bitmap (from the Draw clipboard) back into your display.

4.

Re-assign the dynamic position property to the new object.

Blinking Alarms
Avoid using blinking alarms. Instead, use a color-by alarm or a color-by value strategy to indicate
alarm status. Blinking is a very time-intensive operation because the blinking object and the
surrounding objects (see the Blinking Thresholds section) need to be redrawn each time the picture is
refreshed at the specified picture refresh rate.

228

iFIX with FIX Desktop

Using Exception-Based Processing


View only updates the display if the display's database values have changed. Check the tag's scan time
and driver poll time to ensure no latency. For example, if your AI tag has a five second scan time, your
display will not update faster than once every five seconds. The most optimal configuration is to set
your system and I/O driver to use exception processing. This significantly reduces this latency and
reduces unnecessary polling and database processing.
Using scan time phasing also improves the CPU loading of the system. It prevents a periodic hesitation
that may result by placing all your scanned tags on the same scan cycle.
To speed up non-serial port I/O drivers, in the I/O Driver Control program select your driver and
reduce the Period from its default of 5 (20 times per second) to 1 (100 times per second). You can
permanently change this setting by passing this value to the I/O Driver Control program from the
command line during system startup. Refer to the Configuring Startup Tasks section of the Setting Up
the Environment manual for more information.
Grouping Dynamic Objects in Regions
Design your pictures so that dynamically changing objects are grouped into regions on the screen. The
View screen is divided into 30 screen regions (6 by 5). View updates pictures by region. By grouping
dynamically changing objects into regions, static objects are not unnecessarily redrawn at each picture
update period. To see what regions your objects occupy, in View press CTRL+SHIFT+R.
In View, use CTRL+SHIFT to display the Performance Statistics window. This window shows a region
mask indicating which regions are being redrawn. A display that has all regions updating shows
3FFFFFFF in the Mask field, while no changes shows 0000000.

Creating View Layouts


In View, you can save specific combinations of pictures and their positions on the screen in special
layout files. Later, when the operator opens the layout file, the pictures specified in the layout file open
to the positions in which they were arranged. You can also create a default layout file that opens
automatically when View starts.
If a picture within your layout contains tag group symbols but does not have a tag group assigned to it,
the operator is prompted to select a tag group file when the layout is opened in View. To avoid having
operators select tag group files, assign a tag group file to the picture before you save it in a layout file.
Refer to the Understanding Tag Groups section for more information.
The following table illustrates a layout.

229

iFIX with FIX Desktop

Creating a Picture Layout


When you save a picture layout, View automatically assigns an .LYT file extension and saves the
layout in the Picture path.
To create a layout file, in View:
1.

Close all pictures that are not part of the layout.

2.

Arrange the pictures into the positions you want them.

3.

Resize the pictures to get the best fit.

4.

On the File menu, click Save Layout. The Save Layout dialog box appears.

5.

Type in a new name, up to 8 characters long. View adds the .LYT file extension for you.

6.

Select OK. View saves the picture layout file in the Picture path. Remember that the last
picture opened becomes the active picture in the layout.

To open a layout file that you created earlier:


1.

On the File menu, click Open Layout.


The Open Layout dialog box appears.

2.

Scroll through the list box and select the desired layout, or type the layout name. View
automatically looks for the layout in the Picture path.

3.

Select OK. View closes all picture files that are already open and re-creates the picture layout
you selected.

If you have created a secured environment which prevents you from accessing View menu commands,
you can still make changes to your layout files by editing them with a text editor. Using this method,
you can change the location of each picture on the screen, the size of each picture, and the tag group
and nickname assigned to each picture.
The layout file displays seven attributes for each picture saved in the layout. These attributes, in order
from left to right, are:
Picture file name displays the file name for each picture.

230

iFIX with FIX Desktop

X coordinate displays the horizontal location of each picture on the screen.


Y coordinate displays the vertical location of each picture on the screen.
Picture width displays the width, in pixels, for each picture. An inch equals 1 pixels.
Picture height displays the height, in pixels, for each picture.
Tag group file displays the tag group file that is currently assigned to each picture (if
applicable). An asterisk (*) means that no tag group is currently assigned to the picture.
Nickname displays the nickname that is currently associated with each picture (if applicable). If
no nickname is currently associated with the picture, the picture file name is displayed
again.
Creating a Default Layout
You can also save any layout that you create as the default layout. The default layout is a file that View
searches for when started. If View finds this file, it opens the layout immediately. The default layout
can contain one display, several displays, or no displays.
To create a default layout file, in View:
1.

Arrange the pictures into the positions you want them.

2.

On the File menu, click Save Layout. The Save Layout dialog box appears.

3.

Type DEFAULT in the File Name field.

4.

Select OK. View adds the .LYT file extension for you and saves the picture layout file in the
Picture path.

After you've created the default layout file for a node, you might want to write-protect the file to
prevent another user from saving a different layout as the default. To write-protect the file, use the
standard procedure for your operating system.

Picture Sizing with Environment Protection


If you disable the menu bar or the title bar from the Environment Protection dialog box, you must
adjust the height of pictures to make them appear full screen in View. Make these adjustments to each
picture from Draw.
The following table below gives the height in inches for three possible screen configurations in View.
Type the correct height for your screen and environment protection configurations into the Picture
Height field of the Edit Picture dialog box.
Screen Resolution

Default

No Menu Bar

No Menu and Title Bars

640 x 480

4.170

4.330

4.530

231

iFIX with FIX Desktop

Screen Resolution

Default

No Menu Bar

No Menu and Title Bars

800 x 600

5.370

5.550

5.730

1024 x 768

7.05

7.23

7.430

Understanding Toolbox Link Buttons


Draw links give your operators easy-to-use displays and data entry dialog boxes. As the display
designer, you can choose from a wide selection of information, chart, and special purpose links when
building displays.
To learn more about individual links, click one of the link icons below to transfer to a description of
that link.

Information Links

The Data Link

The Date Link

The Time Link

The System Information Link

Chart Links

The Multi-Pen Trend Link

232

The Multi-Bar Trend Link

iFIX with FIX Desktop

The X-BAR Link

The R-BAR Link

The S-BAR Link

The XY Plot Link

The Histogram Link

Special Purpose Links

The Alarm Summary Link

The Push Button Link

Alarm Summary Link


The Alarm Summary link provides operators with a visual tool to monitor and
acknowledge alarms in View. This link offers a variety of filtering options that
let you isolate the most important alarms based on your needs, as well as
extensive formatting options.

NOTE: To operate the Alarm Summary link, you must enable the Alarm Summary Service in the
System Configuration Utility (SCU) and the Alarm Network Service in the SCU of the appropriate
remote nodes.

233

iFIX with FIX Desktop

Data Link

The Data link is a flexible tool for displaying text and values from databases on
your network.

This link provides:

Quick access to node, tag, and field information through the Field Select dialog box (press the
browse (...) button).

Dynamic coloring.

Flexible display format.

Variety of operator input templates.

Access to SQL relational database information using an SQL startup command language
script.

Date Link

The Date link displays the system date, as set in the operating system of the
computer that View is running on.

NOTE: You can change the font, font style, font size, and color of the Date link.

Histogram Link

The Histogram link displays a frequency distribution chart.

Multi-Pen Trend Link


The Multi-Pen Trend link displays real-time trends of up to eight floating point
values (F_ field) or Trend tags (G_DATA field) on a trend chart. The trend
appears as continuous, colored pen lines. Values can be any floating point or
trend data.

234

iFIX with FIX Desktop

Multi-Bar Trend Link


The Multi-Bar Trend link displays real-time trends of up to eight floating point
values (F_ field) or Trend tags (G_DATA field) on a trend chart. The trend
appears as sets of bars that represent the values of the trended points during a
fixed point in time. Values can be any floating point or trend data.

Pushbutton Link
The Pushbutton link lets you add push buttons just like the ones used throughout
Draw to your pictures. Push buttons execute FIX command language scripts. When
an operator clicks the button, View executes the script.

R-BAR Link

The R-Bar link displays the real-time average range (R-Bar) from a Statistical
Data tag.

S-BAR Link

The S-Bar link displays the real-time average standard deviation (S-Bar) from a
Statistical Data tag.

System Information Link

The System Information link displays numeric or text data on system parameters,
such as SAC output status or alarm priority level.

235

iFIX with FIX Desktop

Time Link

The Time link displays the system time in a 24 hour format, for example, 09:00,
12:00, or 15:00.

NOTE: You can change the font, font style, font size, and color of the Time link.

X-BAR Link

The X-Bar link displays the real-time average value (X-Bar) from a Statistical
Data tag.

XY Plot Link

The XY Plot link displays the intersection point of two variables in real-time, for
example, temperature versus pressure.

Using the Command Language


The Command Language Editor lets you create powerful command language scripts that automate the
tasks that operators perform in View.
You can define commands for the script, in the order that you want them to execute. To use the
Command Language Editor, type a script in the same way you would type a document in Notepad. The
editor retains the case of the items you enter, as well as the formatting (spaces and tabs). You can use
the SQL button to automatically build and incorporate SQL commands as needed.
Right-click a valid command and select Help from the pop-up menu to receive detailed information on
that specific command. Right-click and select Quick Commands to open a dialog box that lists all of
the commands and the related syntax for each.
For more information on the Command Language, click the appropriate link below:

236

Command Syntax Quick Reference

Command Syntax by Category

Command Language Procedures

iFIX with FIX Desktop

Command Language Procedures


Click the appropriate link below for more information on command language procedures:

Accessing the SQL Command Configurator

Building Commands with the SQL Command Configurator

Controlling Applications

Controlling Database Blocks

Incorporating Security Features

Managing Command Language Scripts

Managing Operator Displays

Manipulating Files

Understanding Alarm States

Understanding Link Types

Understanding SQL Error Handling

Working with Variables

Accessing the SQL Command Configurator


The SQL Command Configurator lets you incorporate relational database data into command language
scripts. Note that in order to achieve this, you must define at least one SQL login account in the
System Configuration Utility (SCU).
To access the SQL Command Configurator from either Draw or the Macro Editor:
1.

Access the Command Language Editor.

2.

Create a numeric variable to store the completion status of the SQL command. For example:
DECLARE #VAR1 NUMERIC

3.

Create a table variable to store or represent the relational database data. For example:
DECLARE #RESULT[20][20] TABLE PICTURE

4.

Specify a mathematic expression to set the value of the numeric variable. For example:
#VAR1 =

The SQL button on the Command Language Editor dialog box becomes enabled.
5.

Click the SQL button to access the SQL Command Configurator dialog box.

Building Commands with the SQL Command Configurator


The SQL Command Configurator lets you incorporate relational database data into command language
scripts. Note that in order to achieve this, you must define at least one SQL login account in the
System Configuration Utility (SCU).

237

iFIX with FIX Desktop

To build a command with the SQL Command Configurator:


1.

In the Database Identifier field, type the name of the relational database from which data
should be retrieved.
NOTE: This name must match the Database Identifier defined in a defined SQL login
account.

2.

Consult the following table to proceed:

To execute...

Use these steps...

A stored procedure

Click the Use Stored Procedure button and type the procedure
name in the Procedure Name field.

An SQL command

Click the Build Command and one of the Command Type


buttons. Then, type the unique Table(s) and Column(s) names in
the proper fields separating multiple names with a comma.
Finally, type an optional condition clause to identify which rows
should be used in the specified column(s). If you omit the
condition clause, the SQL command acts on the entire table as
specified by the column and table names you have entered.
NOTE: The INSERT command only adds one new row to the
specified table. Adding multiple rows are not supported. In
addition, the DELETE command should not specify column
names. You can also omit column names for the SELECT
command. When you do, all the columns in the specified table
are returned.

3.

In the Data Location field, type the name of the table variable that stores or represents the
data. This variable must have been defined previously with a DECLARE command and is
used for the SELECT command only.

4.

Select or clear the Use Command Caching check box as appropriate.


NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your SQL
manuals to determine if your relational database supports command caching.

5.

Click OK to return to the Command Language Editor. The SQL command you have built
appears to the right of the numeric variable equals sign.

Controlling Applications
The following link contains information about controlling applications:

Application Control Commands

Controlling Database Blocks


The following links contain information about controlling database blocks:

238

iFIX with FIX Desktop

Alarming Commands

AUTO/MANL Commands

Block Scanning Commands

Digital Block Commands

Data Manipulation Commands

Incorporating Security Features


The following links contain information about incorporating security features:

Logging Commands

Authorization Commands

Managing Command Language Scripts


The following links contain information about managing command language scripts:

Debugging Commands

Flow Control Commands

Managing Operator Displays


The following links contain information about managing operator displays:

Picture Management Commands

Picture Movement Commands

Object Movement Commands

Messaging Commands

Manipulating Files
The following links contain information about manipulating files:

File Access Commands

File Edit Commands

File Information Commands

Understanding Alarm States


The following table provides a description of all alarm states:

239

iFIX with FIX Desktop

240

Alarm State

Triggered when...

Change from Normal

The value of the digital tag is the opposite of the


user-defined norm.

Change of State

The digital tag has changed state.

Communications

The I/O driver records a communications error that


does not fit a defined category (usually a cable
problem).

Deviation

The tag value deviates outside the user-defined limit.

Device Failure

The I/O driver records a communications error that


fits a defined category (see the I/O driver for more
information).

Floating Point Error

The tag records an error translating input into a


floating point value (usually bad input data from the
poll table).

General Block Error

The tag records a block error that does not fit a


defined category.

High

The tag equals or exceeds the user-defined high


control limit.

High High

The tag equals or exceeds the user-defined high high


control limit.

I/O Failure

The I/O driver records an error reading from or


writing to the process hardware.

Low

The tag equals or falls below the user-defined low


control limit.

Low Low

Tag equals or falls below the user-defined low low


control limit.

OK

No alarm condition exists.

Rate of Change

There is a change in a tag value that falls outside the


user-defined limits.

iFIX with FIX Desktop

The following alarms can be optionally returned by an I/O driver. Most I/O drivers do not return these
optional alarms. The actual meaning of these alarms depend on the specific driver.

Station Failure

Under-range

Open Circuit

Out of Range

Over-range

Understanding Toolbox Link Buttons


Draw links give your operators easy-to-use displays and data entry dialog boxes. As the display
designer, you can choose from a wide selection of information, chart, and special purpose links when
building displays.
To learn more about individual links, click one of the link icons below to transfer to a description of
that link.
Information Links

The Data Link

The Date Link

The Time Link

The System Information Link

The Multi-Pen Trend Link

The Multi-Bar Trend Link

Chart Links

241

iFIX with FIX Desktop

The X-BAR Link

The R-BAR Link

The S-BAR Link

The XY Plot Link

The Histogram Link

Special Purpose Links

The Alarm Summary Link

The Push Button Link

Understanding SQL Error Handling


The Command Language's SQL command support uses numeric variables, table variables, and alarm
areas to relay information on errors during connection or communication with the relational database.
For example:
NOTE: The Data link also provides support for the display of any value stored in a numeric or table
variable.

The numeric variable in the required SQL command syntax stores the completion status of an
executed command. A value of zero indicates that the command executed successfully.
A non-zero value indicates that an error occurred. When an error occurs, the numeric variable
stores the error code returned by the relational database. Check the relational database
documentation for detailed information on the error.

242

The table variable assigned to store or represent data contains the "@" character in the event
of a database connection error. If the problem is not due to a connection error, the table
contains the "*" (asterisk) character.

All alarm destinations enabled in the System Configuration Utility (SCU), except the Alarm

iFIX with FIX Desktop

Summary link, receive an appropriate message in the event of a database connection error.
Working with Variables
The following links contain information about working with variables:

Definition Commands

Conversion Commands

Numeric Manipulation Commands

String Manipulation Commands

Predefined Variables

Command Syntax Quick Reference


This topic provides the full syntax, including all applicable parameter replacement options, for all the
commands included with the Command Language. Click any command to transfer to detailed
information on the command's use and syntax.
A
ALARMACK node:tag|string_var|tag group
ALARMACKALL picture
APPEND file name|string_var|tag group file name|string_var|tag group
ATTRIB file name|string_var|tag group "attribute"|string_var|tag group
B
BASEPIC picture|string_var|tag group
C
CHECKRIGHTS "string"|string_var|tag group num_var
CHFILE file name|string_var|tag group num_var
CLOSEDIG node:tag.field|string_var|tag group
CLOSEPIC picture|nickname|string_var|tag group
COPY file name|string_var|tag group file name|string_var|tag group|pathname
#num_var = SQL("database","COUNTROWS","","table","",cache,#num_result)
CRITICAL commands ENDCRITICAL
D
DEBUGOFF
DEBUGON "string"
DECLARE var_name var_type [scope]

243

iFIX with FIX Desktop

DELETE file name|string_var|tag group


#num_var = SQL("database","DELETE","","table","condition",cache,"")
#num_var = SQL("database", "DESCTABLE", "","table","",0,#table_var)
DISABLEALARM node:tag|string_var|tag group
E
ENABLEALARM node:tag|string_var|tag group
EXECUTE COMMAND [TIMEOUT]
EXIT
F
FILECLOSE num_var
FILELIST pattern|string_var|tag group string_var "string"|string_var|tag group [SHOW]
FILEOPEN file name|string_var|tag group num_var
FILEPRINT file name|string_var|tag group
FILEREAD num_var string_var
FILEWRITE num_var "string"|string_var|tag group
FINDLINK object|string_var|tag group picture|string_var|tag group
G-L
GETVAL node:tag.field|string_var|tag group num_var|string_var
GOTO label
IF expression command [ELSE] [command] ENDIF
#num_var = SQL("database", " INSERT ", "column(s)","table","values",cache,"")
#num_var = SQL("database","LISTTABLES","owner","table","",0,#table_var)
LOADKMX macrofile [picture|nickname]
LOGIN
#num_var = SQL("database","LOGIN","","","",0,"")
LOGOUT
#num_var = SQL("database","LOGOUT","","","",0,"")
M
MENU command [true|false]
MESSAGE "string"|string_var|tag group
N
NOTE "string"|string_var|tag group

244

iFIX with FIX Desktop

NUMTOSTR (#CMDSTATUS Only) #CMDSTATUS "%s" string_var


NUMTOSTR value|num_var "string"|string_var|tag group string_var
O
OFFSCAN node:tag|string_var|tag group
ONSCAN node:tag|string_var|tag group
OPENBDF picture|string_var|tag group node:tag [Y,X,W,H] [nickname|string_var|tag group]
OPENDIG node:tag.field|string_var|tag group
OPENLYT filename
OPENPIC picture|string_var|tag group [Y,X,W,H] [nickname|string_var|tag group] [tag group
file|tag group]
P-R
PAN X,Y picture|string_var|tag group
PAUSE value|num_var
PLAYSOUND file name|string_var|tag group
#num_var = SQL("database","PROCEDURE","proc","","",cache,#table_var)
PROMPT num_var|string_var "string"|string_var|tag group [X,Y]
RAMP node:tag.field|string_var|tag group %EGU|num_var
REPLACEPIC picture1|string_var|tag group picture2|string_var|tag group [tag group file|tag
group]
RESOLVEVARS picture
ROUND num_var DN|UP|BK
RUNTASK executable "[parameter]"
S
#num_var = SQL("database","SELECT","cols","tables","condition",cache,#table_var)
SETAUTO node:tag|string_var|tag group
SETMANL node:tag|string_var|tag group
SETVAL node:tag.field|string_var|tag group value|num_var
SETNICKNAME "nickname"|string_var|tag group
STRCAT string_var string|string_var|tag group [num_var|value] ["padchar"]
STRCMP "string"|string_var|tag group string|string_var|tag group num_var
STRLEN "string"|string_var|tag group num_var
STRSTR "string"|string_var|tag group string|string_var|tag group num_var
STRTOK "string"|string_var|tag group value|num_var value|num_var string_var
STRTONUM string_var num_var

245

iFIX with FIX Desktop

SWITCHKMX oldmacrofile newmacrofile


T-Z
TOGGLEALARM node:tag|string_var|tag group
TOGGLEDIG node:tag.field|string_var|tag group
TOGGLEMANL node:tag|string_var|tag group
TOGGLESCAN node:tag|string_var|tag group
#num_var = SQL("database","UPDATE","cols","table","condition","cache","")
VIEW file name|string_var|tag group "string"|string_var|tag group
ZOOM object|string_var|tag group picture|string_var|tag group
A-B
ALARMACK Command
Purpose
Acknowledges alarms for a specified block. If used as a relative command, acknowledges alarms for
the selected block.
Syntax
ALARMACK node:tag

Parameters
node:tag specifies the node:tag name of the block for which an alarm is acknowledged.
ALARMACKALL Command
Purpose
Acknowledges alarms for all blocks in the specified picture. If used as a relative command,
acknowledges alarms for all blocks in the selected picture.
Syntax
ALARMACKALL picture

Parameters
picture specifies the picture in which all alarms are acknowledged.

246

iFIX with FIX Desktop

APPEND Command
Purpose
Attaches the contents of one file onto the end of another file.
Syntax
APPEND file name file name

Parameters
file name specifies the file to be appended onto the end of the second file, specified in the
second parameter.
file name specifies the file that receives the information from the first file, specified in the first
parameter.
ATTRIB Command
Purpose
Changes the protection attributes of a file. This command can be used only to change the attributes of a
closed file.
Syntax
ATTRIB file name "attribute"

Parameters
file name specifies the file whose attributes are to be modified.
attribute specifies the file attribute.
BASEPIC Command
Purpose
Returns the objects within the specified picture to their original state. If used as a relative command,
returns the objects within the selected picture to their normal state.
Syntax
BASEPIC picture

Parameters
picture specifies the picture to be returned to an original state.

247

iFIX with FIX Desktop

C
CHECKRIGHTS Command
Purpose
Verifies that the current user has access to a specified security area, as defined in the FIX security
system.
NOTE: CHECKRIGHTS executes independently of the LOGIN and LOGOUT commands. Therefore, a
quick test of whomever is logged in is possible regardless of the user name.
Syntax
CHECKRIGHTS "string" num_var

Parameters
string specifies the string that identifies the name of the security area to be checked.
NOTE: Security area names are limited to 20 characters.
num_var specifies the numeric variable that stores the result of security check:
If the user...

Then the variable...

Has the proper security rights

Is set to 1.0

Does not have the proper security rights

Is set to 0.0

CHFILE Command
Purpose
Checks for the existence of a specified file.
Syntax
CHFILE file name num_var

Parameters
file name specifies the file to check for.
num_var specifies the name of the numeric variable that stores the result of the check. The
result can be one of the following:

248

iFIX with FIX Desktop

If...

Then...

The file exists

The numeric variable is set to 1.0.

The file does not exist

The numeric variable is set to 0.0.

CLOSEDIG Command
Purpose
Closes, or sends a value of 1, to a specified digital block. If used as a relative command, closes the
selected digital block.
Syntax
CLOSEDIG node:tag.field

Parameters
node:tag.field specifies the node:tag.field name of the digital block to be closed. Note that the
field must be F_CV.
CLOSEPIC Command
Purpose
Closes a specified picture and removes it from the display. If used as a relative command, closes the
selected picture.
Syntax
CLOSEPIC picture|nickname

Parameters
picture|nickname specifies the display, called by its picture name or assigned nickname, to be
closed.
NOTE: If you want to use the CLOSEPIC command to close a picture that was opened with
the OPENPIC command, you must specify the exact picture parameter that was used in the
OPENPIC command. For example, if the full path of the picture was specified in the
OPENPIC command, you must specify the full path in the CLOSEPIC command.

249

iFIX with FIX Desktop

COPY Command
Purpose
Copies a file to another location.
Syntax
COPY file name file name|pathname

Parameters
file name specifies the file to be copied.
file name|pathname specifies the file or the directory that stores the result of the copy.
COUNTROWS Command
Purpose
The COUNTROWS command determines how many rows are in a specified table.
Syntax
#num_var = SQL("database", "COUNTROWS", "","table","",cache,#num_result)

NOTE: A string variable can replace any one of the command parameters except the cache and the
#num_result variable. When a variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the COUNTROWS command executed successfully. A
value of zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
table specifies the name of the table from which to count rows.
cache the caching indicator, where 1 is enabled and 0 is disabled.
NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.
#num_result defines the name of the numeric variable that stores the results of the query.

250

iFIX with FIX Desktop

CRITICAL Command
Purpose
Defines a critical section within a Commands While Down script. Once a critical section begins
executing, it does not stop until all commands within the section are executed.
Syntax
CRITICAL
commands
ENDCRITICAL

Parameters
commands specifies one or more commands to execute as part of the critical section.
ENDCRITICAL indicates the end of the critical section. Each CRITICAL command must have
a matching ENDCRITICAL.
D
DEBUGOFF Command
Purpose
Closes and saves a debugging file.
Syntax
DEBUGOFF

Parameters
None
DEBUGON Command
Purpose
Creates a debugging file and stores it in the picture path.
Syntax
DEBUGON "string"

Parameters
string specifies the text string that will be used as a debugging file description.

251

iFIX with FIX Desktop

DECLARE Command
Purpose
Defines a variable.
Syntax
DECLARE var_name var_type [scope]

Parameters
var_name specifies the name of a variable. The variable name can be any ASCII string and
must begin with a pound sign (#).
var_type defines the variable type, numeric, string, or table.
scope defines the variable scope.
To define a table variable, use the following syntax:
DECLARE var_name[rows][columns][size] TABLE scope

Where:

rows specifies the number of rows that the variable has.

columns specifies the number of columns that the variable has.

size specifies the size (number of characters up to a maximum of 80) of each string in the
table. Specifying the size is optional and when omitted, the default of 80 is used.

Be sure to include the brackets with declaring a table variable. Also make sure you do not insert spaces
between the variable, the string size, or the number of rows and columns.
NOTE: Predefined variables can be used immediately; no DECLARE command is required.
DELETE Command
Purpose
Deletes a specified file.
Syntax
DELETE file name

Parameters
file name specifies the file to be deleted.

252

iFIX with FIX Desktop

DELETE Command (SQL)


Purpose
The DELETE command deletes single or multiple rows from a specified table. This command can be
built automatically with the SQL Command Configurator.
Syntax
#num_var = SQL("database", "DELETE", "","table","condition",cache, "")

NOTE: A string variable can replace any one of the command parameters except the cache. When a
variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the DELETE command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
table specifies the name of the table from which to delete the data. When appropriate, use a
string variable to replace all of this parameter.
condition defines an optional condition clause specifying which row(s) in the table(s) to delete,
according to the standard SQL syntax. If no condition clause is specified, the SQL
command acts on the entire table, as specified by the column and table parameters. A
common condition clause syntax is as follows:
"WHERE COLUMN=VALUE"

Where COLUMN is the name of the relational database column and VALUE is either a
literal string enclosed in single quotes or a numeric value with no quotes.
When appropriate, use a variable to replace all or part of this parameter. You can use a
variable to replace part of this parameter as follows:
"WHERE DEVICE=#NUM" or
"WHERE DEVICE='#STRING5'"

cache the caching indicator, where 1 is enabled and 0 is disabled.


NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.

253

iFIX with FIX Desktop

DESCTABLE Command
Purpose
The DESCTABLE command retrieves information about a specified table. This information includes
the name and data type of each column in the table. Row zero (0) of the resulting data provides a data
descriptor for each column of data retrieved. This command does not support command caching.
Syntax
#num_var = SQL("database", "DESCTABLE", "","table","",0,#table_var)

NOTE: A string variable can replace any one of the command parameters except the #table_var
variable and the zero (0). When a variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the DESCTABLE command executed successfully. A value
of zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
table specifies the name of the table from which to retrieve the information.
#table_var defines the name of the table variable that stores the results of the query.
DISABLEALARM Command
Purpose
Disables alarm limit checking for a specified block. If used as relative command, disables alarm limit
checking for the selected block.
Syntax
DISABLEALARM node:tag

Parameters
node:tag specifies the node:tag name of the block for which alarming is disabled.
E-F
ENABLEALARM Command
Purpose
Enables alarm limit checking for a specified block. If used as a relative command, enables alarm limit

254

iFIX with FIX Desktop

checking for the selected block.


Syntax
ENABLEALARM node:tag

Parameters
node:tag specifies the node:tag name of the block for which alarming is enabled.
EXECUTE Command
Purpose
The EXECUTE command lets you execute commands in other applications using a local server.
Syntax
EXECUTE COMMAND [TIMEOUT]

EXIT Command
Purpose
Exits from View and returns you to the window manager.
Syntax
EXIT

Parameters
None.
FILECLOSE Command
Purpose
Closes a specified file. Make sure that for each FILEOPEN command, you include a corresponding
FILECLOSE command.
Syntax
FILECLOSE num_var

Parameters
num_var specifies the user-defined numeric variable that automatically stores the file handle
number of the opened file.

255

iFIX with FIX Desktop

FILELIST Command
Purpose
Specifies a list of files that appear in a list dialog box in the current display whenever the command
language script executes. The dialog box requires that the operator select a file from the list and
confirm the selection.
Syntax
FILELIST pattern string_var "string" [show]

Parameters
pattern specifies the pattern that defines the group of files that will appear in the list dialog box.
string_var specifies the name of the string variable that will store the name of the file selected
from the list dialog box.
string specifies the text string that appears in the dialog box title bar.
[show] enables the display of the standard File Open dialog box that appears with the title
specified in third parameter.
NOTE: When you use the [show] parameter, operators have access to the full capabilities of
this dialog, including access to and possible modification of the current drive, path, file name,
and extension.
FILEOPEN Command
Purpose
Opens a file and prepares it for subsequent modifications or extractions. When a specified file does not
exist, this command creates a new file.
Syntax
FILEOPEN file name num_var

Parameters
file name specifies the file to open or create.
num_var specifies the user-defined numeric variable that identifies and automatically stores the
file handle.
FILEPRINT Command
Purpose

256

iFIX with FIX Desktop

Prints an ASCII file to the default window manager printer.


NOTE: The default printer must be the Generic/Text Only printer listed in the Control Panel. To
access the Printers dialog box, click the Printers icon from the Control Panel group.
Syntax
FILEPRINT file name

Parameters
file name specifies the file to be printed.
FILEREAD Command
Purpose
Accesses an open file, reads up to 80 characters or until it reaches the end of a line, and stores the
result in a string variable.
Syntax
FILEREAD num_var string_var

Parameters
num_var specifies the user-defined numeric variable that automatically stores the file handle
number of the opened file.
string_var specifies the string variable that stores up to 80 characters read in from the opened
file. Each subsequent use of the FILEREAD command retrieves the next line in the file or
up to 80 characters, whichever comes first.
FILEWRITE Command
Purpose
The FILEWRITE command appends a text string to the end of an open file.
Syntax
FILEWRITE num_var "string"

Parameters
num_var specifies the user-defined numeric variable that automatically stores the file handle
number of the opened file.
string specifies the string to write to the file.

257

iFIX with FIX Desktop

NOTE: The FILEWRITE command cannot be used on a file that has been read using the
FILEREAD command. The file must be closed with the FILECLOSE command and then a
new copy of the file can be opened with the FILEOPEN command.
FINDLINK Command
Purpose
Searches a picture for a specified object and selects the object. If used as a relative command, searches
the active picture for the specified object.
Syntax
FINDLINK object picture

Parameters
object specifies the name of the object to search for.
picture specifies the picture that includes the object.
G-L
GETVAL Command
Purpose
Fetches the value of the specified block from the process database and stores it in a numeric or string
variable. If used as a relative command, fetches the value of the selected block.
Syntax
GETVAL node:tag.field variable

Parameters
node:tag.field specifies the node:tag.field name of the database block from which to retrieve
data.
variable specifies the name of the variable that will store the data retrieved from the database
block. The type of variable defined must correspond to the type of data being retrieved. For
example:

258

If the data is...

Then the variable must be a...

Floating point format (F_CV)

numeric variable

iFIX with FIX Desktop

If the data is...

Then the variable must be a...

ASCII format (A_CV)

string variable

To use this as a relative command, use an asterisk (*) as a placeholder for the node:tag.field.
GOTO Command
Purpose
Provides unconditional or conditional branching and looping by redirecting command processing to a
specified label.
Syntax
GOTO label

Parameters
label specifies a location in the script that is the next to be executed.
NOTE: The ampersand (&) is only used for defining the label. It is not required for the GOTO
command.
IF Command
Purpose
Evaluates a specified condition and performs an action based on the result of the evaluation. Can be
used with or without an ELSE statement and can include nested IF conditions. The action taken is one
of the following:
When...

Then...
The script executes the next command.

The condition is true.

The condition is false.

The script executes the command following the


ELSE command.

Syntax
IF expression

259

iFIX with FIX Desktop


command
[ELSE]
[command]
ENDIF

Parameters
expression defines the condition, in the form of an IF expression.
command specifies the action to be performed if the condition is true. The action can consist of
a single or series of commands and any required or optional parameters.
ELSE specifies a conditional branch of the IF command in the event the condition is false.
command specifies the action to be performed if the condition is false. The action can consist of
a single or series of commands and any required or optional parameters.
ENDIF ends the conditional routine. You must include an ENDIF for each IF command you
use.
INSERT Command
Purpose
The INSERT command adds a new row to the specified table and inserts the specified data into the
new row. This command can be built automatically with the SQL Command Configurator.
Syntax
#num_var = SQL("database", "INSERT",
"column(s)","table","values",cache,"")

NOTE: A string variable can replace any one of the command parameters except the cache. When a
variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the INSERT command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
column(s) specifies the name of the column(s) into which to insert data. Separate column names
by commas as follows:
"COLUMN1,COLUMN2"

When appropriate, use a string variable to replace all or part of this parameter. You can use
a variable to replace part of this parameter as follows:

260

iFIX with FIX Desktop


"#COLUMN,COLUMN2"

table specifies the name of the table into which to insert data. When appropriate, use a string
variable to replace all of this parameter.
values specifies the values to insert into the specified table, where the guidelines for this format
are as follows:

Enclose values that are literal strings with single quotes. For example: LOW

All strings must be enclosed in quotes, even if number are used. For example: "5.0, 10.0"

When appropriate, use a string variable or numeric variable to replace all or part of the
parameter.
Examples
"'LOW',5.0,'HIGH',10.0"
#VALUES
"'#VAL1', 5.0, '#VAL2', 10.0"

cache the caching indicator, where 1 is enabled and 0 is disabled.


NOTE: Some relational databases have the ability to save executed commands in memory, thus
reducing the time it takes to re-execute the commands when required. Refer to your SQL
manuals to determine if your relational database supports command caching.
LISTTABLES Command
Purpose
The LISTTABLES command retrieves the names of all tables and views in an SQL account or data
source. Row zero (0) of the resulting data provides a data descriptor for each column of data retrieved.
This command does not support command caching.
Syntax
#num_var = SQL("database", "LISTTABLES", "owner","table","",0,#table_var)

NOTE: A string variable can replace any one of the command parameters except the #table_var
variable and the zero (0). When a variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the LISTTABLES command executed successfully. A
value of zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
owner specifies the name of the user that created the table, as defined in the relational database.
This parameter supports the following SQL wildcards:

A percent sign (%) to represent one or more characters.

261

iFIX with FIX Desktop

An underscore (_) to represent a single character.

table specifies the name of the table(s) to list. This parameter supports the following SQL
wildcards:

A percent sign (%) to represent one or more characters.

An underscore (_) to represent a single character.

#table_var defines the name of the table variable that stores the results of the query.
NOTE: Microsoft Access does not support the use of wildcards with the LISTTABLES
command.
LOADKMX Command
Purpose
Loads the specified macro file in place of the default macro file when the specified picture opens.
Syntax
LOADKMX macrofile [picture|nickname]

NOTE: If you change the KMX file for a cached picture, the KMX file remains in effect even if you
close and reopen the picture. If the macro file being loaded references a tag group file, the tag group
file must be loaded before the LOADKMX command executes.
Parameters
macrofile specifies the macro file to load. This file must reside in the picture path. A string
variable or a tag group can replace this parameter.
picture|nickname specifies the name of the picture that loads the macro file or the assigned
nickname of the picture that loads the macro file. If no picture is specified, the macro file is
loaded into the picture that executes the script. A string variable or tag group can replace
this parameter.
LOGIN Command
Purpose
The LOGIN command:

262

Executes the standard FIX Login program.

Logs out the current user upon accepting a new login. Saves any current user information,
which is restored after the execution of a subsequent LOGOUT command.

Updates user identification information so that all operator messages and SCADA node
security checking reflect the proper user.

iFIX with FIX Desktop

Syntax
LOGIN

Parameters
None.
LOGIN Command (SQL)
Purpose
The LOGIN command logs in to a relational database specified in this node's SCU file. SQL command
support provides automatic login to a specified relational database during the execution of an SQL
command.
Syntax
#num_var = SQL("database", "LOGIN", "","","",0,"")

NOTE: A string variable can replace any one of the command parameters except the zero (0). When a
variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the LOGIN command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
LOGOUT Command
Purpose
The LOGOUT command:

Logs out the current user.

Checks for a previous user identification stored by the use of a preceding LOGIN command.
If available, restores the identification as the currently logged in user without the need for
another login routine.

Syntax
LOGOUT

Parameters
None.

263

iFIX with FIX Desktop

LOGOUT Command (SQL)


Purpose
The LOGOUT command logs out of a relational database specified in this node's SCU file. SQL
command support provides automatic logout from all relational databases when View is exited.
Syntax
#num_var = SQL("database", "LOGOUT", "","","",0,"")

NOTE: A string variable can replace any one of the command parameters except the zero (0). When a
variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the LOGOUT command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
M-N
MENU Command
Purpose
The MENU command can be used to execute a View menu bar command from a command language
script, or to enable or disable access to View menu bar commands. This command can be used in
conjunction with both the FIX Security program and Draw's Environment Protection features.
However, MENU command settings can be overridden by the settings in both Security and
Environment Protection.
Syntax
MENU command true|false

Parameters
command identifies the View menu bar command to be restricted or enabled.
true/false restricts the command (false) or enables the command (true). If no true/false
parameter is used, the command script executes the specified View menu bar command.

264

iFIX with FIX Desktop

MESSAGE Command
Purpose
Writes a message string to a single or multiple alarm area, according to the routing strategy defined for
application messages in the System Configuration Utility (SCU).
Syntax
MESSAGE "string"

Parameters
string specifies the message string.
NOTE Command
Purpose
Specifies a message string that appears in a note dialog box in the current display whenever the
command executes. The dialog box requires operator confirmation of the message.
Syntax
NOTE "string"

Parameters
string specifies the note string to be displayed in the note dialog box.
NUMTOSTR Command
Purpose
Converts a number into a string variable.
Syntax
NUMTOSTR num_var "string" string_var

Parameters
num_var specifies the numeric variable to be converted into a string.
string specifies the C Format Specification to be used for the conversion, enclosed in quotes.
string_var specifies the string variable that will store the result of the conversion.

265

iFIX with FIX Desktop

NUMTOSTR (#CMDSTATUS Only) Command


Purpose
Converts a #CMDSTATUS error value into a string variable.
Syntax
NUMTOSTR #CMDSTATUS "%s" string_var

Parameters
%s specifies a special C Format Specification, enclosed in quotes, that is reserved for use with
the #CMDSTATUS variable.
string_var specifies the string variable that will store the result of the conversion.
O
OFFSCAN Command
Purpose
Places a specified block off scan. If used as a relative command, places the selected block off scan.
Syntax
OFFSCAN node:tag

Parameters
node:tag specifies the node:tag name of the block to be placed off scan.
ONSCAN Command
Purpose
Places a specified block on scan. If used as a relative command, places the selected block on scan.
Syntax
ONSCAN node:tag

Parameters
node:tag specifies the node:tag name of the block to be placed on scan.

266

iFIX with FIX Desktop

OPENBDF Command
Purpose
Opens a selected tag status picture in View.
Syntax
OPENBDF picture node:tag [Y,X,W,H] [nickname]

Parameters
picture specifies the name of the tag status picture to be opened.
Y,X,W,H specifies the picture placement, height, and width in pixels, where 100 pixels equals 1
logical inch. The X and Y offsets can be positive or negative whole numbers, but cannot
exceed the limits of the display. The H and W offsets must be greater than or equal to 20.
Variables and tag group symbols can be substituted for any of the Y, X, W, and H
parameters.
NOTE: When the picture placement parameter is not used, but is followed by other
parameters, a -1 must be used as a placeholder.
nickname specifies the nickname you want to assign to this picture, up to 36 characters.
OPENDIG Command
Purpose
Opens, or sends a value of 0, to a specified digital block. If used as a relative command, opens the
selected digital block.
Syntax
OPENDIG node:tag.field

Parameters
node:tag.field specifies the node:tag.field name of the digital block to be opened. Note that the
field must be F_CV.
OPENLYT Command
Purpose
Opens the specified layout file. Prior to opening the layout file, View closes all the open picture files.
If View cannot find the layout file (for example, the file does not exist), the current picture files remain
open.

267

iFIX with FIX Desktop

Syntax
OPENLYT filename

Parameters
filename specifies the name of the layout file to open. If the file does not reside in the picture
path, then include the path to the file as well. A string variable or a tag group can replace
this parameter.
OPENPIC Command
Purpose
Opens a selected picture in View. If used as a relative command, displays the selected picture.
NOTE: When a relative OPENPIC command is included in a command language script, the File Open
dialog box appears and prompts the operator to enter a picture name.
Syntax
OPENPIC picture [Y,X,W,H] [nickname] [tag group file]

Parameters
picture specifies the picture to be opened.
Y,X,W,H specifies the picture placement, height, and width in pixels, where 100 pixels equals 1
logical inch. The X and Y offsets can be positive or negative whole numbers, but cannot
exceed the limits of the display. The H and W offsets must be greater than or equal to 20.
Variables and tag group symbols can be substituted for any of the Y, X, W, and H
parameters.
NOTE: When the picture placement parameter is not used, but is followed by other
parameters, a -1 must be used as a placeholder. To open a picture at its actual size and at a
specific location (X,Y), use -1 for the W and H parameters.
nickname specifies the nickname you want to assign to this picture, up to 36 characters.
tag group file specifies the name of the tag group file that contains all the tag groups required
for the opened picture.
NOTE: A tag group symbol used in place of this parameter must exist within the currently
loaded tag group file. Otherwise, View has no reference from which to obtain the symbol
substitution. Therefore, this technique cannot be used for the first picture opened in View. If
you want to specify a tag group file, but not a nickname, use an asterisk (*) as a
placeholder for the nickname.

268

iFIX with FIX Desktop

P-R
PAN Command
Purpose
Changes the portion of the specified picture displayed when the picture exceeds the limits of the View
window. If used as a relative command, pans the selected picture using the specified X and Y offsets.
Syntax
PAN X,Y picture

Parameters
X,Y specifies the amount of picture movement in logical inches, where 1 logical inch equals 100
pixels. These offsets can be positive or negative decimals (for example, 5.0), but cannot
exceed the limits of the display. Use the following guidelines to calculate picture
movement:
To move the picture...

Enter a...

To the left

Negative X offset

To the right

Positive X offset

Up

Negative Y offset

Down

Positive Y offset

picture specifies the picture in which the movement takes place.


PAUSE Command
Purpose
Pauses the execution of the command language script for a specified duration.
Syntax
PAUSE value

Parameters
value specifies the value that represents the amount of time the script should pause, in integer
seconds.

269

iFIX with FIX Desktop

PLAYSOUND Command
Purpose
Works in conjunction with your FIX Sound Support to play sound files within a command language
script.
Syntax
PLAYSOUND sound file

Parameters
sound file specifies the name of the sound file you want to play. This parameter can include path
information, but not wildcards.
NOTE: By default, the Command Language searches the FIX picture path for sound files.
Therefore, you must include full path information and the proper file extension to play a
WAV file located in a different path.
PROCEDURE Command
Purpose
The PROCEDURE command executes one SQL stored procedure. If a query in the procedure returns
data, row zero (0) of the resulting data provides each column's title.
Syntax
#num_var = SQL("database", "PROCEDURE,
"procedure","","",cache,#table_var)

NOTE: A string variable can replace any one of the command parameters except the cache and the
#table_var variable. When a variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the PROCEDURE command executed successfully. A
value of zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
procedure specifies the name of the stored procedure to execute.
cache the caching indicator, where 1 is enabled and 0 is disabled.
NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.

270

iFIX with FIX Desktop

#table_var defines the name of the table variable that stores the results of any query performed
within the procedure.
PROMPT Command
Purpose
Specifies a message string that appears in a prompt dialog box in the current display whenever the
command language script executes. The dialog box requires an operator response to confirm the
message.
Syntax
PROMPT variable "string" [X,Y]

Parameters
variable specifies the numeric variable or string variable that stores the operator response to the
prompt, depending on the nature of the response.
NOTE: If the variable is numeric, the script verifies that the operator response is numeric
upon confirmation of the message.
string specifies a prompt string to be displayed in the prompt dialog box.
[X,Y] specifies the location of dialog box in the display in pixels, where 100 pixels equal 1
logical inch. These offsets can be positive or negative decimals, but cannot exceed the
limits of the display. By default, the prompt dialog box appears in the upper left corner of
the screen.
RAMP Command
Purpose
Provides manual ramping of a database block by increasing or decreasing its current value by a
specified percentage of the EGU range. If used as a relative command, ramps the value of the selected
block.
Syntax
RAMP node:tag.field %EGU

Parameters
node:tag.field specifies the node:tag.field name of the database block whose value will be
ramped by the specified amount.
%EGU specifies the positive or negative percentage of the engineering units range configured
in the database block to ramp the value. A numeric variable can replace this parameter.

271

iFIX with FIX Desktop

To use this as a relative command, use an asterisk (*) as a placeholder for the node:tag.field.
REPLACEPIC Command
Purpose
Closes a picture and replaces it with another picture. If used as a relative command, closes the selected
picture and opens the specified picture.
Syntax
REPLACEPIC picture1 picture2 [tag group file]

Parameters
picture1 specifies the picture to be replaced.
picture2 specifies the picture to be opened in place of picture 1.
tag group file specifies the name of the tag group file from which all tag group information
referenced in the command language script is stored.
NOTE: A tag group symbol used in place of any of these parameters must exist within the
currently loaded tag group file. Otherwise, View has no reference from which to obtain the
symbol substitutions. Should the picture you are replacing (picture1) have an assigned
nickname, the Command Language automatically assigns the nickname to the picture
opened in place of picture1 (picture2). When using REPLACEPIC as a relative command,
enter an asterisk (*), as a placeholder for picture1.
RESOLVEVARS Command
Purpose
The RESOLVEVARS command causes all variables in a picture to be resolved to the most current
assignment.
Syntax
RESOLVEVARS picture

Parameters
None.
ROUND Command
Purpose
Rounds a numeric variable to the nearest integer. This command is valid for floating point numbers

272

iFIX with FIX Desktop

only.
Syntax
ROUND num_var DN|UP|BK

Parameters
num_var specifies the name of numeric variable to be rounded.
DN|UP|BK specifies the type of rounding to be performed, where:

DN

Rounds down to the nearest integer.

UP

Rounds up to the nearest integer.

BK

Performs what is considered normal rounding, with a


break occurring at the 0.5 location.
Values >= XX.50 are rounded up
Values < XX.50 are rounded down

RUNTASK Command
Purpose
Runs FIX or third party applications. For example, you can use this command to launch Login,
Historical Display, or Database Manager from View. This command can also launch third-party
applications such as Windows Notepad.
Syntax
RUNTASK executable "[command line parameter]"

Parameters
executable specifies the name of the executable for the application you want to run. This
parameter can include path information, but not wildcards. For example:
RUNTASK C:\PROGRAMS\NOTEPAD

command line parameter specifies any applicable command line parameters for the executable,
enclosed in quotes. You can use up to 128 characters to define command line parameters. If
a path name with spaces is required in the command line, use brackets {} around the path.
Examples include:

273

iFIX with FIX Desktop


RUNTASK C:\PROGRAMS\NOTEPAD C:\PROGRAMS\SAMPLE.TXT
RUNTASK C:\FIX32\VIEW -fdemo
RUNTASK Workspace "/FO {c:\dynamics\A T E S T\PIC\MyPicture.grf}"

single when specified, the RUNTASK command determines if the specified application is
already running. If it is, another instance is not started.
NOTE: The SINGLE parameter cannot be substituted in a Dynamo or be represented by
variables or tag group symbols. Omitting the SINGLE parameter allows multiple instances
of the same application to be started. By default, the Command Language searches the FIX
picture path to locate files. Therefore, you must include full path information and the
proper file extension to open third-party files stored in other directories.
The following FIX application executables have command line parameters:

Database Manager

Historical Display

Recipe

View

S
SELECT Command
Purpose
The SELECT command retrieves data from a relational database. Row zero (0) of the resulting data
provides each column's title. This command can be built automatically with the SQL Command
Configurator.
Syntax
#num_var = SQL("database", "SELECT",
"column(s)","table(s)","condition",cache,#table_var)

NOTE: A string variable can replace any one of the command parameters except the cache and the
#table_var variable. When a variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the SELECT command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
column(s) specifies the name of the column(s) from which to retrieve the data. Separate multiple
column names with a comma and no space as follows:

274

iFIX with FIX Desktop


"COLUMN1,COLUMN2"

When appropriate, use a string variable to replace all or part of this parameter. You can
replace part of this parameter as follows:
"#COLUMN,COLUMN2"

table(s) specifies the name of the table(s) from which to retrieve the data. Separate multiple
table names with a comma and no space as follows:
"TABLE1,TABLE2"

When appropriate, use a string variable to replace all or part of this parameter. You can
replace part of this parameter as follows:
"#TABLE,TABLE2"

condition specifies an optional condition clause to be used when retrieving the data, according
to the standard SQL syntax. If no condition clause is specified, the SQL command acts on
the entire table, as specified by the column and table parameters. A common condition
clause syntax is as follows:
"WHERE COLUMN=VALUE"

Where COLUMN is the name of the relational database column and VALUE is either a
literal string enclosed in single quotes or a numeric value with no quotes.
When appropriate, use a variable to replace all or part of this parameter. You can use a
variable to replace part of this parameter as follows:
"WHERE DEVICE=#NUM" or
"WHERE DEVICE='#STRING5'"

cache the caching indicator, where 1 is enabled and 0 is disabled.


NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.
#table_var defines the name of the table variable that stores the results of the query.
SETAUTO Command
Purpose
Sets the specified block to automatic mode. If used as a relative command, sets the selected block to
automatic mode.
Syntax
SETAUTO node:tag

Parameters
node:tag specifies the node:tag name of the block that should be set to automatic mode.

275

iFIX with FIX Desktop

SETMANL Command
Purpose
Sets the specified block to manual mode. If used as a relative command, sets the selected block to
manual mode.
Syntax
SETMANL node:tag

Parameters
node:tag specifies the node:tag name of the block that should be set to manual mode.
SETNICKNAME Command
Purpose
Assigns a nickname to the current picture.
Syntax
SETNICKNAME "nickname"

Parameters
nickname specifies the nickname you want to assign to this picture, up to 30 characters and
enclosed in quotes.
SETVAL Command
Purpose
Sets the value of a current value of a database block. If used as a relative command, sets the value of
the selected tag.
Syntax
SETVAL node:tag.field value

Parameters
node:tag.field specifies the node:tag.field name of the database block whose value will be set.
NOTE: If this block is a primary block, it must be in manual mode in order to receive a
value from the SETVAL command.
value specifies the value or literal string the block should be set to, depending on the nature of
the data indicated in parameter #1.

276

iFIX with FIX Desktop

To use this as a relative command, use an asterisk (*) as a placeholder for the
node:tag.field.
STRCAT Command
Purpose
Concatenates a string variable.
Syntax
STRCAT string_var "string" [value] ["padchar"]

Parameters
string_var specifies the string variable that stores the base string.
string specifies the concatenation string to be appended onto the end of the base string.
[value] specifies the exact number of characters to be added to the base string. When a STRCAT
command executes, it automatically adds this value to the base string. Keep in mind that the
result of the addition can vary, based on the length of the concatenation string.
[padchar] specifies the character to use for padding. By default, the pad character is a space ( ).
STRCMP Command
Purpose
Performs a character by character comparison of two strings based on the ASCII table. The result of
the comparison is stored in a numeric variable.
Syntax
STRCMP "string" "string" num_var

Parameters
string specifies the first string in the comparison.
string specifies the second string in the comparison.
num_var specifies the name of the numeric variable that will store the result of the comparison
of the two strings. The result corresponds to one of the following:
When...

Then the result is...

String 1 > String 2

1.0

277

iFIX with FIX Desktop

When...

Then the result is...

String 1 = String 2

0.0

String 1 < String 2

-1.0

Example
STRCMP "ABC" "DEF" #VAR

ABC is less than DEF. The result, stored in the variable #VAR, is -1.
STRLEN Command
Purpose
Stores the length of a character string in a numeric variable.
Syntax
STRLEN "string" num_var

Parameters
string specifies the character string.
num_var specifies the numeric variable that will store the number of characters counted in the
character string.
STRSTR Command
Purpose
Searches a character string for a specified string. If located, stores the position of its first occurrence in
a numeric variable.
Syntax
STRSTR "string" "string" num_var

Parameters
string specifies the string to use as the search criteria.
string specifies the string that will be searched.
num_var specifies the name of the numeric variable that will store the position of the search
criteria. The result corresponds to one of the following:

278

iFIX with FIX Desktop

If the search...

Then...

Is successful

The character offset is stored in the numeric


variable.

Is not successful

The numeric variable is set to -1.

STRTOK Command
Purpose
Extracts a portion of a string and stores it in a string variable.
Syntax
STRTOK "string" value value string_var

Parameters
string specifies the string from which information will be extracted.
value specifies the value that defines the location in the string where the extraction should begin.
value specifies the value that defines the number of characters to extract from the string, based
on the defined location.
string_var specifies the name of the string variable that stores the extracted string.
STRTONUM Command
Purpose
Converts a string variable into a numeric variable.
Syntax
STRTONUM string_var num_var

Parameters
string_var specifies the string variable to be converted.
num_var specifies the numeric variable that will store the result of the conversion.

279

iFIX with FIX Desktop

SWITCHKMX Command
Purpose
Replaces the current picture's macro file with a different one for all open pictures.
NOTE: If you change the KMX file for a cached picture, the KMX file remains in effect even if you
close and reopen the picture. If the macro file being loaded references a tag group file, the tag group
file must be loaded before the SWITCHKMX command executes.
Syntax
SWITCHKMX oldmacrofile | * newmacrofile

Parameters
oldmacrofile|asterisk wildcard (*) specifies the macro file to replace or (using the asterisk
wildcard) replaces every open picture's macro file.
All occurrences of this file are replaced for all open pictures. This file must reside in the
picture path. Note that when the asterisk wildcard is used, it does not replace the default
macro file, VIEW.KMX. To replace the default macro file, you must specify VIEW.KMX
as the oldmacrofile. A string variable or a tag group can replace this parameter.
IMPORTANT: You cannot use a string variable or a tag group as the oldmacrofile
parameter if you are replacing VIEW.KMX.
newmacrofile specifies the macro file to load. This file must reside in the picture path. A string
variable or a tag group can replace this parameter.
T-Z
TOGGLEALARM Command
Purpose
Toggles the alarm status of a specified block between enabled and disabled. If used as a relative
command, toggles alarm limit checking for the selected block.
Syntax
TOGGLEALARM node:tag

Parameters
node:tag specifies the node:tag name of the block for which alarming is enabled or disabled,
depending on the current alarm limit checking status.

280

iFIX with FIX Desktop

TOGGLEDIG Command
Purpose
Toggles the current state of a digital block. If used as a relative command, toggles the current state of
the selected digital tag.
Syntax
TOGGLEDIG node:tag.field

Parameters
node:tag.field specifies the node:tag.field name of the digital block to be closed or opened,
depending on the current digital state. Note that the field must be F_CV.
TOGGLEMANL Command
Purpose
Toggles the mode status of the specified block between manual and automatic modes. If used as a
relative command, toggles the mode status of the selected block.
Syntax
TOGGLEMANL node:tag

Parameters
node:tag specifies the node:tag name of the block that should be set to automatic or manual
mode, depending on the current mode status.
TOGGLESCAN Command
Purpose
Toggles the scan status of a specified block. If used as a relative command, toggles the scan status of
the selected block.
Syntax
TOGGLESCAN node:tag

Parameters
node:tag specifies the node:tag name of the block that should be placed on or off scan,
depending on the current scan status.

281

iFIX with FIX Desktop

UPDATE Command
Purpose
The UPDATE command writes data to the specified relational database. This command can be built
automatically with the SQL Command Configurator.
Syntax
#num_var = SQL("database", "UPDATE",
"column(s)","table","condition",cache,"")

NOTE: A string variable can replace any one of the command parameters except the cache. When a
variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the UPDATE command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
column(s) specifies the name(s) of the relational database column in the table from which data
should be retrieved from or sent to and the value to set the column to as a result of the
update. For example:
COLUMN=VALUE

Where the guidelines for this format are as follows:

Enclose values that are literal strings with single quotes. For example:
COLUMN='TEXT'

All strings must be enclosed in double quotes, even if numbers are used. For
example: "COLUMN=50"

When appropriate, use a variable to replace all or part of this parameter. You can use
a variable to replace part of this parameter as follows:
"COLUMN=#'STRING5'" or
"COLUMN=#NUM"

table specifies the name of the table to which data is written. When appropriate, use a string
variable to replace all of this parameter.
condition specifies an optional condition clause to be used when writing the data, according to
the standard SQL syntax. If no condition clause is specified, the SQL command acts on the
entire table, as specified by the column and table parameters. A common condition clause
syntax is as follows:
"WHERE COLUMN=VALUE"

282

iFIX with FIX Desktop

Where COLUMN is the name of the relational database column and VALUE is either a
literal string enclosed in single quotes or a numeric value with no quotes.
When appropriate, use a variable to replace all or part of this parameter. You can use a
variable to replace part of this parameter as follows:
"WHERE DEVICE=#NUM" or
"WHERE DEVICE='STRING5'"

cache the caching indicator, where 1 is enabled and 0 is disabled.


NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your SQL
manuals to determine if your relational database supports command caching.
VIEW Command
Purpose
Displays the contents of an ASCII file in a file dialog box. The dialog box allows an operator to
browse through the file and requires confirmation to exit the browsing. The dialog box does not permit
modifications to the file.
Syntax
VIEW file name "string"

Parameters
file name specifies the ASCII file to be viewed.
string specifies the text string that appears in the dialog box title bar.
ZOOM Command
Purpose
Enlarges a selected area of a display to fill the entire picture width and height. If used as a relative
command, zooms to the selected object or a specified object in the selected picture.
Syntax
ZOOM object picture

Parameters
object specifies the name of the object to zoom to.
picture specifies the picture that includes the object.

283

iFIX with FIX Desktop

Command Syntax by Category


Click the appropriate link below for command syntax within each category:

Definition commands

Conversion commands

Numeric Manipulation commands

String Manipulation commands

Debugging commands

Flow Control commands

Alarming commands

Block Scanning commands

Digital Block commands

Data Manipulation commands

Picture Management commands

Picture Movement commands

Object Movement commands

Messaging commands

Logging commands

Authorization commands

Application Control commands

File Access commands

File Edit commands

File Information commands

SQL commands

Definition Commands
Definition commands include:

284

#CMDSTATUS

DECLARE

RESOLVEVARS

Command Syntax Quick Reference

Using the Command Language

iFIX with FIX Desktop

#CMDSTATUS Variable
Purpose
A numeric variable that stores and represents the completion status of each command executed within
the script. #CMDSTATUS values are a predefined. A value of 0 means a command executed
successfully. A non-zero value means an error occurred.
Syntax
#CMDSTATUS is created automatically by each command language script. No syntax is required.
DECLARE Command
Purpose
Defines a variable.
Syntax
DECLARE var_name var_type [scope]

Parameters
var_name specifies the name of a variable. The variable name can be any ASCII string and
must begin with a pound sign (#).
var_type defines the variable type, numeric, string, or table.
scope defines the variable scope.
To define a table variable, use the following syntax:
DECLARE var_name[rows][columns][size] TABLE scope

Where:

rows specifies the number of rows that the variable has.

columns specifies the number of columns that the variable has.

size specifies the size (number of characters up to a maximum of 80) of each string in the
table. Specifying the size is optional and when omitted, the default of 80 is used.

Be sure to include the brackets with declaring a table variable. Also make sure you do not insert spaces
between the variable, the string size, or the number of rows and columns.
NOTE: Predefined variables can be used immediately; no DECLARE command is required.

285

iFIX with FIX Desktop

RESOLVEVARS Command
Purpose
The RESOLVEVARS command causes all variables in a picture to be resolved to the most current
assignment.
Syntax
RESOLVEVARS picture

Parameters
None.
Conversion Commands
Conversion commands include:

NUMTOSTR

NUMTOSTR (#CMDSTATUS Only)

STRTONUM

NUMTOSTR Command
Purpose
Converts a number into a string variable.
Syntax
NUMTOSTR num_var "string" string_var

Parameters
num_var specifies the numeric variable to be converted into a string.
string specifies the C Format Specification to be used for the conversion, enclosed in quotes.
string_var specifies the string variable that will store the result of the conversion.
NUMTOSTR (#CMDSTATUS Only) Command
Purpose
Converts a #CMDSTATUS error value into a string variable.

286

iFIX with FIX Desktop

Syntax
NUMTOSTR #CMDSTATUS "%s" string_var

Parameters
%s specifies a special C Format Specification, enclosed in quotes, that is reserved for use with
the #CMDSTATUS variable.
string_var specifies the string variable that will store the result of the conversion.
STRTONUM Command
Purpose
Converts a string variable into a numeric variable.
Syntax
STRTONUM string_var num_var

Parameters
string_var specifies the string variable to be converted.
num_var specifies the numeric variable that will store the result of the conversion.
Numeric Manipulation Commands
Numeric Manipulation commands include:

ROUND

ROUND Command
Purpose
Rounds a numeric variable to the nearest integer. This command is valid for floating point numbers
only.
Syntax
ROUND num_var DN|UP|BK

Parameters
num_var specifies the name of numeric variable to be rounded.
DN|UP|BK specifies the type of rounding to be performed, where:

287

iFIX with FIX Desktop

DN

Rounds down to the nearest integer.

UP

Rounds up to the nearest integer.

BK

Performs what is considered normal rounding, with a


break occurring at the 0.5 location.
Values >= XX.50 are rounded up
Values < XX.50 are rounded down

String Manipulation Commands


String Manipulation commands include:

STRCAT

STRCMP

STRLEN

STRSTR

STRTOK

STRCAT Command
Purpose
Concatenates a string variable.
Syntax
STRCAT string_var "string" [value] ["padchar"]

Parameters
string_var specifies the string variable that stores the base string.
string specifies the concatenation string to be appended onto the end of the base string.
[value] specifies the exact number of characters to be added to the base string. When a STRCAT
command executes, it automatically adds this value to the base string. Keep in mind that the
result of the addition can vary, based on the length of the concatenation string.
[padchar] specifies the character to use for padding. By default, the pad character is a space ( ).

288

iFIX with FIX Desktop

STRCMP Command
Purpose
Performs a character by character comparison of two strings based on the ASCII table. The result of
the comparison is stored in a numeric variable.
Syntax
STRCMP "string" "string" num_var

Parameters
string specifies the first string in the comparison.
string specifies the second string in the comparison.
num_var specifies the name of the numeric variable that will store the result of the comparison
of the two strings. The result corresponds to one of the following:
When...

Then the result is...

String 1 > String 2

1.0

String 1 = String 2

0.0

String 1 < String 2

-1.0

Example
STRCMP "ABC" "DEF" #VAR

ABC is less than DEF. The result, stored in the variable #VAR, is -1.
STRLEN Command
Purpose
Stores the length of a character string in a numeric variable.
Syntax
STRLEN "string" num_var

Parameters
string specifies the character string.

289

iFIX with FIX Desktop

num_var specifies the numeric variable that will store the number of characters counted in the
character string.
STRSTR Command
Purpose
Searches a character string for a specified string. If located, stores the position of its first occurrence in
a numeric variable.
Syntax
STRSTR "string" "string" num_var

Parameters
string specifies the string to use as the search criteria.
string specifies the string that will be searched.
num_var specifies the name of the numeric variable that will store the position of the search
criteria. The result corresponds to one of the following:
If the search...

Then...

Is successful

The character offset is stored in the numeric


variable.

Is not successful

The numeric variable is set to -1.

STRTOK Command
Purpose
Extracts a portion of a string and stores it in a string variable.
Syntax
STRTOK "string" value value string_var

Parameters
string specifies the string from which information will be extracted.
value specifies the value that defines the location in the string where the extraction should begin.
value specifies the value that defines the number of characters to extract from the string, based

290

iFIX with FIX Desktop

on the defined location.


string_var specifies the name of the string variable that stores the extracted string.
Debugging Commands
Debugging commands include:

DEBUGOFF

DEBUGON

DEBUGOFF Command
Purpose
Closes and saves a debugging file.
Syntax
DEBUGOFF

Parameters
None
DEBUGON Command
Purpose
Creates a debugging file and stores it in the picture path.
Syntax
DEBUGON "string"

Parameters
string specifies the text string that will be used as a debugging file description.
Flow Control Commands
Flow Control commands include:

GOTO

IF

PAUSE

CRITICAL

291

iFIX with FIX Desktop

GOTO Command
Purpose
Provides unconditional or conditional branching and looping by redirecting command processing to a
specified label.
Syntax
GOTO label

Parameters
label specifies a location in the script that is the next to be executed.
NOTE: The ampersand (&) is only used for defining the label. It is not required for the GOTO
command.
IF Command
Purpose
Evaluates a specified condition and performs an action based on the result of the evaluation. Can be
used with or without an ELSE statement and can include nested IF conditions. The action taken is one
of the following:
When...

Then...
The script executes the next command.

The condition is true.

The condition is false.

The script executes the command following the


ELSE command.

Syntax
IF expression
command
[ELSE]
[command]
ENDIF

Parameters
expression defines the condition, in the form of an IF expression.
command specifies the action to be performed if the condition is true. The action can consist of

292

iFIX with FIX Desktop

a single or series of commands and any required or optional parameters.


ELSE specifies a conditional branch of the IF command in the event the condition is false.
command specifies the action to be performed if the condition is false. The action can consist of
a single or series of commands and any required or optional parameters.
ENDIF ends the conditional routine. You must include an ENDIF for each IF command you
use.
PAUSE Command
Purpose
Pauses the execution of the command language script for a specified duration.
Syntax
PAUSE value

Parameters
value specifies the value that represents the amount of time the script should pause, in integer
seconds.
CRITICAL Command
Purpose
Defines a critical section within a Commands While Down script. Once a critical section begins
executing, it does not stop until all commands within the section are executed.
Syntax
CRITICAL
commands
ENDCRITICAL

Parameters
commands specifies one or more commands to execute as part of the critical section.
ENDCRITICAL indicates the end of the critical section. Each CRITICAL command must have
a matching ENDCRITICAL.
Alarming Commands
Alarming commands include:

ALARMACK

293

iFIX with FIX Desktop

ALARMACKALL

DISABLEALARM

ENABLEALARM

TOGGLEALARM

ALARMACK Command
Purpose
Acknowledges alarms for a specified block. If used as a relative command, acknowledges alarms for
the selected block.
Syntax
ALARMACK node:tag

Parameters
node:tag specifies the node:tag name of the block for which an alarm is acknowledged.
ALARMACKALL Command
Purpose
Acknowledges alarms for all blocks in the specified picture. If used as a relative command,
acknowledges alarms for all blocks in the selected picture.
Syntax
ALARMACKALL picture

Parameters
picture specifies the picture in which all alarms are acknowledged.
DISABLEALARM Command
Purpose
Disables alarm limit checking for a specified block. If used as relative command, disables alarm limit
checking for the selected block.
Syntax
DISABLEALARM node:tag

294

iFIX with FIX Desktop

Parameters
node:tag specifies the node:tag name of the block for which alarming is disabled.
ENABLEALARM Command
Purpose
Enables alarm limit checking for a specified block. If used as a relative command, enables alarm limit
checking for the selected block.
Syntax
ENABLEALARM node:tag

Parameters
node:tag specifies the node:tag name of the block for which alarming is enabled.
TOGGLEALARM Command
Purpose
Toggles the alarm status of a specified block between enabled and disabled. If used as a relative
command, toggles alarm limit checking for the selected block.
Syntax
TOGGLEALARM node:tag

Parameters
node:tag specifies the node:tag name of the block for which alarming is enabled or disabled,
depending on the current alarm limit checking status.
AUTO/MANL Commands
The following links contain information on AUTO/MANL commands:

SETAUTO

SETMANL

TOGGLEMANL

SETAUTO Command
Purpose
Sets the specified block to automatic mode. If used as a relative command, sets the selected block to
automatic mode.

295

iFIX with FIX Desktop

Syntax
SETAUTO node:tag

Parameters
node:tag specifies the node:tag name of the block that should be set to automatic mode.
SETMANL Command
Purpose
Sets the specified block to manual mode. If used as a relative command, sets the selected block to
manual mode.
Syntax
SETMANL node:tag

Parameters
node:tag specifies the node:tag name of the block that should be set to manual mode.
TOGGLEMANL Command
Purpose
Toggles the mode status of the specified block between manual and automatic modes. If used as a
relative command, toggles the mode status of the selected block.
Syntax
TOGGLEMANL node:tag

Parameters
node:tag specifies the node:tag name of the block that should be set to automatic or manual
mode, depending on the current mode status.
Block Scanning Commands
Block Scanning commands include:

296

OFFSCAN

ONSCAN

TOGGLESCAN

iFIX with FIX Desktop

OFFSCAN Command
Purpose
Places a specified block off scan. If used as a relative command, places the selected block off scan.
Syntax
OFFSCAN node:tag

Parameters
node:tag specifies the node:tag name of the block to be placed off scan.
ONSCAN Command
Purpose
Places a specified block on scan. If used as a relative command, places the selected block on scan.
Syntax
ONSCAN node:tag

Parameters
node:tag specifies the node:tag name of the block to be placed on scan.
TOGGLESCAN Command
Purpose
Toggles the scan status of a specified block. If used as a relative command, toggles the scan status of
the selected block.
Syntax
TOGGLESCAN node:tag

Parameters
node:tag specifies the node:tag name of the block that should be placed on or off scan,
depending on the current scan status.
Digital Block Commands
Digital Block commands include:

CLOSEDIG

297

iFIX with FIX Desktop

OPENDIG

TOGGLEDIG

CLOSEDIG Command
Purpose
Closes, or sends a value of 1, to a specified digital block. If used as a relative command, closes the
selected digital block.
Syntax
CLOSEDIG node:tag.field

Parameters
node:tag.field specifies the node:tag.field name of the digital block to be closed. Note that the
field must be F_CV.
OPENDIG Command
Purpose
Opens, or sends a value of 0, to a specified digital block. If used as a relative command, opens the
selected digital block.
Syntax
OPENDIG node:tag.field

Parameters
node:tag.field specifies the node:tag.field name of the digital block to be opened. Note that the
field must be F_CV.
TOGGLEDIG Command
Purpose
Toggles the current state of a digital block. If used as a relative command, toggles the current state of
the selected digital tag.
Syntax
TOGGLEDIG node:tag.field

Parameters
node:tag.field specifies the node:tag.field name of the digital block to be closed or opened,

298

iFIX with FIX Desktop

depending on the current digital state. Note that the field must be F_CV.
Data Manipulation Commands
Data Manipulation commands include:

GETVAL

RAMP

SETVAL

GETVAL Command
Purpose
Fetches the value of the specified block from the process database and stores it in a numeric or string
variable. If used as a relative command, fetches the value of the selected block.
Syntax
GETVAL node:tag.field variable

Parameters
node:tag.field specifies the node:tag.field name of the database block from which to retrieve
data.
variable specifies the name of the variable that will store the data retrieved from the database
block. The type of variable defined must correspond to the type of data being retrieved. For
example:
If the data is...

Then the variable must be a...

Floating point format (F_CV)

numeric variable

ASCII format (A_CV)

string variable

To use this as a relative command, use an asterisk (*) as a placeholder for the node:tag.field.
RAMP Command
Purpose
Provides manual ramping of a database block by increasing or decreasing its current value by a
specified percentage of the EGU range. If used as a relative command, ramps the value of the selected
block.

299

iFIX with FIX Desktop

Syntax
RAMP node:tag.field %EGU

Parameters
node:tag.field specifies the node:tag.field name of the database block whose value will be
ramped by the specified amount.
%EGU specifies the positive or negative percentage of the engineering units range configured
in the database block to ramp the value. A numeric variable can replace this parameter.
To use this as a relative command, use an asterisk (*) as a placeholder for the node:tag.field.
SETVAL Command
Purpose
Sets the value of a current value of a database block. If used as a relative command, sets the value of
the selected tag.
Syntax
SETVAL node:tag.field value

Parameters
node:tag.field specifies the node:tag.field name of the database block whose value will be set.
NOTE: If this block is a primary block, it must be in manual mode in order to receive a
value from the SETVAL command.
value specifies the value or literal string the block should be set to, depending on the nature of
the data indicated in parameter #1.
To use this as a relative command, use an asterisk (*) as a placeholder for the
node:tag.field.
Picture Management Commands
Picture Management commands include:

300

CLOSEPIC

OPENPIC

OPENBDF

REPLACEPIC

SETNICKNAME

LOADKMX

iFIX with FIX Desktop

SWITCHKMX

OPENLYT

CLOSEPIC Command
Purpose
Closes a specified picture and removes it from the display. If used as a relative command, closes the
selected picture.
Syntax
CLOSEPIC picture|nickname

Parameters
picture|nickname specifies the display, called by its picture name or assigned nickname, to be
closed.
NOTE: If you want to use the CLOSEPIC command to close a picture that was opened with
the OPENPIC command, you must specify the exact picture parameter that was used in the
OPENPIC command. For example, if the full path of the picture was specified in the
OPENPIC command, you must specify the full path in the CLOSEPIC command.
OPENPIC Command
Purpose
Opens a selected picture in View. If used as a relative command, displays the selected picture.
NOTE: When a relative OPENPIC command is included in a command language script, the File Open
dialog box appears and prompts the operator to enter a picture name.
Syntax
OPENPIC picture [Y,X,W,H] [nickname] [tag group file]

Parameters
picture specifies the picture to be opened.
Y,X,W,H specifies the picture placement, height, and width in pixels, where 100 pixels equals 1
logical inch. The X and Y offsets can be positive or negative whole numbers, but cannot
exceed the limits of the display. The H and W offsets must be greater than or equal to 20.
Variables and tag group symbols can be substituted for any of the Y, X, W, and H
parameters.
NOTE: When the picture placement parameter is not used, but is followed by other
parameters, a -1 must be used as a placeholder. To open a picture at its actual size and at a
specific location (X,Y), use -1 for the W and H parameters.

301

iFIX with FIX Desktop

nickname specifies the nickname you want to assign to this picture, up to 36 characters.
tag group file specifies the name of the tag group file that contains all the tag groups required
for the opened picture.
NOTE: A tag group symbol used in place of this parameter must exist within the currently
loaded tag group file. Otherwise, View has no reference from which to obtain the symbol
substitution. Therefore, this technique cannot be used for the first picture opened in View. If
you want to specify a tag group file, but not a nickname, use an asterisk (*) as a
placeholder for the nickname.
OPENBDF Command
Purpose
Opens a selected tag status picture in View.
Syntax
OPENBDF picture node:tag [Y,X,W,H] [nickname]

Parameters
picture specifies the name of the tag status picture to be opened.
Y,X,W,H specifies the picture placement, height, and width in pixels, where 100 pixels equals 1
logical inch. The X and Y offsets can be positive or negative whole numbers, but cannot
exceed the limits of the display. The H and W offsets must be greater than or equal to 20.
Variables and tag group symbols can be substituted for any of the Y, X, W, and H
parameters.
NOTE: When the picture placement parameter is not used, but is followed by other
parameters, a -1 must be used as a placeholder.
nickname specifies the nickname you want to assign to this picture, up to 36 characters.
REPLACEPIC Command
Purpose
Closes a picture and replaces it with another picture. If used as a relative command, closes the selected
picture and opens the specified picture.
Syntax
REPLACEPIC picture1 picture2 [tag group file]

Parameters
picture1 specifies the picture to be replaced.

302

iFIX with FIX Desktop

picture2 specifies the picture to be opened in place of picture 1.


tag group file specifies the name of the tag group file from which all tag group information
referenced in the command language script is stored.
NOTE: A tag group symbol used in place of any of these parameters must exist within the
currently loaded tag group file. Otherwise, View has no reference from which to obtain the
symbol substitutions. Should the picture you are replacing (picture1) have an assigned
nickname, the Command Language automatically assigns the nickname to the picture
opened in place of picture1 (picture2). When using REPLACEPIC as a relative command,
enter an asterisk (*), as a placeholder for picture1.
SETNICKNAME Command
Purpose
Assigns a nickname to the current picture.
Syntax
SETNICKNAME "nickname"

Parameters
nickname specifies the nickname you want to assign to this picture, up to 30 characters and
enclosed in quotes.
LOADKMX Command
Purpose
Loads the specified macro file in place of the default macro file when the specified picture opens.
Syntax
LOADKMX macrofile [picture|nickname]

NOTE: If you change the KMX file for a cached picture, the KMX file remains in effect even if you
close and reopen the picture. If the macro file being loaded references a tag group file, the tag group
file must be loaded before the LOADKMX command executes.
Parameters
macrofile specifies the macro file to load. This file must reside in the picture path. A string
variable or a tag group can replace this parameter.
picture|nickname specifies the name of the picture that loads the macro file or the assigned
nickname of the picture that loads the macro file. If no picture is specified, the macro file is
loaded into the picture that executes the script. A string variable or tag group can replace
this parameter.

303

iFIX with FIX Desktop

SWITCHKMX Command
Purpose
Replaces the current picture's macro file with a different one for all open pictures.
NOTE: If you change the KMX file for a cached picture, the KMX file remains in effect even if you
close and reopen the picture. If the macro file being loaded references a tag group file, the tag group
file must be loaded before the SWITCHKMX command executes.
Syntax
SWITCHKMX oldmacrofile | * newmacrofile

Parameters
oldmacrofile|asterisk wildcard (*) specifies the macro file to replace or (using the asterisk
wildcard) replaces every open picture's macro file.
All occurrences of this file are replaced for all open pictures. This file must reside in the
picture path. Note that when the asterisk wildcard is used, it does not replace the default
macro file, VIEW.KMX. To replace the default macro file, you must specify VIEW.KMX
as the oldmacrofile. A string variable or a tag group can replace this parameter.
IMPORTANT: You cannot use a string variable or a tag group as the oldmacrofile
parameter if you are replacing VIEW.KMX.
newmacrofile specifies the macro file to load. This file must reside in the picture path. A string
variable or a tag group can replace this parameter.
OPENLYT Command
Purpose
Opens the specified layout file. Prior to opening the layout file, View closes all the open picture files.
If View cannot find the layout file (for example, the file does not exist), the current picture files remain
open.
Syntax
OPENLYT filename

Parameters
filename specifies the name of the layout file to open. If the file does not reside in the picture
path, then include the path to the file as well. A string variable or a tag group can replace
this parameter.
Picture Movement Commands
Picture Movement commands include:

304

iFIX with FIX Desktop

BASEPIC

PAN

BASEPIC Command
Purpose
Returns the objects within the specified picture to their original state. If used as a relative command,
returns the objects within the selected picture to their normal state.
Syntax
BASEPIC picture

Parameters
picture specifies the picture to be returned to an original state.
PAN Command
Purpose
Changes the portion of the specified picture displayed when the picture exceeds the limits of the View
window. If used as a relative command, pans the selected picture using the specified X and Y offsets.
Syntax
PAN X,Y picture

Parameters
X,Y specifies the amount of picture movement in logical inches, where 1 logical inch equals 100
pixels. These offsets can be positive or negative decimals (for example, 5.0), but cannot
exceed the limits of the display. Use the following guidelines to calculate picture
movement:
To move the picture...

Enter a...

To the left

Negative X offset

To the right

Positive X offset

Up

Negative Y offset

Down

Positive Y offset

picture specifies the picture in which the movement takes place.

305

iFIX with FIX Desktop

Object Movement Commands


Object Movement commands include:

FINDLINK

ZOOM

FINDLINK Command
Purpose
Searches a picture for a specified object and selects the object. If used as a relative command, searches
the active picture for the specified object.
Syntax
FINDLINK object picture

Parameters
object specifies the name of the object to search for.
picture specifies the picture that includes the object.
ZOOM Command
Purpose
Enlarges a selected area of a display to fill the entire picture width and height. If used as a relative
command, zooms to the selected object or a specified object in the selected picture.
Syntax
ZOOM object picture

Parameters
object specifies the name of the object to zoom to.
picture specifies the picture that includes the object.
Messaging Commands
Messaging commands include:

306

MESSAGE

NOTE

PROMPT

iFIX with FIX Desktop

MESSAGE Command
Purpose
Writes a message string to a single or multiple alarm area, according to the routing strategy defined for
application messages in the System Configuration Utility (SCU).
Syntax
MESSAGE "string"

Parameters
string specifies the message string.
NOTE Command
Purpose
Specifies a message string that appears in a note dialog box in the current display whenever the
command executes. The dialog box requires operator confirmation of the message.
Syntax
NOTE "string"

Parameters
string specifies the note string to be displayed in the note dialog box.
PROMPT Command
Purpose
Specifies a message string that appears in a prompt dialog box in the current display whenever the
command language script executes. The dialog box requires an operator response to confirm the
message.
Syntax
PROMPT variable "string" [X,Y]

Parameters
variable specifies the numeric variable or string variable that stores the operator response to the
prompt, depending on the nature of the response.
NOTE: If the variable is numeric, the script verifies that the operator response is numeric
upon confirmation of the message.

307

iFIX with FIX Desktop

string specifies a prompt string to be displayed in the prompt dialog box.


[X,Y] specifies the location of dialog box in the display in pixels, where 100 pixels equal 1
logical inch. These offsets can be positive or negative decimals, but cannot exceed the
limits of the display. By default, the prompt dialog box appears in the upper left corner of
the screen.
Logging Commands
Logging commands include:

LOGIN

LOGOUT

LOGIN Command
Purpose
The LOGIN command:

Executes the standard FIX Login program.

Logs out the current user upon accepting a new login. Saves any current user information,
which is restored after the execution of a subsequent LOGOUT command.

Updates user identification information so that all operator messages and SCADA node
security checking reflect the proper user.

Syntax
LOGIN

Parameters
None.
LOGOUT Command
Purpose
The LOGOUT command:

Logs out the current user.

Checks for a previous user identification stored by the use of a preceding LOGIN command.
If available, restores the identification as the currently logged in user without the need for
another login routine.

Syntax
LOGOUT

308

iFIX with FIX Desktop

Parameters
None.
Authorization Commands
Authorization commands include:

CHECKRIGHTS

MENU

CHECKRIGHTS Command
Purpose
Verifies that the current user has access to a specified security area, as defined in the FIX security
system.
NOTE: CHECKRIGHTS executes independently of the LOGIN and LOGOUT commands. Therefore, a
quick test of whomever is logged in is possible regardless of the user name.
Syntax
CHECKRIGHTS "string" num_var

Parameters
string specifies the string that identifies the name of the security area to be checked.
NOTE: Security area names are limited to 20 characters.
num_var specifies the numeric variable that stores the result of security check:
If the user...

Then the variable...

Has the proper security rights

Is set to 1.0

Does not have the proper security rights

Is set to 0.0

MENU Command
Purpose
The MENU command can be used to execute a View menu bar command from a command language
script, or to enable or disable access to View menu bar commands. This command can be used in
conjunction with both the FIX Security program and Draw's Environment Protection features.
However, MENU command settings can be overridden by the settings in both Security and
Environment Protection.

309

iFIX with FIX Desktop

Syntax
MENU command true|false

Parameters
command identifies the View menu bar command to be restricted or enabled.
true/false restricts the command (false) or enables the command (true). If no true/false
parameter is used, the command script executes the specified View menu bar command.
Application Control Commands
Application Control commands include:

EXECUTE

EXIT

PLAYSOUND

RUNTASK

EXIT Command
Purpose
Exits from View and returns you to the window manager.
Syntax
EXIT

Parameters
None.
PLAYSOUND Command
Purpose
Works in conjunction with your FIX Sound Support to play sound files within a command language
script.
Syntax
PLAYSOUND sound file

Parameters
sound file specifies the name of the sound file you want to play. This parameter can include path
information, but not wildcards.

310

iFIX with FIX Desktop

NOTE: By default, the Command Language searches the FIX picture path for sound files.
Therefore, you must include full path information and the proper file extension to play a
WAV file located in a different path.
RUNTASK Command
Purpose
Runs FIX or third party applications. For example, you can use this command to launch Login,
Historical Display, or Database Manager from View. This command can also launch third-party
applications such as Windows Notepad.
Syntax
RUNTASK executable "[command line parameter]"

Parameters
executable specifies the name of the executable for the application you want to run. This
parameter can include path information, but not wildcards. For example:
RUNTASK C:\PROGRAMS\NOTEPAD

command line parameter specifies any applicable command line parameters for the executable,
enclosed in quotes. You can use up to 128 characters to define command line parameters. If
a path name with spaces is required in the command line, use brackets {} around the path.
Examples include:
RUNTASK C:\PROGRAMS\NOTEPAD C:\PROGRAMS\SAMPLE.TXT
RUNTASK C:\FIX32\VIEW -fdemo
RUNTASK Workspace "/FO {c:\dynamics\A T E S T\PIC\MyPicture.grf}"

single when specified, the RUNTASK command determines if the specified application is
already running. If it is, another instance is not started.
NOTE: The SINGLE parameter cannot be substituted in a Dynamo or be represented by
variables or tag group symbols. Omitting the SINGLE parameter allows multiple instances
of the same application to be started. By default, the Command Language searches the FIX
picture path to locate files. Therefore, you must include full path information and the
proper file extension to open third-party files stored in other directories.
The following FIX application executables have command line parameters:

Database Manager

Historical Display

Recipe

View

311

iFIX with FIX Desktop

File Access Commands


File Access commands include:

FILECLOSE

FILEOPEN

FILEREAD

FILEWRITE

FILECLOSE Command
Purpose
Closes a specified file. Make sure that for each FILEOPEN command, you include a corresponding
FILECLOSE command.
Syntax
FILECLOSE num_var

Parameters
num_var specifies the user-defined numeric variable that automatically stores the file handle
number of the opened file.
FILEOPEN Command
Purpose
Opens a file and prepares it for subsequent modifications or extractions. When a specified file does not
exist, this command creates a new file.
Syntax
FILEOPEN file name num_var

Parameters
file name specifies the file to open or create.
num_var specifies the user-defined numeric variable that identifies and automatically stores the
file handle.
FILEREAD Command
Purpose
Accesses an open file, reads up to 80 characters or until it reaches the end of a line, and stores the

312

iFIX with FIX Desktop

result in a string variable.


Syntax
FILEREAD num_var string_var

Parameters
num_var specifies the user-defined numeric variable that automatically stores the file handle
number of the opened file.
string_var specifies the string variable that stores up to 80 characters read in from the opened
file. Each subsequent use of the FILEREAD command retrieves the next line in the file or
up to 80 characters, whichever comes first.
FILEWRITE Command
Purpose
The FILEWRITE command appends a text string to the end of an open file.
Syntax
FILEWRITE num_var "string"

Parameters
num_var specifies the user-defined numeric variable that automatically stores the file handle
number of the opened file.
string specifies the string to write to the file.
NOTE: The FILEWRITE command cannot be used on a file that has been read using the
FILEREAD command. The file must be closed with the FILECLOSE command and then a
new copy of the file can be opened with the FILEOPEN command.
File Edit Commands
File Edit commands include:

APPEND

ATTRIB

COPY

DELETE

313

iFIX with FIX Desktop

APPEND Command
Purpose
Attaches the contents of one file onto the end of another file.
Syntax
APPEND file name file name

Parameters
file name specifies the file to be appended onto the end of the second file, specified in the
second parameter.
file name specifies the file that receives the information from the first file, specified in the first
parameter.
ATTRIB Command
Purpose
Changes the protection attributes of a file. This command can be used only to change the attributes of a
closed file.
Syntax
ATTRIB file name "attribute"

Parameters
file name specifies the file whose attributes are to be modified.
attribute specifies the file attribute.
COPY Command
Purpose
Copies a file to another location.
Syntax
COPY file name file name|pathname

Parameters
file name specifies the file to be copied.

314

iFIX with FIX Desktop

file name|pathname specifies the file or the directory that stores the result of the copy.
DELETE Command
Purpose
Deletes a specified file.
Syntax
DELETE file name

Parameters
file name specifies the file to be deleted.
File Information Commands
File Information commands include:

CHFILE

FILELIST

FILEPRINT

VIEW

CHFILE Command
Purpose
Checks for the existence of a specified file.
Syntax
CHFILE file name num_var

Parameters
file name specifies the file to check for.
num_var specifies the name of the numeric variable that stores the result of the check. The
result can be one of the following:
If...

Then...

The file exists

The numeric variable is set to 1.0.

315

iFIX with FIX Desktop

If...

Then...

The file does not exist

The numeric variable is set to 0.0.

FILELIST Command
Purpose
Specifies a list of files that appear in a list dialog box in the current display whenever the command
language script executes. The dialog box requires that the operator select a file from the list and
confirm the selection.
Syntax
FILELIST pattern string_var "string" [show]

Parameters
pattern specifies the pattern that defines the group of files that will appear in the list dialog box.
string_var specifies the name of the string variable that will store the name of the file selected
from the list dialog box.
string specifies the text string that appears in the dialog box title bar.
[show] enables the display of the standard File Open dialog box that appears with the title
specified in third parameter.
NOTE: When you use the [show] parameter, operators have access to the full capabilities of
this dialog, including access to and possible modification of the current drive, path, file name,
and extension.
FILEPRINT Command
Purpose
Prints an ASCII file to the default window manager printer.
NOTE: The default printer must be the Generic/Text Only printer listed in the Control Panel. To
access the Printers dialog box, click the Printers icon from the Control Panel group.
Syntax
FILEPRINT file name

Parameters
file name specifies the file to be printed.

316

iFIX with FIX Desktop

VIEW Command
Purpose
Displays the contents of an ASCII file in a file dialog box. The dialog box allows an operator to
browse through the file and requires confirmation to exit the browsing. The dialog box does not permit
modifications to the file.
Syntax
VIEW file name "string"

Parameters
file name specifies the ASCII file to be viewed.
string specifies the text string that appears in the dialog box title bar.
SQL commands
SQL commands include:

COUNTROWS

DELETE

DESCTABLE

INSERT

LISTTABLES

LOGIN

LOGOUT

PROCEDURE

SELECT

UPDATE

NOTE: Some SQL commands use placeholders to reserve a position for string parameters used by
other SQL commands. These placeholders are indicated with quotation marks (" ") and must be
specified.
COUNTROWS Command
Purpose
The COUNTROWS command determines how many rows are in a specified table.
Syntax
#num_var = SQL("database", "COUNTROWS", "","table","",cache,#num_result)

317

iFIX with FIX Desktop

NOTE: A string variable can replace any one of the command parameters except the cache and the
#num_result variable. When a variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the COUNTROWS command executed successfully. A
value of zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
table specifies the name of the table from which to count rows.
cache the caching indicator, where 1 is enabled and 0 is disabled.
NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.
#num_result defines the name of the numeric variable that stores the results of the query.
DELETE Command (SQL)
Purpose
The DELETE command deletes single or multiple rows from a specified table. This command can be
built automatically with the SQL Command Configurator.
Syntax
#num_var = SQL("database", "DELETE", "","table","condition",cache, "")

NOTE: A string variable can replace any one of the command parameters except the cache. When a
variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the DELETE command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
table specifies the name of the table from which to delete the data. When appropriate, use a
string variable to replace all of this parameter.
condition defines an optional condition clause specifying which row(s) in the table(s) to delete,
according to the standard SQL syntax. If no condition clause is specified, the SQL
command acts on the entire table, as specified by the column and table parameters. A

318

iFIX with FIX Desktop

common condition clause syntax is as follows:


"WHERE COLUMN=VALUE"

Where COLUMN is the name of the relational database column and VALUE is either a
literal string enclosed in single quotes or a numeric value with no quotes.
When appropriate, use a variable to replace all or part of this parameter. You can use a
variable to replace part of this parameter as follows:
"WHERE DEVICE=#NUM" or
"WHERE DEVICE='#STRING5'"

cache the caching indicator, where 1 is enabled and 0 is disabled.


NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.
DESCTABLE Command
Purpose
The DESCTABLE command retrieves information about a specified table. This information includes
the name and data type of each column in the table. Row zero (0) of the resulting data provides a data
descriptor for each column of data retrieved. This command does not support command caching.
Syntax
#num_var = SQL("database", "DESCTABLE", "","table","",0,#table_var)

NOTE: A string variable can replace any one of the command parameters except the #table_var
variable and the zero (0). When a variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the DESCTABLE command executed successfully. A value
of zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
table specifies the name of the table from which to retrieve the information.
#table_var defines the name of the table variable that stores the results of the query.
INSERT Command
Purpose
The INSERT command adds a new row to the specified table and inserts the specified data into the

319

iFIX with FIX Desktop

new row. This command can be built automatically with the SQL Command Configurator.
Syntax
#num_var = SQL("database", "INSERT",
"column(s)","table","values",cache,"")

NOTE: A string variable can replace any one of the command parameters except the cache. When a
variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the INSERT command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
column(s) specifies the name of the column(s) into which to insert data. Separate column names
by commas as follows:
"COLUMN1,COLUMN2"

When appropriate, use a string variable to replace all or part of this parameter. You can use
a variable to replace part of this parameter as follows:
"#COLUMN,COLUMN2"

table specifies the name of the table into which to insert data. When appropriate, use a string
variable to replace all of this parameter.
values specifies the values to insert into the specified table, where the guidelines for this format
are as follows:

Enclose values that are literal strings with single quotes. For example: LOW

All strings must be enclosed in quotes, even if number are used. For example: "5.0,
10.0"

When appropriate, use a string variable or numeric variable to replace all or part of the
parameter.
Examples
"'LOW',5.0,'HIGH',10.0"
#VALUES
"'#VAL1', 5.0, '#VAL2', 10.0"

cache the caching indicator, where 1 is enabled and 0 is disabled.


NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.

320

iFIX with FIX Desktop

LISTTABLES Command
Purpose
The LISTTABLES command retrieves the names of all tables and views in an SQL account or data
source. Row zero (0) of the resulting data provides a data descriptor for each column of data retrieved.
This command does not support command caching.
Syntax
#num_var = SQL("database", "LISTTABLES", "owner","table","",0,#table_var)

NOTE: A string variable can replace any one of the command parameters except the #table_var
variable and the zero (0). When a variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the LISTTABLES command executed successfully. A
value of zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
owner specifies the name of the user that created the table, as defined in the relational database.
This parameter supports the following SQL wildcards:

A percent sign (%) to represent one or more characters.

An underscore (_) to represent a single character.

table specifies the name of the table(s) to list. This parameter supports the following SQL
wildcards:

A percent sign (%) to represent one or more characters.

An underscore (_) to represent a single character.

#table_var defines the name of the table variable that stores the results of the query.
NOTE: Microsoft Access does not support the use of wildcards with the LISTTABLES
command.
LOGIN Command (SQL)
Purpose
The LOGIN command logs in to a relational database specified in this node's SCU file. SQL command
support provides automatic login to a specified relational database during the execution of an SQL
command.

321

iFIX with FIX Desktop

Syntax
#num_var = SQL("database", "LOGIN", "","","",0,"")

NOTE: A string variable can replace any one of the command parameters except the zero (0). When a
variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the LOGIN command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
LOGOUT Command (SQL)
Purpose
The LOGOUT command logs out of a relational database specified in this node's SCU file. SQL
command support provides automatic logout from all relational databases when View is exited.
Syntax
#num_var = SQL("database", "LOGOUT", "","","",0,"")

NOTE: A string variable can replace any one of the command parameters except the zero (0). When a
variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the LOGOUT command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
PROCEDURE Command
Purpose
The PROCEDURE command executes one SQL stored procedure. If a query in the procedure returns
data, row zero (0) of the resulting data provides each column's title.
Syntax
#num_var = SQL("database", "PROCEDURE,
"procedure","","",cache,#table_var)

322

iFIX with FIX Desktop

NOTE: A string variable can replace any one of the command parameters except the cache and the
#table_var variable. When a variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the PROCEDURE command executed successfully. A
value of zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
procedure specifies the name of the stored procedure to execute.
cache the caching indicator, where 1 is enabled and 0 is disabled.
NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.
#table_var defines the name of the table variable that stores the results of any query performed
within the procedure.
SELECT Command
Purpose
The SELECT command retrieves data from a relational database. Row zero (0) of the resulting data
provides each column's title. This command can be built automatically with the SQL Command
Configurator.
Syntax
#num_var = SQL("database", "SELECT",
"column(s)","table(s)","condition",cache,#table_var)

NOTE: A string variable can replace any one of the command parameters except the cache and the
#table_var variable. When a variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the SELECT command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
column(s) specifies the name of the column(s) from which to retrieve the data. Separate multiple
column names with a comma and no space as follows:

323

iFIX with FIX Desktop


"COLUMN1,COLUMN2"

When appropriate, use a string variable to replace all or part of this parameter. You can
replace part of this parameter as follows:
"#COLUMN,COLUMN2"

table(s) specifies the name of the table(s) from which to retrieve the data. Separate multiple
table names with a comma and no space as follows:
"TABLE1,TABLE2"

When appropriate, use a string variable to replace all or part of this parameter. You can
replace part of this parameter as follows:
"#TABLE,TABLE2"

condition specifies an optional condition clause to be used when retrieving the data, according
to the standard SQL syntax. If no condition clause is specified, the SQL command acts on
the entire table, as specified by the column and table parameters. A common condition
clause syntax is as follows:
"WHERE COLUMN=VALUE"

Where COLUMN is the name of the relational database column and VALUE is either a
literal string enclosed in single quotes or a numeric value with no quotes.
When appropriate, use a variable to replace all or part of this parameter. You can use a
variable to replace part of this parameter as follows:
"WHERE DEVICE=#NUM" or
"WHERE DEVICE='#STRING5'"

cache the caching indicator, where 1 is enabled and 0 is disabled.


NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.
#table_var defines the name of the table variable that stores the results of the query.
UPDATE Command
Purpose
The UPDATE command writes data to the specified relational database. This command can be built
automatically with the SQL Command Configurator.
Syntax
#num_var = SQL("database", "UPDATE",
"column(s)","table","condition",cache,"")

NOTE: A string variable can replace any one of the command parameters except the cache. When a
variable replaces an entire parameter, do not enclose it in quotes.

324

iFIX with FIX Desktop

Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the UPDATE command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
column(s) specifies the name(s) of the relational database column in the table from which data
should be retrieved from or sent to and the value to set the column to as a result of the
update. For example:
COLUMN=VALUE

Where the guidelines for this format are as follows:

Enclose values that are literal strings with single quotes. For example:
COLUMN='TEXT'

All strings must be enclosed in double quotes, even if numbers are used. For
example: "COLUMN=50"

When appropriate, use a variable to replace all or part of this parameter. You can use
a variable to replace part of this parameter as follows:
"COLUMN=#'STRING5'" or
"COLUMN=#NUM"

table specifies the name of the table to which data is written. When appropriate, use a string
variable to replace all of this parameter.
condition specifies an optional condition clause to be used when writing the data, according to
the standard SQL syntax. If no condition clause is specified, the SQL command acts on the
entire table, as specified by the column and table parameters. A common condition clause
syntax is as follows:
"WHERE COLUMN=VALUE"

Where COLUMN is the name of the relational database column and VALUE is either a
literal string enclosed in single quotes or a numeric value with no quotes.
When appropriate, use a variable to replace all or part of this parameter. You can use a
variable to replace part of this parameter as follows:
"WHERE DEVICE=#NUM" or
"WHERE DEVICE='STRING5'"

cache the caching indicator, where 1 is enabled and 0 is disabled.


NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.

325

Draw Menu Commands


The Draw command topics provide a complete description of all menus and their associated
commands. Click any topic to transfer to information on the selected command.

File Menu Commands

Edit Menu Commands

Tools Menu Commands

View Menu Commands

Arrange Menu Commands

Dynamos Menu Commands

Window Menu Commands

Apps Menu Commands

Font Menu Commands

Help Menu Commands

The File Menu


The File menu contains the commands that let you create and manage your pictures. To get help for
any of the File menu commands, click the appropriate command.

New

Open

Save

Save As

Close

Print

Report

Resolve

Global Search and Replace

Delete

Exit

File Menu Commands: New

The New button on the Tool Box is a quick way to create a new picture from scratch, without
using a template.

Draw names new picture files Untitled1, Untitled2, and so on. You can name the picture or template

327

iFIX with FIX Desktop

when you save it.


The New command lets you:

Create a new picture using a template.

Create a new template.

Create a new picture from scratch.

File Menu Commands: Open

The Open command brings up a picture (*.ODF), template (*.ODT), or backup (.^D?) file
that already exists. When you select Open, the standard File Open dialog box appears. Select
the desired file and click OK.

You can have up to 10 pictures open at a time. However, you may not have the necessary security
rights to access some pictures. If this is true, a message appears when you try to open the picture. To
continue, contact your system administrator.
File Menu Commands: Save

The Save command stores your picture or template file on disk. When the file is initially
saved, you are prompted to enter a file name. Subsequent saves do not prompt you for a
name. Draw automatically stores the changes to the current file after an initial save.

It is a good idea to save your work often. Doing so makes recovering from mistakes easier. Draw also
creates a backup file each time you save so that you can retain both the current and previous versions
of a picture or template. A backup file has the same name as the Picture or template file, with an .^DF
(picture) or .^DT (template) extension, and is stored in the picture path.
NOTE: The title bar of the picture displays an asterisk (*) next to the picture name if the file contains
unsaved changes.
File Menu Commands: Save As
Use the Save As command to save an active picture or template file under a different name or as a
different file type. This command lets you open a picture file, make changes to it, and then give the
picture file a new name or type when you save it to disk.
When you select Save As, the standard File Save dialog box appears. Enter the new file name and, if
appropriate, select a new file type and click Save. The title bar changes to show that the changes have
been saved under the new name.
TIP: To change the name of a picture, use the Save As command. By using this command, you can
ensure the internal name of the file is updated and matches the new name you select. Both names must
match if you plan to preload the picture. If you rename a picture through the operating system or if you
copy an .ODF file to a different name, the internal name is not updated. To correct this, be sure to
open the picture in Draw and save it with the new file name.

328

iFIX with FIX Desktop

File Menu Commands: Close

The Close command removes the active picture or template from the Draw window. If you've
made changes and haven't saved, then Draw displays a message.

For example:
Save changes for Untitled1?

Click Yes to save the changes, No to discard the changes, and Cancel to return to Draw with the file
still open. If the file has never been saved and you click Yes, the File Save dialog box appears.
File Menu Commands: Print

The Print command lets you print the currently active picture or template. If the picture is
larger than the screen and you want to print the entire picture, use the Zoom Out or Fit in
Window commands before you print. While the picture prints, a dialog box appears that
allows you to cancel the printing.

File Menu Commands: Report


The Report command lets you generate a picture report for the currently active picture.
File Menu Commands: Resolve
The Resolve command lets you resolve pictures, templates, and tag group files. Resolved pictures open
faster in View.
File Menu Commands: Global Search and Replace

The Global Search and Replace command lets you automatically change the tagnames
specified in link and dynamic property dialog boxes for multiple pictures.

Tagnames have the following format:


node:tag.field

The Search and Replace command searches all selected objects for the node:tag portion of the tagname
and replaces it wherever it occurs. The command does not modify the field portion of the tagname.
IMPORTANT: This Global Search and Replace function only modifies the Node:Tag references in
pictures, and does not change any references in tag group (TGE) or key macro (KMX) files that may
be associated with these pictures. You may need to modify your TGE and KMX files as well when
relacing Node:Tag combinations.

329

iFIX with FIX Desktop

File Menu Commands: Import Wizard


The Import Wizard command lets you import graphics files. When you select Import Wizard, follow
the step-by-step instructions in the Wizard to import .ADF, .DXF, and .PCX files into Draw.
File Menu Commands: Delete
The Delete command lets you permanently erase picture (.ODF). or template (.ODT) files. When you
select Delete, the standard File Delete dialog box appears.
Select a file and click Delete to erase it. Draw displays a message box asking you to confirm the
deletion. Click Yes to continue or No to prevent the deletion.
File Menu Commands: Exit

The Exit command exits Draw.

If you have open picture or template files, Dynamo sets, or databases that contain unsaved changes,
Draw asks if you want to save the changes for each file or database. If you select Yes, Draw saves the
changes and returns to the window manager. If you select No, Draw does not save the changes and
returns to the window manager. If you select Cancel, Draw returns to the active picture window.

The Edit Menu


The Edit menu contains the commands that let you create and manage the objects in your pictures. To
get help for any of the Edit menu commands, click the appropriate command.

330

Undo

Cut

Copy

Paste

Delete

Duplicate

Select All

Copy Bitmap

Paste Bitmap

Picture

Dynamic Properties

Search & Replace

Environment

iFIX with FIX Desktop

Edit Menu Commands: Undo

The Undo command reverses the last action you completed in a picture. By default, you can
undo up to the last 10 actions. In the DRAW.INI file you can configure Draw to undo as
many as the last 50 actions.

NOTE: Anything you do in Draw that alters the picture file can be undone, with the exception of
searching and replacing tagnames.
Edit Menu Commands: Cut

The Cut command removes a selected object or objects from the active picture and places
them in the Draw clipboard.

Once the objects are in the clipboard, they stay there until replaced by another object or group of
objects. In other words, if you cut one object and then immediately cut another object, the second
object replaces the first object.
Edit Menu Commands: Copy

The Copy command places a copy of the selected object or objects into the clipboard,
replacing the contents of the clipboard. Copy does not remove the original objects from the
picture.

Edit Menu Commands: Paste

The Paste command copies an object or objects from the Draw clipboard back into the active
picture or a different picture, without removing the contents of the clipboard. Draw places the
object in the center of the screen or to the right of the selected object.

You can use paste several times to make copies of an object in the Draw clipboard.
Edit Menu Commands: Delete
The Delete command removes the selected object or objects from the picture, but does not place them
in the clipboard. The only way to retrieve deleted objects is to select Undo soon after deleting.
Edit Menu Commands: Duplicate

The Duplicate command copies selected objects and pastes a copy of the objects next to the
original. It is very useful for quickly creating a supply of basic objects. Draw places the
object next to the selected object.

331

iFIX with FIX Desktop

The Duplicate command does not affect the contents of the clipboard.
Edit Menu Commands: Select All

The Select All command highlights all the objects in your picture.

Once you select all objects, the Edit menu replaces the Select All command with the Deselect All
command. When the Deselect All command is available, you can deselect all the objects in your
picture.
Edit Menu Commands: Copy Bitmap
The Copy Bitmap command lets you turn any Draw object into a simple bitmap graphic so you can
export it to another program.
This command copies only the bitmap image of the object to the clipboard in the standard clipboard
format. Other programs that read bitmaps from the clipboard can then import the Draw image. To copy
the object to the clipboard, select it and then select Copy Bitmap.
CAUTION: Do not use Copy Bitmap and Paste Bitmap to move Draw objects from picture to picture
or to duplicate Draw objects. Doing so removes all Draw dynamic properties. Even when duplicating
imported bitmap objects, use the standard Copy and Paste commands.
Edit Menu Commands: Paste Bitmap
The Paste Bitmap command lets you import bitmap graphics from the clipboard.
Most graphic programs that use the clipboard for cutting and pasting store compatible bitmaps on the
clipboard. If Paste Bitmap is dimmed, then either the clipboard is empty or the format of the bitmap is
not compatible with Draw.
CAUTION: Do not use Copy Bitmap and Paste Bitmap to move Draw objects from picture to picture
or to duplicate Draw objects. Doing so removes all Draw dynamic properties. Even when duplicating
imported bitmap objects, use the standard Copy and Paste commands.
Edit Menu Commands: Picture

The Picture command lets you create or edit a picture's properties, such as the size,
background color, command language scripts (executed during opening or closing) or
security group.

Edit Menu Commands: Dynamic Properties


The Dynamic Properties command lets you assign dynamic properties such as color, position, and fill
to the objects in your picture. Each object you create can have as many dynamic properties as you
want.
When you select the Dynamic Properties command or double-click an object that you want to assign

332

iFIX with FIX Desktop

dynamic properties to, the Dynamic Properties dialog box appears.


NOTE: When you double-click on a link object, the dialog box associated with the link appears.
Edit Menu Commands: Search & Replace

The Search and Replace command lets you automatically change the tagnames specified in
link and dynamic property dialog boxes.

Tagnames have the following format:


node:tag.field

The Search and Replace command searches all selected objects for the node:tag portion of the tagname
and replaces it wherever it occurs. The command does not modify the field portion of the tagname.
NOTE: To search and replace Commands on Opening and Commands on Closing scripts all objects
in the picture must be selected. Use the Select All command to select all objects in the picture. When
the Search and Replace command encounters a matching tagname in a group that uses the Group
Tagname function, it only changes the tagname in the Group Tagname field on the Dynamic Properties
dialog box and all the tagname fields in that group.
Edit Menu Commands: Environment
The Environment command lets you enable environment protection in View.

The Tools Menu


The Tools menu contains the commands that let you select different tools while drawing your pictures
or you can select the Tool Box command to display the Tool Box in the Draw window.
To get help for any of the Tools menu commands, click the appropriate command.

Tool Box

Color Box

Cursor Position

Fill Style

Line Style

Selector

Rectangle

Oval

Line

Polyline

Polygon

Text

333

iFIX with FIX Desktop

Link

Tool Box Setup

Tools Menu Commands: Tool Box


The Draw Tool Box is a great alternative to using the Draw menu commands. To display the Tool Box,
select Tool Box from the Tools menu. To hide it, deselect it on the Tools menu. When the cursor rests
on a Tool Box button, the button displays a ToolTip. You can move the Tool Box around the Draw
window by dragging on the title bar. You can also configure which buttons appear on the Tool Box
and the order of the buttons using the Tool Box Setup command.
Tools Menu Commands: Color Box

The Color Box command shows or hides Draw's color box. The color box is your tool for
manipulating foreground, background. and edge color properties. To display the color box,
select Color Box from the Tools menu. To hide it, deselect it on the Tools menu. You can
move the box around the Draw window by dragging on the title bar. You can also customize
colors in the Color Box palette.

NOTE: Use the Fill and Line Style commands on the Tools menu to change the fill (pattern) or Line
style of an object.
Tools Menu Commands: Cursor Position

The Cursor Position command shows or hides Draw's cursor position box. The cursor
position box tells you the exact position (in logical inches) of the cursor. You can use this
tool in conjunction with Draw's grid feature to measure objects as you create them.

To show the cursor position box, select Cursor Position from the Tools menu. To hide it, deselect it on
the Tools menu. You can move the box around the Draw window by dragging on the title bar.
Tools Menu Commands: Fill Style

The Fill Style command lets you select a fill style property for an object. You can select from
5 hatch patterns, a solid fill, or no fill.

Tools Menu Commands: Line Style

The Line Style command lets you select a Line style property for an object. Line style
changes the width of lines and object edges. You can select from 7 different line widths.

334

iFIX with FIX Desktop

Tools Menu Commands: Selector

The Selector command changes the cursor to the Selector cursor. Use this cursor to select
objects, menu commands, Tool Box buttons, colors, and styles. You can:

Move the selector with the mouse.

Click to select an object.

Double-click to bring up dialog boxes.

Tools Menu Commands: Rectangle

The Rectangle command lets you draw a rectangle. When you select this command the
cursor changes to the Cross-Hair cursor.

Use the following steps to draw a rectangle:


1.

Click and drag the cursor until the rectangle is the desired shape.

2.

Release the mouse button to complete the rectangle.

Tools Menu Commands: Oval

The Oval command lets you draw an oval. When you select this command, the cursor
changes to the Cross-Hair cursor.

Use the following steps to draw an oval:


1.

Click and drag the cursor until the oval is the desired shape.

2.

Release the mouse button to complete the oval.

Tools Menu Commands: Line

The Line command lets you draw a line. When you select this command the cursor changes
to the Cross-Hair cursor.

Use the following step to draw a line:


1.

Click and drag the cursor until the line is the desired length.

2.

Release the mouse button to complete the line.

335

iFIX with FIX Desktop

Tools Menu Commands: Polyline

The Polyline command lets you draw a Polyline. When you select this command, the cursor
changes to the Cross-Hair cursor. Polylines can be closed or open and do not have fill
dynamic properties.

Use the following steps to draw a polyline:


1.

Click once for each point.

2.

Double-click for the last point.

Tools Menu Commands: Polygon

The Polygon command lets you draw a polygon. When you select this command, the cursor
changes to the Cross-Hair cursor.

Use the following steps to draw a polygon:


1.

Click once for each point.

2.

Prior to drawing the last segment, double-click. Draw creates the last segment for you by
connecting the last point to the first point, and closes the shape.

Tools Menu Commands: Text

The Text command changes the cursor to the I-Beam cursor so that you can type or edit a
text object.

Tools Menu Commands: Link


The Link command lets you add information links, chart links, and special purpose links to your
pictures.
When you select the Link command, the Available Links dialog box appears.
Tools Menu Commands: Tool Box Setup
The Tool Box Setup command lets you customize which buttons appear on the Tool Box, the order of
the buttons, and whether or not buttons display ToolTips.

The View Menu


The View menu contains the commands you need to organize what you see in the Draw window. Draw
gives you scroll bars to move around a picture which is larger than the screen. Draws scroll bars work
like the ones you find in your window manager. Draw also gives you the ability to zoom a picture and

336

iFIX with FIX Desktop

to open and switch between many picture files.


To get help for any of the View menu commands, click the appropriate command.

QuickView

Zoom In

Zoom Out

Zoom To

Default View

Fit in Window

Refresh

View Menu Commands: QuickView

The QuickView command lets you preview the active picture in View enabling you to test
the elements of the picture, such as links and push buttons, as you create them.

View Menu Commands: Zoom In

The Zoom In command lets you enlarge your picture in increments of 25% so that you can
work on its details.

To enlarge the picture, select Zoom In from the View menu.


NOTE: Using the Zoom In command does not permanently change the size of the objects contained in
the picture. To restore your normal view, select the Default View command from the Tool Box or the
View menu.
View Menu Commands: Zoom Out

The Zoom Out command lets you reduce your picture in increments of 25% so that you can
work on its overall structure.

To reduce the picture, click the Zoom Out button on the Tool Box or select it from the View menu.
NOTE: Using the Zoom Out command does not permanently change the size of the objects contained
in the picture. To restore your normal view, select Default View from the View menu.
View Menu Commands: Zoom To
The Zoom To command lets you select an area of your picture and enlarge it to fill the entire window.

337

iFIX with FIX Desktop

Use the following steps to enlarge a selected area of your picture:


1.

On the View menu, click Zoom To.

2.

Click the top-left corner of the zoom area, and drag until the select box encloses the area.

3.

Release the mouse button.

NOTE: Using the Zoom To command does not permanently change the size of the objects contained in
the picture. To restore your normal view, click the Default View button on the Tool Box or select it
from the View menu.
View Menu Commands: Default View

The Default View command lets you restore the picture view to it's original state from any
other View menu commands such as Zoom In or Zoom Out.

View Menu Commands: Fit in Window

The Fit in Window command lets you view your entire picture within the Draw window by
reducing the picture until it can fit in the picture window. When you use the Fit in Window
command, you no longer need scroll bars.

To view your entire picture, click the Fit in Window button on the Tool Box or select it from the View
menu. To restore your normal view, use the Default View command.
View Menu Commands: Refresh

The Refresh command redraws all the objects in the active picture.

The Arrange Menu


The Arrange menu contains the commands that let you:

Stack objects.

Group objects.

Align objects.

Stretch an object.

Flip an object horizontally or vertically.

Add or delete object points for reshaping.

All of these features help you create and maintain useful and attractive pictures. To get help for any of
the Arrange menu commands, click the appropriate command.

338

iFIX with FIX Desktop

Send to Back

Bring to Front

Group

Ungroup

Align

Horizontal Spacing

Vertical Spacing

Flip Horizontal

Flip Vertical

Reshape

Add Point

Delete Point

Snap to Grid

Grid

Arrange Menu Commands: Send To Back

The Send to Back command lets you select an object and move it to the back of a stack of
objects, thereby making it the bottom object of the stack. If you select several objects and use
Send to Back, the selected objects become the bottom of the stack, but they keep their
positions relative to each other.

The Send to Back command is useful when you are creating complex shapes and using stacking or
masking techniques.
Use the following steps to move an object to the back of a stack:
1.

Select an object.

2.

Click the Send to Back button on the Tool Box, or on the Arrange menu click Sent to Back.

Arrange Menu Commands: Bring To Front

The Bring to Front command lets you select an object and move it to the front of a stack of
objects, thereby making it the top object of the stack. If you select several objects and use
Bring to Front, the selected objects become the top of the stack, but they keep their positions
relative to each other.

The Bring to Front command is useful when you are creating complex shapes and using stacking or
masking techniques.

339

iFIX with FIX Desktop

Use the following steps to move an object to the front of a stack:


1.

Select an object.

2.

Click the Bring to Front button on the Tool Box, or on the Arrange menu click Bring to Front.

Arrange Menu Commands: Group

The Group command lets you create custom grouped objects that you can use over and over
again without having to rebuild them from scratch. To group objects, select the objects you
want to group and select the Group command.

Draw treats the grouped objects as a single object. Once you group objects, you can manipulate the
group like any other object. You can move, cut, paste, copy, stretch, and color a group, using the same
methods used for individual objects. Groups can contain graphics, bitmaps, text, and links.
NOTE: It is important to remember that whatever you do to a group gets done to each object that is a
group member. For example, if you group a red and green square and then select black for a fill color,
both squares turn black.
Arrange Menu Commands: Ungroup

The Ungroup command allows you to disband a grouped object so you can modify its
component objects. When you disband a group, any changes you made to the group that
affected a member object are retained by that object. In other words, ungrouping does not
return the member objects back to the original state of the objects before you grouped them.

For example, suppose you have a grouped object in your picture that consists of red and black squares.
When you change the group color to black, all the squares turn black. If you ungroup the object after
making this change, the squares still remain black.
Use the following steps to disband grouped objects:
1.

Select the grouped object you want to ungroup.

2.

Click the Ungroup button on the Tool Box, or on the Arrange menu click Ungroup.

Arrange Menu Commands: Align


The Align command lets you line up two or more selected objects by their vertical or horizontal lines.
The Tool Box also contains buttons that you can use to align objects:
Align Top
Align Bottom
Align Right

340

iFIX with FIX Desktop

Align Left
Align Horizontal Center
Align Vertical Center
NOTE: You should turn off the Snap to Grid command before attempting to align.
Arrange Menu Commands: Horizontal Spacing

The Horizontal Spacing command lets you spread out a group of selected objects so that the
amount of horizontal space between them is equal.

Both the Horizontal and Vertical Spacing commands are very useful for creating tick marks on bar
graphs.
Arrange Menu Commands: Vertical Spacing

The Vertical Spacing command lets you spread out a group of selected objects so that the
amount of vertical space between them is equal.

Both the Vertical and Horizontal Spacing commands are very useful for creating tick marks on bar
graphs.
Arrange Menu Commands: Flip Horizontal

The Flip Horizontal command lets you flip a graphic object along its horizontal axis.

You can also flip an object by dragging a handle of one side over the opposite side, but this process
also stretches the object. A safer way to flip horizontally is to use the Flip Horizontal command.
Arrange Menu Commands: Flip Vertical

The Flip Vertical command lets you flip a graphic object along its vertical axis.

You can also flip an object by dragging a handle of one side over the opposite side, but this process
also stretches the object. A safer way to flip vertically is to use the Flip Vertical command.

341

iFIX with FIX Desktop

Arrange Menu Commands: Reshape

The Reshape command lets you change the location of one point in a polygon, polyline, or
line, and thereby change the length and angles of the connecting line segments.

Use the following steps to move a point in a polygon or polyline:


1.

Select a polygon, polyline, or line.

2.

Click the Reshape button on the Tool Box, or on the Arrange menu click Reshape.

3.

Drag a point to a new location.

NOTE: You stay in reshape mode until you select another command.
Arrange Menu Commands: Add Point

The Add Point command lets you add a point to a polygon or polyline so you can edit its
shape.

Use the following steps to add a point to a polygon or polyline:


1.

Select a polygon or polyline.

2.

Click the Add a Point button on the Tool Box, or on the Arrange menu click Add a Point.

3.

Click a line segment at the desired location.

4.

You can use the Reshape command to move the new point.

Arrange Menu Commands: Delete Point

The Delete Point command is used to remove a point from a polygon or polyline.

Use the following steps to delete a point:


1.

Select a polygon or polyline.

2.

Click the Delete a Point button on the Tool Box, or on the Arrange menu click Delete a Point.

3.

Click the point that you want removed.

The point disappears and Draw connects the points on either side of the deleted point.

342

iFIX with FIX Desktop

Arrange Menu Commands: Snap to Grid

The Snap to Grid command lets you turn on Draw's snap to grid feature. When this feature is
on, the top-left corner of newly drawn or inserted objects sticks to the nearest grid point. This
feature makes precise alignment effortless.

Objects drawn before you enabled Snap to Grid remain where they are, unless you move them. When
moved, the top-left corner of the object snaps to the nearest grid point.
Once youve enabled snap to grid, all subsequent pictures created or opened in Draw will also have
this feature enabled.
NOTE: To disable the feature, select the command again to remove the check mark.
Arrange Menu Commands: Grid

The Grid command lets you control Draw's grid feature. You can then use the grid dots to
guide your placement of objects for precise vertical or horizontal alignment. Optionally, you
can also use Draw's snap feature for added precision.

Once youve enabled the show grid setting, all subsequent pictures created or opened in Draw will also
have this feature enabled. The grid setting that has been set for each individual picture is recalled when
that picture is re-opened.

The Dynamos Menu


The Dynamos menu contains commands that let you:

Paste Dynamos into pictures.

Create Dynamos by storing custom-built objects and application scripts in Dynamo sets.

Open and Close Dynamo sets.

Convert Dynamos into modifiable objects.

To get help for any of the Dynamos menu commands, click the appropriate command.

Paste From Set

Create Dynamo

Convert to Objects

Open Set

Close Set

343

iFIX with FIX Desktop

Dynamo Menu Commands: Paste From Set

The Paste From Set command lets you paste a Dynamo into the active picture. If the Dynamo
was assigned Dynamo prompts, the Dynamo Properties dialog box appears prompting you to
enter the tagnames, script variables, and text that are appropriate for the current picture.

Dynamo Menu Commands: Create Dynamo

The Create Dynamo command lets you convert custom-built objects and application scripts
into higher-level reusable graphic wizards called Dynamos. Dynamos are stored in Dynamo
sets.

Dynamo Menu Commands: Convert to Objects

The Convert to Objects command lets you convert a Dynamo into objects so that you can
modify individual properties within the Dynamo. To convert to objects, select the Dynamo
and then select the Convert to Objects command. The Dynamo attribute is removed and the
objects return to their original state.

NOTE: Dynamos that were not assigned Dynamo prompts are automatically converted to objects
when the Dynamo is pasted into a picture.
Dynamos Menu Commands: Open Set

The Open Set command lets you open an existing Dynamo set. You cannot open more than
one set at one time.

Use the following steps to open an existing Dynamo set:


1.

Click the Open Set button on the Tool Box, or on the Dynamos menu click Open Set.
The Open Dynamo Set dialog box appears.

2.

Select a set to open from the list box.

Dynamos Menu Commands: Close Set

The Close Set command closes the active Dynamo set. Draw prompts you to saves any
changes made to the Dynamo set.

344

iFIX with FIX Desktop

The Window Menu


The Window menu lets you position multiple pictures on your screen for easy access. This menu also
provides you with the names of all pictures that are currently open and uses a check mark to indicate
the active picture.
To get help for any of the Window menu commands, click the appropriate command.

Cascade

Open Picture Files

Window Menu Commands: Cascade


The Cascade command arranges all open pictures so that you can see the title bars. The order for the
arrangement in the window is:

Down and to the left of the screen.

Back to front in the order that the pictures were opened.

Draw uses a multi-document interface. You can have up to ten pictures open at the same time. Each
open picture shows up on the Window menu. The Cascade command is useful when you want to see
what pictures are open.
Window Menu Commands: Open Picture Files
This command displays the name(s) of your open picture files in the order that you opened them. Draw
uses a multi-document interface. You can have up to ten picture files open at the same time.
When you pull down the Window menu, notice that a check mark appears next to the active picture
file. To make another open picture the active picture, select it from the Window menu.

The Apps Menu


The Apps menu contains the commands that let you switch to other FIX software applications.
To get help for any of the Apps menu commands, click the appropriate command.

Database Manager

Tag Group Editor

Macro Editor

Historical Assign

Historical Display

Recipe

System Configuration

Login

Alarm History

Mission Control

345

iFIX with FIX Desktop

Apps Menu Commands: Database Manager

Select the Database Manager command to launch the iFIX Database Manager application.

Apps Menu Commands: Tag Group Editor

Select the Tag Group Editor command to launch the Tag Group Editor application.

Apps Menu Commands: Macro Editor

Select the Macro Editor command to launch the Macro Editor application.

Apps Menu Commands: Historical Assign

Select the Historical Assign command to launch the Historical Assign application.

Apps Menu Commands: Historical Display

Select the Historical Display command to launch the Historical Display application.

Apps Menu Commands: Recipe

Select the Recipe command to launch the Recipe Builder application.

Apps Menu Commands: System Configurator

Select the System Configuration command to launch the System Configuration Utility (SCU)
application.

Apps Menu Commands: Login

Select the Login command to launch the Login application.

346

iFIX with FIX Desktop

Apps Menu Commands: Alarm History

Select the Alarm History command to launch the Alarm History application.

Apps Menu Commands: Mission Control

Select the Mission Control command to launch the Mission Control application.

Font Menu
The Font menu lets you select from a variety of fonts, styles, and point sizes that customize
text. To change the appearance of text, select the appropriate settings from the Font menu.

The Help menu


The Help menu gives you access to Draw's help system.

Click any of the following choices to access information on using Draw:

Electronic Books

Glossary

About

Help Menu Commands: Electronic Books


Click this topic to open the iFIX electronic books.
Help Menu Commands: Glossary
Click the link below to view the glossary of important terms in Draw:

Glossary

Help Menu Commands: About


Click this command to retrieve version information about the FIX Desktop product you have installed
on your computer.

347

iFIX with FIX Desktop

Keyboard
The following keys and keyboard accelerators are available in Draw to help you move through the
menu bar and dialog boxes.
Movement Keys

The Alt key activates the menu bar.

The left and right arrow keys move between menus.

The up and down arrow keys move through menu commands.

The Return key selects a command or dialog box button and records field entries.

The Tab key moves the selection box or cursor through all dialog box fields, list boxes, check
boxes, and buttons.

Keyboard Accelerators

348

Task

Accelerator

Access help for dialog boxes and commands

F1

Access help for fields and controls

Alt+F1

Add a point to a polygon or polyline.

F2

Align selected objects.

Ctrl+A

Bring an object to the front of a stack.

Ctrl+F

Copy an object.

Ctrl+C

Create a new picture file.

Ctrl+N

Cut an object to the Draw clipboard.

Ctrl+X

Delete a point from a polygon or polyline.

F3

Delete selected objects.

DELETE

Duplicate an object.

Ctrl+D

Enlarge (zoom) a selected area of your picture.

Ctrl+Y

iFIX with FIX Desktop

Task

Accelerator

Group selected objects.

Ctrl+G

Open a picture file.

Ctrl+O

Paste an object from the Draw clipboard.

Ctrl+V

Preview the active picture in View.

Ctrl+Q

Save a picture file.

Ctrl+S

Send an object to the back of a stack.

Ctrl+B

Undo up to the last 10 to 50 actions.

Ctrl+Z

Ungroup a grouped object.

Ctrl+R

349

Draw Dialog Boxes


Draw includes the following dialog boxes (listed in alphabetical order):

A-B

Alarm Summary Configuration Dialog Box

Alarms Dialog Box

Alignment Dialog Box

Alphanumeric Configuration Dialog Box

Axis Configuration Dialog Box

Choose Data Entry Method Dialog Box

Color By Alarm Dialog Box

Color By Value Dialog Box

Color Settings Dialog Box

Color Threshold Definition Dialog Box

Column Format Dialog Box

Command Language Editor Dialog Box

Create Dynamo Dialog Box

D-G

Data Link Dialog Box

Dynamic Properties Dialog Box

Endpoint 1 Position Dialog Box

Endpoint 2 Position Dialog Box

Field Select Dialog Box

Grid Dialog Box

H-L

Histogram Chart - Pen Configuration Dialog Box

Histogram Chart Configuration Dialog Box

Horizontal Fill Dialog Box

Horizontal Position Dialog Box

Importing Files Through the Import Wizard: File(s) to Import

351

iFIX with FIX Desktop

Importing Files Through the Import Wizard: Welcome

Item Selection Configuration Dialog Box

Multi-Bar Chart - Pen Configuration Dialog Box

Multi-Bar Chart Configuration Dialog Box

Multi-Pen Chart - Pen Configuration Dialog Box

Multi-Pen Chart Configuration Dialog Box

Multiple Picture Search and Replace Dialog Box

N-O

New Dialog Box

Node Select Dialog Box

Numeric Configuration Dialog Box

Numeric Data Format Dialog Box

Open Dynamo Set Dialog Box

P-R

Pen Configuration Dialog Box

Picture Dialog Box

Push Button Configuration Dialog Box

Push Button Link Configuration Dialog Box

Ramp Value Configuration Dialog Box

Resolve Dialog Box

Rotation Dialog Box

Scale Dialog Box

Search and Replace Dialog Box

Search and Replace Tagnames Dialog Box

Slider Configuration Dialog Box

Sort Keys Dialog Box

SQL Command Configurator Dialog Box

Statistical Chart Configuration Dialog Box

System Information Link Dialog Box

352

iFIX with FIX Desktop

T-Z

Tag Select Dialog Box

Text Format Dialog Box

Tool Box Configuration Dialog Box

User Prompts for the Dynamo Dialog Box

Vertical Fill Dialog Box

Vertical Position Dialog Box

Visibility Dialog Box

X vs. Y Chart - Pen Configuration Dialog Box

X vs. Y Chart Configuration Dialog Box

A-B
Alarm Summary Configuration Dialog Box

Use the Alarm Summary Configuration dialog box to add an Alarm Summary link to
your picture. This link displays a list box of alarm messages that let operators
monitor and acknowledge alarms in View.

The Alarm Summary Configuration dialog box also lets you filter the alarm messages that are
displayed in the Alarm Summary link, so that only the pertinent alarms are displayed. Note that if you
do not use any filtering options, View displays all alarms by default.
After configuring the Alarm Summary link, set the refresh rate of the picture to a value greater than the
default of 0.1 seconds. The refresh rate must be a value greater than 0.1 for the Acknowledge One
command to function properly. To access the refresh rate setting, select Picture from the Edit menu in
Draw.
NOTE: To operate the Alarm Summary link, you must enable the Alarm Summary Service in the
System Configuration Utility (SCU) and, if appropriate, the Alarm Network Service in the SCU of the
appropriate remote nodes.
Filter Control
Filter Enable
The Filter Enable check box enables or disables the Alarm Summary link's filtering options. If you do
not select the Filter Enable check box and choose filtering options, View displays all alarms by default.
The filtering options let you:

Filter out alarm areas and alarm priority levels that do not need to appear in this Alarm
Summary link.

Specify the name of a single node that you want to receive alarms from, consequently filtering

353

iFIX with FIX Desktop

out alarms from all other nodes.


NOTE: When you enable filtering, operators can temporarily change the filtering options of the
Alarm Summary link in View. These changes do not affect the saved picture.
Alarm Area
The Alarm Area check boxes specify the alarm areas that this Alarm Summary link displays messages
from in View. The Alarm Area check box must be checked to enable alarm area filtering.
NOTE: When you enable alarm area filtering, operators can temporarily change the filtered alarm
areas of the Alarm Summary link in View. These changes do not affect the saved picture.
Priority
The Priority check boxes specify the alarm priority of the alarm messages that are displayed in this
Alarm Summary link in View. The Priority check box must be checked to enable alarm priority
filtering.
The Alarm Priority buttons are described below:
Button

Description

INFO

Displays INFO priority alarm messages.

LOLO

Displays LOLO priority alarm messages.

LOW

Displays LOW priority alarm messages.

MEDIUM

Displays MEDIUM priority alarm messages.

HIGH

Displays HIGH priority alarm messages.

HIHI

Displays HIHI priority alarm messages.

CRITICAL

Displays CRITICAL priority alarm messages.

NOTE: When you enable alarm priority filtering, operators can temporarily change the filtered alarm
priorities of the Alarm Summary link in View. These changes do not affect the saved picture.
Node:Tag
The Node:Tag field specifies the name of the node:tag whose alarm messages are displayed in this
Alarm Summary link. An entry in this field filters out alarm messages from all other nodes. The Node
check box must be checked to enable node:tag filtering.
Valid Entries

354

iFIX with FIX Desktop

Type the name of the appropriate node:tag, or click the browse (...) button to access the Tag Select
dialog box and choose a node:tag combination.
The asterisk (*) wildcard character can be used in the node and/or the tag specification to create the
pattern. In fact, the wildcard character can be used twice in the pattern: once in the node name and
once in the tag name. The wildcard character must be at the beginning or the end of the node or tag
name.
NOTE: When you enable node filtering, operators can temporarily change the name of the node
whose alarm messages are displayed in the Alarm Summary link in View. These changes do not affect
the saved picture.
Sort Control
The Sort Control area lets you define how View displays alarm messages in this Alarm Summary link.
You can sort alarms in ascending or descending order based upon six sort keys. These keys are
described below:
Key

Sorts alarms according to...

Time In

When the alarm was first generated by the tag.

Type

The alarm type.

Tag

The tag name.

Area

The alarm area of the tags (A-P).

Priority

The alarm priority, as defined for each tag in the Database Manager (INFO,
LOLO, LOW, MEDIUM, HIGH, HIHI, or CRITICAL).

Node

The node where the alarm originated.

Ack/Time

Acknowledgment and then time in. When sorting alarms, unacknowledged alarms
have a greater priority than acknowledged alarms.

Ack/Priority

Acknowledgment and then priority. When sorting alarms, unacknowledged


alarms have a greater priority than acknowledged alarms.

Time Last

The time that the alarm condition or status last changed. If the block generating
the alarm re-issues it, the time last value differs from the time in value.

Ack/Time
Last

Acknowledgment and then the time last value. When sorting alarms,
unacknowledged alarms have a greater priority than acknowledged alarms.

355

iFIX with FIX Desktop

Valid Entries
Type the name of the sort key in the Key field, or click the browse (...) button to access the Sort Keys
dialog box and choose a key. Then select the ascending or descending button to define the sort order.
Enable Alarm Deletion
The Enable Alarm Deletion check box lets you display a Delete All button in View for this Alarm
Summary link so that operators can delete all messages from the Alarm Summary link.
Confirm on Acknowledge
The Confirm on Acknowledge check box lets you display a confirmation dialog box in View when an
operator acknowledges an alarm in the Alarm Summary link by double-clicking it. The message in
this dialog box asks the operator to confirm that the alarm should be acknowledged.
Disable Control Border
The Disable Control Border check box lets you remove the border area that View displays for this
Alarm Summary link to allow more room for the list of alarms.
NOTE: Removing the border disables horizontal scrolling, vertical scrolling, and the display of the
column titles in View. To enable automatic scrolling when the border area is removed, select the Time
In key and the Descending button as the sort order in the Sort Control area.
Blink on a New Alarm
The Blink on New Alarms check box, when enabled, will cause new alarms to blink. By default, this
feature is disabled, and the check box must be selected to activate the feature.
Column Format
The Column Format button lets you access the Column Format dialog box to specify the columns that
appear in this Alarm Summary link.
Color Settings
The Color Settings button lets you access the Color Settings dialog box to specify the alarm colors that
appear in this Alarm Summary link in View.
Alarms Dialog Box

Use the Alarms dialog box to change the color of any of the alarm states that can appear in this Alarm
Summary link. To change a color select the alarm state and click the color button to access the color
palette.

356

iFIX with FIX Desktop

Alarm Status
Lists the alarm states that can appear in this Alarm Summary link.
Color
Accesses the color palette and displays the current color of the selected alarm state.
Alignment Dialog Box
Use the Alignment dialog box to line up two or more selected objects by their vertical or horizontal
sides.
NOTE: You should turn off the Snap to Grid command before attempting to align.
Alphanumeric Configuration Dialog Box

Use the Alphanumeric Configuration dialog box to allow operators to enter text or
numbers when changing the value of this Data link in View.

If specified, operators can use a keypad as a means to enter data. Using the keypad is ideal for display
stations that do not have keyboards. Mouse users can click the keys. Touch screen users can touch the
keys.
Axis Configuration Dialog Box
The Axis Configuration dialog box lets you define the X and Y axis for a chart link.
Show Axis
The Show Axis check box enables or disables the axis, the axis labels, and the axis tick marks.
Title
The Title field displays the name for the axis. If you do not want an axis name, leave this field blank.
Axis Color
The Axis Color button displays the color of the axis line, tick marks, and chart grid lines. To change
the color, click the color button and select a color from the color palette.
Label Color
The Label Color button displays the color of the axis labels and title. To change the color, click the
color button and select a color from the color palette.

357

iFIX with FIX Desktop

Number of Tick Marks


The Number of Tick Marks field displays the number of tick marks that appear on the axis.
Valid Entries
A value from 0 to 40.
NOTE: The number of grid lines is equal to the number of tick marks.
Number of Labels
The Number of Labels field displays the number of value labels that are displayed along the axis.
Valid Entries
A value from 0 to 20.
Display Grid Line
The Display the Grid check box controls the horizontal or vertical lines that appear on the chart. These
lines are spaced according to the tick marks.
Valid Entries
Select this check box to enable the grid. Clear this check box to turn off the chart's grid.

C
Choose Data Entry Method Dialog Box

The Choose Data Entry Method dialog box lets you choose from a variety of data
entry templates that operators use in View to enter data into this Data link. These
templates are described below:

NOTE: These templates appear as dialog boxes in View when the operator selects the Data link.
Template

Allows operators to...

The Numeric
Entry template

Enter a numeric value into the Numeric Entry dialog box to change the value
of the database tag. You specify the low and high limits for this value in this
template.
If appropriate, you can also include a calculator. This is ideal for display
stations that do not have keyboards or for when operators need to perform
calculations to arrive at the correct entry. Mouse users can click the keys.
Keyboard users can type the corresponding keyboard keys. Touch screen
users can touch the keys.

358

iFIX with FIX Desktop

Template

Allows operators to...

The Slider Entry


template

Adjust a scroll bar in the Slider Entry dialog box to change the value of the
database tag. You specify the low and high limits for this value in this
template.

The Push button


Entry template

Change the value of a digital database tag by selecting buttons in the Push
Button Entry dialog box that represent the tag's 1 and 0 values. Once the
operator presses a button, the write to the tag is immediate. You can define
the names of these buttons to reflect your facility's standards.

The Alphanumeric
Entry template

Type text in the Alphanumeric Data Entry dialog box to change database
tags that require ASCII text entries. If appropriate, you can also include a
keypad. This is ideal for display stations that do not have keyboards. Mouse
users can click the keys. Touch screen users can touch the keys.
NOTE: This data entry template is available only when the format of the
Data link is set to Text Data.

The Multiple Item


Selection template

Choose from multiple entries listed on the Data Entry - Selection List dialog
box to change the value of the database tag. You define the allowable
entries, so the operator can only select an item from this list. You can also
use this template for alphanumeric entries as well.

The Ramp Value


Entry template

Press up and down arrow buttons to change the value of the database tag.
The buttons correspond to the percentages of the limit range that you specify
in this template.

Color By Alarm Dialog Box

The Color By Alarm dialog box lets you select the alarm and color that defines a color threshold.
Possible Alarms
The Possible Alarms list box displays all alarm states available for defining Color by Alarm color
thresholds. Click the appropriate alarm state to select it. Then choose a threshold color to complete
the color threshold definition.
Threshold Color Area
The Threshold Color area lets you choose the characteristic of the color thresholds.

359

iFIX with FIX Desktop

Valid Entries
Button

Description

Visible

Displays the color of the threshold in View when the database tag is equal to the value
or alarm assigned to the threshold.

Invisible

Does not display the color of the threshold in View when the database tag is equal to
the value or alarm assigned to the threshold.

Blinking

Changes color and blinks between the color button selection and the display's
background color in View when the database tag is equal to the value or alarm
assigned to the threshold.

Example
If you select a blinking threshold color for a value or alarm within the foreground dynamic property,
the threshold color you assign replaces the foreground color in View when the assigned value or alarm
status is reached. The color of the object alternates between the blinking threshold color and the
background color.
The opposite occurs when you assign a blinking threshold color within the background dynamic
property, the threshold color replaces the background color when the value or alarm status is reached.
The color of the object alternates between the blinking threshold color and the foreground color.
NOTE: To change color of the threshold, click the color button to access the color palette.
Color By Value Dialog Box

The Color By Value dialog box lets you select the value and color that defines a color threshold.
Value
The Value field displays the number that corresponds to the highest value of the range of values that
have this color assignment.
Valid Entries
Enter a value, up to 7 significant digits.
Threshold Color Area
The Threshold Color area lets you choose the characteristic of the color thresholds.

360

iFIX with FIX Desktop

Valid Entries
Button

Description

Visible

Displays the color of the threshold in View when the database tag is equal to the value
or alarm assigned to the threshold.

Invisible

Does not display the color of the threshold in View when the database tag is equal to
the value or alarm assigned to the threshold.

Blinking

Changes color and blinks between the color button selection and the display's
background color in View when the database tag is equal to the value or alarm
assigned to the threshold.

Example
If you select a blinking threshold color for a value or alarm within the foreground dynamic property,
the threshold color you assign replaces the foreground color in View when the assigned value or alarm
status is reached. The color of the object alternates between the blinking threshold color and the
background color.
The opposite occurs when you assign a blinking threshold color within the background dynamic
property, the threshold color replaces the background color when the value or alarm status is reached.
The color of the object alternates between the blinking threshold color and the foreground color.
NOTE: To change color of the threshold, click the color button to access the color palette.
Color Settings Dialog Box

Use the Color Settings dialog box to create a custom color scheme of foreground and
background colors for alarm messages. The foreground color is the color of the alarm
status text. The background color is color behind the alarm text and indicates alarm
priority.

New Alarms
The new alarms check box allows you to configure a single foreground color to be used for new
(unacknowledged) alarms. A new alarm is displayed using this color until it is acknowledged.
Once the alarm is acknowledged, it is colored based on the color assigned to its latched alarm state.
The alarms background color will continue to reflect its alarm priority.
When the check box is...

Then...

Selected

Unacknowledged alarms are displayed in the selected color.

361

iFIX with FIX Desktop

When the check box is...

Then...

Not Selected

The alarm color is based on the alarm status color selections.

Add/Modify/Delete Buttons
The Color Settings dialog box contains three buttons that manage the foreground colors of the alarm
messages displayed in this Alarm Summary link. The foreground color is the color of the alarm status
text. Each button is described below:
Button

Description

Add

Lets you add an alarm state to the Foreground Colors list box through the Alarms
dialog box.

Modify

Lets you modify an existing alarm state in the Foreground Colors list box through the
Alarms dialog box.

Delete

Lets you remove an alarm state from the Foreground Colors list box.

Background Color Buttons


The Background Color buttons define the color behind the alarm text. The background color indicates
alarm priority, either INFO, LOLO, LOW, MEDIUM, HIGH, HIHI, or CRITICAL.
To change the color of an alarm priority, click the associated color button to access the color palette.
Color Threshold Definition Dialog Box

Use the Color Threshold Definition dialog box to define color threshold assignments for the values or
alarm states of the specified database field.
Color Threshold List Box
The Color Threshold list box displays the defined value or alarm color thresholds for the selected
object.
Color By
The Color By area lets you choose a color strategy for the selected object from three types of color
thresholds:

362

iFIX with FIX Desktop

Color
Threshold

Description

Color by
current
value

Changes the object color when a database value equals or exceeds one of the
threshold definitions.

Color by
latched
alarm

Changes the object color when a database field is in a particular alarm state.
When a tag is in more than one alarm state that have defined thresholds, this
strategy displays the color assigned to the unacknowledged alarm of the
highest priority. If there are no unacknowledged alarms, it displays the color
of the current alarm.

Color by
current
alarm

Changes the object color when a database field is in a particular alarm state.
When a tag is in more than one alarm state that has defined thresholds, this
strategy always displays the color assigned to the current alarm.

Add/Modify/Delete Buttons
The Color Threshold Definition dialog box contains three buttons that manage the color thresholds
assigned to the selected object. Each is described below:
Button

Description

Add

Lets you add a new value or alarm threshold to the Color Threshold list box.

Modify

Lets you modify an existing value or alarm threshold in the Color Threshold list box.

Delete

Lets you remove an existing value or alarm threshold from the Color Threshold list
box.

Tagname
The Tagname field displays the name of the database tag that supplies data to this link or dynamic
property.
Valid Entries
Enter a database tag. Draw fills in the default SCADA node for you. To specify a different node, you
must enter the entire tagname syntax as follows:
node:tag

363

iFIX with FIX Desktop

NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:

node is the name of the node that contains the database

tag is the database tag name

Alternatively, click the browse (...) button to access the Tag Select dialog box and search through the
network for a particular tagname.
Example
VIEW2:CA3
NOTE: Instead of entering a node:tag, you can enter a variable or tag group symbol in the Tagname
field. However, you cannot enter a variable for an X-Bar, R-Bar, or S-Bar Chart. Only a Histogram
tag should be referenced by a variable when using a Histogram link. The field name should always be
G_DATA.
Blink on New Alarm
The Blink on a New Alarm check box lets you specify whether the selected object blinks every time
the database tag registers a new alarm.
Valid Entries
Select the check box if you want the object to begin blinking when the tag registers a new alarm and
stop blinking when the alarm is acknowledged. Clear the check box if you do not want the object to
blink when the tag registers new alarms.
Column Format Dialog Box

Use the Column Format dialog box to control the amount of information that is
displayed in this Alarm Summary link.

This dialog box lets you:

Specify the columns that appear in the Alarm Summary link.

Specify the length of each column.

Define custom columns by specifying individual field names that you want to display.

Define the order of the displayed columns.

Columns Area
The Columns Area lets you specify the columns that Draw and View display in this Alarm Summary
link, including the maximum length of each column. To display a column, check the associated box
and type the maximum length in the Length field.

364

iFIX with FIX Desktop

The columns available for the Alarm Summary link are described below:
Column

Displays...

Date In

The date when the first alarm was generated.

Time In

The time of the first occurrence of a tag alarm.

Date Last

The date when the last alarm was generated.

Time Last

The time of the last change of state of an existing alarm entry.

Node

The name of the node that produced the alarm.

Tag

The name of the tag that generated the alarm.

Status

The most severe unacknowledged alarm, including when the tag is in more than one
alarm state (latched alarm).

Value

The current value of the tag.

Description

The contents of the Descriptor field from the tag that generated the alarm message.

Area

The alarm area that produced the alarm.

Priority

The alarm priority (INFO, LOLO, LOW, MEDIUM, HIGH, HIHI, or CRITICAL).

Column Order List Box


The Column Order list box lets you define the order of the columns that you want to display in this
Alarm Summary link. The order of items in this list box determines the order, from left to right, that
columns are displayed in the Alarm Summary link.
Valid Entries
You can change the order by selecting a column in this list box and clicking either the up or down
arrow button to change the column's position in the list.
User Definable Columns Area
The User Definable Columns area lets you specify the field name and length of up to two custom
columns for this Alarm Summary link. Note that only ASCII fields (those that start with A_) can be
used.

365

iFIX with FIX Desktop

Example
To display a custom column for the current alarm in addition to the default latched alarm, follow the
steps below:
1.

Select the Field Name check box.

2.

Type A_CUALM as the field name.

3.

Select the right arrow button to add the custom column to the Column Order list box.

When you return to the picture, the Alarm Summary link includes a column titled CUALM.
Command Language Editor Dialog Box
The Command Language Editor lets you create powerful command language scripts that automate the
tasks that operators perform in View.
You can define commands for the script, in the order that you want them to execute. To use the
Command Language Editor, type a script in the same way you would type a document in Notepad. The
editor retains the case of the items you enter, as well as the formatting (spaces and tabs). You can use
the SQL button to automatically build and incorporate SQL commands as needed.
Command Language Editor Buttons
At the top of the Command Language Editor dialog box is a row of command buttons that manage the
command language script. Each button is described below:

366

Button

Description

Cut

Removes the highlighted text and copies it to the global clipboard.

Copy

Copies the highlighted text to the global clipboard without removing the
highlighted text.

Paste

Copies the text from the global clipboard into the edit field.

Undo

Reverses the last operation only within the edit field. This operation only
implements one level of undo and redo. The undo button is only enabled if an
Undo operation is possible.

Search and
Replace

Opens the Search and Replace dialog box.

SQL

Opens the SQL command configurator dialog box. This button is only enabled if
the cursor is on a line that starts with #var=.

Import

Invokes the import function, which is facilitated through a standard Open File
dialog box. You can then import any ASCII file created in a standard text editor.

iFIX with FIX Desktop

Button

Description

Export

Invokes the Export function, which is facilitated through a standard File Save
dialog box.

Errors

Opens the Command Script Errors dialog box.

Insert Tag

Opens the Field select dialog box. If you complete the fields and click OK, a
node:tag.string is pasted into the script.

Quick
Commands

Opens the Available Commands dialog box, which contains an alphabetical list of
all the valid commands and their proper syntax.

Goto

Displays the line number the cursor is on. If you click the cursor over the label or
the line number itself, the Goto dialog box appears. Enter either a line number or
a label to move the cursor and click OK. The cursor is then placed on that line.

Command Language Editor Field


The Command Language Editor field displays the command language script assigned to this Push
Button link, object, or picture.
Valid Entries
Build a script using valid commands.
NOTE: Always check the validity of command parameters before leaving the Command Language
Editor dialog box. The Command Language Editor does not verify node, tag, or tag group file names.
Create Dynamo Dialog Box
The Create Dynamo dialog box lets you create a Dynamo and add it to a set.
Set
The Set field lets you add a Dynamo to a set. You can enter a new set name or select an existing set by
selecting the pull down arrow. Dynamo sets are saved as .SBL files and reside in the picture path.
Valid Entries
Enter a unique name, up to 8 alphanumeric characters.
Name
The Name field lets you name the Dynamo. This name displays beneath the Dynamo once it is placed
in a set.

367

iFIX with FIX Desktop

Valid Entries
Enter a unique name, up to 11 alphanumeric characters.

D-G
Data Link Dialog Box

Use the Data Link dialog box to add a Data link to your picture. The Data link displays numeric or text
data from the database. This link gives the operator a variety of display and input formats.
Tagname
The Tagname field displays the name of the database tag field that supplies data to this link or dynamic
property.
Valid Entries
Enter a database tag. Draw fills in the default SCADA node and field for you. To specify a different
node and field, you must enter the entire tagname syntax as follows:
node:tag.field

NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:

node is the name of the node that contains the database.

tag is the database tag name.

field is the specific field of the database tag.

Alternatively, click the browse (...) button to access the Field Select dialog box and search through the
network for a particular tagname.
Example
SCADA01:AI1.F_CV
Instead of entering a node:tag.field, you can enter a variable or tag group symbol in the Tagname field.
NOTE: If you are adding a Data link, you do not have to specify a field. Draw adds the F_CV or
A_CV as the field component based on the type of data (Numeric or Text) that you specify for the link.
Only a Trend tag should be referenced by a variable using a Multi-Pen or Multi-Bar link. Field
names can include the current value (F_CV) or the trend value (G_DATA).

368

iFIX with FIX Desktop

Dynamic Colors Area


The Dynamic Coloring and Visible Background Color check boxes let you enable or disable the Data
link's dynamic colors. The value displayed by the Data link can change color according to the value or
alarm condition of the tagname you specify. In other words, the Data link has dynamic foreground
coloring built directly into it. A Data link can also have a background color different from the picture
background color.
Valid Entries
Click the Dynamic Coloring check box or button to access the Color Threshold Definition dialog box.
To add or change the background color, click the Visible Background Color button to access the color
palette.
NOTE: The Data links dynamic coloring uses the same procedures and dialog boxes as the
Foreground Color dynamic property. Draw uses the selected color to display a colored rectangle
around the Data link. If you choose not to assign a visible background color, the Data link writes over
whatever object is underneath it.
Data Entry Area
The Allow Data Entry check box and the Configure Data Entry button let you enable data entry for this
link. When enabled, operators can modify the value of the Data link in View. You can choose from a
variety of templates that operators can use to enter data.
The Require Confirmation check box lets you require the operator to confirm his or her data entry in
View.
Valid Entries
To enable data entry, select the Allow Data Entry check box or select the Configure Data Entry button.
A dialog box prompts you to select the data entry method you want the operator to use.
If you want the operator prompted for confirmation when he or she changes the value of this link in
View, select the Require Confirmation check box.
Format Area
The Format area lets you configure the display format of the data in View.
Valid Entries
Choose either Numeric or Text format, and Left Justify or Right Justify.
NOTE: If you choose Numeric Data, Draw enters F_CV in the field component of the tagname field.
If you choose Text Data Draw enters A_CV in the field component of the Tagname. You may select left
or right justification for either data format.
Object Name
The Object Name field displays the name given to the selected object. Naming your objects is
especially useful when you are working with Dynamos. The name lets you identify the object in the
Dynamo.

369

iFIX with FIX Desktop

Valid Entries
Type a name, up to 11 alphanumeric characters long.
Controllable
The Controllable check box allows operators to use View commands on this Data link.
Valid Entries
Select the Controllable check box if you want operators in View to be able to select the link and
change:

The scan status of the database tag.

The automatic/manual mode of the database tag.

The alarming status of the database tag.

Clear the Controllable check box if you do not want operators to change any of these parameters.
NOTE: If you check Controllable, the operator's ability to use View commands is also dependent on
whether or not he or she has the appropriate security rights to access the selected tag.
SQL Open Script
The SQL Open Script check box lets you delete an SQL startup script. The SQL startup script is
shared by all the Data links in a picture. As a result, if you delete the script from one Data link, it is
removed from all Data links in that picture.
In addition, the SQL startup script is treated like a picture property. If you delete all the Data links
from a picture without clearing the SQL Open Script check box, when you open the picture in View,
the SQL startup script runs.
Valid Entries
Select the check box to add an SQL startup script. Clear it to delete the script.
SQL Button
The SQL button lets you create an SQL startup script. It does this by displaying the Command
Language Editor.
When you open a picture with an SQL startup script, View executes the startup script. When
execution starts, View automatically logs into the relational database specified by the script and
retrieves the SQL data want. The data is then stored in a variable. By using that variable in place of a
tagname, you can display the SQL data in this Data link. When you exit View, it automatically logs
off the relational database.
NOTE: In order for View to automatically log into a relational database, you need to create an SQL
login account using the SCU.

370

iFIX with FIX Desktop

Dynamic Properties Dialog Box


Use the Dynamic Properties dialog box to make all dynamic property assignments to objects. To
access the dialog box for a dynamic property, either check the box or click the icon next to the
property.
Color
The Dynamic Properties Color area lets you dynamically change the foreground, edge, and background
color of objects to give operators visual cues about the values or alarm states of a database field. Each
object can have several color threshold assignments that correspond to these conditions.
Once you learn to use one color dynamic property, you have learned to use all three.
Item

Icon

Description

Foreground
Color

The Foreground Color changes the fill color (or hatch line color) of
closed graphic objects and the color of text based on a database
value.

Edge Color

The Edge Color changes the edge color of closed graphic objects
and the color of lines and polylines based on a database value.

Background
Color

The Background Color changes the color of the space between the
hatch lines of a closed graphic object based on a database value.

NOTE: Background colors are only visible in Draw when you apply a hatched pattern to an object.
All solid-filled objects have a default background color of white.
Position
Horizontal (X) and Vertical (Y)
The Horizontal (X) and Vertical (Y) check boxes let you dynamically change the position of objects
based on a comparison of the current value of a specified tag to a specified limit range.
Once you learn to use one of these dynamic properties, you have learned to use both. The Horizontal
(X) and Vertical (Y) dynamic properties are described below:
Item
Horizontal
(X)

Icon

Description
The Horizontal (X) position moves an object horizontally along a
specified range based on a database value.

371

iFIX with FIX Desktop

Item

Icon

Description

Vertical (Y)

The Vertical (Y) position moves an object vertically along a specified


range based on a database value.

NOTE: You can use both the horizontal and vertical dynamic properties on the same object to create
diagonal movement.
Scale
Item

Icon

Scale

Description
The Scale dynamic property lets you shrink an object to a specified minimum
size based on a database value.

Endpoint 1 and Endpoint 2


The Endpoint 1 and Endpoint 2 check boxes allow you to apply dynamic horizontal, vertical, and
diagonal movement to an endpoint of a line. The change in position is based on a comparison of the
current value of a specified tag to a specified limit range.
Once you learn to use one of these dynamic properties, you have learned to use both. The Endpoint 1
and Endpoint 2 dynamic properties are described below:
Item

Icon

Description

Endpoint
1

The Endpoint 1 position moves Endpoint 1 of a line horizontally,


vertically, or diagonally along a specified range based on a database value.

Endpoint
2

The Endpoint 2 position moves Endpoint 2 of a line horizontally,


vertically, or diagonally along a specified range based on a database value.

NOTE: You can configure both the horizontal tagname (X) and vertical tagname (X) of the same
endpoint to create diagonal movement.
Rotate
Item
Rotate

372

Icon

Description
The Rotate dynamic property lets you rotate a graphic object in 1 degree
increments based on a database value. The property works by comparing the
current value of the specified tagname to specify the limit range. As the value
changes, View recalculates the degrees of rotation, and rotates the object
accordingly.

iFIX with FIX Desktop

Fill Percentage
The Horizontal (Left/Right) and Vertical (Up/Down) check boxes let you dynamically fill a selected
object with an assigned color based on a comparison of the current value of a specified tag to a
specified limit range. These properties essentially turn rectangles, ovals, and polygons into horizontal
or vertical "bar graphs."
The Horizontal (Left/Right) and Vertical (Up/Down) dynamic properties are described below:
Item

Icon

Description

Horizontal
(Left/Right)

The Horizontal (Left/Right) property fills a closed object


horizontally (right to left or left to right) based on a database value.

Vertical
(Up/Down)

The Vertical (Up/Down) property fills a closed object vertically


(top to bottom or bottom to top) based on a database value.

Visibility
Item

Icon

Visibility

Description
The Visible dynamic property lets you control the appearance or
disappearance of an object based upon a comparison of a target value to a
database value.

Commands
On Down/While Down/On Up
The Commands Area lets you assign a command language script to any object. You can assign one or
more of the following Command dynamic properties to any object:
Item

Icon

Description

On
Down

The On Down property lets you create a command language script that
executes when an operator in View clicks down on an object. The On Down
property cannot be assigned to Push Button links.

While
Down

The While Down property lets you create a command language script that
executes when an operator in View clicks down on an object. This script
continues to run while the mouse button is held down. When the operator
releases the mouse button, the script ends. The While Down property cannot
be assigned to Push Button links.

373

iFIX with FIX Desktop

Item

Icon

On Up

Description
The On Up property lets you create a command language script that executes
when an operator in View releases the mouse button.

Key
An object with at least one Command dynamic property can also have a keyboard accelerator assigned
to it by selecting the Key field and entering an accelerator. Pressing and releasing the accelerator is
identical to pressing and releasing the mouse button.
Valid accelerators are:

CTRL-A through CTRL-Z

INSERT

F2 through F9, F11, F12

DELETE

CTRL-F1 through CTRL-F12

CTRL-0 through CTRL-9

To enter an accelerator, type each individual character of the accelerator into the Key field. For
example, to assign the accelerator Ctrl+F type the following literal string:
CTRL-F

Controllable
The Controllable check box allows operators to use View commands on the selected object.
Valid Entries
Select the Controllable check box to permit operators to select the object in View. Clear the check box
to prohibit operators from selecting the object in View.
NOTE: If you check Controllable on an object, the operator's ability to use View commands is also
dependent on whether or not he or she has the appropriate security rights to access the selected tag.
When you use Controllable with an object that has several dynamic properties, View performs the
selected command on the first tagname it encounters. View searches for tagnames in the following
order: Foreground Color; Background Color; Edge Color; Horizontal Fill; Vertical Fill; Horizontal
Position; Vertical Position; Endpoint 1 Horizontal Position; Endpoint 1 Vertical Position; Endpoint 2
Horizontal Position; Endpoint 2 Vertical Position; Scale; Visible; and Rotate.
Object Name
The Object Name field displays the name given to the selected object. Naming your objects is
especially useful when you are working with Dynamos. The name lets you identify the object in the
Dynamo.

374

iFIX with FIX Desktop

Valid Entries
Type a name, up to 11 alphanumeric characters long.
Group Tag
The Group Tag Field lets you replace the node and tag components of all the objects contained in a
group. If you ungroup the object after using this field, the individual objects keep the new node and
tag.
You can use the Dynamic Properties dialog box to use this feature even when you do not assign the
group a dynamic property.
NOTE: The Group Tagname field is used only with grouped objects.
Valid Entries
Use the following format to add or edit entries in this field:
node:tag

Where:

node is the name of the node that contains the database.

tag is the database tag name.

NOTE: You cannot enter a variable or tag group symbol in the Group Tagname field.
Endpoint 1 Position Dialog Box

Use the Endpoint 1 Position dialog box to dynamically change the position of the first
endpoint (Endpoint 1) of a line.

This dynamic property works by comparing the current value of the specified tagname to the specified
limit range. As the database value changes, the endpoint moves to a new position. If the database value
changes frequently enough, the endpoint appears to be moving on the screen.
NOTE: You can configure the horizontal tagname (X) and vertical tagname (Y) of the same endpoint
to create diagonal movement.
Tagname (X)
The Tagname (X) field displays the name of the database tag that is used to control the horizontal
position of an endpoint.
Valid Entries
Enter a database tag. Draw fills in the default SCADA node and field for you. To specify a different
node and field, you must enter the entire tagname syntax as follows:
node:tag.field

375

iFIX with FIX Desktop

NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:

node is the name of the node that contains the database.

tag is the database tag name.

field is the specific field of the database tag.

Alternatively, click the browse (...) button to access the Field Select dialog box and search through the
network for a particular tagname.
Example
SCADA01:AI1.F_CV
Instead of entering a node:tag.field, you can enter a variable or tag group symbol in the Tagname (Y)
field.
Low Limit/High Limit
The Low and High Limit fields display the full range of values that the dynamic property or link
responds to during runtime.
Valid Entries
Enter the lowest and highest values that represent this range. Alternatively, use the Fetch Limits
button to automatically fill in these fields with the values of the database tag's EGU limits.
TIP: If you enter 0 (zero) in both the High and Low Limit fields, the tag's EGU limits are
automatically retrieved when View opens the picture. Note that you cannot press the Fetch Limits
button to retrieve EGU limits when a variable is used in place of a tag.
NOTE: The limits specified here do not have to match the limits of the engineering units from the
database tag. The limits you enter should accurately cover the possible values of the target tag.
Minimum Offset
The Minimum Offset field displays the number of inches that the object or endpoint will move from its
origin when the tag equals the low limit entry. If the database value falls outside of the specified limit,
the object or endpoint moves to minimum offset.
Valid Entries
Positive or negative values.
NOTE: For best performance, position the object or endpoint in Draw at one extreme of the
movement range. Then leave the Minimum Offset field at zero and specify a positive or negative
number in the Maximum Offset field.
Maximum Offset
The Maximum Offset field displays the number of inches that the object or endpoint will move from

376

iFIX with FIX Desktop

its origin when the tag equals the high limit entry. If the database value falls outside of the specified
limit, the object or endpoint moves to maximum offset.
Valid Entries
Positive or negative values.
NOTE: For best performance, position the object or endpoint in Draw at one extreme of the
movement range. Then leave the Minimum Offset field at zero and specify a positive or negative
number in the Maximum Offset field.
Tagname (Y)
The Tagname (Y) field displays the name of the database tag that is used to control the vertical
position of an endpoint.
Valid Entries
Enter a database tag. Draw fills in the default SCADA node and field for you. To specify a different
node and field, you must enter the entire tagname syntax as follows:
node:tag.field

NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:

node is the name of the node that contains the database.

tag is the database tag name.

field is the specific field of the database tag.

Alternatively, click the browse (...) button to access the Field Select dialog box and search through the
network for a particular tagname.
Example
SCADA01:AI1.F_CV
Instead of entering a node:tag.field, you can enter a variable or tag group symbol in the Tagname (Y)
field.
Allow Input Properties
The Allow Input Properties check box controls whether operators can change database values by
manipulating the object or endpoint in View. By default, View writes a value to the database at a
specified interval while you drag and click. To configure by what method and how often View sends
updated values to the database, modify the Input Dynamics section of the VIEW.INI file.
Valid Entries
Select the Allow Input Properties check box to permit operator manipulation from View. Clear the
check box to disable operator manipulation from View.

377

iFIX with FIX Desktop

Example
If the check box is enabled, View writes new values to the database as the operator drags the object or
endpoint left, right, up, or down.
Endpoint 2 Position Dialog Box

Use the Endpoint 2 Position dialog box to dynamically change the position of the second
endpoint (Endpoint 2) of a line.

This dynamic property works by comparing the current value of the specified tagname to the specified
limit range. As the database value changes, the endpoint moves to a new position. If the database value
changes frequently enough, the endpoint appears to be moving on the screen.
NOTE: You can configure the horizontal tagname (X) and vertical tagname (Y) of the same endpoint
to create diagonal movement.
Tagname (X)
The Tagname (X) field displays the name of the database tag that is used to control the horizontal
position of an endpoint.
Valid Entries
Enter a database tag. Draw fills in the default SCADA node and field for you. To specify a different
node and field, you must enter the entire tagname syntax as follows:
node:tag.field

NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:

node is the name of the node that contains the database.

tag is the database tag name.

field is the specific field of the database tag.

Alternatively, click the browse (...) button to access the Field Select dialog box and search through the
network for a particular tagname.
Example
SCADA01:AI1.F_CV
Instead of entering a node:tag.field, you can enter a variable or tag group symbol in the Tagname (Y)
field.
Low Limit/High Limit
The Low and High Limit fields display the full range of values that the dynamic property or link

378

iFIX with FIX Desktop

responds to during runtime.


Valid Entries
Enter the lowest and highest values that represent this range. Alternatively, use the Fetch Limits
button to automatically fill in these fields with the values of the database tag's EGU limits.
TIP: If you enter 0 (zero) in both the High and Low Limit fields, the tag's EGU limits are
automatically retrieved when View opens the picture. Note that you cannot press the Fetch Limits
button to retrieve EGU limits when a variable is used in place of a tag.
NOTE: The limits specified here do not have to match the limits of the engineering units from the
database tag. The limits you enter should accurately cover the possible values of the target tag.
Minimum Offset
The Minimum Offset field displays the number of inches that the object or endpoint will move from its
origin when the tag equals the low limit entry. If the database value falls outside of the specified limit,
the object or endpoint moves to minimum offset.
Valid Entries
Positive or negative values.
NOTE: For best performance, position the object or endpoint in Draw at one extreme of the
movement range. Then leave the Minimum Offset field at zero and specify a positive or negative
number in the Maximum Offset field.
Maximum Offset
The Maximum Offset field displays the number of inches that the object or endpoint will move from
its origin when the tag equals the high limit entry. If the database value falls outside of the specified
limit, the object or endpoint moves to maximum offset.
Valid Entries
Positive or negative values.
NOTE: For best performance, position the object or endpoint in Draw at one extreme of the
movement range. Then leave the Minimum Offset field at zero and specify a positive or negative
number in the Maximum Offset field.
Tagname (Y)
The Tagname (Y) field displays the name of the database tag that is used to control the vertical
position of an endpoint.
Valid Entries
Enter a database tag. Draw fills in the default SCADA node and field for you. To specify a different
node and field, you must enter the entire tagname syntax as follows:
node:tag.field

379

iFIX with FIX Desktop

NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:

node is the name of the node that contains the database.

tag is the database tag name.

field is the specific field of the database tag.

Alternatively, click the browse (...) button to access the Field Select dialog box and search through the
network for a particular tagname.
Example
SCADA01:AI1.F_CV
Instead of entering a node:tag.field, you can enter a variable or tag group symbol in the Tagname (Y)
field.
Allow Input Properties
The Allow Input Properties check box controls whether operators can change database values by
manipulating the object or endpoint in View. By default, View writes a value to the database at a
specified interval while you drag and click. To configure by what method and how often View sends
updated values to the database, modify the Input Dynamics section of the VIEW.INI file.
Valid Entries
Select the Allow Input Properties check box to permit operator manipulation from View. Clear the
check box to disable operator manipulation from View.
Example
If the check box is enabled, View writes new values to the database as the operator drags the object or
endpoint left, right, up, or down.
Field Select Dialog Box
The Field Select dialog box lets you select a node, tag, and field combination.
Use one of the following three methods to select a node and tag:

380

Select a node from the Node Selection list box, a tag from the Tag Selection list box, a field
from the Field Selection list box, and click OK. For help on valid field parameters, click the
Parameters button in the Help button bar above.

Type a node, tag, and field combination in the Selection field using the node:tag.field format.
Be aware that you cannot enter tag groups in the Selection field; you must use the
node:tag.field format. If you want to specify a tag group (for example: ?tag), you must use the
Text Editing box on the main screen, and not the Field Select dialog box. Refer to the Recipe
Operations and Development Windows topic in the Creating Recipes ebook (RCP.chm) for
information on where to find the Text Editing box on the main screen.

Use the asterisk wildcard character to filter through the network for a specific node, tag, and

iFIX with FIX Desktop

field combination.
NOTE: Only nodes configured in the System Configuration Utility (SCU) appear in the Node Selection
list box.
Node Selection
The Node Selection list box displays the names of all nodes configured in the System Configuration
Utility (SCU). If you filter the list, the list box displays all the nodes that match the specified filter.
Tag Selection
The Tag Selection list box displays the names of all tags configured on the selected node.
Valid Entries
If you filter the list, the list box displays all the tags that match the specified filter.
Field Selection
The Field Selection list box displays the names of all valid fields for the selected node and tag. If you
filter the list, the list box displays all the fields that match the specified filter. For help on valid field
parameters, click the Parameters button in the Help button bar above.
Filter Field
The Filter field lets you search for a specific tagname in the Node Select, Tag Select, and Field Select
dialog boxes.
Valid Entries
Type the search specification in the Filter field and select the Filter button.
Use the asterisk wildcard character in combination with the Filter button to search for a specific
selection quickly and easily.
Filter Button
The Filter button lets you search for a specific tagname in the Node Select, Tag Select, and Field Select
dialog boxes.
Valid Entries
Type the search specification in the Filter field and select the Filter button. Use the asterisk wildcard
character in combination with the Filter field to search for a specific tagname quickly and easily.
Selection Field
The Selection field displays the name of the selected tagname in the Node Select, Tag Select, and Field
Select dialog boxes.
You can enter a node, tag, and field combination in the Selection field using the node:tag.field format.

381

iFIX with FIX Desktop

Be aware that you cannot enter tag groups in the Selection field; you must use the node:tag.field
format. If you want to specify a tag group (for example: ?tag), you must use the Text Editing box on
the main screen, and not the Field Select dialog box.
Valid Entries
Type the name in the Selection field and click OK.
Grid Dialog Box

Use the Grid dialog box to enable or disable Draw's grid feature. The Grid dialog box's items are
shown below.
Item

Description

Show
the Grid

Enables or disables the display of the grid dots, spaced according to the entry in the
Grid Lines field. Select the check box to show the grid.

Grid
Lines

Defines the amount of space you want between each grid line. Draw evenly spaces the
invisible grid lines at the number entered. The smallest grid you can define is 0.0300
inches. The largest size grid depends on the picture's width and height settings.

Snap to
Grid

Enables or disables the snap to grid feature. When enabled, the top-left corner of newly
drawn or inserted objects sticks to the nearest grid point. Objects drawn before you
enabled Snap to Grid remain where they are, unless you move them. When moved, the
top-left corner of an object snaps to the nearest grid point.
Select the check box to enable the snap to grid feature.

NOTE: You can use the Snap to Grid feature even when the Show the Grid control is not checked. You
can also turn the snap feature on and off by selecting the Snap to Grid command on the Tool Box or
the Arrange menu .

H-L
Histogram Chart - Pen Configuration Dialog Box

Use the Histogram Chart - Pen Configuration dialog box to define the tagname of the
Histogram tag that you want to monitor on a chart in View.

Specify the lowest and highest limits that the histogram should display in the Low and High Limit
fields. You can change the color of the bars by clicking the Pen Color button and selecting a color from
the color palette.

382

iFIX with FIX Desktop

NOTE: You can also press the Fetch Limits button to fill in the Low and High Limit fields with the
EGU limits specified in the database tag. Note that the color of the values that correspond to the EGUs
or limits corresponds to the color chosen for the bar.
Tagname
The Tagname field displays the name of the database tag that supplies data to this link or dynamic
property.
Valid Entries
Enter a database tag. Draw fills in the default SCADA node for you. To specify a different node, you
must enter the entire tagname syntax as follows:
node:tag

NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:

node is the name of the node that contains the database

tag is the database tag name

Alternatively, click the browse (...) button to access the Tag Select dialog box and search through the
network for a particular tagname.
Example
VIEW2:CA3
NOTE: Instead of entering a node:tag, you can enter a variable or tag group symbol in the Tagname
field. However, you cannot enter a variable for an X-Bar, R-Bar, or S-Bar Chart. Only a Histogram
tag should be referenced by a variable when using a Histogram link. The field name should always be
G_DATA.
Pen Color
The Pen Color button lets you change the color of the selected pen. To change the color, click the Pen
Color button and select a color from the color palette.
NOTE: In View, the color on the Y axis corresponds to the color chosen for the selected pen.
Low Limit/High Limit
The Low and High Limit fields display the full range of values that the dynamic property or link
responds to during runtime.
Valid Entries
Enter the lowest and highest values that represent this range. Alternatively, use the Fetch Limits
button to automatically fill in these fields with the values of the database tag's EGU limits.

383

iFIX with FIX Desktop

TIP: If you enter 0 (zero) in both the High and Low Limit fields, the tag's EGU limits are
automatically retrieved when View opens the picture. Note that you cannot press the Fetch Limits
button to retrieve EGU limits when a variable is used in place of a tag.
NOTE: The limits specified here do not have to match the limits of the engineering units from the
database tag. The limits you enter should accurately cover the possible values of the target tag.
Fetch Limits
The Fetch Limits button fills in the Low and High Limit fields with the limits of the engineering units
specified in the database tag. Note that you cannot press the Fetch Limits button to retrieve EGU
limits when a variable is used in place of a tag.
Histogram Chart Configuration Dialog Box

Use the Histogram Chart Configuration dialog box to add a Histogram link to your
picture. This link works in conjunction with the Histogram database tag. It provides
graphical data of the samples that the tag collects.

NOTE: To use a Histogram link, your database must contain a Histogram tag that collects the
required data. The link can then display the data in View.
The Histogram link can be customized by choosing from a wealth of features, including:
Feature

Description

Y axis

Displays the number of observations.

Grid

You can choose to display horizontal, vertical, both, or no grid.

Bars

Shows the total amount observed at a specified limit range.

X axis

Displays the limit range.

Legend

Displays the tagname.

Pen/Y-Axis/X-Axis Buttons
The Pen, Y Axis, and X Axis buttons let you define:

384

The tagnames and styles of the real-time lines, bars, or points on a chart link.

The style of the Y and X axis for the chart.

iFIX with FIX Desktop

Modifiable
The Modifiable check box lets you configure whether or not operators can modify the chart in View.
If a chart is modifiable, the View operator can double-click on the chart to make modifications.
Valid Entries
Select the Modifiable check box to make the chart modifiable. Clear the check box to prevent View
operators from modifying charts.
Color
The Color area lets you specify the foreground and background colors for a chart link. The buttons
and check box in this area are described below:
Button

Description

Foreground
Color

Assigns a color to the area inside the chart axis. To specify a color, click the
button and select a color from the color palette. The color button displays the
color you choose.

Background
Color

Assigns a color to the area outside the chart axis. To specify a color, click the
button and select a color from the color palette. The color button displays the
color you choose.
NOTE: The background area is only included in the chart when you also
configure an axis.

Transparent

Assigns a transparent color to the entire rectangle that makes up the chart so you
can see objects under the chart. This feature is useful for stacking links to get
many charts in one space. You could also put a graphic of the ideal or target
chart behind the link for comparison with the real-time data.

Display Tagname
The Display Tagname check box lets you display the name of the tag, in node:tag.field format, in the
legend at the bottom of the chart.
Valid Entries
Select the check box to display the tagname, and enter the number of characters to reserve for the
tagname in the associated field, up to 28.
Object Name
The Object Name field displays the name given to the selected object. Naming your objects is
especially useful when you are working with Dynamos. The name lets you identify the object in the
Dynamo.
Valid Entries

385

iFIX with FIX Desktop

Type a name, up to 11 alphanumeric characters long.


Horizontal Fill Dialog Box

Use the Horizontal Fill dialog box to dynamically fill the selected object with an assigned
color from the left to the right or the right to the left.

This dynamic property works by comparing the current value of the specified tagname to the limit
range. The non-filled part of the object is always transparent.
NOTE: When you group objects and assign a dynamic fill, the group fill overrides any group members
that also have the same dynamic fill property. Therefore, View does not fill each group member
individually, instead it fills them in a series, starting at one end and moving to the other.
Tagname
The Tagname field displays the name of the database tag field that supplies data to this link or dynamic
property.
Valid Entries
Enter a database tag. Draw fills in the default SCADA node and field for you. To specify a different
node and field, you must enter the entire tagname syntax as follows:
node:tag.field

NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:

node is the name of the node that contains the database.

tag is the database tag name.

field is the specific field of the database tag.

Alternatively, click the browse (...) button to access the Field Select dialog box and search through the
network for a particular tagname.
Example
SCADA01:AI1.F_CV
Instead of entering a node:tag.field, you can enter a variable or tag group symbol in the Tagname field.
NOTE: If you are adding a Data link, you do not have to specify a field. Draw adds the F_CV or
A_CV as the field component based on the type of data (Numeric or Text) that you specify for the link.
Only a Trend tag should be referenced by a variable using a Multi-Pen or Multi-Bar link. Field
names can include the current value (F_CV) or the trend value (G_DATA).

386

iFIX with FIX Desktop

Fill Direction
The Fill Direction area specifies the direction that the object will be filled when the selected database
tag equals the low or high limit entry.
Low Limit/High Limit
The Low and High Limit fields display the full range of values that the dynamic property or link
responds to during runtime.
Valid Entries
Enter the lowest and highest values that represent this range. Alternatively, use the Fetch Limits
button to automatically fill in these fields with the values of the database tag's EGU limits.
TIP: If you enter 0 (zero) in both the High and Low Limit fields, the tag's EGU limits are
automatically retrieved when View opens the picture. Note that you cannot press the Fetch Limits
button to retrieve EGU limits when a variable is used in place of a tag.
NOTE: The limits specified here do not have to match the limits of the engineering units from the
database tag. The limits you enter should accurately cover the possible values of the target tag.
Minimum Percentage
The Minimum Percentage field contains the percentage that View uses to fill the object when the
database tag equals the low limit entry. If the database value falls outside of the specified limit, the
object fills to the minimum percentage.
Valid Entries
Enter the amount to fill, ranging from 0 to 100 percent.
Maximum Percentage
The Maximum Percentage field displays the percentage that View uses to fill the object when the
database tag equals the high limit entry. If the database value falls outside of the specified limit, the
object fills to the maximum percentage.
Valid Entries
Enter the amount to fill, ranging from 0 to 100 percent.
Fetch Limits
The Fetch Limits button fills in the Low and High Limit fields with the limits of the engineering units
specified in the database tag. Note that you cannot press the Fetch Limits button to retrieve EGU
limits when a variable is used in place of a tag.

387

iFIX with FIX Desktop

Horizontal Position Dialog Box

Use the Horizontal Position dialog box to dynamically change the horizontal position of
the selected object.

This dynamic property works by comparing the current value of the specified tagname to the specified
limit range. As the database value changes, the object moves to a new position. If the database value
changes frequently enough, the object appears to be moving on the screen.
NOTE: You can use both the horizontal and vertical dynamic properties on the same object to create
diagonal movement.
Tagname
The Tagname field displays the name of the database tag field that supplies data to this link or dynamic
property.
Valid Entries
Enter a database tag. Draw fills in the default SCADA node and field for you. To specify a different
node and field, you must enter the entire tagname syntax as follows:
node:tag.field

NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:

node is the name of the node that contains the database.

tag is the database tag name.

field is the specific field of the database tag.

Alternatively, click the browse (...) button to access the Field Select dialog box and search through the
network for a particular tagname.
Example
SCADA01:AI1.F_CV
Instead of entering a node:tag.field, you can enter a variable or tag group symbol in the Tagname field.
NOTE: If you are adding a Data link, you do not have to specify a field. Draw adds the F_CV or
A_CV as the field component based on the type of data (Numeric or Text) that you specify for the link.
Only a Trend tag should be referenced by a variable using a Multi-Pen or Multi-Bar link. Field
names can include the current value (F_CV) or the trend value (G_DATA).
Low Limit/High Limit
The Low and High Limit fields display the full range of values that the dynamic property or link
responds to during runtime.

388

iFIX with FIX Desktop

Valid Entries
Enter the lowest and highest values that represent this range. Alternatively, use the Fetch Limits
button to automatically fill in these fields with the values of the database tag's EGU limits.
TIP: If you enter 0 (zero) in both the High and Low Limit fields, the tag's EGU limits are
automatically retrieved when View opens the picture. Note that you cannot press the Fetch Limits
button to retrieve EGU limits when a variable is used in place of a tag.
NOTE: The limits specified here do not have to match the limits of the engineering units from the
database tag. The limits you enter should accurately cover the possible values of the target tag.
Minimum Offset
The Minimum Offset field displays the number of inches that the object or endpoint will move from its
origin when the tag equals the low limit entry. If the database value falls outside of the specified limit,
the object or endpoint moves to minimum offset.
Valid Entries
Positive or negative values.
NOTE: For best performance, position the object or endpoint in Draw at one extreme of the
movement range. Then leave the Minimum Offset field at zero and specify a positive or negative
number in the Maximum Offset field.
Maximum Offset
The Maximum Offset field displays the number of inches that the object or endpoint will move from
its origin when the tag equals the high limit entry. If the database value falls outside of the specified
limit, the object or endpoint moves to maximum offset.
Valid Entries
Positive or negative values.
NOTE: For best performance, position the object or endpoint in Draw at one extreme of the
movement range. Then leave the Minimum Offset field at zero and specify a positive or negative
number in the Maximum Offset field.
Allow Input Properties
The Allow Input Properties check box controls whether operators can change database values by
manipulating the object or endpoint in View. By default, View writes a value to the database at a
specified interval while you drag and click. To configure by what method and how often View sends
updated values to the database, modify the Input Dynamics section of the VIEW.INI file.
Valid Entries
Select the Allow Input Properties check box to permit operator manipulation from View. Clear the
check box to disable operator manipulation from View.
Example

389

iFIX with FIX Desktop

If the check box is enabled, View writes new values to the database as the operator drags the object or
endpoint left, right, up, or down.
Fetch Limits
The Fetch Limits button fills in the Low and High Limit fields with the limits of the engineering units
specified in the database tag. Note that you cannot press the Fetch Limits button to retrieve EGU
limits when a variable is used in place of a tag.
Importing Files Through the Import Wizard: Welcome
Select the radio button next to the type of file you want to import into Draw. You may import .ADF,
.DXF, or .PCX files through the import wizard.
Click Next to continue or click Cancel to terminate the import operation.
Importing Files Through the Import Wizard: File(s) to Import
Enter the name of the files you want to import, either by typing them in the field or by clicking on the
Browse button, which opens a standard Open File dialog box.
When importing more than one .ADF or .DXF file:
If...

Then...

You leave the Batch-Mode Import box


unchecked

By default, the wizard imports all files into one


.ODF file.

You check the Batch-Mode Import box

The wizard imports each .DXF file into its own


.ODF file.

If you are importing .ADF or .PCX files, click on the Finish button. If you are importing .DXF files,
click on the Next button.
To change the type of file you are importing, click on Back to return to the first panel of the Wizard.
From there, you may change your selection by selecting a different radio button.
Click Cancel to terminate the import operation.
Item Selection Configuration Dialog Box

Use the Item Selection Configuration dialog box to define the numeric or
alphanumeric entries that you want operators to choose from when changing the
value of this Data link in View.

You can add as many items to the list of entries as you want. When the operator double-clicks the Data
link in View, a list box appears showing all the selections that you configured. The operator can only
select an entry from this list.

390

iFIX with FIX Desktop

Selection Field
The Selection field lets you add a new entry to the List of Selected Items list box. When the operator
double-clicks the Data link in View, a list box appears showing all the selections that you configured.
The operator can only select an entry from this list when changing the value of the database tag.
Valid Entries
Enter a legal operator entry.
List of Selection Items
The List of Selected Items list box displays the numeric or alphanumeric entries that you want
operators to choose from when changing the value of the database tag in View.
When the operator double-clicks the Data link in View, a list box appears showing all the selections
that you configured. The items on this list are the only available options to the operator.
Add/Modify/Delete Buttons
The Item Selection Configuration dialog box contains three buttons that manage the numeric or
alphanumeric entries that you want operators to choose from when changing the value of the database
tag in View. Each is described below:
Button

Description

Add

Lets you add a new entry to the List of Selected Items list box. To add entries, type a
legal operator entry in the Selection field and click Add.

Modify

Lets you modify an entry in the List of Selected Items list box. To modify entries,
select an item, type in a new value, and click Modify.

Delete

Lets you delete an entry from the List of Selected Items list box. To remove an entry,
select an item and click Delete.

M
Multi-Bar Chart - Pen Configuration Dialog Box

Use the Multi-Bar Chart - Pen Configuration dialog box to specify up to eight
tagnames that you want to trend in this Multi-Bar Trend link.

You can assign a variety of styles to each tagname you choose. Together, the tagname and its styles
make up one pen, or trend bar, on the chart in View.
The top half of the dialog box lists the pens that are already set up. The bottom half is a work space for

391

iFIX with FIX Desktop

you to set up a new pen or view the settings of a pen you have selected from the Pens list box.
Bars Area and Buttons
The Multi-Bar Chart - Pen Configuration dialog box contains three buttons that manage the pens, or
bars, you define for this trend chart. Each is described below:
Button

Description

Add

Lets you add a new pen to the Pens list box. To add a pen, fill out the Pen Definition
controls and click Add.

Modify

Lets you change the styles of a pen in the Pens list box. To modify a pen, select the
pen, change the Pen Definition controls, and click Modify.

Delete

Lets you remove a pen from the Pens list box. To delete a pen, select the pen and
click Delete.

Tagname
The Tagname field displays the name of the database tag that supplies data to this link or dynamic
property.
Valid Entries
Enter a database tag. Draw fills in the default SCADA node for you. To specify a different node, you
must enter the entire tagname syntax as follows:
node:tag

NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:

node is the name of the node that contains the database

tag is the database tag name

Alternatively, click the browse (...) button to access the Tag Select dialog box and search through the
network for a particular tagname.
Example
VIEW2:CA3
NOTE: Instead of entering a node:tag, you can enter a variable or tag group symbol in the Tagname
field. However, you cannot enter a variable for an X-Bar, R-Bar, or S-Bar Chart. Only a Histogram
tag should be referenced by a variable when using a Histogram link. The field name should always be
G_DATA.

392

iFIX with FIX Desktop

Pen Color
The Pen Color button lets you change the color of the selected pen. To change the color, click the Pen
Color button and select a color from the color palette.
NOTE: In View, the color on the Y axis corresponds to the color chosen for the selected pen.
Low Limit/High Limit
The Low and High Limit fields display the full range of values that the dynamic property or link
responds to during runtime.
Valid Entries
Enter the lowest and highest values that represent this range. Alternatively, use the Fetch Limits
button to automatically fill in these fields with the values of the database tag's EGU limits.
TIP: If you enter 0 (zero) in both the High and Low Limit fields, the tag's EGU limits are
automatically retrieved when View opens the picture. Note that you cannot press the Fetch Limits
button to retrieve EGU limits when a variable is used in place of a tag.
NOTE: The limits specified here do not have to match the limits of the engineering units from the
database tag. The limits you enter should accurately cover the possible values of the target tag.
Multi-Bar Chart Configuration Dialog Box

Use the Multi-Bar Chart Configuration dialog box to add a Multi-Bar Trend link to
your picture.

This link plots up to eight floating point or Trend tags as groups of bars on a trend chart. You can set
up each trend bar with a different color and marker style.
The Multi-Bar Trend link can be customized by choosing from a wealth of features, including:
Feature

Description

Y axis

The Y axis displays the limit range of the pens. You can configure the title,
colors, and tick marks.

Grid

You can choose to display horizontal, vertical, both, or no grid lines.

Trend line or
bar

Shows the real-time trend of a database tag. You can configure color, low limit,
high limit, and markers.

X axis

The X axis displays time. You can set up or change the title, colors, and tick
marks.

393

iFIX with FIX Desktop

Feature

Description

Legend

The legend can consist of any combination of tagname, tag descriptor, and
current value.

Pen/Y-Axis/X-Axis Buttons
The Pen, Y Axis, and X Axis buttons let you define:

The tagnames and styles of the real-time lines, bars, or points on a chart link.

The style of the Y and X axis for the chart.

Time Duration
The Time Duration field controls how much data the trend link can display. Charts can store up to
1,000 points per pen. If the duration you specify causes the number of points to exceed 1,000 points,
the chart automatically enters compression mode. The number of points required to cover the entire
duration is calculated as follows:
Number of Points = [Duration/Rate]+1

For F_ fields: Rate = picture refresh rate


For G_ DATA fields: Rate = (chain's scan time) * (compress ratio defined for the tag)
Valid Entries
Specify the total amount of time that should be displayed using the DD:HH:MM:SS format. You can
specify a duration ranging between 00:00:00:01 and 99:23:59:59.
NOTE: The oldest sample is the left-most sample.
Object Name
The Object Name field displays the name given to the selected object. Naming your objects is
especially useful when you are working with Dynamos. The name lets you identify the object in the
Dynamo.
Valid Entries
Type a name, up to 11 alphanumeric characters long.
Modifiable
The Modifiable check box lets you configure whether or not operators can modify the chart in View.
If a chart is modifiable, the View operator can double-click on the chart to make modifications.
Valid Entries
Select the Modifiable check box to make the chart modifiable. Clear the check box to prevent View

394

iFIX with FIX Desktop

operators from modifying charts.


Color
The Color area lets you specify the foreground and background colors for a chart link. The buttons
and check box in this area are described below:
Item

Description

Foreground
Color

Assigns a color to the area inside the chart axis. To specify a color, click the
button and select a color from the color palette. The color button displays the
color you choose.

Background
Color

Assigns a color to the area outside the chart axis. To specify a color, click the
button and select a color from the color palette. The color button displays the
color you choose.
NOTE: The background area is only included in the chart when you also
configure an axis.

Transparent

Assigns a transparent color to the entire rectangle that makes up the chart so you
can see objects under the chart. This feature is useful for stacking links to get
many charts in one space. You could also put a graphic of the ideal or target
chart behind the link for comparison with the real-time data.

Legend Configuration
The Legend Configuration area contains three check boxes and fields that let you display information
on the tags you have selected for this chart. This area is described below:
Item

Description

Display
Tagname

Includes the names of the tags, in node:tag.field format, in the legend at the
bottom of the chart. Type the number of characters to reserve for the tagname in
the associated field, up to 28.

Display
Descriptor

Includes the tag descriptors of the tags in the legend at the bottom of the chart.
Type the number of characters to reserve for the tag descriptor of the tag, up to
40.

Display
Current Value

Displays the current values of the tags in the legend at the bottom of the chart.
Type the number of characters to reserve for the value, up to 13.

395

iFIX with FIX Desktop

Multi-Pen Chart - Pen Configuration Dialog Box

Use the Multi-Pen Chart - Pen Configuration dialog box to specify up to eight
tagnames that you want to trend in this Multi-Pen Trend link.

You can assign a variety of styles to each tagname you choose. Together, the tagname and its styles
make up one pen, or trend line, on the chart in View.
The top half of the dialog box lists the pens that are already set up. The bottom half is a work space for
you to set up a new pen or view the settings of a pen you have selected from the Pens list box.
Pens Area and Buttons
The Pens Area contains three buttons that manage the pens, or lines, you define for this trend chart.
Each is described below:
Button

Description

Add

Lets you add a new pen to the Pens list box. To add a pen, fill out the Pen Definition
controls and click Add.

Modify

Lets you change the styles of a pen in the Pens list box. To modify a pen, select the
pen, change the Pen Definition controls, and click Modify.

Delete

Lets you remove a pen from the Pens list box. To delete a pen, select the pen and
click Delete.

Tagname
The Tagname field displays the name of the database tag that supplies data to this link or dynamic
property.
Valid Entries
Enter a database tag. Draw fills in the default SCADA node for you. To specify a different node, you
must enter the entire tagname syntax as follows:
node:tag

NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:

396

node is the name of the node that contains the database

tag is the database tag name

iFIX with FIX Desktop

Alternatively, click the browse (...) button to access the Tag Select dialog box and search through the
network for a particular tagname.
Example
VIEW2:CA3
NOTE: Instead of entering a node:tag, you can enter a variable or tag group symbol in the Tagname
field.However, you cannot enter a variable for an X-Bar, R-Bar, or S-Bar Chart. Only a Histogram tag
should be referenced by a variable when using a Histogram link. The field name should always be
G_DATA.
Marker Style
The Marker Style area contains the controls that let you mark a selected pen with a graphic symbol.
These controls are described below:
Item

Description

Use
Marker

Enables or disables the marker feature.

Rectangle

Marks the selected pen with a square.

Oval

Marks the selected pen with a circle.

Character

Marks the selected pen with the alphanumeric character that you enter in the
Character field.

Show Line/Constant Line


The Line Option area contains the controls that let you customize the trend lines of this Multi-Pen
trend chart. These controls are described below:
Item

Description

Show Line

Controls whether the selected pen's trend line is invisible. Check the box to enable
this feature or clear it to disable it.
NOTE: If you clear this check box, you must use a marker.

Constant
Line

Creates straight lines that represent control limits or comparisons. Check the box to
enable this feature or clear it to disable it.

Example
If you specify the F_HI and F_LO fields in the tagnames of two chart pens, View creates constant lines

397

iFIX with FIX Desktop

across the trend chart to represent these alarm limits. Now operators have a stable trend to compare
more dynamic trends against.
Pen Color
The Pen Color button lets you change the color of the selected pen. To change the color, click the Pen
Color button and select a color from the color palette.
NOTE: In View, the color on the Y axis corresponds to the color chosen for the selected pen.
Low Limit/High Limit
The Low and High Limit fields display the full range of values that the dynamic property or link
responds to during runtime.
Valid Entries
Enter the lowest and highest values that represent this range. Alternatively, use the Fetch Limits button
to automatically fill in these fields with the values of the database tag's EGU limits.
TIP: If you enter 0 (zero) in both the High and Low Limit fields, the tag's EGU limits are
automatically retrieved when View opens the picture. Note that you cannot press the Fetch Limits
button to retrieve EGU limits when a variable is used in place of a tag.
NOTE: The limits specified here do not have to match the limits of the engineering units from the
database tag. The limits you enter should accurately cover the possible values of the target tag.
Multi-Pen Chart Configuration Dialog Box

Use the Multi-Pen Chart Configuration dialog box to add a Multi-Pen Trend link to
your picture.

This link plots up to eight floating point or Trend tag tags as continuous lines on a trend chart. You can
set up each trend line with a different color and marker style.
The Multi-Pen Trend link can be customized by choosing from a wealth of features, including:

398

Feature

Description

Y axis

The Y axis displays the limit range of the pens. You can configure the title,
colors, and tick marks.

Grid

You can choose to display horizontal, vertical, both, or no grid lines.

Trend line or
bar

Shows the real-time trend of a database tag. You can configure color, low limit,
high limit, and markers.

iFIX with FIX Desktop

Feature

Description

X axis

The X axis displays time. You can set up or change the title, colors, and tick
marks.

Legend

The legend can consist of any combination of tagname, tag descriptor, and
current value.

Pen/Y-Axis/X-Axis Buttons
The Pen, Y Axis, and X Axis buttons let you define:

The tagnames and styles of the real-time lines, bars, or points on a chart link.

The style of the Y and X axis for the chart.

Time Duration
The Time Duration field controls how much data the trend link can display. Charts can store up to
1,000 points per pen. If the duration you specify causes the number of points to exceed 1,000 points,
the chart automatically enters compression mode. The number of points required to cover the entire
duration is calculated as follows:
Number of Points = [Duration/Rate]+1

For F_ fields: Rate = picture refresh rate


For G_ DATA fields: Rate = (chain's scan time) * (compress ratio defined for the tag)
Valid Entries
Specify the total amount of time that should be displayed using the DD:HH:MM:SS format. You can
specify a duration ranging between 00:00:00:01 and 99:23:59:59.
NOTE: The oldest sample is the left-most sample.
Object Name
The Object Name field displays the name given to the selected object. Naming your objects is
especially useful when you are working with Dynamos. The name lets you identify the object in the
Dynamo.
Valid Entries
Type a name, up to 11 alphanumeric characters long.
Modifiable
The Modifiable check box lets you configure whether or not operators can modify the chart in View.
If a chart is modifiable, the View operator can double-click on the chart to make modifications.

399

iFIX with FIX Desktop

Valid Entries
Select the Modifiable check box to make the chart modifiable. Clear the check box to prevent View
operators from modifying charts.
Color
The Color area lets you specify the foreground and background colors for a chart link. The buttons
and check box in this area are described below:
Item

Description

Foreground
Color

Assigns a color to the area inside the chart axis. To specify a color, click the
button and select a color from the color palette. The color button displays the
color you choose.

Background
Color

Assigns a color to the area outside the chart axis. To specify a color, click the
button and select a color from the color palette. The color button displays the
color you choose.
NOTE: The background area is only included in the chart when you also
configure an axis.

Transparent

Assigns a transparent color to the entire rectangle that makes up the chart so you
can see objects under the chart. This feature is useful for stacking links to get
many charts in one space. You could also put a graphic of the ideal or target
chart behind the link for comparison with the real-time data.

Legend Configuration
The Legend Configuration area contains three check boxes and fields that let you display information
on the tags you have selected for this chart. This area is described below:

400

Item

Description

Display
Tagname

Includes the names of the tags, in node:tag.field format, in the legend at the
bottom of the chart. Type the number of characters to reserve for the tagname in
the associated field, up to 28.

Display
Descriptor

Includes the tag descriptors of the tags in the legend at the bottom of the chart.
Type the number of characters to reserve for the tag descriptor of the tag, up to
40.

Display
Current Value

Displays the current values of the tags in the legend at the bottom of the chart.
Type the number of characters to reserve for the value, up to 13.

iFIX with FIX Desktop

Multiple Picture Search and Replace Dialog Box

The Multiple Picture Search and Replace dialog box lets you replace the node and tag names
of the links and dynamic properties in multiple pictures.

This dialog box supports the asterisk wildcard character in both the Search For and Replace With
fields.
IMPORTANT: This Search and Replace function only modifies the Node:Tag references in pictures,
and does not change any references in tag group (TGE) or key macro (KMX) files that may be
associated with these pictures. You may need to modify your TGE and KMX files as well when
replacing Node:Tag combinations.
Set Paths
Sets the path to the picture (ODF) files in a directory and adds all the pictures in the directory to the list
box.
Select All
Selects all the pictures listed in the list box. Holding down the <Ctrl> key allows you to select specific
pictures from within the list.
Search For
Enter the node and tag that you want to search for in the Search For field.
Valid Entries
Enter a node and tag using the following format:
NODE:TAG

Use of the asterisk wildcard character is allowed.


Examples
Original
Tag

Search For Field


Entry

Replace With Field


Entry

Modified
Tag

NODE1:AI1

NODE1:AI1

NODE2:AI2

NODE2:AI2

NODE1:AI1

N*:A*

M*:B*

MODE1:BI1

NODE1:AI1

*1:*1

*2:*2

NODE2:AI2

NODE1:AI1

*:*

N2:A2

N2:A2

401

iFIX with FIX Desktop

Original
Tag

Search For Field


Entry

Replace With Field


Entry

Modified
Tag

NODE1:AI2

*1:*2

*3:*4

NODE3:AI4

NODE1:AI2

NOD*:AI*

BE*:CO*

BEE1:CO2

Replace With
Enter the replacement node and tag in the Replace With field.
Valid Entries
Enter a node and tag using the following format:
NODE:TAG

Use of the asterisk wildcard character is allowed.


Examples
Original
Tag

Search For Field


Entry

Replace With Field


Entry

Modified
Tag

NODE1:AI1

NODE1:AI1

NODE2:AI2

NODE2:AI2

NODE1:AI1

N*:A*

M*:B*

MODE1:BI1

NODE1:AI1

*1:*1

*2:*2

NODE2:AI2

NODE1:AI1

*:*

N2:A2

N2:A2

NODE1:AI2

*1:*2

*3:*4

NODE3:AI4

NODE1:AI2

NOD*:AI*

BE*:CO*

BEE1:CO2

N-O
New Dialog Box
The New dialog box lets you:

402

Create a new picture using a template as a starting point.

Create a new template.

iFIX with FIX Desktop

Create a new picture from scratch.

TIP: If you are creating a new picture from scratch, you can click the New picture button on the Tool
Box instead of using this dialog box.
Template Field
The Template field displays the name of the template to use when creating a new picture.
Valid Entries
Select the Picture button and then select an existing template from the list box. The Default template
opens a blank picture.
Picture Button
The Picture button lets you create a new picture. You can use an existing template as a starting point.
Valid Entries
Select the Picture button and then select the name of a template from the list box. If you do not select
a template and use the Default, a blank picture is opened.
If you do not want to use a template, you can use the New Picture button on the Tool Box.
Template Button
The Template Button lets you create a new template.
Valid Entries
Select the Template button and then enter a new template name in the Template name field.
Node Select Dialog Box
Use the Node Select dialog box to select a node for this link.
To select a node, use one of three methods:

Select a node from the Node Selection list box and click OK.

Type a node name in the Selection field.

Use the asterisk wildcard character to search through the network for a specific node.

NOTE: Only nodes configured in the System Configuration Utility (SCU) appear in the Node Select
dialog box.

403

iFIX with FIX Desktop

Numeric Configuration Dialog Box

Use the Numeric Configuration dialog box to define the lowest and highest values
you want operators to be able to enter when changing the value of this Data link in
View.

Low Limit/High Limit


The Low and High Limit fields display the full range of values that the dynamic property or link
responds to during runtime. The defaults for these fields are 0 (zero). If you leave the defaults, when
the picture is opened in View, the tag's EGU limits are automatically retrieved.
Valid Entries
Enter the lowest and highest values that represent this range. Alternatively, use the Fetch Limits
button to automatically fill in these fields with the values of the database tag's EGU limits. Note that
you cannot press the Fetch Limits button to retrieve EGU limits when a variable is used in place of tag.
NOTE: The limits specified here do not have to match the limits of the engineering units from the
database tag. The limits you enter should accurately cover the possible values of the target tag.
Include Calculator
If appropriate, check the Include Calculator check box to have a calculator appear in the View dialog
box. This is ideal for display stations that do not have keyboards or for when operators need to perform
calculations to arrive at the correct entry. Mouse users can click the keys. Keyboard users can type the
corresponding keyboard keys. Touch screen users can touch the keys.
Numeric Data Format Dialog Box

Use the Numeric Data Format dialog box to define the data format that View
displays in this Data link. When using a variable as a tagname, format this Data link
to display the value of the tagname stored in the variable.

Whole Digits
In the Whole Digits field, enter an integer from 0 to 7. This entry establishes the number of digits
displayed before the decimal point.
Decimal Digits
In the Decimal Digits field, enter an integer from 0 to 7. This entry establishes the number of digits
displayed after the decimal point. View rounds the decimal portion of the value to fit into the display
digits specified.

404

iFIX with FIX Desktop

Scientific Notation
Check the Scientific Notation box to display the number in standard scientific notation.
Open Dynamo Set Dialog Box

The Open Dynamo Set dialog box lets you open an existing Dynamo set. In the list box, click on the
set you want to open and select OK. The Dynamo set opens at the bottom half of the Draw window.

P-R
Pen Configuration Dialog Box

Use the Pen Configuration dialog box to define


the tagname and pens for the Statistical Data
tag that you want to monitor on a chart in
View.

You can assign a variety of styles for each pen that samples an X-Bar, R-Bar, S-Bar, control limit, or
warning limit value.
The top half of the dialog box lists the pens that you can define for the link. The bottom half is a work
space for you to configure a pen or view the settings of a pen you have selected from the Pens list box.
Tagname
The Tagname field displays the name of the database tag that supplies data to this link or dynamic
property.
Valid Entries
Enter a database tag. Draw fills in the default SCADA node for you. To specify a different node, you
must enter the entire tagname syntax as follows:
node:tag

NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:

node is the name of the node that contains the database

tag is the database tag name

Alternatively, click the browse (...) button to access the Tag Select dialog box and search through the
network for a particular tagname.
Example

405

iFIX with FIX Desktop

VIEW2:CA3
NOTE: Instead of entering a node:tag, you can enter a variable or tag group symbol in the Tagname
field. However, you cannot enter a variable for an X-Bar, R-Bar, or S-Bar Chart. Only a Histogram
tag should be referenced by a variable when using a Histogram link. The field name should always be
G_DATA.
Pen Configuration List Box
The Pen Configuration list box displays the pens that you can define for this statistical chart link. All
pens display values as a constant line on the chart in View. Each type of pen is listed below:

Standard Deviation (S)

Control Limit. These limits are three standard deviations, or sigma, above or below X-Bar, RBar, or S-Bar.

Warning Limits. These limits are two standard deviations, or sigma, above or below X-Bar,
R-Bar, or S-Bar.

X-Bar

R-Bar

S-Bar

X-Bar-Bar

Range (R)

Line Properties
The Line Properties area lets you configure the selected pen to appear in View as a continuous line, a
series of sample markers, or both. The buttons and check boxes in this area are described below:
Item

Description

Show Line

Enables or disables the display of the line for the selected pen. To change the color
of the pen line, click the color button and select a color from the color palette.
NOTE: Show Line can be used with Show Marker to show both the line and
sample markers.

406

Show
Marker

Enables or disables a marker for each individual sample of the selected pen. When
enabled, you can mark a selected pen with a graphic symbol.

Rectangle

Marks the selected pen with a square.

Oval

Marks the selected pen with a circle.

Character

Marks the selected pen with the ASCII alphanumeric character that you enter in the
Character field.

iFIX with FIX Desktop

Change Properties
The Change Properties button saves the styles you have applied to a selected pen.
Picture Dialog Box

Use the Picture dialog box to view or change the properties of the active picture file.
Properties
Picture Width/Picture Height
The Picture Width and Height fields display the width and height, in hundreds of pixels, that you want
the picture to occupy.
Valid Entries
Values from 0.25 to 32.00 inches. The default values are the maximum width and height that your
monitor can display.
NOTE: If you create a picture without a title bar, the maximum width and height must be the
maximum width and height that your monitor can display.
Background Color
The Background Color button displays the pictures background color. The default background color
is white. To select a different background color, click the color button and select a color from the
color palette. To return to the Picture Dialog Box without changing the color, select Cancel.
Refresh Rate
The Refresh Rate field displays the current refresh rate for this picture.
Valid Entries
Values from 0.05 to 1800 seconds. You may choose a value in 1/10 second increments, starting from
.10. By default, View updates a picture every 0.1 seconds with new database values.
NOTE: When using the Alarm Summary link, set the refresh rate of the picture to a value greater than
the default of 0.1 seconds. The refresh rate must be a value greater than 0.1 for the Acknowledge One
command to function properly. The Acknowledge One command is available from the Alarms menu in
View.
Examples
1.1, 10.2 or 1800.

407

iFIX with FIX Desktop

Security Area
The Security Area field lets you restrict access to a picture by allowing only those users assigned to a
specific security area to open the picture in Draw and View.
Valid Entries
To add or change the security area, type the name of the area or click the browse (...) button to choose
from a list of security areas.
NOTE: Use this field in conjunction with the information available from both your security
administrator and database developer.
Macro File Name
The Macro Name field lets you link a macro file to this picture. When you open the picture in View,
the user-defined macros stored in the file becomes available to the operator when this picture is active.
When the picture is not active, the user-defined macros are not available.
Valid Entries
To select a macro file, type the file name or click the browse (...) button to access the File Open dialog
box and choose a macro file.
Picture Type
The Picture Type buttons let you select the behavior you want for a picture. You can select one of the
following picture types:
Button

Description

Standard

A standard picture is most commonly used for your full screen displays.

Subpicture

A subpicture is a picture that appears inside another picture. Subpictures are best
suited for showing detailed information about an item in another picture.

Popup

A pop-up picture is a picture that is always in front of all currently open pictures.
Pop-up pictures can also be configured to be always on top. When this option is
selected for a pop-up picture, it remains in front of all open windows. Pop-up
pictures also move independently from View.

Valid Entries
Select one of the buttons to create the type of picture you want. For example, to create a subpicture,
select the subpicture button.

408

iFIX with FIX Desktop

Commands
Open Commands Check Box/Commands On Opening Button
The Open Commands check box and button let you access the Command Language Editor to create or
modify a command language script that executes when an operator opens this picture in View.
Close Commands Check Box/Commands on Closing Button
The Close Commands check box and button let you access the Command Language Editor to create or
modify a command language script that executes when an operator closes this picture in View.
SQL Commands Check Box/SQL Commands on Opening Button
The SQL Commands check box and button let you access the Command Language Editor to create,
modify, and delete an SQL startup script. This script executes when an operator opens this picture in
View.
To create or modify the script, use the SQL Commands button. To delete the script, use the SQL
Commands check box.
Window Properties
Title Bar
The Title Bar check box lets you enable or disable the display of a picture's title bar in View and Draw.
Valid Entries
Select the check box to display the title bar. Clear the check box to remove the title bar.
Example
If you clear the check box, an operator cannot move the picture around the screen or use the system
menu. This is useful for simulating a dialog box that does not need to be moved.
NOTE: When a picture has no title bar, its position is fixed. The picture opens in Draw and View in
the position it was saved -- the user cannot move it.
System Menu
The System Menu check box lets you enable or disable the picture's system menu.
Valid Entries
Select the check box to enable the pictures menu. Clear the check box if you do not want the picture
to have a system menu.
NOTE: If the you disable the picture's title bar using the Title Bar check box, the system menu is also
disabled.

409

iFIX with FIX Desktop

Resizable
The Resizable check box lets you control whether a picture in View can be resized.
Valid Entries
Select the check box to enable picture resizing in View. Clear the check box to disable picture resizing
in View.
NOTE: The sizing borders of a picture appear only in View; they do not appear in Draw.
Always on Top
The Always on Top check box lets you control whether pop-up pictures appear in front of all open
windows for all running programs.
Valid Entries
Select the check box to enable a pop-up picture to appear in front all open windows. Clear the check
box to let a pop-up picture appear in front all open pictures.
Previous Picture/Next Picture
Picture Name
The Previous and Next Picture Name fields display the names of the pictures that appear when an
operator selects the Previous Picture, Next Picture, and Last commands in View. These fields are
useful for creating a predefined series of pictures for operators to cycle through.
NOTE: The Last command lets the operator go back to the last picture he or she had open in a series
of pictures.
Valid Entries
Type the file name or click the browse (...) button to access the File Open dialog box and choose a
picture file.
Tag Group Name
The Tag Group Name Fields let you assign a specific tag group file to the previous or next picture that
will load automatically each time the operator presses PGUP or PGDN in View.
Valid Entries
Enter a specific tag group file name in this field if you want the next or previous picture file to
consistently load the same tag group. Leave this field blank if you want operators to select from a tag
group list.

410

iFIX with FIX Desktop

Push Button Link Configuration Dialog Box

Use the Push Button Link Configuration dialog box to specify the titles of the push buttons that
operators use in View to change the value of this Data link.
Close [1]
The Close [1] field is used to identify the push button that sends a 1 to the database tag.
Valid Entries
Enter the title of the push button that sends a 1 to the digital database tag. Titles can be up to 12
alphanumeric characters.
NOTE: Once the operator presses a button in View, the write to the tag is immediate.
Open [0]
The Open field is used to identify the push button that sends a 0 to the database tag.
Valid Entries
Enter the title of the push button that sends a 0 to the digital database tag. Titles can be up to 12
alphanumeric characters.
NOTE: Once the operator presses a button in View, the write to the tag is immediate.
Pushbutton Configuration Dialog Box

Use the Pushbutton Configuration dialog box to add a Push Button link to your picture.

This dialog box lets you:

Specify the text that appears on the push button.

Specify an object name for the link.

Use the Command Language Editor to define the command language script that the push
button executes.

NOTE: Since push buttons are an extension of the operating system, you cannot change the style of the
button. In other words, the color and font of the button is not modifiable. Also note that Draw always
positions push buttons on the top of a stack. They cannot be buried under other objects.

411

iFIX with FIX Desktop

Button Text
The Button Text field displays the text that appears on the push button in View.
Valid Entries
Enter up to 40 characters to identify its purpose to operators.
Object Name
The Object Name field displays the name given to the selected object. Naming your objects is
especially useful when you are working with Dynamos. The name lets you identify the object in the
Dynamo.
Valid Entries
Type a name, up to 11 alphanumeric characters long.
Edit Commands
The Edit Commands Button accesses the Command Language Editor dialog box so that you can define
a command language script for this Push Button link.
Ramp Value Configuration Dialog Box

The Ramp Value Configuration dialog box defines the lowest and highest values that operators can
ramp down and up to when changing the value of this Data link in View. The value is written to the tag
once after the operator selects a ramp button.
NOTE: In View, if the target tag assigned to the Data link contains an unknown or uninitialized value,
the tag's Low limit becomes the current value for the tag. Therefore, in this case, when an operator
ramps the value, the value written to the database is based on the Low limit value, not the actual
process value.

Ramp Fast/Ramp Slow Percentage


The Ramp percentage fields display the percent of the specified range that the fast and slow ramp
buttons will modify the current value of this Data link. The Ramp Value Entry template lets operators
press up and down arrow buttons to change the value of the database tag. The buttons correspond to
these percentages.
Valid Entries
Enter the percent of the specified range that the fast or slow ramp button will modify the current value
of the database tag.

412

iFIX with FIX Desktop

Low Limit/High Limit


The Low and High Limit fields display the full range of values that the dynamic property or link
responds to during runtime. The defaults for these fields are 0 (zero). If you leave the defaults, when
the picture is opened in View, the tag's EGU limits are automatically retrieved.
Valid Entries
Enter the lowest and highest values that represent this range. Alternatively, use the Fetch Limits
button to automatically fill in these fields with the values of the database tag's EGU limits. Note that
you cannot press the Fetch Limits button to retrieve EGU limits when a variable is used in place of tag.
NOTE: The limits specified here do not have to match the limits of the engineering units from the
database tag. The limits you enter should accurately cover the possible values of the target tag.
Fetch Limits
The Fetch Limits button fills in the Low and High Limit fields with the limits of the engineering units
specified in the database tag. Note that you cannot press the Fetch Limits button to retrieve EGU
limits when a variable is used in place of a tag.
Resolve Dialog Box
The Resolve Dialog Box lets you resolve tag definitions for picture files and tag group files. Resolved
pictures open faster in View.
Pictures (.ODF)/Tag Groups (.TGE)
The Picture and Tag Group check boxes let you select the type of files you want to resolve. Once
selected, all files with that file type are displayed in the list box.
Valid Entries
Select the check box for the file type you want to resolve. You can resolve both file types at one time
by selecting both check boxes.
Set Paths
The Set Paths button lets you specify the path where the picture files or tag group files reside.
Valid Entries
Select the Set Paths button and enter a valid directory name in the dialog box that appears. The default
is the picture path specified in the SCU.
Select All
The Select All Button lets you select all the files listed in the list box.
Resolve
The Resolve Button lets you resolve the selected files in the list box.

413

iFIX with FIX Desktop

Valid Entries
Select the files you want to resolve in the list box and then select the Resolve button.
Done
The Done Button lets you exit out of the Resolve dialog box after you have finished resolving.
Rotation Dialog Box

Use the Rotation dialog box to dynamically rotate the selected object.

This dynamic property works by comparing the current value of the specified tagname to the limit
range. As the database value changes, View recalculates the degrees of rotation and rotates the object
accordingly.
When View recalculates the rotation, it uses the new angle to produce one of two effects: spinning or
orbiting. Which effect takes place depends on the center of rotation you specify. If the center falls
within the boundary of the object, it appears to spin. If the center falls outside the boundary of the
object, it appears to spin and orbit around the center point.
Tagname
The Tagname field displays the name of the database tag field that supplies data to this link or dynamic
property.
Valid Entries
Enter a database tag. Draw fills in the default SCADA node and field for you. To specify a different
node and field, you must enter the entire tagname syntax as follows:
node:tag.field

NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:

node is the name of the node that contains the database.

tag is the database tag name.

field is the specific field of the database tag.

Alternatively, click the browse (...) button to access the Field Select dialog box and search through the
network for a particular tagname.
Example
SCADA01:AI1.F_CV
Instead of entering a node:tag.field, you can enter a variable or tag group symbol in the Tagname field.

414

iFIX with FIX Desktop

NOTE: If you are adding a Data link, you do not have to specify a field. Draw adds the F_CV or
A_CV as the field component based on the type of data (Numeric or Text) that you specify for the link.
Only a Trend tag should be referenced by a variable using a Multi-Pen or Multi-Bar link. Field
names can include the current value (F_CV) or the trend value (G_DATA).
X/Y Coordinate
Draw automatically calculates the center of the selected object and inserts the coordinates in the X
Coordinate and Y Coordinate fields. If you want the object to rotate around a point other than the
objects center, adjust the values in these fields.
Valid Values
Values ranging from 0 to 32.
NOTE: The coordinates 0, 0 inches represent the top left-hand corner of the picture.
Low Limit/High Limit
The Low and High Limit fields display the full range of values that the dynamic property or link
responds to during runtime.
Valid Entries
Enter the lowest and highest values that represent this range. Alternatively, use the Fetch Limits
button to automatically fill in these fields with the values of the database tag's EGU limits.
TIP: If you enter 0 (zero) in both the High and Low Limit fields, the tag's EGU limits are
automatically retrieved when View opens the picture. Note that you cannot press the Fetch Limits
button to retrieve EGU limits when a variable is used in place of a tag.
NOTE: The limits specified here do not have to match the limits of the engineering units from the
database tag. The limits you enter should accurately cover the possible values of the target tag.
Minimum Angle
The Minimum Angle field displays the degree that View uses to rotate the object when the database
tag equals the low limit entry. If the database value falls outside of the specified limit, the object
rotates to the minimum angle.
Valid Entries
Values from -360 degrees to 360 degrees.
Example
A minimum angle of 0 and a maximum angle of 360 degrees produces clockwise rotation. A
minimum angle of 0 and maximum angle of -360 degrees produces counter-clockwise rotation.
Maximum Angle
The Maximum Angle field displays the degree that View uses to rotate the object when the database
tag equals the high limit entry. If the database value falls outside of the specified limit, the object

415

iFIX with FIX Desktop

rotates to the maximum angle.


Valid Entries
Values from -360 degrees to 360 degrees.
Example
A minimum angle of 0 and a maximum angle of 360 degrees produces clockwise rotation. A
minimum angle of 0 and maximum angle of -360 degrees produces counter-clockwise rotation.
Fetch Limits
The Fetch Limits button fills in the Low and High Limit fields with the limits of the engineering units
specified in the database tag. Note that you cannot press the Fetch Limits button to retrieve EGU
limits when a variable is used in place of a tag.

S
Scale Dialog Box

Use the Scale dialog box to dynamically change the size of the selected object.

This dynamic property works by comparing the current value of the specified tagname to the limit
range. As the database value changes, View recalculates the scale percent and shrinks the object from
its original size to that percent.
Tagname
The Tagname field displays the name of the database tag field that supplies data to this link or dynamic
property.
Valid Entries
Enter a database tag. Draw fills in the default SCADA node and field for you. To specify a different
node and field, you must enter the entire tagname syntax as follows:
node:tag.field

NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:

node is the name of the node that contains the database.

tag is the database tag name.

field is the specific field of the database tag.

Alternatively, click the browse (...) button to access the Field Select dialog box and search through the
network for a particular tagname.

416

iFIX with FIX Desktop

Example
SCADA01:AI1.F_CV
Instead of entering a node:tag.field, you can enter a variable or tag group symbol in the Tagname field.
NOTE: If you are adding a Data link, you do not have to specify a field. Draw adds the F_CV or
A_CV as the field component based on the type of data (Numeric or Text) that you specify for the link.
Only a Trend tag should be referenced by a variable using a Multi-Pen or Multi-Bar link. Field
names can include the current value (F_CV) or the trend value (G_DATA).
Low Limit/High Limit
The Low and High Limit fields display the full range of values that the dynamic property or link
responds to during runtime.
Valid Entries
Enter the lowest and highest values that represent this range. Alternatively, use the Fetch Limits
button to automatically fill in these fields with the values of the database tag's EGU limits.
TIP: If you enter 0 (zero) in both the High and Low Limit fields, the tag's EGU limits are
automatically retrieved when View opens the picture. Note that you cannot press the Fetch Limits
button to retrieve EGU limits when a variable is used in place of a tag.
NOTE: The limits specified here do not have to match the limits of the engineering units from the
database tag. The limits you enter should accurately cover the possible values of the target tag.
Minimum Percentage
The Minimum Percentage field contains the percentage that View uses to scale the object when the
database tag equals the low limit entry. If the database value falls outside of the specified limit, the
object scales to the minimum percentage.
Valid Values
Enter the percentage that you want the object to scale, ranging from 0 to 100 percent.
Maximum Percentage
The Maximum Percentage field displays the percentage that View uses to scale the object when the
database tag equals the high limit entry. If the database value falls outside of the specified limit, the
object scales to the maximum percentage.
Valid Values
Enter the percentage that you want the object to scale, ranging from 0 to 100 percent.
NOTE: For best performance, draw objects at 100 percent and leave the Maximum Percentage field
at 100 percent.

417

iFIX with FIX Desktop

Fetch Limits
The Fetch Limits button fills in the Low and High Limit fields with the limits of the engineering units
specified in the database tag. Note that you cannot press the Fetch Limits button to retrieve EGU
limits when a variable is used in place of a tag.
Search and Replace Dialog Box (Command Language Editor)
The Search and Replace dialog box lets you search and replace data in a command language script.
The dialog box provides the following options:

Performing a case-sensitive search.

Searching forward or backward in the script.

Starting a search in the middle of a column and wrapping to the column's beginning or end.

Search For
The Search for field lets you enter up to 100 characters of text.
After entering the text you wish to search for, select the Search Next button to search forward for the
next occurrence of the text in the selected column. Select the Search Previous button to search
backward for the next occurrence of the text.
Replace With
The Replace with field lets you enter up to 100 characters of replacement text.
After entering your replacement text, select the Replace Next button to search forward for the next
occurrence of the text you are searching for and replace it. Select the Replace Previous button to
search backward for the next occurrence of the text you are searching for and replace it.
Case Sensitive
The Case Sensitive check box lets you control whether your search is case sensitive. Select the check
box for a case sensitive search. Clear the check box for a non-case sensitive search.
Wrap Around
The Wrap Around check box lets you search an entire script, either forward or backward, no matter
where you start in the script. When you select this check box, the Search Next, Replace All and Search
Previous operations will wrap to the start (or the end) of the script when performing their functions.
When the check box is cleared, the search will proceed only until it reaches the scripts end or its
beginning.
Search Next
Click on the Search Next button to start a forward search directly after the cursor or after the
highlighted portion of the script.

418

iFIX with FIX Desktop

Search Previous
Click on the Search Previous button to start a backward search directly before the cursor or before the
highlighted portion of the script.
Replace
Click on the Replace button to replace the currently highlighted text with the text in the Replace field.
Replace All
Click on the Replace All button to search the entire script and replace all matches with the text in the
Replace field. Once the operation is complete, a message is displayed showing how many
replacements were performed.
The Replace All function only searches in a forward direction.
Search and Replace Tagnames Dialog Box

The Search and Replace Tagnames dialog box lets you replace the node and tag names of the
links and dynamic properties in selected objects.

This dialog box supports the asterisk wildcard character in both the Search For and Replace With
fields.
Search For
Enter the node and tag that you want to search for in the Search For field.
Valid Entries
Enter a node and tag using the following format:
NODE:TAG

Use of the asterisk wildcard character is allowed.


Examples
Original
Tag

Search For Field


Entry

Replace With Field


Entry

Modified
Tag

NODE1:AI1

NODE1:AI1

NODE2:AI2

NODE2:AI2

NODE1:AI1

N*:A*

M*:B*

MODE1:BI1

NODE1:AI1

*1:*1

*2:*2

NODE2:AI2

419

iFIX with FIX Desktop

Original
Tag

Search For Field


Entry

Replace With Field


Entry

Modified
Tag

NODE1:AI1

*:*

N2:A2

N2:A2

NODE1:AI2

*1:*2

*3:*4

NODE3:AI4

NODE1:AI2

NOD*:AI*

BE*:CO*

BEE1:CO2

Replace With
Enter the replacement node and tag in the Replace With field.
Valid Entries
Enter a node and tag using the following format:
NODE:TAG

Use of the asterisk wildcard character is allowed.


Examples

420

Original
Tag

Search For Field


Entry

Replace With Field


Entry

Modified
Tag

NODE1:AI1

NODE1:AI1

NODE2:AI2

NODE2:AI2

NODE1:AI1

N*:A*

M*:B*

MODE1:BI1

NODE1:AI1

*1:*1

*2:*2

NODE2:AI2

NODE1:AI1

*:*

N2:A2

N2:A2

NODE1:AI2

*1:*2

*3:*4

NODE3:AI4

NODE1:AI2

NOD*:AI*

BE*:CO*

BEE1:CO2

iFIX with FIX Desktop

Slider Configuration Dialog Box

Use the Slider Configuration dialog box to define the lowest and highest values you want operators to
be able to record when changing the value of this Data link in View. This template lets operators adjust
a scroll bar in the Slider Entry dialog box to change the value of the database tag. The value is written
to the tag once after the operator selects OK.
Low Limit/High Limit
The Low and High Limit fields display the full range of values that the dynamic property or link
responds to during runtime. The defaults for these fields are 0 (zero). If you leave the defaults, when
the picture is opened in View, the tag's EGU limits are automatically retrieved.
Valid Entries
Enter the lowest and highest values that represent this range. Alternatively, use the Fetch Limits
button to automatically fill in these fields with the values of the database tag's EGU limits. Note that
you cannot press the Fetch Limits button to retrieve EGU limits when a variable is used in place of tag.
NOTE: The limits specified here do not have to match the limits of the engineering units from the
database tag. The limits you enter should accurately cover the possible values of the target tag.
Fetch Limits
The Fetch Limits button fills in the Low and High Limit fields with the limits of the engineering units
specified in the database tag. Note that you cannot press the Fetch Limits button to retrieve EGU
limits when a variable is used in place of a tag.
Sort Keys Dialog Box

Use the Sort Keys dialog box to define how View displays alarm messages in this
Alarm Summary link.

You can sort alarms in ascending or descending order based upon sort keys. These keys are described
below:
Key

Sorts alarms according to...

Time In

When the alarm was first generated by the tag.

Type

The alarm type.

421

iFIX with FIX Desktop

Key

Sorts alarms according to...

Tag

The tag name.

Area

The alarm area of the tags (A-P).

Priority

The alarm priority, as defined for each tag in the Database Manager (INFO,
LOLO, LOW, MEDIUM, HIGH, HIHI, or CRITICAL).

Node

The node where the alarm originated.

Ack/Time

Acknowledgment and then time in. When sorting alarms, unacknowledged alarms
have a greater priority than acknowledged alarms.

Ack/Priority

Acknowledgment and then priority. When sorting alarms, unacknowledged


alarms have a greater priority than acknowledged alarms.

Time Last

The time that the alarm condition or status last changed. If the block generating
the alarm re-issues it, the time last value differs from the time in value.

Ack/Time
Last

Acknowledgment and then the time last value. When sorting alarms,
unacknowledged alarms have a greater priority than acknowledged alarms.

SQL Command Configurator Dialog Box


The SQL Command Configurator automatically builds the required syntax you need to incorporate
selected SQL commands or stored procedures in a command language script. SQL commands you can
build from the configurator include SELECT, INSERT, UPDATE, and DELETE.
When a command language script with SQL commands executes, View:

Reads the SQL login account information from the local node.

Logs into the relational database specified in the Database Identifier field.

Executes the SQL command.

Logs out of the relational database when View is exited.

Database Identifier
The Database Identifier field specifies the name of the relational database from which data should be
retrieved from or sent to. A string variable can replace this parameter.
Valid Entries
Enter the database identifier name as defined in the System Configuration Utility's (SCU) SQL login

422

iFIX with FIX Desktop

account.
Build Command
The Build Command and Use Stored Procedure Buttons let you control whether a command language
script executes an SQL command or a stored procedure.
Valid Entries
Select either button to build the appropriate SQL command syntax.
Command Type
The Command Type buttons let you build the proper command syntax for any one of the following
SQL commands:

SELECT retrieves data from a relational database and stores it in a table variable.

INSERT adds a new row to a relational database table and inserts data into the new row.

UPDATE writes (updates) an existing record in a relational database table.

DELETE deletes single or multiple rows from a specified table in a relational database.

Valid Entries
Select the appropriate button to build the SQL command syntax.
Table Name(s)
The Table Name(s) field specifies the name(s) of the relational database table from which data should
be retrieved from or sent to. A string variable can replace this field entry.
Valid Entries
Enter the appropriate table name. Separate multiple table names with a comma and no spaces. For
example:
TABLE1,TABLE2

When appropriate, use a string variable to replace all or part of the field entry.
If you replace this field entry with a string variable, do not enclose the variable name in quotes. Also
make sure, you set the value of the variable as follows:
#TABLE = "TABLE1"

If you use a variable to replace part of this field entry, enter the following:
#TABLE,TABLE2

Column(s)
The Column(s) field specifies the name(s) of the relational database column in the table from which

423

iFIX with FIX Desktop

data should be retrieved from or sent to.


When using the UPDATE command, this field also specifies the value you want to set the column to as
a result of the update.
Valid Entries
Enter the appropriate column name. Separate multiple column names with a comma and no spaces.
For example:
COLUMN1,COLUMN2

NOTE: Do not specify a column name when using the DELETE command.
When using the SELECT command, you can leave this field blank. When you do this, all the columns
in the specified table are returned.
When using the UPDATE command, enter the appropriate column name with the desired value in the
following format:
COLUMN=VALUE

Where the guidelines for this format are as follows:

Enclose values that are literal strings with single quotes. For example: COLUMN='TEXT'

To use a string variable in place of a literal string, use the same syntax. For example:
COLUMN='#STRING5'

Do not use any quotes for numeric values. For example: COLUMN=50

When appropriate, use a string variable to replace all or part of the field entry. For example:
#COLUMN, where this example variable stores the literal string COLUMN='TEXT'

If you use a variable to replace part of this field entry, enter the following:
#COLUMN,COLUMN2

Condition Clause/Insert Value(s)


The Condition Clause/Insert Value(s) field lets you:

Specify an optional condition clause for the SELECT, UPDATE, and DELETE commands to
identify which rows should be used in the specified columns.

Specify the value(s) to insert into the specified table for the INSERT command.

Valid Entries
For the SELECT, UPDATE and DELETE commands:
Type an optional condition clause according to the standard SQL syntax. If no condition clause is
specified, the SQL command acts on the entire table, as specified by the column and table field entries.
A common condition clause syntax is as follows:
WHERE COLUMN=VALUE

424

iFIX with FIX Desktop

Where COLUMN is the name of the relational database column and VALUE is either a literal string
enclosed in single quotes or a numeric value with no quotes. A string variable can be used to replace
all or part of the condition clause.
Examples
WHERE DEVICE='Engine5'
WHERE DEVICE=50
WHERE DEVICE = #DEVICE

To use a string variable in place of a literal string, use the syntax shown for literal strings. For
example: WHERE DEVICE='#STRING5'
NOTE: If you omit the word "Where" from the condition clause, the SQL Command Configurator
dialog box adds it for you.
For the INSERT command:
Type the value(s) to insert into the specified table. Where the guidelines for this format are as follows:

Enclose values that are literal strings with single quotes. For example: 'LOW'

Do not use any quotes for numeric values. For example: 5.0

When appropriate, use a string variable to replace all or part of the field entry.

Examples
'LOW',5.0,'HIGH',10.0
#VALUES
'#VAL1', 5,0, '#VAL2', 10.0

Use Stored Procedure


The Build Command and Use Stored Procedure Buttons let you control whether a command language
script executes an SQL command or a stored procedure.
Valid Entries
Select either button to build the appropriate SQL command syntax.
Procedure Name
The Procedure Name field lets you specify the name of the stored procedure you want the command
language script to execute.
NOTE: If you plan to use a stored procedure, make sure your relational database supports this
feature. Consult your relational database manuals for more information on creating and using stored
procedures.
Valid Entries

425

iFIX with FIX Desktop

Type the name of the stored procedure, as defined in the relational database.
Data Location
The Data Location field lets you specify the name of a table variable that will store the resulting data
from the SQL command.
Valid Entries
Type the name of the table variable, as defined with the DECLARE command and is used for the
SELECT commands only.
Use Command Caching
The Use Command Caching check box enables or disables the relational database's ability to cache
SQL commands.
NOTE: Some relational databases have the ability to save executed commands in memory, thus
reducing the time it takes to re-execute the commands when required. Refer to your SQL manuals to
determine if your relational database supports command caching.
Valid Entries
Select the box to enable caching and clear it to disable caching.
Statistical Chart Configuration Dialog Box

Use the Statistical Chart Configuration dialog


box to add an X-Bar, R-Bar, or S-Bar chart
link to your picture.

The statistical chart links work in conjunction with a configured Statistical Data database tag. They
provide graphical data of key Statistical Data tag calculations. The X-Bar, R-Bar, and S-Bar links can
be customized by choosing from the following features:

426

Feature

Description

Y axis

The Y axis displays the limit range of the pens. You can configure the title, colors,
and tick marks.

Grid

You can choose to display horizontal, vertical, both, or no grid.

Pen

Shows the plot of the statistical calculation.

X axis

The X axis displays time. You can configure the color, tick marks, and options.

iFIX with FIX Desktop

NOTE: To use a statistical link, your database must contain a Statistical Data tag that collects the
required data. The statistical links can then display the data in View.
Pen/Y-Axis/X-Axis Buttons
The Pen, Y Axis, and X Axis buttons let you define:

The tagnames and styles of the real-time lines, bars, or points on a chart link.

The style of the Y and X axis for the chart.

Color
The Color area lets you specify the foreground and background colors for a chart link. The buttons
and check box in this area are described below:
Button

Description

Foreground
Color

Assigns a color to the area inside the chart axis. To specify a color, click the
button and select a color from the color palette. The color button displays the
color you choose.

Background
Color

Assigns a color to the area outside the chart axis. To specify a color, click the
button and select a color from the color palette. The color button displays the
color you choose.
NOTE: The background area is only included in the chart when you also
configure an axis.

Transparent

Assigns a transparent color to the entire rectangle that makes up the chart so you
can see objects under the chart. This feature is useful for stacking links to get
many charts in one space. You could also put a graphic of the ideal or target
chart behind the link for comparison with the real-time data.

Object Name
The Object Name field displays the name given to the selected object. Naming your objects is
especially useful when you are working with Dynamos. The name lets you identify the object in the
Dynamo.
Valid Entries
Type a name, up to 11 alphanumeric characters long.
Modifiable
The Modifiable check box lets you configure whether or not operators can modify the chart in View.
If a chart is modifiable, the View operator can double-click on the chart to make modifications.
Valid Entries

427

iFIX with FIX Desktop

Select the Modifiable check box to make the chart modifiable. Clear the check box to prevent View
operators from modifying charts.
System Information Link Dialog Box

Use the System Information Link dialog box to add a System Information link to
your picture.

This link displays one of several available parameters that can help you monitor your system. You can
display system parameters from any node on the network with the System Information link.
Node Name
The Node Name field displays the name of the node that supplies data to this link or dynamic property.
Valid Entries
Type the name of the appropriate node, or click the browse (...) button to access the Node Select dialog
box and search through the network for a particular node name.
System Fields

428

Button

Description

Database Name

The Database Name button displays the name of the database that is running
on the node specified in the Node Name field.

Number of SAC
Overruns

The Number of SAC Overruns button displays the number of times that the
Scan, Alarm, and Control (SAC) program could not execute all requests during
a scan cycle on the node you specify in the Node Name field. The count
begins on startup.

SAC Scan
Status

The SAC Scan Status button displays either RUN or STOP to indicate the
status of the Scan, Alarm, and Control (SAC) program on the node you specify
in the Node Name field.

iFIX with FIX Desktop

Button

Description

SAC Output
Status

The SAC Output Status button displays ENABLE or DISABLE to indicate


whether or not operators can output values to the database from View. When
View displays DISABLE, operator outputs are written to a storage location in
the database, but are not displayed, and are not written to the I/O hardware.
Valid Entries
To add this link, select the SAC Output status button. In addition, select the
Value Modifiable check box if you want operators to be able to change the
Scan, Alarm, and Control (SAC) program's output status through this link.
Clear this check box if you do not want operators to be able to change SACs
output status.
NOTE: When the operator changes the SAC output status to ENABLE, the
current operator output value is written to the I/O hardware.

Alarm Priority
Level

The Alarm Priority Level button displays the alarm priority as INFO, LOLO,
LOW, MEDIUM, HIGH, HIHI, or CRITICAL for the node specified in the
Node Name field. When you select this link, the Value Modifiable check box
becomes available.
Valid Entries
To add this link, select the Alarm Priority Level button. In addition, select the
Value Modifiable check box if you want operators to be able to change the
nodes alarm priority level through this link. Clear this check box if you do
not want operators to be able to change the nodes alarm priority level.

Database Serial
Number

The Database Serial Number button displays the unique number that your FIX
software assigns to a database configuration. If appropriate, you can use this
link to monitor the integrity of the database. If the configuration changes at
any time, this number also changes.

Node Time

The Node Time button displays the operating system time for the selected
SCADA node.
Valid Entries
To add this link, select the Node Time button. In addition, select the Value
Modifiable check box if you want operators to be able to change the node's
operating system time through this link for synchronization purposes. Clear
this check box if you do not want operators to be able to change the system
time.

429

iFIX with FIX Desktop

Button

Description

Node Date

The Node Date button displays the operating system date for the selected
SCADA node.
Valid Entries
To add this link, select the Node Date button. In addition, select the Value
Modifiable check box if you want you want operators to be able to change the
node's operating system date through this link for synchronization purposes.
Clear this check box if you do not want operators to be able to change the
system date.

SAC Cycles Per


Minute

The SAC Cycles per Minute button displays the number of cycles that SAC
executes per minute. Each time SAC completes a full scan of all applicable
database tags, it has completed one cycle. SAC attempts to execute 1200
cycles per minute.
NOTE: If the number displayed for this parameter in View is less than 1200
cycles, it is an indication that SAC is overloaded.

SAC Cycles Per


Second

The SAC Cycles per Second button displays the number of cycles that SAC
executes per second. Each time SAC completes a full scan of all applicable
database tags, it has completed one cycle. SAC attempts to execute 20 cycles
per second.
NOTE: If the number displayed for this parameter in View is less than 20
cycles, it is an indication that SAC is overloaded.

Total Number
of Blocks
Processed

The Number of Blocks Processed button displays the total number of blocks
(tags) that SAC has processed, or scanned, since SAC was started.

Number of
Blocks
Processed Per
Second

The Number of Blocks Processed per Second button displays the number of
blocks (tags) that SAC has processed, or scanned, during the last second.

Value Modifiable
The Value Modifiable check box allows operators to change the value of this System Information link
parameter in View.
Valid Entries
Select this check box if you want operators in View to be able to modify the value of the selected link.
Clear the check box if you want the information for display purposes only.

430

iFIX with FIX Desktop

Object Name
The Object Name field displays the name given to the selected object. Naming your objects is
especially useful when you are working with Dynamos. The name lets you identify the object in the
Dynamo.
Valid Entries
Type a name, up to 11 alphanumeric characters long.

T-Z
Tag Select Dialog Box
Use the Tag Select dialog box to select a node and tag combination or to add a tag to the database.
To select a node and tag, use one of three methods:

Select a node from the Node Selection list box, a tag from the Tag Selection list box, and
click OK.

Type a node and tag combination in the Selection field.

Use the asterisk wildcard character to search through the network for a specific node and tag
combination.

To add a tag to the database, select the Add button.


NOTE: Only nodes configured in the System Configuration Utility (SCU) appear in the Node Selection
list box.
Text Format Dialog Box

Use the Text Format dialog box to define the data format that View displays in this
Data link.

When using a variable as a tagname, format this Data link to display the literal information stored in
the appropriate variable.
Number Of Lines
The Number of Lines field lets you enter the maximum number of lines the text data can occupy.
Characters Per Line
The Characters per Line field lets you enter the maximum number of characters of text that can be
displayed on each line.

431

iFIX with FIX Desktop

Get Format
Click the Get Format button to use the number of lines and characters specified in the database.
Tool Box Configuration Dialog Box
The Tool Box Configuration dialog box lets you customize which buttons appear on the Tool Box, the
order of the buttons, and the size and layout of the Tool Box.
The Tool Box Configuration dialog box lists the:

Available buttons that you can add to the Tool Box.

Active buttons that are on the current Tool Box.

These settings are saved to the DRAW.INI file and apply to all subsequent Draw sessions.
Available Buttons
This group box lists the buttons that you can add to the Tool Box.
Active Buttons
This group box lists the buttons currently available from the Tool Box.
Add
The Add Button lets you add a button from the Available Buttons list box to the Tool Box.
Valid Entries
Select a command listed in the Available Buttons list box and then select the Add button, or doubleclick the command you want to add.
Remove
The Remove button lets you remove a button from the Tool Box.
Valid Entries
Select a command listed in the Active Buttons list box and then select the Remove button, or doubleclick the command you want to remove.
Add All
The Add All Button lets you add all the buttons from the Available Buttons list box to the Tool Box.
Clear
The Clear button lets you remove every button from the Tool Box.

432

iFIX with FIX Desktop

Up/Down Arrows
The Up and Down arrow buttons let you rearrange the order of the buttons in the Tool Box.
Valid Entries
In the Active Buttons list box, click on the button you want to move, and select the up or down arrows
to move the button to a different location on the Tool Box.
Default
The Default button lets you add the default set of buttons to the Tool Box.
Enable ToolTips
The Enable ToolTips check box lets you enable or disable the ToolTips.
Valid Entries
Select the Enable ToolTips check box to display ToolTips. Clear the Enable ToolTips check box to
not display ToolTips.
User Prompts for the Dynamo Dialog Box

The User Prompts for the Dynamo dialog box lets you assign Dynamo prompts for each
tagname or command script variable.

This dialog box displays the object property codes, the current setting for each property, and the
prompts assigned to each property. If no prompt is assigned, the current setting is always used.
Object Property
The Object Property column displays the object property codes associated with each dynamo set. The
following table provides a description of all the codes that can appear in the User Prompts for the
Dynamo dialog box:
Code

Description

FCOLOR

Dynamic fill color

ECOLOR

Dynamic edge color

BCOLOR

Dynamic background color

XPOS

Dynamic horizontal position

433

iFIX with FIX Desktop

Code

Description

YPOS

Dynamic vertical position

ROTATE

Dynamic rotate

HFILL

Dynamic horizontal fill

VFILL

Dynamic vertical fill

ENDPT1X

Dynamic horizontal position of endpoint 1

ENDPT2X

Dynamic horizontal position of endpoint 2

ENDPT1Y

Dynamic vertical position of endpoint 1

ENDPT2Y

Dynamic vertical position of endpoint 2

VIS

Dynamic visibility

SCALE

Dynamic scale

GTAG

Group tagname

PEN#

Pen or bar on a chart link. Named by number (Pen1, Pen2, and so on)

TAG

Tagname or node name for a link.

CMD

Command in the Command Language script

TEXT

The text added to the object.

Current Setting
Displays the current setting of each object property.
User Prompt
The User Prompt fields let you assign Dynamo prompts to each object property. You can use duplicate
prompts so that you are prompted only once for multiple properties. You can also use partial
substitution.
Valid Entries

434

iFIX with FIX Desktop

Enter prompt text up to 127 alphanumeric characters long. Spaces are allowed.
NOTE: Although you can enter prompts that are 127 characters long, when you paste the Dynamo
into a picture, the prompt displays only the first 35 characters.
Examples
If you define this
prompt...

When you paste the Dynamo into a picture...

{Enter Measurement
Tag}.*

You are prompted to enter the node and tag portion of the tagname.
The field remains static.
NOTE: You must enter brackets around the prompt text and use an
asterisk to indicate that the field is static.

Enter Measurement
Tag

You are prompted to enter the entire tagname.

Dynamo Name
The Dynamo Name field displays the name of the Dynamo. This name also displays beneath the
Dynamo in the set. You can enter a new name for the Dynamo using this field.
Valid Entries
Enter a new name for the Dynamo, up to 11 alphanumeric characters long.
Vertical Fill Dialog Box

Use the Vertical Fill dialog box to dynamically fill the selected object with an assigned color
from the top to the bottom or the bottom to the top.

This dynamic property works by comparing the current value of the specified tagname to the limit
range. The non-filled part of the object is always transparent.
NOTE: When you group objects and assign a dynamic fill, the group fill overrides any group members
that also have the same dynamic fill property. Therefore, View does not fill each group member
individually, instead it fills them in a series, starting at one end and moving to the other.
Tagname
The Tagname field displays the name of the database tag field that supplies data to this link or dynamic
property.
Valid Entries
Enter a database tag. Draw fills in the default SCADA node and field for you. To specify a different

435

iFIX with FIX Desktop

node and field, you must enter the entire tagname syntax as follows:
node:tag.field

NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:

node is the name of the node that contains the database.

tag is the database tag name.

field is the specific field of the database tag.

Alternatively, click the browse (...) button to access the Field Select dialog box and search through the
network for a particular tagname.
Example
SCADA01:AI1.F_CV
Instead of entering a node:tag.field, you can enter a variable or tag group symbol in the Tagname field.
NOTE: If you are adding a Data link, you do not have to specify a field. Draw adds the F_CV or
A_CV as the field component based on the type of data (Numeric or Text) that you specify for the link.
Only a Trend tag should be referenced by a variable using a Multi-Pen or Multi-Bar link. Field
names can include the current value (F_CV) or the trend value (G_DATA).
Fill Direction
The Fill Direction area specifies the direction that the object will be filled when the selected database
tag equals the low or high limit entry.
Low Limit/High Limit
The Low and High Limit fields display the full range of values that the dynamic property or link
responds to during runtime.
Valid Entries
Enter the lowest and highest values that represent this range. Alternatively, use the Fetch Limits
button to automatically fill in these fields with the values of the database tag's EGU limits.
TIP: If you enter 0 (zero) in both the High and Low Limit fields, the tag's EGU limits are
automatically retrieved when View opens the picture. Note that you cannot press the Fetch Limits
button to retrieve EGU limits when a variable is used in place of a tag.
NOTE: The limits specified here do not have to match the limits of the engineering units from the
database tag. The limits you enter should accurately cover the possible values of the target tag.
Minimum Percentage
The Minimum Percentage field contains the percentage that View uses to scale the object when the
database tag equals the low limit entry. If the database value falls outside of the specified limit, the

436

iFIX with FIX Desktop

object scales to the minimum percentage.


Valid Values
Enter the percentage that you want the object to scale, ranging from 0 to 100 percent.
Maximum Percentage
The Maximum Percentage field displays the percentage that View uses to scale the object when the
database tag equals the high limit entry. If the database value falls outside of the specified limit, the
object scales to the maximum percentage.
Valid Values
Enter the percentage that you want the object to scale, ranging from 0 to 100 percent.
NOTE: For best performance, draw objects at 100 percent and leave the Maximum Percentage field
at 100 percent.
Fetch Limits
The Fetch Limits button fills in the Low and High Limit fields with the limits of the engineering units
specified in the database tag. Note that you cannot press the Fetch Limits button to retrieve EGU
limits when a variable is used in place of a tag.
Vertical Position Dialog Box

Use the Vertical Position dialog box to dynamically change the vertical position of the selected
object.

This dynamic property works by comparing the current value of the specified tagname to the specified
limit range. As the database value changes, the object moves to a new position. If the database value
changes frequently enough, the object appears to be moving on the screen.
NOTE: You can use both the horizontal and vertical dynamic properties on the same object to create
diagonal movement.
Tagname
The Tagname field displays the name of the database tag field that supplies data to this link or dynamic
property.
Valid Entries
Enter a database tag. Draw fills in the default SCADA node and field for you. To specify a different
node and field, you must enter the entire tagname syntax as follows:
node:tag.field

NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.

437

iFIX with FIX Desktop

Where:

node is the name of the node that contains the database.

tag is the database tag name.

field is the specific field of the database tag.

Alternatively, click the browse (...) button to access the Field Select dialog box and search through the
network for a particular tagname.
Example
SCADA01:AI1.F_CV
Instead of entering a node:tag.field, you can enter a variable or tag group symbol in the Tagname field.
NOTE: If you are adding a Data link, you do not have to specify a field. Draw adds the F_CV or
A_CV as the field component based on the type of data (Numeric or Text) that you specify for the link.
Only a Trend tag should be referenced by a variable using a Multi-Pen or Multi-Bar link. Field
names can include the current value (F_CV) or the trend value (G_DATA).
Low Limit/High Limit
The Low and High Limit fields display the full range of values that the dynamic property or link
responds to during runtime.
Valid Entries
Enter the lowest and highest values that represent this range. Alternatively, use the Fetch Limits
button to automatically fill in these fields with the values of the database tag's EGU limits.
TIP: If you enter 0 (zero) in both the High and Low Limit fields, the tag's EGU limits are
automatically retrieved when View opens the picture. Note that you cannot press the Fetch Limits
button to retrieve EGU limits when a variable is used in place of a tag.
NOTE: The limits specified here do not have to match the limits of the engineering units from the
database tag. The limits you enter should accurately cover the possible values of the target tag.
Minimum Offset
The Minimum Offset field displays the number of inches that the object or endpoint will move from its
origin when the tag equals the low limit entry. If the database value falls outside of the specified limit,
the object or endpoint moves to minimum offset.
Valid Entries
Positive or negative values.
NOTE: For best performance, position the object or endpoint in Draw at one extreme of the
movement range. Then leave the Minimum Offset field at zero and specify a positive or negative
number in the Maximum Offset field.

438

iFIX with FIX Desktop

Maximum Offset
The Maximum Offset field displays the number of inches that the object or endpoint will move from
its origin when the tag equals the high limit entry. If the database value falls outside of the specified
limit, the object or endpoint moves to maximum offset.
Valid Entries
Positive or negative values.
NOTE: For best performance, position the object or endpoint in Draw at one extreme of the
movement range. Then leave the Minimum Offset field at zero and specify a positive or negative
number in the Maximum Offset field.
Allow Input Properties
The Allow Input Properties check box controls whether operators can change database values by
manipulating the object or endpoint in View. By default, View writes a value to the database at a
specified interval while you drag and click. To configure by what method and how often View sends
updated values to the database, modify the Input Dynamics section of the VIEW.INI file.
Valid Entries
Select the Allow Input Properties check box to permit operator manipulation from View. Clear the
check box to disable operator manipulation from View.
Example
If the check box is enabled, View writes new values to the database as the operator drags the object or
endpoint left, right, up, or down.
Fetch Limits
The Fetch Limits button fills in the Low and High Limit fields with the limits of the engineering units
specified in the database tag. Note that you cannot press the Fetch Limits button to retrieve EGU
limits when a variable is used in place of a tag.
Visibility Dialog Box

The Visibility dialog box controls the appearance and disappearance of objects or groups based
on a database value.

This dynamic property works by creating a logical comparison between the current value of the
specified tagname to a user-defined value. If the result of the comparison is TRUE, then View displays
the object. If the result is FALSE or the current value is unknown, then View removes the object from
the display.
Tagname
The Tagname field displays the name of the database tag field that supplies data to this link or dynamic
property.

439

iFIX with FIX Desktop

Valid Entries
Enter a database tag. Draw fills in the default SCADA node and field for you. To specify a different
node and field, you must enter the entire tagname syntax as follows:
node:tag.field

NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:

node is the name of the node that contains the database.

tag is the database tag name.

field is the specific field of the database tag.

Alternatively, click the browse (...) button to access the Field Select dialog box and search through the
network for a particular tagname.
Example
SCADA01:AI1.F_CV
Instead of entering a node:tag.field, you can enter a variable or tag group symbol in the Tagname field.
NOTE: If you are adding a Data link, you do not have to specify a field. Draw adds the F_CV or
A_CV as the field component based on the type of data (Numeric or Text) that you specify for the link.
Only a Trend tag should be referenced by a variable using a Multi-Pen or Multi-Bar link. Field
names can include the current value (F_CV) or the trend value (G_DATA).
Conditions
The Conditions area lets you choose the conditions for the logical comparison that View makes when
comparing the current value of the specified tagname to the user-defined value.
Valid Entries

440

If you
select...

The object is visible when the...

<

Current value is less than the entry in the Value field.

>

Current value is greater than the entry in the Value field.

=
(Tolerance)

Current value is greater than or equal to (Value - Tolerance) or the current value is
less than or equal to (Value + Tolerance). When you select this comparison, you
are required to enter a Tolerance amount. If you want the object to only be visible
when the current value is equal to the entry in the Value field, enter 0 (zero) in the
Tolerance field.

iFIX with FIX Desktop

Value
The Value field lets you enter a value that View uses to compare to the database value.
Valid Entries
Enter a value, up to 7 significant digits.
X vs. Y Chart - Pen Configuration Dialog Box

Use the X vs. Y Chart - Pen Configuration dialog box to define the two tagnames
that you want to monitor in this XY Plot link.

You can also define a digital tag that acts as an optional trigger for the XY Plot link so that the link
does not display points unless the value of the trigger tag is 1 (CLOSE).
X Axis/Y Axis Tagname
The Tagname field displays the name of the database tag field that supplies data to this link or dynamic
property.
Valid Entries
Enter a database tag. Draw fills in the default SCADA node and field for you. To specify a different
node and field, you must enter the entire tagname syntax as follows:
node:tag.field

NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:

node is the name of the node that contains the database.

tag is the database tag name.

field is the specific field of the database tag.

Alternatively, click the browse (...) button to access the Field Select dialog box and search through the
network for a particular tagname.
Example
SCADA01:AI1.F_CV
Instead of entering a node:tag.field, you can enter a variable or tag group symbol in the Tagname field.
NOTE: If you are adding a Data link, you do not have to specify a field. Draw adds the F_CV or
A_CV as the field component based on the type of data (Numeric or Text) that you specify for the link.
Only a Trend tag should be referenced by a variable using a Multi-Pen or Multi-Bar link. Field
names can include the current value (F_CV) or the trend value (G_DATA).

441

iFIX with FIX Desktop

X Axis/Y Axis Low/High Limit


The Low and High Limit fields display the full range of values that the dynamic property or link
responds to during runtime.
Valid Entries
Enter the lowest and highest values that represent this range. Alternatively, use the Fetch Limits
button to automatically fill in these fields with the values of the database tag's EGU limits.
TIP: If you enter 0 (zero) in both the High and Low Limit fields, the tag's EGU limits are
automatically retrieved when View opens the picture. Note that you cannot press the Fetch Limits
button to retrieve EGU limits when a variable is used in place of a tag.
NOTE: The limits specified here do not have to match the limits of the engineering units from the
database tag. The limits you enter should accurately cover the possible values of the target tag.
Optional Trigger
The Tagname field displays the name of a digital tag that acts as an optional trigger for the XY Plot
link. When you enter the name of a digital tag in this field, the link does not display points unless the
tag has a value of 1 (CLOSE).
Valid Entries
Use the following format to add or edit entries in this field:
node:tag.field

Where:

node is the name of the node that contains the database

tag is the database tag name

field is the specific field of the database tag

Alternatively, click the browse (...) button to access the Field Select dialog box and search through the
network for a particular tagname.
Marker Style/Marker Color
The Marker Style and Color area contains the controls that let you color and mark the selected pen
with a graphic symbol. These controls are described below:

442

Item

Description

Rectangle

Marks history points with a square.

Oval

Marks history points with a circle.

iFIX with FIX Desktop

Item

Description

Character

Marks history points with the alphanumeric character that you enter in the
Character field.

Color
Button

Changes the color of the selected pen. Click the color button and select a color
from the color palette to change the color.

Fetch Limits
The Fetch Limits button fills in the Low and High Limit fields with the limits of the engineering units
specified in the database tag. Note that you cannot press the Fetch Limits button to retrieve EGU
limits when a variable is used in place of a tag.
X vs. Y Chart Configuration Dialog Box

Use the X vs. Y Chart Configuration dialog box to add an XY Plot link to your
picture.

This link allows you to plot the real-time intersection of values from two database tags. While most
graphs plot a value against time, the XY Plot link gives you the flexibility to do other graphical
comparisons like temperature versus pressure. The XY Plot link can be customized by choosing from
the following features:
Feature

Description

Y axis

The Y axis displays the limit of the first tag. You can configure the options, color,
and tick mark.

Grid

You can choose to display horizontal, vertical, both, or no grid.

History
Points

Shows the plot of the two database tags. View can display up to the last 999 plots.

X axis

The X axis displays the limit of the second tag. You can configure the options,
color, and tick mark.

Legend

The legend can consist of any combination of tagname, tag descriptor, and current
value.

Pen/Y Axis/X Axis


The Pen, Y Axis, and X Axis buttons let you define:

443

iFIX with FIX Desktop

The tagnames and styles of the real-time lines, bars, or points on a chart link.

The style of the Y and X axis for the chart.

Number of History Points


The Number of History Points field displays the number of points that the XY Plot chart displays in
View. A point is the intersection of the values of the X and Y tags as recorded in a display scan
period.
Valid Entries
A value from 1 to 500.
Examples
1.

If you enter 500 you would get the intersections of the X and Y tags for the last 500 scan
periods.

2.

The chart displays only the latest values. For example, if you enter 10 in this field, when
View fetches the eleventh value, the first value is thrown out and the chart displays points 2
through 11. After the next scan period, the chart displays points 3 through 12, and so on.

Object Name
The Object Name field displays the name given to the selected object. Naming your objects is
especially useful when you are working with Dynamos. The name lets you identify the object in the
Dynamo.
Valid Entries
Type a name, up to 11 alphanumeric characters long.
Modifiable
The Modifiable check box lets you configure whether or not operators can modify the chart in View.
If a chart is modifiable, the View operator can double-click on the chart to make modifications.
Valid Entries
Select the Modifiable check box to make the chart modifiable. Clear the check box to prevent View
operators from modifying charts.
Color

444

Button

Description

Foreground
Color

Assigns a color to the area inside the chart axis. To specify a color, click the
button and select a color from the color palette. The color button displays the
color you choose.

iFIX with FIX Desktop

Button

Description

Background
Color

Assigns a color to the area outside the chart axis. To specify a color, click the
button and select a color from the color palette. The color button displays the
color you choose.
NOTE: The background area is only included in the chart when you also
configure an axis.

Transparent

Assigns a transparent color to the entire rectangle that makes up the chart so you
can see objects under the chart. This feature is useful for stacking links to get
many charts in one space. You could also put a graphic of the ideal or target
chart behind the link for comparison with the real-time data.

Legend Configuration
The Legend Configuration area contains three check boxes and fields that let you display information
on the tags you have selected for this chart. This area is described below:
Button

Description

Display
Tagname

Includes the names of the tags, in node:tag.field format, in the legend at the
bottom of the chart. Type the number of characters to reserve for the tagname in
the associated field, up to 28.

Display
Descriptor

Includes the tag descriptors of the tags in the legend at the bottom of the chart.
Type the number of characters to reserve for the tag descriptor of the tag, up to
40.

Display
Current Value

Displays the current values of the tags in the legend at the bottom of the chart.
Type the number of characters to reserve for the value, up to 13.

445

How Do I...
Click the appropriate link below for more information about Draw's step-by-step procedures:

Draw Basics

Using the Draw Tools

Working with Pictures

Working with Text

Working with Bitmaps and Graphic Files

Working with Dynamo Sets

Using Dynamic Properties

Editing Links

Displaying a Count of Acknowledged and Unacknowledged Alarms

Using Basic Draw Functions


Draw Basics
Click the appropriate link below for more information on Draw basics:

Creating Graphic Objects

Cutting and Pasting Objects

Manipulating Objects

Coloring Objects

Changing the Fill and Line Styles

Changing Default Settings

Selecting and Deselecting Techniques

Searching and Replacing Tagnames

Using the Right Mouse Button Menu

Creating Graphic Objects


To create graphic objects, simply select the appropriate tool from the Tool Box or the Tools menu in
Draw and use the following instructions:

447

iFIX with FIX Desktop

To create a...

Select this Tool...

Line

And do this:
1.
Hold down the mouse
button and drag the mouse until the
line is the desired length.
2.
Release the mouse button
to complete the line.

Polyline

1.

Click once for each point.

2.
point.

Double-click the last

Polylines can be closed or open. Polylines


do not have fill properties.
Polygon

1.

Click once for each point.

2.
Prior to drawing the last
segment, double-click.
Draw creates the last segment for you by
connecting the last point to the first point,
and closes the shape.
Rectangle

1.
Hold down the mouse
button and drag the mouse until the
rectangle is the desired length.
2.
Release the mouse button
to complete the rectangle.

Oval

1.
Hold down the mouse
button and drag the mouse until the
oval is the desired length.
2.
Release the mouse button
to complete the oval.

Cutting and Pasting Objects


The Cut and Paste commands on the Edit menu let you use the Draw clipboard
to store and retrieve objects.

To cut and paste objects:

448

1.

In Draw, select the object or objects you want to move to another picture.

2.

Click the Cut button on the Tool Box, or from the Edit menu click Cut.

3.

Open the destination picture or, if its already open, switch to it by selecting it from the
Window menu.

iFIX with FIX Desktop

4.

Click the Paste button on the Tool Box, or on the Edit menu click Paste.
Draw places the object(s) in the center of the picture or to the right of the selected object.
NOTE: Draw objects placed in the Draw clipboard cannot be used by third-party programs.
However, you can use the Copy Bitmap and Paste Bitmap commands to copy and paste a
bitmap representation of any object to the clipboard. Third-party programs can then use the
bitmaps.

Manipulating Objects
Draw has many basic functions that you can use to manipulate all objects, including
links. Once you learn to use them with any one object, you have learned to use them
with all objects.

Moving
Any object you create can be moved simply by dragging it to a new position.
To drag an object:
1.

In Draw, click the object and hold down the mouse button.

2.

Move the mouse and an outline of the object follows the mouse movement.

3.

When you have the object positioned correctly, release the mouse button to complete the
move.

Nudging
Because it is often hard to nudge objects precisely with the mouse, Draw gives you another way to
nudge objects.
To nudge an object:
1.

In Draw, select an object.

2.

Press the arrow key that represents the desired direction.


NOTE: You can press repeatedly to slowly move the object in that direction.

Stretching
To stretch an object:
1.

In Draw, select an object.

2.

Click and drag a handle of a selected object. The object resizes in the direction that you move
the mouse.
NOTE: You can stretch an object horizontally or vertically or both ways at the same time. To
stretch both ways, click and drag a corner handle.

449

iFIX with FIX Desktop

Coloring Objects

To change the color properties of an object:


1.

In Draw, select the object that you want to color.

2.

Display the color box by clicking the Color Box button on the Tool Box or on the Tools menu
clicking Color Box.

3.

Click either the Foreground, Background, or Edge color button located at the top right side of
the color box.

4.

Click a color in the palette and the object's color changes.

Changing the Fill and Line Styles

To change the fill and line style of objects:


1.

In Draw, select the object you want to modify.

2.

Click the Fill Style or the Line Style Tool Box button or on the Tools menu select them.

3.

In the dialog box that appears, select the style you want and click OK.

Changing Default Settings


Each time you add a new object to a picture, Draw uses the default
colors, fill, and line styles.

To change the default colors:


1.

In the Draw window, click on an empty space so that no object is selected.

2.

Click either the Foreground, Background, or Edge color button on the color box.

3.

Click a color in the color palette . This chosen color becomes the default used for new objects
that you add to the picture. It does not change the colors of objects that are already in the
picture.

To change the default fill or line styles:

450

1.

In the Draw window, click on an empty space so that no object is selected.

2.

Click either the Fill Style or Line Style buttons on the Tool Box or select them from the Tools
menu.

3.

In the dialog box that appears, select the style you want to use as the default. This chosen
style becomes the default used for new objects that you add to the picture. It does not change

iFIX with FIX Desktop

the styles of objects that are already in the picture.

Selecting and Deselecting Techniques


Before you perform an action on any object, you must first select it. A selected
object has handles. Notice that the handles on objects without dynamic
properties are hollow, while the handles on objects with dynamic properties
are solid.

There are several ways to select or deselect objects in Draw. The following table describes selecting
and deselecting techniques. Before using any technique, click the selector button on the Tool Box or
select it from the Tools menu.
If you want to...

Then...

Select a single object

Click the object with the selector tool.


NOTE: To select polylines and unfilled polygons,
position the selector on a line segment, and click.

Select two or more objects

Hold down Shift and click each object.

Select all objects in an area

1.
Click empty space above and to the left
of the objects and hold down the mouse button.
2.
Drag. Notice the thin gray rectangle
that grows as you drag. The rectangle is called
the select box.
3.
Drag until all desired objects are inside
the select box.
4.

Release the mouse button.

Select all objects in a picture

Click the Select All button on the Tool Box or on the


Edit menu click Select All.

Deselect all objects

Click the Deselect All button on the Tool Box, or on


the Edit menu click Deselect All menu, or click an
empty space.

Deselect one object from many selected


objects.

Hold down Shift and click the object you want to


deselect.

Searching and Replacing Tagnames

451

iFIX with FIX Desktop

To search for a selected tagname in the links and dynamic properties of the selected
objects and replace it with another:
1.

In Draw, select the objects in your picture that you want to search through.
NOTE: To replace every occurrence of the node and tag combination in all objects, use the
Select All command to select all objects. Using Select All also lets you do a search and
replace for the Commands on Opening and the Commands on closing scripts.

2.

Click the Search and Replace button on the Tool Box, or select it from the Edit menu.

3.

In the Search For field, type the node and tag name, or use the asterisk wildcard character to
indicate the node and tag you are looking for. Use the following format:
node:tag

4.

In the Replace With field, type the name of the replacement node and tag.

5.

Check your entries carefully. You cannot cancel or undo a search and replace action after
Draw executes it. When you are sure the entries are correct, select the Replace button.
Draw replaces every occurrence of the node and tag combination in the selected objects.

6.

Select the Done button to exit out of the Search and Replace Tagnames dialog box.

Using the Right Mouse Button Menu


Your FIX Draw and View systems support a right mouse button menu, which can be used as a shortcut
to some of the same commands found on the standard pull-down menus. By clicking the right mouse
button, you can access a menu of appropriate commands.
These commands can be selected by clicking either mouse button to highlight the desired command
and then releasing the button. The command is then executed when you release the button.

Using the Draw Tools


Click the appropriate link below for more information on using the Draw tools:

Using the Tool Box

Adding and Removing Tool Box Buttons

Arranging Tool Box Buttons

Using the Color Box

Creating a Custom Color Palette

Using the Tool Box


To execute commands using the Tool Box:

452

1.

In Draw, on the Tools menu, click Tool Box. The Tool Box appears.

2.

Click the button on the Tool Box that you want to execute. Buttons that are grayed-out cannot
be executed.

iFIX with FIX Desktop

NOTE: To see what command a button executes, position the cursor over the button to
display a ToolTip. You can move the Tool Box by dragging on the Tool Box title bar, and you
can resize the Tool Box by dragging on its outer edges. When you exit Draw, the Tool Box
display settings are written to the DRAW.INI file. The next time you start Draw, the Tool Box
appears exactly as it last appeared in the previous session.

Adding and Removing Tool Box Buttons


You can configure the Tool Box to display the buttons that you use most often.
To add buttons to the Tool Box:
1.

In Draw, on the Tools menu, click Tool Box Setup. The Tool Box Configuration dialog box
appears.

2.

In the Available Buttons list box, click on the command that you want to add to the Tool Box
and then click Add.
- Or Double-click on the command you want to add to the Tool Box.

3.

Click OK.

To remove buttons from the Tool Box:


1.

In Draw, on the Tools menu, click Tool Box Setup. The Tool Box Configuration dialog box
appears.

2.

In the Active Buttons list box, click on the command that you want to remove to the Tool Box
and then click Remove.
- Or Double-click on the command you want to remove from the Tool Box.

3.

Click OK.

Arranging Tool Box Buttons


To arrange the order of the Tool Box buttons:
1.

In Draw, on the Tools menu, click Tool Box Setup. The Tool Box Configuration dialog box
appears.

2.

Click on the command in the Active Buttons list that you want to move.

3.

Use the up and down arrow buttons located to the right of the Active Buttons list box to move
the selected item up or down in the list. The first item in the list displays as the first button in
the Tool Box.

4.

Click OK.

453

iFIX with FIX Desktop

Using the Color Box


To display the color box in Draw, click the Color Box button on the Tool Box or select
the Color Box command from the Tools menu.

The Draw color box contains several controls:


Control

Function
The Get Palette button lets you load a custom color palette.

The Save Palette button lets you save a custom color palette.

The Reset Palette button lets you reset to the original non-customized
palette.

The Foreground, Background, and Edge color buttons let you change an
object's color properties.

Creating a Custom Color Palette


You can customize the Draw color palette to contain the colors that you need for your
displays.

To customize a Draw color palette:

454

1.

In Draw, display the color box by clicking the Color Box button on the Tool Box, or click
Color Box from the Tools menu.

2.

In the Custom Colors area of the color box, double click the color that you want to customize.
The Define Color dialog box appears.

3.

Create a custom color by entering the Red, Green, Blue (RGB) code for the color or dragging
the cross-hair to the shade of the color you want.

iFIX with FIX Desktop

4.

Click OK. Repeat this procedure for each color you want to customize.

5.

In the color box, click the Save Palette button to save the palette.

Working with Pictures


Click the appropriate link below for more information on working with pictures:

Creating New Pictures

Creating Picture Reports

Creating Templates

Changing Picture Properties

Adding a Link to a Picture

Previewing Pictures in View

Printing Pictures

Saving a New Picture File

Resolving Pictures

Using Tag Groups

Using Variables

Searching and Replacing Tagnames in Multiple Pictures

Specifying the Numeric Data Format

Specifying the Text Format

Creating New Pictures


To create a new picture from scratch, simply click the New Picture button on the Tool
Box. This button opens a blank untitled picture (.ODF) file.

To create a new picture using a template:


1.

In Draw, on the File menu, click New. The New dialog box appears.

2.

From the list box, select a template and then click OK. The template picture appears. When
you save the picture, Draw saves it as an .ODF file and does not overwrite the original
template file.
NOTE: The Default template opens a blank untitled picture.

455

iFIX with FIX Desktop

Creating Picture Reports


To create a picture report for the currently active picture:
1.

In Draw, on the File menu, click Report. The standard Windows File Save dialog box appears.

2.

Enter a file name for the report and select OK. Reports have a file extension of .ODR and are
stored in the picture path defined in the SCU.
The contents of the report vary depending on the complexity of the picture.

Creating Templates
To create a template that you can use as a starting point when creating picture files:
1.

On the File menu, click New. The New dialog box appears.

2.

Click the Template button.

3.

Click OK. A blank template (.ODT) file appears.

4.

Create the display elements as you would a normal picture and save the file. Draw saves the
template as an ODT file and stores it in the picture path.

Changing Picture Properties


Every picture file has several properties that you can change.

To view or change the properties of the active picture file:


1.

In Draw, click the Picture button on the Tool Box; or on the Edit menu, click Picture. The
Picture dialog box appears.

2.

Enter the appropriate settings in the Picture dialog box fields, and select OK to return to the
active picture.

Adding a Link to a Picture


To add a link to your picture:
1.

In Draw, click one of the 13 link buttons on the Tool Box.


- Or On the Tools menu click Link, and click one of the link icons on the Available Links dialog
box that appears.
The Stamper cursor appears.

2.

456

Attached to the Stamper cursor is an outline of the link you selected. Move the link outline to

iFIX with FIX Desktop

the appropriate position in your picture and click. The corresponding link dialog box appears.
3.

Fill out the link dialog box or boxes.


NOTE: It's always a good idea to replace the default name in the link's Object Name field
with a unique name to help you identify the link later.

4.

Click OK.
The new link is now visible in the picture.

Previewing Pictures in View


While you are creating a picture in Draw, you can preview the picture in View. This lets
you test the elements of the picture, such as links and push buttons, as you create them.

To preview a picture:
1.

In Draw, click the QuickView button on the Tool Box or select QuickView from either the
View menu or the right mouse button menu.
The View application window opens, ignoring any caching, default layout, or picture
preloading defined for View, and displays the picture that is active in Draw. You can now test
the picture. Note that the QuickView command erases the Undo actions to prevent old copies
of objects from interfering with the preview.

2.

From the View application, on the View menu, click QuickDraw to return to Draw. The
active picture in View is displayed in Draw.

This procedure can also begin from View. Start View, open a picture, and then select QuickDraw.
QuickDraw starts Draw and displays the picture that is active in View.
Only pictures that are opened using QuickView will update based on changes made to the picture in
Draw. If you open a picture in View and Draw using the File Open command and then select
QuickView, a second copy of the picture is displayed in View. The second copy is the preview copy.
The picture opened using the File Open command is not the preview copy.
NOTE: Task Switching must be enabled in the Environment Protection dialog box and the VIEW.INI
file to use the QuickView and QuickDraw commands. While using QuickView, any changes you make
to environment protection settings do not take effect until after you shutdown and restart View. Any
Commands on Opening or Closing command language scripts will execute in View unless you specify
otherwise in the VIEW.INI file.

Printing Pictures
To print the currently active picture, on the File menu, click Print. If the picture is larger
than the screen and you want to print the entire picture, on the View menu, click Zoom
Out or Fit in Window before you print.

457

iFIX with FIX Desktop

Saving a New Picture File

To save a new picture or template file:


1.

In Draw, to display the standard Save dialog box, click the Save button on the Tool Box, or
click Save on the File menu.

2.

In the File Name field, type in a new name, up to 8 characters long.

3.

Click OK. Draw adds the picture (*.ODF) or template (*.ODT) file extension for you. The
title bar of the picture changes to show the new name of the file.
NOTE: After you save the picture file, Draw will write any later changes directly to the saved
file (without showing the standard Save dialog box) the next time you click Save.

Resolving Pictures
To resolve picture files and tag group files:
1.

In Draw, on the File menu, click Resolve. The Resolve dialog box appears.

2.

In the List Files of Type area, click the type of files you want to resolve. You can resolve
more than both file types at one time by selecting both check boxes.

3.

If the files reside in a path other than the picture path, click the Path button to specify a
different path.

4.

In the list box, highlight the files that you want to resolve. Hold down the <Shift> key to
select multiple files, or click the Select All button to select all of the files.

5.

Click the Resolve button to resolve the selected files. A message appears when Draw has
finished resolving.

If the database is modified after you run Resolve, you need to re-run the Resolve command.
Modifications which require you to re-run Resolve include:

Loading a different database.

Adding, modifying, or deleting database tags.

Using Tag Groups


If many of your pictures are identical except for the tagnames they reference, you can create one
generic picture that uses multiple sets of tags. These sets are called tag groups. By using tag groups,
you can cut development time and save a considerable amount of disk space. You can enter tag group
symbols in place of a node:tag.field entry in Chart links and dynamic properties.
To use tag groups when designing pictures in Draw:

458

1.

In Draw, access the chart link or dynamic property dialog box for which you are entering
information.

2.

In the Tagname field, enter the tag group symbol that you want to use, instead of entering a

iFIX with FIX Desktop

tagname.

Using Variables
Your FIX32 software supports the use of a variable in objects with dynamic properties and links as a
substitution for:

Numeric values

Literal strings

Tagnames

Using Variables as a Numeric Substitution


To substitute a variable for a numeric value:
1.

Using the Command Language Editor in Draw, create a numeric variable.

2.

Assign it a numeric value.

3.

Enter the variable in the Tagname field of a link or dynamic property.

4.

Set the EGU limits of the link or dynamic property manually.

Example
For instance, to declare a numeric variable and assign it a value, do the following:
DECLARE #NUM NUMERIC PICTURE
#NUM = 50

To display or manipulate the variable's contents, enter the variable's name in the Tagname field of the
link or dynamic property.

Using Variables in Data Links


Data links can display numeric or ASCII data. As a result, you can use a numeric or string variable
with a Data link, depending on the type of data you want to display.
To enter a variable in a Data link:
1.

Using the Command Language Editor in Draw, create a numeric or string variable.

2.

Assign it a numeric value or literal string, depending on the variable type.

3.

Enter the variable in the Tagname field of the Data link.

4.

Set the EGU limits of numeric values manually.

5.

Format the Data link to display numeric or text data, depending on the variable type.

Example
To display a numeric value in a Data link, use the previous example, and format the link to display

459

iFIX with FIX Desktop

numeric data. To display a literal string in a Data link, do the following:


DECLARE #STRING STRING PICTURE
#STRING = "THIS IS A STRING"

Format the Data link to display text data.

Using Variables as a Tagname Substitution


To use variables as a tagname substitution:
1.

Using the Command Language Editor in Draw, create a string variable.

2.

Assign a tagname to the variable using the syntax "NODE:TAG.F_FIELD". Note that you
must enclose the tagname in quotation marks.

3.

Enter the variable in the Tagname field of a link or dynamic property.

4.

If you are using a Data link, format it to numeric or string data, depending on the field type
referenced.

Example
For instance, to use a string variable in place of a tagname for a dynamic property, do the following:
DECLARE #TAG STRING PICTURE
#TAG = "NODE.TAG.F_CV"

When View resolves the value of this variable, it substitutes the tagname for the variable name. If you
are using a Data link, make sure you format it to display numeric data.
To display a tagname in a Data link that references an A_ field, do the following:
DECLARE #TAG STRING PICTURE
#TAG = "NODE.TAG.A_FIELD"

Format the Data link to display text data. When View resolves the value of this variable, it substitutes
the tagname for the variable name, just as it does for F_ fields. Note that the string must contain an A_
field and must conform to tagname syntax or else the data is treated as a literal string. Only Data links
can reference A_ fields.

Searching and Replacing Tagnames in Multiple Pictures


Use the following steps to search for and replace tagnames in multiple pictures. This
operation replaces tagnames in each of the pictures links and dynamic properties with a
specified Node:tag pattern.

To search and replace tagnames in multiple pictures:


1.

460

In Draw, on the File menu, click Global Search and Replace. The Multiple Picture Search and
Replace dialog box appears.

iFIX with FIX Desktop

2.

Select the paths to the ODF picture files you want to include in the search and replace
operation. Keep in mind that you can select all the pictures you need work with when using
this function. Holding down the <Ctrl> key allows you to select specific pictures from within
the list.

3.

Select the pictures you want to search through from the ones in the list box. The Node:Tag
search pattern you specify only applies to the pictures you select. Use the Select All button to
select all pictures.

4.

Type the node and tag pattern that you are looking for in the Search For field using the
following format:
Node:Tag

5.

Using the same format, type the new node and tag pattern that you want to replace the original
node and tag with in the Replace With field.

6.

When you are certain that you typed the correct entries, select Replace. Draw replaces every
occurrence of the node and tag combination in the selected objects. If you want to leave the
dialog box without replacing any tagnames, click Done instead of Replace.

7.

Click Done to exit.

Specifying the Numeric Data Format


To specify the numeric data format:
1.

In Draw, from the Data Link dialog box, click Numeric Data. The Numeric Data Format
dialog box appears.

2.

In the Whole Digits field, enter an integer from 0 to 7. This entry establishes the number of
digits displayed before the decimal point.

3.

In the Decimal Digits field, enter an integer from 0 to 7. This entry establishes the number of
digits displayed after the decimal point. View rounds the decimal portion of the value to fit
into the display digits specified.
NOTE: View can display up to seven accurate digits. Therefore, the sum of Whole Digits and
Decimal digits must be seven or less.

3.

Optionally, check the Scientific Notation box to display the number in standard scientific
notation.

4.

Click OK to return to the Data Link dialog box.

Specifying the Text Format


To specify the text data format:
1.

In Draw, from the Data Link dialog box, click Text Data. The Text Format dialog box
appears.

2.

In the Number of Lines field in the Text Format dialog box, enter the maximum number of
lines the text data can occupy.

3.

In the Characters per Line field, enter the maximum number of characters of text that can be
displayed on each line.

461

iFIX with FIX Desktop

4.

To use the number of lines and characters specified in the database, click the Get Format
button.

5.

Click OK to return to the Data Link dialog box.

Working with Text


Click the appropriate link below for more information on working with text:

Adding a Text Object

Changing Fonts

Editing Text Objects

Stretching a Text Object

Adding a Text Object

Use the following steps to add or edit text objects:


1.

In Draw, select the Text button on the Tool Box, or select Text from the Tools menu. The Ibeam cursor appears.

2.

Move the I-beam cursor to the position where you want to start typing.

3.

Click the mouse button. The Insertion cursor appears.

4.

Type the text. Use <Backspace> to erase text. Use <Enter> to start a new line.

Changing Fonts

Use the following steps to change the font's type, style, and size for a text object:
1.

In Draw, select a text object.

2.

Click the Font button on the Tool Box or click the Font! menu to display the standard
Windows Font dialog box. Select the font type, font style, and font size you want to use and
select OK.

Editing Text Objects


To manipulate text objects in Draw, simply move the selector tool over a text object and
click. Notice that the text object has handles like all other objects.

In Draw, when the text object is selected, you can:

462

iFIX with FIX Desktop

Cut, copy, paste, duplicate or delete the entire text object.

Change the font of all the text characters in the object.

Change the size of the all the text characters in the object.

Change the text (foreground) color through the color box.

Stretching a Text Object


Stretching is another way to change the font size of a text object.

Use the following steps to stretch a text object:


1.

In Draw, select a text object.

2.

Select a corner handle of the text object and drag.

3.

Release the mouse button. Draw changes the font size to the largest font size that will fit in
the stretch area.

Working with Bitmaps and Graphic Files


Click the appropriate link below for more information on working with bitmaps and graphic files:

Adding Dynamic Properties to Bitmap Objects

Using the Import Wizard

Importing .PCX Graphic Files

Importing .DXF Files

Importing Bitmaps through the Clipboard

Adding Dynamic Properties to Bitmap Objects


In Draw, you can assign the following dynamic properties to bitmap objects using the Dynamic
Properties dialog box:

Horizontal or vertical position

Scale

Command

Visibility

These dynamic properties work exactly the same on bitmap objects as on all other objects.
To assign dynamic properties to a bitmap object:
1.

In Draw, double-click an object that you want to assign dynamic properties to. The Dynamic

463

iFIX with FIX Desktop

Properties dialog box appears.


2.

Use the Dynamic Properties dialog box to assign horizontal or vertical position, scale,
command, or visibility dynamic properties.

3.

Click OK.

Using the Import Wizard


Graphics files are imported into Draw using an Import Wizard. This replaces the Import PCX and
Import ADF commands previously available through the File menu. A button for the Import Wizard is
included in the list of available buttons and may be added to the Tool Box, as well.
To import either a .DXF, .PCX or .ADF graphic file into Draw:
1.

In Draw, select the Import Wizard, either as a menu item or as a toolbox button. The
Welcome dialog box of the Import Wizard appears.

2.

Select the type of file you want to import by clicking the appropriate option.

3.

Click on the Next button. The Importing Files dialog box of the Import Wizard appears.

4.

Enter the name of the file(s) to import, either manually or by using the Browse button feature.
When importing more than one .DXF or .ADF file:

If...

Then...

You leave the BatchMode import box


unchecked

By default, the wizard imports all files into one .ODF file.

You check the BatchMode Import box

The wizard imports each .DXF or .ADF file into its own .ODF file.

5.

If you are importing .ADF or .PCX files, click on the Finish button to complete the import
process;
- Or If you are importing .DXF files, click the Next button to continue to the Font Mapping dialog
box.

6.

From the Font Mapping dialog box, select the font and the font style to represent your
AutoCAD font.
Check the Import Non-Horizontal Text box if you want to have any non-horizontal text
currently present in your AutoCAD file imported into your new .ODF file.
If the check box is selected, the text is imported and placed into the new .ODF in the same
location as the AutoCADs text origin, but it will be horizontally oriented.
If the check box is not chosen, then the non-horizontal text is not imported.

7.

464

Click the Finish button to complete the import process.

iFIX with FIX Desktop

Importing .PCX Graphic Files


Draw can directly import .PCX (version 5) graphic files. Although .PCX files are native to MS-DOS
and Windows, they can be copied to and used on other platforms. When you include either format in a
picture file, that picture file can be used on any FIX software platform.
To import a .PCX file:
1.

In Draw, open a picture file.

2.

Make sure that the size of the Draw picture file is large enough to incorporate the imported
file. If it is not, Draw crops the bottom and right side.
NOTE: If you enlarge the picture size by using the Picture dialog box, the entire bitmap is
visible.

3.

On the File menu, click Import Wizard. The Welcome dialog box of the Import Wizard
appears.

4.

In the Welcome dialog box, select PCX and click Next.

5.

Follow the step-by step instructions.


It may take a few minutes for Draw to process the file. Draw pastes the object in the center of
the picture.

Importing DXF Files


DXF picture import is available as an option in FIX Draw. The DXF Import feature allows you to
import AutoCAD pictures into FIX and use them as ODF files. The Import Wizard guides you through
the process of importing a DXF file into a full screen ODF file, which will reside in the current FIX
picture path.
Once imported, dynamic properties can be assigned to the objects. In earlier versions of FIX,
AutoCAD pictures had to be re-created in the FIX Draw environment, or they were imported as static
bitmaps.
NOTE: This option must be purchased from GE Intelligent Platforms and installed separately, as part
of the FIX Integration Toolkit.
Objects imported into FIX will not appear in their identical AutoCAD pixel location. Instead, the
objects will be in the same proportions and will be located in the same positions relative to the other
objects in the file. The objects you import into FIX will also maintain the colors they were assigned in
AutoCAD.
In order to assign dynamic properties to the imported objects, each AutoCAD entity must be
represented by one or more FIX objects. However, no assumptions are made about the AutoCAD
entities. For example, an AutoCAD object drawn as a polyline will not be assumed to be a polygon,
which can be filled. It is only imported as a polyline.
The following describes the FIX object created by the import of specific AutoCAD objects:

465

iFIX with FIX Desktop

These AutoCAD objects...

Appear as the following FIX Draw


objects...

Arcs

Polylines

Boundary Hatches

One or more disjointed polylines

Ellipses

Grouped, multiple polylines

Rectangle

5-point polyline

Oval

Hollow, oval object

Text

Text object

Solids

Polygon

Polylines with Quadratic Curve

Polyline

Polylines with curve fit

One or more polylines grouped as one object

Polyline with filet

Polylines

Closed polygon

Polyline

Blocks

A group of objects

Two polylines with a chamfer

Grouped polylines

Double lines

A group of polylines

Donuts

Polylines grouped as one object

Points

Not imported

To import a .DXF file:

466

1.

In Draw, on the File menu, click Import Wizard. The Welcome dialog box of the Import
Wizard appears.

2.

In the Welcome dialog box, select DXF and click Next.

3.

Follow the step-by step instructions.

iFIX with FIX Desktop

Importing Bitmaps through the Clipboard


To import bitmap graphics from the clipboard:
1.

Open the appropriate file in your Windows graphics program.

2.

Copy the desired bitmap to the clipboard.

3.

Switch to Draw.

4.

In Draw, on the Edit menu, click Paste Bitmap.


Draw places the new bitmap object in the center of the picture.
NOTE: Most graphic programs that use the clipboard for cutting and pasting store
compatible bitmaps on the clipboard. If Paste Bitmap is dimmed in Draw's Edit menu, then
either the clipboard is empty or the format of the bitmap is not compatible with Draw.

Working with Dynamo Sets


Click the appropriate link below for more information on working with Dynamo sets:

Creating Dynamos

Pasting Dynamos into Pictures

Modifying Dynamo Sets

Creating ADF Files

Importing ADF Files

Creating Dynamos

To create a Dynamo:
1.

In Draw, select the object or group of objects that you want to convert to a Dynamo.

2.

Click the Create Dynamo button in the Tool Box, or select Create Dynamo from the Dynamos
menu. The Create Dynamo dialog box appears.

3.

In the Set field, type a Dynamo set name up to 8 alphanumeric characters long, or click the
drop-down arrow and select an existing set in which to add the Dynamo.

4.

In the Name field, type a Dynamo name up to 11 alphanumeric characters long. This name
displays beneath the Dynamo in the set.

5.

Click OK. The Dynamo set opens at the bottom half of the Draw window and the cursor
becomes a stamper.

6.

Move the stamper to position the Dynamo and click the mouse. The User Prompts for the
Dynamo dialog box appears.

7.

In the User Prompt field for each object property code, enter a natural language prompt, up to
127 alphanumeric characters long. Surround the prompt with brackets if you are using partial

467

iFIX with FIX Desktop

substitution. If you do not enter a prompt, the current setting is always used.
NOTE: Although the you can enter prompts up to 127 characters long, when the Dynamo is
pasted into a picture, only the first 35 characters of the prompt are displayed.
8.

In the Dynamo name field, you can enter a new name for the Dynamo. This name will display
beneath the Dynamo in the set.

9.

Click OK.
NOTE: You can modify Dynamos at a later time by double-clicking the Dynamo in the set to
display the User Prompts for the Dynamo dialog box.

Pasting Dynamos into Pictures

To paste a Dynamo into a picture:


1.

In Draw, open the picture into which you want to paste the Dynamo.

2.

Click the Paste Dynamo from Set button on the Tool Box or select Paste From Set from the
Dynamos menu. The Open Dynamo Set dialog box appears.

3.

Select the set containing the Dynamo you want to paste into the picture and click OK. The
Dynamo set opens at the bottom half of the window.

4.

Click on the Dynamo. The set closes and an outline of the Dynamo appears. Move the outline
to the desired location in the picture and click again.
- Or Hold down the mouse button and drag the Dynamo into the picture. Release the mouse button
when the outline is in the desired location.
If the Dynamo has Dynamo prompts assigned, the Dynamo Properties dialog box appears. If
Dynamo prompts were not assigned, the objects automatically return to their original state.

5.

For each Dynamo prompt, enter a valid tagname, script variable, or text. If you do not enter a
value, the current setting is used. You can use the Tag List button to choose from a list of
valid tagnames.

6.

Click OK.
After a Dynamo with prompts is pasted into a picture, to modify individual object
properties, select the Dynamo in the picture and click the Convert to Objects button on
the Tool Box or select it from the Dynamos menu. The Convert to Objects command
returns the objects to their original state.

Modifying Dynamo Sets

468

iFIX with FIX Desktop

To modify Dynamo sets:


1.

In Draw, click the Open Dynamo Set button on the Tool Box, or click Open Set on the
Dynamos menu. In the Open Dynamo Set dialog box, select the set you want to open and
click OK.

2.

While the set is open you can:

3.

Delete Dynamos. First select the Dynamo you want to delete, and then select the
Delete command.

Drag Dynamos to different locations within the open set.

Modify Dynamo prompts. Double-click the Dynamo you want to modify to bring up
the User Prompts for the Dynamo dialog box, and make desired changes.

After you have finished making modifications to the set, click the Close Dynamo Set button
on the Tool Box, or on the Dynamos menu click Close Set. You are prompted to save the
changes.

Creating ADF Files


You can create an ADF file by using a text editor to define the Dynamos for a picture. You specify the
Dynamos you want to import into Draw by entering keywords followed by a string or a numeric
parameter.
All of a Dynamo's keywords must appear on the same line in the ADF file. Required keywords must
precede all optional keywords except for the SET keyword. Each line must end with a semicolon and
cannot exceed 200 characters. The following shows a simple example of a line in an ADF file:
SET("PUMPS") NAME("PUMP1") LOC(30,200);

Use the following order for the keywords in your ADF files:
1.

SET

2.

NAME

3.

LOC or FIT

4.

Optional keywords

The available keywords you can use are as follows:


Required Keywords

Description

NAME

The Dynamos name.

Syntax
NAME ("dynamoname")

469

iFIX with FIX Desktop

470

Required Keywords

Description

LOC

The picture coordinate pixel


locations. 0,0 is the top left
corner for all resolutions. The
600, 800 is bottom right corner
for a 600x800 resolution
monitor. This keyword can be
used in place of the FIT
keyword.

LOC (x,y)

FIT

Scales a Dynamo to fit the box


defined by the specified
coordinates. The top-left hand
corner is defined by the
coordinates (x1,y1); the bottom
right-hand corner is defined by
(x2,y2). This keyword can be
used in place of the LOC
keyword.

FIT (x1,y1,x2,y2)

Optional
Keywords

Description

SET

The Dynamo set where the


Dynamos resides. If the set
is not specified, Draw
searches all sets in the
picture path. When
specifying the Dynamo set,
do not include the file
extension (.SBL). For
increased performance, this
keyword is highly
recommended.

Syntax

Syntax

SET ("setname")

iFIX with FIX Desktop

Optional
Keywords

Description

FCOL
BCOL
ECOL

The Foreground (FCOL),


Background (BCOL), or
Edge color (ECOL) for all
objects in the Dynamo.
Enter the red, green, blue
(RGB) color codes after the
keyword. For example, to
specify the color red enter:

Syntax

FCOL (red, green, blue)


BCOL (red, green, blue)
ECOL (red, green, blue)

255,0,0
Valid RGB codes range
from 0 through 255. You
can determine the RGB
values of an object by
selecting that color from the
Define Color dialog box in
Draw. To display this
dialog box, double-click a
custom color from the
Color palette.
EDGE

The edge or line style for all


objects in the Dynamo. Use
the following list to specify
the appropriate code:

0 None

1 Thinnest (default)

2 Thinner

3 Thin

4 Normal

5 Thick

6 Thicker

7 Thickest

EDGE (number)

471

iFIX with FIX Desktop

Optional
Keywords

Description

PAT

The fill pattern style for all


objects in the Dynamo. Use
the following list to specify
the appropriate code:

ROT

0 None

1 Opaque (default)

2 Horizontal hatch

3 Vertical hatch

4 Diagonal
backward hatch

5 Diagonal forward
hatch

6 Cross-hatch

7 Diagonal crosshatch

The degree to rotate the


entire Dynamo. The degree
of rotation can range from 0
to 359.

Syntax

PAT (number)

ROT (degree)

Do not rotate Dynamos


containing ovals, text, Chart
links, Data links, or
bitmaps. Doing so may
distort the Dynamo.

472

SCALE

The percentage to scale the


size of the entire Dynamo.
For example, to double the
size of a Dynamos, enter a
scale of 200 percent.

SCALE (percent)

SUB

Replaces every occurrence


of the first node and tag
with the second node and
tag. The asterisk wildcard is
supported.

SUB("node1:tag1","node2:tag2")
SUB("node1:*","node2:*")
SUB("*:tag1","*:tag2")
SUB("*:*","node2:tag2")

iFIX with FIX Desktop

Optional
Keywords

Description

Syntax

PROMPT

Replace every occurrence


of the first Dynamo prompt
with the second Dynamo
prompt. Wildcards are not
supported for this keyword.

PROMPT ("prompt1","prompt2")

PROPERTY

Enables you to search for a


Dynamo prompt and
replace the prompt's current
value. Wildcards are not
supported for this keyword.

PROPERTY ("searchstring",
"property")

Importing ADF Files


Once you create an ADF file, you can import it into Draw.
To import an ADF file:
1.

In Draw, select Import Wizard from the File menu. The Welcome dialog box of the Import
Wizard appears.

2.

Select ADF and click Next. The File(s) to Import dialog box of the Import Wizard appears.

3.

Follow the step-by-step instructions to complete the Import Wizard.

When the import is complete, a message box appears indicating any syntax errors Draw may have
encountered. These errors are stored in a text file called IMPADF.LOG. This file is stored in the
picture path. By reviewing these errors you can fix any problems that may have occurred.

Using Dynamic Properties


Click the appropriate link below for more information on using dynamic properties:

Adding Command Language Scripts to Objects

Adding or Modifying a Color by Alarm Threshold

Adding or Modifying a Color by Value Threshold

Filling Objects Dynamically

Making Objects Appear and Disappear

Moving Objects Dynamically

Rotating Objects Dynamically

Scaling Objects Dynamically

Creating an SQL Startup Script

473

iFIX with FIX Desktop

Adding Command Language Scripts to Objects


The Command On Down, Command While Down, and
Command On Up dynamic properties let you add objects that
execute a command language script created with the Command
Language Editor.

To use these properties in Draw, select the Dynamic Properties command from the Edit menu or
double-click an object that you want to assign dynamic properties to. Then use the Dynamic Properties
dialog box to complete the task.
To add a command language script to an object:
1.

In Draw's Dynamic Properties dialog box, click the check box or icon next to each Command
property that you want to use to access the Command Language Editor dialog box.

2.

In the Command Language Editor, type the commands you want assigned to the object. Use
the SQL button to add or move an SQL command.

3.

Click OK to return to the Dynamic Properties dialog box.

Adding or Modifying a Color by Alarm Threshold


The Foreground, Edge, and Background color dynamic
properties let you add objects that change colors based on an
alarm state.

As the database tag records alarm states, you can let your operators know about the critical ones by
assigning colors to represent alarm states. Whether you are using the latched or current alarm strategy,
the procedures and dialog box are the same.
To use these properties in Draw, select the Dynamic Properties command from the Edit menu or
double-click an object that you want to assign dynamic properties to. Then use the Dynamic Properties
dialog box to complete the task.
To add or modify a color by alarm threshold:
1.

In Draw's Dynamic Properties dialog box, click the check box or icon next to one of the color
properties. The Color Threshold Definition dialog box appears.

2.

Select the Latched Alarm or Current Alarm button in the Color by area.

3.

Specify the target tag in the Tagname field or click the browse (...) button button to use the
Tag Select dialog box. If you enter a tag that does not exist, Draw asks you whether you want
to use it anyway. Alternatively, you can enter a variable or a tag group symbol.
NOTE: Draw fills in the node and field for you with the default SCADA node and the
appropriate field. If you want to specify a different node, enter the tagname in node:tag
format. Tag group symbols and variables used in the color by alarm threshold must reference
a tagname substitution formatted as NODE:TAG.B_LAALM for latched alarms, and
NODE:TAG.B_CUALM for current alarms.

474

iFIX with FIX Desktop

4.

Check the Blink on a New Alarm check box if you want the object to begin blinking every
time the database tag registers a new alarm and stop blinking when you acknowledge the
alarm.

5.

To add a new threshold, click Add. To modify an existing threshold, double-click the
threshold, or select the threshold and press Modify. In either case, the Color by Alarm dialog
box appears.

6.

Scroll through the Possible Alarms list box until you see the desired alarm. Click to select it.

7.

Choose the characteristic for the threshold from the Threshold Color area: Visible, Invisible,
or Blinking.
NOTE: For the Background dynamic property, do not use a blinking threshold unless the
object has a hatched fill pattern.

8.

If necessary, click the color button to change the color of the threshold.

9.

Click OK to return to the Color Threshold Definition dialog box.

Adding or Modifying a Color by Value Threshold


The Foreground, Edge, and Background color dynamic
properties let you add objects that change colors based on a
value. When the value of a database tag equals the value
assigned to a color, the object displays that color.

To use these properties in Draw, select the Dynamic Properties command from the Edit menu or
double-click an object that you want to assign dynamic properties to. Then use the Dynamic Properties
dialog box to complete the task.
To add or modify a color by value threshold:
1.

In Draw's Dynamic Properties dialog box, select the check box or click the icon next to one of
the color properties. The Color Threshold Definition dialog box appears.

2.

In the Color by area, select the Current Value button.

3.

Specify the target tag in the Tagname field or click the browse (...) button to use the Tag
Select dialog box. If you enter a tag that does not exist, Draw prompts you to add the tag to
the database. Alternatively, you can enter a variable or a tag group symbol.
NOTE: Draw fills in the node and field for you with the default SCADA node and F_CV. If
you want to specify a different node and field enter the tagname in node:tag.field format. The
field must be in floating point (F_ ) format. Tag group symbols used in the color by value
threshold must reference a tagname substitution formatted as NODE:TAG.F_ field.

4.

Check the Blink on a New Alarm check box if you want the object to begin blinking every
time the database tag registers a new alarm and stop blinking when you acknowledge the
alarm. The rate at which the object blinks is defined in the VIEW.INI file.

5.

To add a new threshold, click Add. To modify an existing threshold, double-click the
threshold, or select the threshold and press Modify. In either case, the Color by Value dialog
box appears.

6.

Enter the number in the Value field that corresponds to the highest value of the range of

475

iFIX with FIX Desktop

values that should have this color assignment.


7.

Choose the characteristic for the threshold: Visible, Invisible, or Blinking.


NOTE: For the Background dynamic property, do not use a blinking threshold unless the
object has a hatched fill pattern.

8.

If necessary, click the color button to change the color of the threshold.

9.

Click OK to return to the Color Threshold Definition dialog box.

Filling Objects Dynamically


The Horizontal (Left/Right) and Vertical (Up/Down) dynamic properties let
you add objects that dynamically fill to your displays.

To use these properties in Draw, select the Dynamic Properties command from the Edit menu or
double-click an object that you want to assign dynamic properties to. Then use the Dynamic Properties
dialog box to complete the task.
To fill an object dynamically:
1.

In Draw's Dynamic Properties dialog box, select the check box or click the icon next to the
Horizontal or Vertical fill percentage property. The Horizontal dialog box or the Vertical Fill
dialog box appears.

2.

Specify a tag in the Tagname field or click the browse (...) button to use the Field Select
dialog box. If you enter a tag that does not exist, Draw prompts you to add the tag to the
database. Alternatively, you can enter a tag group symbol or a variable.
NOTE: Draw fills in the node and field for you with the default SCADA node and F_CV. If
you want to specify a different node and field, enter the entire tagname in node:tag.field
format. The field must be in floating point format (F_).

3.

Select the fill direction by clicking the appropriate radio button.

4.

In the Low Limit field, enter the low limit. In the High Limit field, enter the high limit. You
can also press the Fetch Limits button to fill in the Low and High limit fields with the EGU
limits specified in the database tag.
TIP: If you enter 0 (zero) for both the high and low limits, View automatically retrieves the
tag's EGU limits when the picture is opened. Note that you cannot press the Fetch Limits
button to retrieve EGU limits when a variable is used in place of a tag.
NOTE: The limits specified here do not have to match the EGU limits from the database tag.
The limits you do enter should accurately cover the possible values of the target tag. If the
database value falls outside the specified limits, the object fills to either the maximum or
minimum percentage.

476

5.

Calculate the amount you want the object filled when the database tag equals the low limit
entry. Enter that number in the Minimum Percentage field.

6.

Calculate the amount you want the object filled when the database tag equals the high limit
entry. Enter that number in the Maximum Percentage field.

7.

Click OK to return to the Dynamic Properties dialog box.

iFIX with FIX Desktop

NOTE: When you group objects and assign a dynamic fill, the group fill overrides any group
members that also have the same dynamic fill property. Therefore, View does not fill each
group member individually, instead it fills them in a series, starting at one end and moving to
the other.

Making Objects Appear and Disappear


The Visible dynamic property lets you add objects that appear and disappear to your
displays.

To use this property in Draw, select the Dynamic Properties command from the Edit menu or doubleclick an object that you want to assign dynamic properties to. Then use the Dynamic Properties dialog
box to complete the task.
To make an object appear and disappear:
1.

In Draw's Dynamic Properties dialog box, click the check box or icon next to the Visible
property. The Visibility dialog box appears.

2.

Specify a tag in the Tagname field or click the browse (...) button to use the Field Select
dialog box. If you enter a tag that does not exist, Draw prompts you to add the tag to the
database. Alternatively, you can enter a variable or a tag group symbol.
NOTE: Draw fills in the node and field for you with the default SCADA node and F_CV. If
you want to specify a different node and field, enter the entire tagname in node:tag.field
format. The field must be in floating point format (F_).

3.

In the Value field, enter the number you want to compare the database value to.

4.

In the Conditions area, choose the desired logical comparison by clicking the appropriate
button:

Condition

Object is visible when the...

<

Current value is less than the entry in the Value field.

>

Current value is greater than the entry in the Value field.

Current value is greater than (Value - Tolerance) or the current value is less than
(Value + Tolerance).
When you select this comparison, you are required to enter a Tolerance amount.
If you want the object to only be visible when the current value is equal to the
entry in the Value field, enter 0 (zero) in the Tolerance field.

477

iFIX with FIX Desktop

Moving Endpoints Dynamically


The Endpoint 1 and Endpoint 2 dynamic properties let you add dynamically
moving endpoints to your displays. This procedure is common to both of
these properties.

To use one of these properties in Draw, select the Dynamic Properties command from the Edit menu,
or double-click the line to which you want to assign endpoint position dynamic properties. Then use
the Dynamic Properties dialog box to complete the task.
To move endpoints dynamically:
1.

In Draw's Dynamic Properties dialog box, click the check box or icon next to the Endpoint 1
or Endpoint 2 position property to access the Endpoint 1 or Endpoint 2 Position dialog box.

2.

Specify a tag in a Tagname field or click the browse (...) button to use the Field Select dialog
box. If you want to move the endpoint horizontally, specify a tag in the Tagname (X) field.
Likewise, if you want to move the endpoint vertically, specify a tag in the Tagname (Y) field.
To create diagonal movement, specify a tagname in both Tagname fields. Remember that you
can click the browse (...) buttons, located to the right of both Tagname fields, to select a tag
from the Field Select dialog box.
If you enter a tag that does not exist, Draw prompts you to add the tag to the database.
Alternatively, you can enter a variable or a tag group symbol.
NOTE: Draw fills in the node and field with the default SCADA node and F_CV. If you want
to specify a different node and field, enter the entire tagname in node:tag.field format. The
field must be in floating point format (F_).

3.

In the Low Limit field, enter the low limit. In the High Limit field, enter the high limit. You
can also press the Fetch Limits button to fill in the Low and High limit fields with the EGU
limits specified in the database tag.
TIP: If you enter 0 (zero) for both the high and low limits, View automatically retrieves the
tag's EGU limits when the picture is opened, Note that you cannot press the Fetch Limits
button to retrieve EGU limits when a variable is used in place of a tag.
NOTE: The limits specified here do not have to match the EGU limits from the database tag.
The limits you do enter should accurately cover the possible values of the target tag. If the
database value falls outside the specified limits, the endpoint moves to either the maximum or
minimum offset.

4.

Calculate the number of inches that you want the endpoint to move from its origin when the
tag equals the low limit entry. Enter the number in the Minimum Offset field. Use positive or
negative numbers to control direction.

5.

Calculate the number of inches that you want the endpoint to move from its origin when the
tag equals the high limit entry. Enter the number in the Maximum Offset field. Use positive or
negative numbers to control direction.
TIP: For best performance, position the endpoint in Draw at one extreme of the movement
range. Then leave the Minimum Offset field at zero and specify a positive or negative number
in the Maximum Offset field.

478

iFIX with FIX Desktop

6.

Enable the Allow Input Properties check box if you want operators to change database values
by manipulating the endpoint in View. As the operator drags the endpoint left, right, up, or
down, View writes new values to the database.

7.

Click OK to return to the Dynamic Properties dialog box.

Moving Objects Dynamically


The Horizontal and Vertical dynamic properties let you add dynamically
moving objects to your displays. The procedure and dialog boxes are
common to both properties, without exception. Once you learn to use one
property, you have learned to use both.

To use one of these properties in Draw, select the Dynamic Properties command from the Edit menu or
double-click an object that you want to assign dynamic properties to. Then use the Dynamic Properties
dialog box to complete the task.
To move an object dynamically:
1.

In Draw's Dynamic Properties dialog box, click the check box or icon next to the Horizontal
or Vertical position property. The Horizontal dialog box or Vertical Position dialog box
appears.

2.

Specify a tag in the Tagname field or click the browse (...) button to use the Field Select
dialog box. If you enter a tag that does not exist, Draw prompts you to add the tag to the
database. Alternatively, you can enter a variable or a tag group symbol.
NOTE: Draw fills in the node and field with the default SCADA node and F_CV. If you want
to specify a different node and field, enter the entire tagname in node:tag.field format. The
field must be in floating point format (F_).

3.

In the Low Limit field, enter the low limit. In the High Limit field, enter the high limit. You
can also press the Fetch Limits button to fill in the Low and High limit fields with the EGU
limits specified in the database tag.
TIP: If you enter 0 (zero) for both the high and low limits, View automatically retrieves the
tag's EGU limits when the picture is opened, Note that you cannot press the Fetch Limits
button to retrieve EGU limits when a variable is used in place of a tag.
NOTE: The limits specified here do not have to match the EGU limits from the database tag.
The limits you do enter should accurately cover the possible values of the target tag. If the
database value falls outside the specified limits, the object moves to either the maximum or
minimum offset.

4.

Calculate the number of inches that you want the object to move from its origin when the tag
equals the low limit entry. Enter the number in the Minimum Offset field. Use positive or
negative numbers to control direction.

5.

Calculate the number of inches that you want the object to move from its origin when the tag
equals the high limit entry. Enter the number in the Maximum Offset field. Use positive or
negative numbers to control direction.
TIP: For best performance, position the object in Draw at one extreme of the movement
range. Then leave the Minimum Offset field at zero and specify a positive or negative number

479

iFIX with FIX Desktop

in the Maximum Offset field.


6.

Enable the Allow Input Properties check box if you want operators to change database values
by manipulating the object in View. As the operator drags the object left, right, up, or down,
View writes new values to the database.

7.

Click OK to return to the Dynamic Properties dialog box.

Rotating Objects Dynamically


The Rotate dynamic property lets you add objects that dynamically rotate to your
displays.

To use this property in Draw, select the Dynamic Properties command from the Edit menu or doubleclick an object that you want to assign dynamic properties to. Then use the Dynamic Properties dialog
box to complete the task.
To rotate an object dynamically:
1.

In Draw's Dynamic Properties dialog box, click the check box or icon next to the rotate
property. The Rotation dialog box appears.

2.

Specify a tag in the Tagname field or click the browse (...) button to use the Field Select
dialog box. If you enter a tag that does not exist, Draw prompts you to add the tag to the
database. Alternatively, you can enter a variable or a tag group symbol.
NOTE: Draw fills in the node and field for you with the default SCADA node and F_CV. If
you want to specify a different node and field, enter the entire tagname in node:tag.field
format. The field must be in floating point format (F_).

3.

In the Low Limit field, enter the low limit. In the High Limit field, enter the high limit. You
can also press the Fetch Limits button to fill in the Low and High limit fields with the EGU
limits specified in the database tag.
TIP: If you enter 0 (zero) for both the high and low limits, View automatically retrieves the
tag's EGU limits when the picture is opened. Note that you cannot press the Fetch Limits
button to retrieve EGU limits when a variable is used in place of a tag.
NOTE: The limits specified here do not have to match the EGU limits from the database tag.
The limits you do enter should accurately cover the possible values of the target tag. If the
database value falls outside the specified limits, the object rotates to either the maximum or
minimum angle.

4.

Calculate the angle that you want the object to rotate to when the database tag equals the low
limit entry. Enter that number in the Minimum Angle field.
NOTE: You can use values from -360 to 360 degrees. A minimum angle of 0 and a maximum
angle of 360 degrees produces clockwise rotation. A minimum angle of 0 and maximum angle
of -360 degrees produces counter-clockwise rotation.

480

5.

Calculate the angle that you want the object to rotate to when the database tag equals the high
limit entry. Enter that number in the Maximum Angle field.

6.

Draw automatically calculates the center of the object and inserts the coordinates in the X

iFIX with FIX Desktop

Coordinate and Y Coordinate fields. If you want the object to rotate around a point other than
the objects center, adjust the values in these fields. The coordinates 0, 0 inches represents the
top left-hand corner of the picture.
7.

Click OK to return to the Dynamic Properties dialog box.


TIP: You may want to use the Horizontal and Vertical Position properties to achieve the
exact rotation point needed.

Scaling Objects Dynamically


The Scale dynamic property lets you add objects that dynamically change size to your
displays.

To use this property in Draw, select the Dynamic Properties command from the Edit menu or doubleclick an object that you want to assign dynamic properties to. Then use the Dynamic Properties dialog
box to complete the task.
To scale an object dynamically:
1.

In Draw's Dynamic Properties dialog box, click the check box or icon next to the scale
property. The Scale dialog box appears.

2.

Specify a tag in the Tagname field or click the browse (...) button to use the Field Select
dialog box. If you enter a tag that does not exist, Draw prompts you to add the tag to the
database. Alternatively, you can enter a variable or a tag group symbol.
NOTE: Draw fills in the node and field for you with the default SCADA node and F_CV. If
you want to specify a different node and field, enter the entire tagname in node:tag.field
format. The field must be in floating point format (F_).

3.

In the Low Limit field, enter the low limit. In the High Limit field, enter the high limit. You
can also press the Fetch Limits button to fill in the Low and High limit fields with the EGU
limits specified in the database tag.
TIP: If you enter 0 (zero) for both the high and low limits, View automatically retrieves the
tag's EGU limits when the picture is opened. Note that you cannot press the Fetch Limits
button to retrieve EGU limits when a variable is used in place of a tag.
NOTE: The limits specified here do not have to match the EGU limits from the database tag.
The limits you do enter should accurately cover the possible values of the target tag. If the
database value falls outside the specified limits, the object scales to either the maximum or
minimum percentage.

4.

Calculate the percent size that you want the object to scale to when the database tag equals the
low limit entry. Enter that number in the Minimum Percentage field.
NOTE: If you enter zero, the object disappears from the screen when the database field
equals the low limit.

5.

Calculate the percent size that you want the object to scale to when the database tag equals the
high limit entry. Enter that number in the Maximum Percentage field.
TIP: For best performance, leave the Maximum Scale field at 100 percent.

481

iFIX with FIX Desktop

6.

Click OK to return to the Dynamic Properties dialog box.

Creating an SQL Startup Script


Using the Picture dialog box in Draw, you can create an SQL startup script. For additional flexibility
and ease-of-use, you can also create an SQL startup script from a Data link.
To create an SQL startup script:
1.

In Draw, on the Edit menu, click Picture. The Picture dialog box appears.
Alternatively, create a Data link, and in the Tagname field enter the name of the table variable
that will store the relational database data.

2.

From the Picture dialog box, click the SQL Commands on Opening button or the SQL
Commands check box to access the Command Language Editor.
From the Data link dialog box, click the SQL button to access the Command Language
Editor.

3.

Create a numeric variable to store the completion status of the SQL command:
DECLARE #VAR1 NUMERIC PICTURE

4.

Create a table variable to use with a Data link:


DECLARE #TVAR[10][10] TABLE PICTURE

5.

Set the value of the numeric variable with the following mathematical expression to enable
the SQL button:
#VAR1 =

where #VAR1 is the name of the numeric variable you created with a DECLARE command
in step 3.
6.

Click the SQL button to access the SQL Command Configurator and select the SQL
command parameters.

7.

Create a Data link that references the table variable you created:
#TVAR[1][1]

Editing Links
While in Draw, you can change the settings of any link (except system Time and Date links). Simply
double-click a link to bring up its dialog box (or you can select a link and then select Dynamic
Properties from the Edit menu).
Links can be grouped with all other types of objects. However, if a link you want to edit is in a
grouped object, you must first ungroup the object before you can edit the link. You can also cut, copy,
paste, duplicate, and delete links the same way you do other objects. You can move and stretch links.
You can also use some style (font, or color) options.
NOTE: You cannot add dynamic properties to a link. In a sense, a link is an object with a predefined
set of dynamic properties. You can, however, add dynamic properties to a group that contains links. (A
link can also be grouped by itself.)

482

iFIX with FIX Desktop

Displaying a Count of Acknowledged and Unacknowledged


Alarms

To display a count of acknowledged and unacknowledged alarms:


1.

Create a Data link.

2.

In the Tagname field, enter an alarm counter field.

Example
Assume 20 acknowledged low priority alarms exist in your node, called SCADA01. You can directly
access and display the number of acknowledged low priority alarms by creating a Data link and
entering the following tagname:
SCADA01:SYSTEM.A_ACKL

483

Glossary
You should be familiar with the following special terms used frequently in Draw. Click any term to
display the term's definition in a pop-up window.

A-B
ADF File
Alarm Areas
Alarm Counter Fields
Alarm Priority
Application Feature
Asterisk Wildcard Character

C
Chart Link
Click and Stick
Clipboard
Color Box
Color Palette
Color Threshold
Command Language Script
Compression Mode
Configurable Blink Speed
Cross-Hair Cursor

D-E
DRAW.INI File
Dynamic Properties
Dynamo
Dynamo Prompt
DXF File
Environment Protection

F-G
Flip
Font

485

iFIX with FIX Desktop

Grid
Grouped Objects

H-L
Handles
I-Beam Cursor
Import Wizard
Information Link
Input Dynamics
Insertion Cursor

M-N
Macro
Macro File
Masking
Nudging

O-Q
Object Property Codes
Partial Substitution
Picture Caching
Picture Fit To Window
Picture Report
Pitch
Points
Polygon
Polyline
Pop-up Picture
Preload Pictures
Properties

R-S
Refresh Rate
Resolve
Security Area
Special Purpose Link

486

iFIX with FIX Desktop

Stacking
Stamper Cursor
Standard Picture
Subpicture
Substitution
System Menu

T-Z
Tag Group Symbol
Tag Group File
Template
Tool Box
ToolTips
Variable
VIEW.INI file

A-B
ADF File
An ADF file (ASCII Definition File) is a text file that defines one or more Dynamos. By importing the
file into Draw, you can add Dynamos to a picture without cutting and pasting them from a Dynamo set.
ADF files contain keywords. Each keyword defines a portion of a Dynamo. Keywords must be entered
in all uppercase or all lowercase text. Keyword strings cannot contain the following characters:
" "( ) , ; \t \r \n

Other extraneous characters are ignored.


Information for a Dynamo is defined on a separate line. Each line must end with a semicolon(;) and
cannot exceed 200 characters.

Alarm Area
An alarm area identifies a physical or functional division of a plant that acts as a routing label for
alarms and messages.

Alarm Counter Fields


Alarm counter fields count the number of acknowledged and unacknowledged alarms in the database.
Counts are kept by alarm priority and alarm area.

487

iFIX with FIX Desktop

Alarm Priority
Each database tag is assigned an alarm priority as a means of screening alarms. Alarm priorities are
INFO, LOLO, LOW, MEDIUM, HIGH, HIHI, or CRITICAL. SCADA nodes automatically default to
a priority of Low when you start your FIX software. When a tag generates an alarm, the tag's alarm
priority is compared to the SCADA node's alarm priority before alarms are sent to alarm area.

Application Feature
An application feature is an account privilege, assigned in the Security Configuration program, that
allows a user to run an application or access specific commands within an application.

Asterisk Wildcard Character


The asterisk (*) wildcard character is a substitution for a node, tag, or field name. You can use the
asterisk when you are selecting a node:tag.field for links and dynamic properties. For example:
Example

Description

*:*

Search for all tagnames.

N*

Search for all node names that begin with N.

*:PUMP*

Search for all tagnames named PUMP on all nodes.

You can also use the asterisk(*) wildcard when you are searching and replacing tagnames. For
example:

488

Field

Example

Description

Search For

*:*

Search for all tagnames.

Search For

N*:*

Search for all tags with a node name that


begins with N.

Search For

NODE*:*

Search for all tags with a node name that


begins with the first four characters NODE.

Search For

*:TAG

Search for all tags with TAG as the tag type.

Search For

NODE:*

Search for all tags with NODE as the node


name.

Replace With

*:TAG

Replace the search tag with TAG, and leave the


node as is.

iFIX with FIX Desktop

Field

Example

Description

Replace With

N*:*

Replace the first character of the search node


with N, and leave the tag as is.

Replace With

NODE*:*

Replace the first four characters of the search


node with NODE, and leave the tag as is.

C
Chart Link
A chart link is a special object that allows you to display real-time database and system data as familiar
graph charts in View. Chart links generally behave like grouped graphic objects even though they
cannot be ungrouped. These links include:

Multi-Pen Trend Link

Multi-Bar Trend Link

XY Plot Link

XBAR Link

RBAR Link

SBAR Link

Histogram Link

489

iFIX with FIX Desktop

Click and Stick


Click and Stick allows the View user to easily see which objects can be selected. When enabled, as the
mouse moves around the screen, a single highlighted box 'clicks' around the object if it is selectable. If
the object is highlighted, you can select or 'stick' the object. In addition, if sound support is enabled,
'click' and 'stick' sounds play. Click and Stick is configured in the VIEW.INI file. By default it is Click
and Stick is enabled and by default sound support is disabled.

Clipboard
Your window manager comes with a special data area called the clipboard. Draw uses this clipboard to
temporarily hold data.

Color Box
The color box contains two color areas: the Standard colors and the Custom colors. The Standard
colors cannot be changed. The top row of colors are the 16 colors that remain solid regardless of the
type of video driver being used. Use these colors if you need to create pictures that are downward
compatible (from 256 color to 16 color drivers). You can change colors in the Custom area to create a
custom color palette.

Color Palette
The Draw color palette contains the spectrum of colors available for your objects. You can customize
64 of these colors with extreme precision to formulate the exact colors you need. The remaining colors
are standard and cannot be changed. You can create and save custom color palettes; however you can
only use one palette at one time. Custom palettes are saved in the picture path, and have a .PLT file
extension.
Use one palette throughout your system to preserve colors. If you draw a picture using one palette and
later open that picture using a different palette, the picture's custom colors change to the custom colors
specified in the current palette. Also note that View must use the same color palette that was used to
draw the picture. You define View's palette in the VIEW.INI file.

Color Threshold
A color threshold is either a color and value combination (Color by Value) or a color and alarm state
combination (Color by Alarm or Color by Latched Alarm).
For a value threshold, you specify the upper limit of the range of values that correspond to a color.
When the value of the target database field is less than or equal to the threshold, but greater than all
lower thresholds, the foreground, edge, or background color of the object changes to the defined color.
For an alarm threshold, you specify the color that correspond to an alarm state. When the target
database tag is in an alarm state, the object changes to the defined color.

Command Language Script


A command language script contains commands that let operators perform a number of various tasks
by pressing a key sequence, clicking the mouse button, or touching the screen in View. You define
these operator tasks by using the Command Language Editor to create scripts that can be assigned to:

490

iFIX with FIX Desktop

A key or key combination in the Macro Editor.

The properties of a picture, so that the script executes when an operator opens or closes the
picture.

A Push Button link in a picture.

The dynamic properties of an object, so that the script executes when an operator selects the
object.

Compression Mode
Trend charts automatically enter compression mode when a large time duration causes the total number
of trended points to exceed 1,000 points. In compression mode, charts filter out a proportion of data
points. There is a loss of precision when compression in enabled. If you want all the points trended to
be plotted on the chart, use a shorter time duration.

Configurable Blink Speed


The configurable blink speed, defined in the VIEW.INI file, is the delay that the colors blink on the
screen. You can configure colors to blink with the foreground, background, and edge color dynamic
properties. These colors can blink on either a value or an alarm. When blinking is requested, the blink
speed is used by The Color by Value and the Color By Alarm thresholds, and Data links. By default,
the blink rate is set to every 1/2 second.

Cross-Hair Cursor
The cross-hair cursor creates rectangles, ovals, lines, polygons, and polylines.
To use the cross-hair cursor, move it with the mouse. Click and drag to create rectangles, ovals, and
lines. Click once for each point to create polylines and polygons. Double-click to finish.

D-E
DRAW.INI File
The DRAW.INI file is an ASCII file that contains configuration information for the:

Tool Box

Color Box

Database Tag On/Off Scan options.

Number of undo actions allowed.

You can edit the DRAW.INI file, located in the local path, using the Notepad program or another text
editor.

Dynamic Property
A dynamic property is an object attribute that changes in View based primarily on changes in database

491

iFIX with FIX Desktop

values. You can use dynamic properties to produce real-time effects like color and animation, and
create command language scripts for objects.
NOTE: When a dynamic property cannot get the required data from a database because of a
communication or database error, the dynamic property is disabled. The object appears in View as it
would when you open the picture in Draw.

Dynamo
You can convert custom-built objects, links, and application scripts, such as pumps, valves, and charts
into higher-level reusable graphic wizards called Dynamos.
You store Dynamos in sets and paste Dynamos from the sets into pictures. You can assign natural
language Dynamo prompts for each object property contained in a Dynamo. When pasting a Dynamo
into a picture, the prompts act as labels allowing you to enter values that are appropriate for the current
picture.

Dynamo Prompt
When pasting a Dynamo into a picture, prompts act as labels allowing you to enter the actual
tagnames, text, or script variables that apply to the current picture. Prompts can be up to 127
alphanumeric characters long, and can include spaces. For example:
Enter Measurement Tagname

You can enter duplicate prompts for multiple object properties so that you are only prompted once for
each item that was assigned that prompt. Also, for tagnames where you know the field component will
not change, you can use partial substitution.

DXF File
A .DXF file is an AutoCAD file which can be imported into Draw through the Import Wizard and then
used as an .ODF file. Dynamic properties can then be assigned to the imported objects.

Environment Protection
Environment protection is used to create a secure environment that prevents the operator from
performing unauthorized actions, including:

492

Starting other tasks.

Opening unauthorized pictures.

Switching to unauthorized tasks.

Closing the current picture.

Exiting View.

Rebooting the system using Ctrl+Alt+Del.

iFIX with FIX Desktop

F-G
Flip
Flipping is the process of swinging an object over the vertical or horizontal axis, as if the object were
hinged to it.

Font
A font is a text design. The characters in a text object all have a common design.

Grid
The grid is a tool for helping you layout and align objects in a picture. When you enable the grid,
evenly spaced dots appear on your screen. These dots represent the intersection of invisible guidelines.

Grouped Objects
A grouped object is a set of objects that has been joined together with the Group command. Once you
group objects into one single object, you can manipulate the group like any other object. You can
move, cut, paste, copy, stretch, and assign dynamic properties to a group, using the same methods used
for individual objects.
NOTE: Operators change values and execute command language scripts in View with the same
method: double-clicking on a selected object. Therefore, you should not assign the Command dynamic
property to a group that contains modifiable links because the command language script execution
takes priority over the ability to change values.

H-L
Handles
Handles are small squares located on the corners and sides of an object that you have selected with the
mouse. Handles allow you to resize an object horizontally, vertically, or both ways at the same time by
dragging the appropriate handle.
An object with solid handles has dynamic properties. An object with hollow handles does not have
dynamic properties.

I-Beam Cursor
The I-Beam cursor marks the start of a new text object or places the insertion cursor within an existing
text object.
To use the I-Beam cursor, use the mouse to move the I-Beam. Click to place the insertion cursor.

493

iFIX with FIX Desktop

Import Wizard
The Import Wizard is the mechanism for importing graphics files into Draw. Follow the step-by-step
instructions presented by the Wizard to import .ADF, .DXF, and .PCX files into Draw, either
individually or in a batch-mode.

Information Link
An information link is a special object that allows you to display real-time database and system data as
numbers and text in View. Information links generally behave like text objects. These links include:

Data Link

Date Link

Time Link

System Information Link

Input Dynamics
Input dynamics, configured in the VIEW.INI file, is the method that View uses to write values to the
database. You can configure View to use one of the following methods:

Write values when the operator releases the mouse button.

Write values while the operator is pressing the mouse button at a specified interval. This is the
default method with an interval of 2 seconds.

Insertion Cursor
The Insertion cursor lets you create or edit text in your pictures.
To use the Insertion cursor, move the cursor within a text object with the arrow keys. Use the I-Beam
cursor to place it in a new or different text object.

M-N
Macro
A macro defines a key or key combination that executes a command language script upon request.
Your FIX software includes default macros for both Draw and View that enable the application's

494

iFIX with FIX Desktop

accelerator keys.

Macro File
A macro file contains up to 256 default or user-defined macros. Your FIX software appends a .KMX
file extension to all macro files and stores them in the picture path defined in the System Configuration
Utility (SCU).

Masking
Masking is a technique for creating complex objects. This technique is a way of appearing to remove
unwanted parts from a shape. By creating objects that match your background color and have no edge,
you can make parts of a shape disappear.

Nudging
Nudging is the act of moving an object by the smallest possible increment. Use the arrow keys to
nudge a selected object.

O-Q
Object Property Codes
The following table provides a description of all the codes that can appear in the User Prompts for the
Dynamo dialog box.
Code

Description

FCOLOR

Dynamic fill color

ECOLOR

Dynamic edge color

BCOLOR

Dynamic background color

XPOS

Dynamic horizontal position

YPOS

Dynamic vertical position

ROTATE

Dynamic rotate

HFILL

Dynamic horizontal fill

ENDPT1X

Dynamic horizontal position of endpoint 1

495

iFIX with FIX Desktop

Code

Description

ENDPT2X

Dynamic horizontal position of endpoint 2

TEXT

The text added to the object

VIS

Dynamic visibility

SCALE

Dynamic scale

GTAG

Group tagname

PEN#

Pen or bar on a chart link. Named by number (Pen1, Pen2, and so on)

TAG

Tagname or node name for a link

CMD

Command in the Command Language script

VFILL

Dynamic vertical fill

ENDPT1Y

Dynamic vertical position of endpoint 1

ENDPT2Y

Dynamic vertical position of endpoint 2

Partial Substitution
When defining Dynamo prompts you can use partial substitution. Use partial substitution when you
know that the field component of the tagname will not change. For example, if you know that the field
will always be F_CV, you can define a prompt for just the node and tag portion of the tagname.
When using partial substitution, you must surround the prompt text with brackets. Use an asterisk to
mark the field as static. The syntax is as follows:
{Prompt Text}.*

For example:
{Enter Measurement Tag}.*

Picture Caching
Picture caching is an option configured in the VIEW.INI file that optimizes the performance of View
when opening pictures. The picture cache stores pictures in memory so that each time you open a
cached picture, it opens quickly. When enabled, View sets up a cache capable of holding the number of
pictures you specify, including any preload pictures. By default, caching is enabled and is set to five

496

iFIX with FIX Desktop

pictures. When you close a picture in View, it is automatically stored in the cache. If the cache slots are
full, the oldest cached picture (excluding preloaded pictures) is removed from the cache to make a slot
available.

Picture Fit To Window


Picture Fit To Window, configured in the VIEW.INI file, is a means by which you configure how
View opens and replaces pictures that do not have dimensional parameters specified. By default,
pictures without parameters that are opened (via the OPENPIC command) or replaced (via the
REPLACEPIC command), use the parameters in which the picture was drawn. If the picture is larger
than the View window, scroll bars are displayed.

Picture Report
A picture report contains information on picture-specific properties and the dynamic properties for
each object or link. Listed below are examples of the kinds of information that can appear in the report:
Picture-Specific Properties

Dynamic Properties for each Object or


Link

Name

Controllable

Width

Modifiable

Height

Foreground Color

Background Color

Horizontal Position

Refresh Rate

Visible/Invisible

Key Macro

Scaling

Security Area

Horizontal Fill
Command List

Pitch
The pitch is the width of a character.

Points
A point is equal to 1/72 of an inch. For example, a font with a point size of 36 takes up roughly 1/2 of
an inch for each line.

497

iFIX with FIX Desktop

Polygon
A polygon is a closed plane figure bounded by three or more line segments.

Polyline
A polyline is a line with many segments.

Pop-up Picture
A pop-up picture is a picture that is always in front of all currently open pictures. Pop-up pictures can
also be configured to be always on top. When this option is selected for a pop-up picture, it remains
in front of all open windows. Pop-up pictures also move independently from View.

Preload Pictures
Preload pictures are configured in the picture caching section of the VIEW.INI file. You can preload
commonly-used pictures to guarantee that those pictures will always be stored in the cache. The most
recent version of preload pictures is always stored in the cache.

Properties
Properties are attributes of pictures or objects that you can alter in Draw using the color box, the Fill
and Line Style commands, and dialog boxes. Graphic objects can have up to five color and style
properties:

498

Property

Description

Foreground color

Changes the color of a fill. The foreground color is the


fill color when you use a solid fill pattern, the color of
text, or the color of the lines when you use a hatch
pattern.

Background color

Changes the background color when you use one of the


six hatch line patterns. The background color is the
color of the space between the hatch lines.

Edge color

Changes the color of an edge, line, or polyline.

Line style

Changes the width of an edge, line, or polyline.

Fill style

Changes the pattern style to solid (the default), one of


six hatch line patterns, or none.

iFIX with FIX Desktop

R-S
Refresh Rate
The refresh rate is the rate, in seconds, at which View updates the picture with new database values.
Refresh rates can range from 0.05 to 1800 seconds. The default refresh rate for pictures is 0.1.
NOTE: When using the Alarm Summary link, set the refresh rate of the picture to a value greater than
the default of 0.1 seconds. The refresh rate must be a value greater than 0.1 for the Acknowledge One
command to function properly. The Acknowledge One command is available from the Alarms menu in
View.

Resolve
Resolving is a method to optimize the speed at which pictures open in View. Database information for
each tag in a picture and tag group file are saved as part of the file on disk. When a picture is displayed
in View, and the database information is not up to date, View has to query the database and resolve the
tag definitions; a time consuming process. Resolving in Draw eliminates the need for View to query
the database. The end result is that the picture opens faster in View.

Security Area
A security area is a physical or functional division of a process that allows you to restrict access to
operator displays and write protect database tags. Security areas can be process hardware (such as
pumps or ovens) or utilities (such as fuel, water, or steam), or maintenance functions.

Special Purpose Link


A special purpose link is a special object that allows you to add push buttons or alarming information
to your displays. Special purpose links generally behave like grouped graphic objects even though they
can't be ungrouped. These links include:

Push Button link

Alarm Summary link

Stacking
Stacking is a technique for creating complex objects. In an object-oriented environment, moving one
object on top of another does not erase the object underneath. You can stack many objects on top of
each other. In this way, you can stack simple shapes to create a complex shape. When you select and
group the stack, it becomes a new object.

499

iFIX with FIX Desktop

Stamper Cursor
The Stamper cursor positions a link that you're adding to the picture and positions a newly created
Dynamo that you are adding to a Dynamo set.
To use the Stamper, move the Stamper with the mouse. Use the outline of the object you're inserting to
position it. Click to place the object.

Standard Picture
A standard picture is most commonly used for your full screen displays.

Subpicture
A subpicture is a picture that appears inside another picture. Subpictures are best suited for showing
detailed information about an item in another picture.

Substitution
A substitution is the replacement text for a tag group symbol. The replacement text can be any text up
to 95 characters long.

System Menu
The system menu is located on the left side of the picture's title bar. It contains the system commands
including the Close command that lets you close the picture file, and the Switch To command that lets
you switch from View to another task. The system menu can be disabled or enabled (if the picture's
title bar is also enabled) in the Picture dialog box.

T-Z
Tag Group File
A tag group file is a group of tag group symbols and the replacement text (substitutions) that define
each symbol. Tag group files have an .TGE extension and are stored in the picture path. If many of
your pictures are identical except for the tagnames they reference, you can create one generic picture
that uses multiple tag groups.

Tag Group Symbol


A tag group symbol is a label defined in the Tag Group Editor that, when entered into an application
that supports tag group files, allows the substitution of associated information. The symbol must begin
with a question mark (?), followed by up to a 30 character string. For example, ?TANK1.
For certain chart links and color thresholds, the tag group you specify must reference a tagname
formatted as follows:

500

iFIX with FIX Desktop

NODE:TAG.G_XBAR

X-Bar Statistical link

NODE:TAG.G_SBAR

S-Bar Statistical link

NODE:TAG.G_RBAR

R-Bar Statistical link

NODE:TAG.G_DATA

Histogram link

NODE:TAG.F_ field

Color by Current Value color threshold

NODE:TAG.B_CUALM

Color by Current Alarm color threshold

NODE:TAG.B_LAALM

Color by Latched Alarm color threshold

Template
Draw lets you create templates that you can use as a starting point when creating individual operator
displays. For example, you can create one template containing standard information, such as an Alarm
Summary, that you want to appear on several displays. Then, you can use this template as a starting
point for each individual display. Template files have an *.ODT extension and reside in the picture
path.

Tool Box
The Draw Tool Box is a great alternative to using the Draw menu commands. It lets you execute most
of the Draw commands with a click of the mouse button. You can customize the Tool Box to contain
the commands you use most often, arrange the buttons in any order you choose, move and resize the
Tool Box, and display ToolTips for each button on the Tool Box.

ToolTips
When enabled, each button on the Tool Box displays a ToolTip. The ToolTip appears when the cursor
rests on a Tool Box button. It displays the command that the button performs. By default, ToolTips are
enabled. You can enable and disable ToolTips by selecting the Tool Box Setup command on the Tools
menu.

Variable
A variable replaces a node:tag.field for dynamic properties and certain links. A variable can represent
different values at different times and can store string or numeric values. However, before you can use
a variable in a link or a dynamic property, it must be defined and its value set in a command language
script.

501

iFIX with FIX Desktop

VIEW.INI File
The VIEW.INI file is an ASCII file that contains configuration information for:

Input Dynamics

Click and Stick

Configurable Blink Speed

View Title bar

Picture Caching

Environment Protection

Picture Fit To Window Settings

Sound Support

Color Palette

QuickView

Command Script Execution

You can edit the VIEW.INI file, located in the local path using the Notepad program or another text
editor.
For more information on the VIEW.INI file, refer to the Defining the View Environment chapter of the
Draw manual.

502

Macro Editor Manual


The Macro Editor Manual covers the following topics:

Introducing the Macro Editor

Defining Macros

Associating Macros with Pictures

Managing Macros

Default Macro Files

Introducing the Macro Editor


The Macro Editor lets you assign simple keystroke sequences to macros built with the Command
Language. A macro is a command language script that contains a series of commands and instructions
that your iFIX software executes upon request.
When you use the Macro Editor to build a command language script, you define that request to be a
special key combination. Command language scripts that are assigned to key combinations are called
keystroke macros. Once you define a keystroke macro, your iFIX software executes the associated
script whenever a user presses the keystroke sequence.
Your iFIX with FIX Desktop software supports keystroke macros in the Draw and View applications.
This feature lets you add custom functionality to individual, multiple, or all operator displays. For
example, macros can:

Manipulate files.

Automate routine tasks.

Control database blocks.

Run other applications automatically.

Manage alarming and operator messaging.

Group multiple sequential tasks into one function.

Understanding Macro Types


The Macro Editor lets you create two types of keystroke macros:

Default macros

User-defined macros

The type of macro you choose to create determines its availability within operator displays. For
example:

503

iFIX with FIX Desktop

If you want to...

Then...

Create keystroke macros that are common to


all displays.

Add the macros to the Draw or View default


macro file.

Create keystroke macros that are unique to a


specific display.

Create a user defined macro file and associate it


with the display.

Default Macros
Default keystroke macros are available throughout all operator displays. Your iFIX with FIX Desktop
software stores default macros in the Picture path in the following application-specific files:

DRAW.KMX

VIEW.KMX

The Macro Editor lets you add and delete up to 256 macros from a default macro file as needed. The
predefined macros included in default macro files correspond exactly to the application's accelerator
keys.
For example, the Draw default macro file includes the accelerators CTRL+O and CTRL+S, which open
and save picture files. The View file includes the accelerators CTRL+A and CTRL+M, which places a
database block in Auto or Manual mode.
NOTE: Refer to Default Macro Files for a complete listing of the Draw and View accelerator keys,
which are included as predefined, default macros.
User Defined Macros
User-defined macros are available within specific operator displays. Your iFIX with FIX Desktop
software automatically assigns a .KMX extension to user-defined macro files and stores them in the
Picture path.
User-defined macros let you:

Add custom functionality to one or more displays through its association with specific picture
files.

Create up to 256 macros per file.

Override a keystroke combination assigned to a default macro.

NOTE: The predefined macros in the Draw and View default macro files correspond exactly to the
application's accelerator keys. It is best not to override keyboard accelerators unless you are certain
you do not want your operators to use them.

Defining Macros
Regardless of whether you want to define a default or user-defined macro, the steps required to define

504

iFIX with FIX Desktop

the macro are identical. This chapter provides the instructions you need to complete this task. It
includes the following sections:

Accessing the Macro Editor

Creating a New Macro

Defining a Keystroke Assignment

Saving Macros

Saving Macros Under a Different File Name

Exiting the Macro Editor

Accessing the Macro Editor


If you are in Draw, you can access the Macro Editor on the Apps menu, by clicking Macro Editor. The
Macro Editor appears, as shown in the following figure.

Macro Editor
Column Definitions
The Macro Editor has three columns: Function Key, Command(s), and Description. These are defined
below:

Function Key defines the keystroke assignment for the macro.

Command(s) defines the command language script that executes whenever the keystroke
assignment is pressed. See the Command Language Manual for a complete description of the
FIX Desktop Command Language.

Description describes the keystroke macro. A description is optional and can contain up to
40 characters including alphanumeric text, special characters, and punctuation.

505

iFIX with FIX Desktop

Menu Bar Commands


The menu bar contains the commands necessary for creating and managing macro files. The following
table lists the menus, their commands, and their functions.
Menu

Option

Function

File

New

Creates a new macro file.

Open...

Opens an existing macro file.

Save

Saves the macro file to the current file name.

Save As...

Saves the macro file to the current file name.

Delete...

Deletes the specified macro file.

Exit

Exits the Macro Editor.

Insert

Inserts a blank row above the selected rowt.

Delete

Deletes the selected row.

Edit

Font!

Accesses the Font dialog box for customizing the Macro Editor.

Creating a New Macro


Use the following steps to create a keystroke macro.
To create a key macro:
1.

If you want to...

Then...

Create a new
user-defined
macro.

On the File menu, click New.

Create a default
macro.

In the Macro Editor, on the File menu, click Open. The Enter File to Read
dialog box appears. Select the Draw (DRAW.KMX) or View (VIEW.KMX)
default macro file.

2.

506

Refer to the following table:

Double-click inside a blank Function Key cell. Use the Key Selected dialog box to select the

iFIX with FIX Desktop

keystroke assignment. Defining a Keystroke Assignment provides details on creating a


keystroke assignment with the Key Selected dialog box.
NOTE: If you choose to enter the keystroke assignment manually, type each individual
character of the key into the Function Key cell. For example, to enter the assignment as
CTRL+F, type: <C><t><r><l><-><F>
3.

Double-click inside the adjacent Command(s) cell. Use the Command Language Editor dialog
box to create the command language script. The Command Language Manual provides details
on creating a command language script.

4.

Double-click inside the adjacent Description cell. Use the Description dialog box to type up to
a 40 character description. If you prefer, you can also enter text into the Description cell by
typing it into the text editing box and pressing ENTER.

5.

Use the Save or Save As command to save your changes. Refer to Saving Macros and Saving
Macros Under a Different File Name sections for detailed instructions.

6.

If you created a user-defined macro, associate the macro file with one or more displays. Refer
to Associating Macros with Pictures for detailed instructions.

Defining a Keystroke Assignment


Every keystroke macro requires a keystroke assignment, regardless of whether it is a default or userdefined macro. This assignment can be a single key or a key combination. Your iFIX with FIX
Desktop software uses the assignment to execute the associated command language script upon request
whenever a user presses the keystroke sequence.
When you double-click inside a cell in the Function Key column, the Key Selected dialog box appears.
The Key Selected dialog box lets you define a keystroke assignment quickly and easily. Use the
graphical display to select one key or a key combination by clicking the desired key(s). If you make a
mistake when selecting the assignment, click Clear to start over.
The following table provides the guidelines you need to define a keystroke assignment.
Key

Guideline

Alphanumeric

Cannot be used by itself, but can be used in combination with <CTRL>

<CTRL>

Cannot be used by itself.


When used in a key combination, it must be selected first.
Can be used in combination with function, alphanumeric, symbol,
punctuation, movement, <INSERT>, and <DELETE> keys.

<DELETE>

Can be used by itself or in combination with <CTRL> or <SHIFT>.

Function Example
<F6>

Can be used by itself or in combination with <CTRL> or <SHIFT>.


NOTE: <F10> cannot be used as a keystroke assignment.

507

iFIX with FIX Desktop

Key

Guideline

<INSERT>

Can be used by itself or in combination with <CTRL> or <SHIFT>

Movement Example:
<Pg Up>

Can be used by itself or in combination with <CTRL> or <SHIFT>

Punctuation Example:
<,>

Cannot be used by itself, but can be used in combination with <CTRL>


or <SHIFT>.

<SHIFT>

Cannot be used by itself.


When used in a key combination, it must be selected first.
Can be used in combination with function, symbol, punctuation,
movement, <INSERT>, and <DELETE> keys.
Cannot be used in combination with alphanumeric keys.

Symbol Example: <=>

Cannot be used by itself, but can be used in combination with <CTRL>


or <SHIFT>.

NOTE: To avoid unintentional overrides, refer to Appendix A, Default Macro Files, for a list of
predefined keystroke assignments.
Shift Key Macros
When you select the Shift key in the Macro Editor, the following keys are incorrectly shown as
available in the Key selected dialog box:
`[]\;',./
While the Macro Editor lets you create a key macro with these keys, for example <shift><[>, these key
combinations will not function in View if selected.

Saving Macros
To store a macro in a file, on the File menu, click Save. The first time you save a user-defined macro
file, the Macro Editor prompts you to enter a file name. Otherwise, the Save command stores macros to
the active file, as shown on the Macro Editor title bar.
NOTE: Coordinating the file names of user-defined macro files with picture file names helps to make
macro management and picture association more efficient.
To save a user-defined macro for the first time:

508

1.

On the File menu, click Save. The standard File Save dialog box appears.

2.

Type an eight-character name for the macro file in the File Name field.

3.

Click OK. The Macro Editor adds the .KMX extension for you and stores the file in the

iFIX with FIX Desktop

Picture path directory.

Saving Macros Under a Different File Name


To save a macro or a set of macros under a different file name, on the File menu, click Save As. The
Save As command does not remove the original macro file, Instead, it creates a new file with a new
name.
For example, suppose you open the default macro file named VIEW.KMX. You have deleted some of
the macros that you do not need and have added custom macros for a particular display. The Save As
command can be used to save these changes to a user-defined macro file that can be associated with
one or more displays.
NOTE: Coordinating the file names of user-defined macro files with picture file names helps to make
macro management and picture association more efficient.
To save macros under a different file name:
1.

On the File menu, click Save As. The standard File Save dialog box appears.

2.

Replace the existing file name in the File Name field by typing a new name for the new macro
file.

3.

Click OK. The Macro Editor adds the .KMX extension for you and stores the file in the
Picture path directory.

Exiting the Macro Editor


Use the Exit command to leave the Macro Editor at any time and return to the window manager. If the
active macro file contains unsaved changes, the Macro Editor prompts you to save the changes.
Select Yes to save the changes under the current file name, No to discard the changes, or Cancel to
return to the Macro Editor.

Associating Macros with Pictures


When you create user-defined macro files, you must associate the file with a specific picture to enable
the custom functionality in View. To do this, you can edit the properties of the picture in Draw and
specify the name of the macro file. Since you can associate one macro file with a number of different
pictures, it's possible to create a user-defined macro file that accommodates many different
requirements.
In Draw, use the following steps to associate a user-defined macro file with one or more pictures.
To associate a user-defined macro file with one or more pictures:
1.

On the File menu, click Open to open the appropriate picture.

2.

On the Edit menu, click Picture. The Edit Picture dialog box appears.

3.

In the Macro File Name field, type the name of the user-defined macro file or use the browse
(...) button to select from a list of file names.

509

iFIX with FIX Desktop

4.

Select OK to exit this dialog box.

5.

On the File menu, click Save to save your changes.

6.

Repeat steps 1 through 5 to associate the macro file with other pictures.

Managing Macros
The Macro Editor provides the tools necessary to manage and refine keystroke macros as needed. You
can use these tools to:

Delete a macro from a default macro file that should not be available to any display.

Redefine a default keystroke assignment in a user-defined macro to perform a custom


function in a specific display.

Add custom macros to a default or user-defined macro file.

Remove unnecessary macro files.

The following sections provide the instructions to complete these tasks:

Adding a Macro to a Macro File

Deleting a Macro from a Macro File

Deleting a Macro File

Adding a Macro to a Macro File


Use the following steps to add a macro to a user-defined or default macro file.
To add a macro:
1.

On the File menu, click Open. The standard File Open dialog box appears.

2.

Select the file you want to open and click OK.

3.

Highlight a cell in the row that should appear immediately after the row you want to insert.

4.

On the Edit menu, click Insert. A new row appears before the selected row.

5.

Double-click inside a blank Function Key cell. Select the keystroke assignment for the macro
with the Key Selected dialog box. Defining a Keystroke Assignment provides details on
creating a keystroke assignment with the Key Selected dialog box.
NOTE: If you choose to enter the keystroke assignment manually, type each individual
character of the key into the Function Key cell. For example, to enter the assignment as
CTRL+F, type: <C><t><r><l><-><F>

510

6.

Double-click inside the adjacent Command(s) cell. Use the Command Language Editor dialog
box to create the command language script. The Command Language Manual provides details
on creating a command language script.

7.

Double-click inside the adjacent cell in the Description column. Type up to a 40 character
description in the Description dialog box and select OK. If you prefer, you can also enter text
into the Description cell by typing it into the text editing box and pressing ENTER.

iFIX with FIX Desktop

8.

Save your changes.

Deleting a Macro from a Macro File


Use the following steps to delete a macro from a user-defined or default macro file.
To delete a macro:
1.

On the File menu, click Open. The standard File Open dialog box appears.

2.

Select the file you want to open and click OK.

3.

Highlight any cell of the row that contains the macro you want to delete.

4.

On the Edit menu, click Delete. The selected macro disappears.

5.

Save your changes.

Deleting a Macro File


Use the following steps to delete a user-defined or default macro file.
To delete a macro file:
1.

On the File menu, click Delete. The standard File Delete dialog box appears.

2.

Select the file you want to delete and click OK. A confirmation dialog box appears.
CAUTION: If you delete the default macro file DRAW.KMX or VIEW.KMX, you will lose
your predefined keyboard accelerators for the application and a warning message appears
each time you start these applications. You must reinstall the Graphics application to recover
these files if you delete them.

3.

Select Delete to confirm the deletion. The Macro Editor deletes the macro file.

Default Macro Files


This section lists the contents of the Draw and View default macro files.

DRAW.KMX Keystroke Macros


Menu

Command

Keys

File

New

CTRL+N

Open

CTRL+O

511

iFIX with FIX Desktop

Menu

Edit

View

Arrange

Command

Keys

Save

CTRL+S

Print

CTRL+P

Undo

CTRL+Z

Cut

CTRL+X

Copy

CTRL+X

Paste

CTRL+V

Delete

DELETE

Duplicate

CTRL+D

Zoom To

CTRL+Y

QuickDraw

CTRL+Q

Send to Back

CTRL+B

Bring to Front

CTRL+F

Group

CTRL+G

Ungroup

CTRL+R

CTRL+A
Align

512

iFIX with FIX Desktop

Menu

Command

Keys

Transform

Add Point

F2

Delete Point

F3

VIEW.KMX Keystroke Macros


Menu

Command

Keys

File

Open

CTRL+O

Close

CTRL+C

Next

CTRL+N, PAGE DOWN

Previous

CTRL+P, PAGE UP

Last

CTRL+L, END

Print

CTRL+I

Zoom To

CTRL+Y

Default View

CTRL+D

QuickDraw

CTRL+Q

Acknowledge One

CTRL+K

Enable/Disable Alarms

CTRL+E

Silence Horn

CTRL+H

Enable/Disable Horn

CTRL+R

Block Status

CTRL+T

View

Alarms

Commands

513

iFIX with FIX Desktop

Menu

Help

Command

Keys

Manual Mode

CTRL+M

Auto Mode

CTRL+A

Off Scan

CTRL+F

On Scan

CTRL+S

Dialog box help

F1

Field help

ALT+F1

Using the Command Language


The Command Language Editor lets you create powerful command language scripts that automate the
tasks that operators perform in View.
You can define commands for the script, in the order that you want them to execute. Type a script in
the same way you would type a document in Notepad. The editor retains the case of the items you
enter, as well as the formatting (spaces and tabs). You can use the SQL button to automatically build
and incorporate SQL commands, as needed.
Right-click a valid command and select Help from the pop-up menu to receive detailed information on
that specific command. Right-click and select Quick Commands to open a dialog box that lists all of
the commands and the related syntax for each.
For more information on the Command Language, click the appropriate link below:

Command Language Editor

Command Syntax Quick Reference

Command Syntax By Category

Command Language Editor


The Command Language Editor displays the command language script that executes when the key or
key combination defined for this macro is pressed. To use the editor, type a script in the same way you
would type a document in Notepad. The editor retains the case of the items you enter, as well as the
formatting (spaces and tabs). You can use the SQL button to build an SQL command for a command
language script.
NOTE: Always check the validity of command parameters before returning to the Macro Editor
window. The Command Language Editor does not verify node, tag, or tag group file names.

514

iFIX with FIX Desktop

Command Language Editor Command Buttons


At the top of the Command Language Editor is a row of command buttons. These buttons provide
quick access to the most frequently used commands. Tool tips are enabled with the buttons to easily
identify their functionality.
These command buttons help manage the command language script that executes when the key or key
combination defined for this macro is pressed. Each button is described below:
Button

Description

Cut

Removes the highlighted text and copies it to the global clipboard.

Copy

Copies the highlighted text to the global clipboard without removing the
highlighted text.

Paste

Copies the text from the global clipboard into the edit field. if any text is
highlighted, that text is replaced. If no text is highlighted, the new text is
inserted at the cursor position.

Undo

Reverses the last operation only within the edit field. This operation only
implements one level of undo and redo. The undo button is only enabled if
an Undo operation is possible.

Search and
Replace

Opens the Search and Replace dialog box.

SQL

Opens the SQL Command Configurator dialog box.

Import

Invokes the Import function, which is facilitated through a standard Open


File dialog box. You can then import any ASCII file created in a standard
text editor.

Export

Invokes the standard Export function, which is facilitated through a standard


File Save dialog box.

Errors

Opens the Command Script Errors dialog box.

Insert Tag

Opens the standard Field Select dialog box. If you complete the fields and
click OK, a node:tag.string is pasted into the script.

Quick Commands

Opens the Available Commands dialog box, which contains an alphabetical


list of all the valid commands and their proper syntax.

515

iFIX with FIX Desktop

Button

Description

Goto

Displays the line number the cursor is on. Click on the button to open the
Goto dialog box. enter either a line number of a label and click OK to move
the cursor to that line of the script.

Command Syntax Quick Reference


This topic provides the full syntax, including all applicable parameter replacement options, for all the
commands included with the Command Language. Click any command to transfer to detailed
information on the command's use and syntax.

#
#CMDSTATUS

A
ALARMACK node:tag|string_var|tag group
ALARMACKALL picture
APPEND file name|string_var|tag group file name|string_var|tag group
ATTRIB file name|string_var|tag group "attribute"|string_var|tag group

B
BASEPIC picture|string_var|tag group

C
CHECKRIGHTS "string"|string_var|tag group num_var
CHFILE file name|string_var|tag group num_var
CLOSEDIG node:tag.field|string_var|tag group
CLOSEPIC picture|nickname|string_var|tag group
COPY file name|string_var|tag group file name|string_var|tag group|pathname
#num_var = SQL("database","COUNTROWS","","table","",cache,#num_result)
CRITICAL commands ENDCRITICAL

D
DEBUGOFF
DEBUGON "string"
DECLARE var_name var_type [scope]

516

iFIX with FIX Desktop

DELETE file name|string_var|tag group


#num_var = SQL("database","DELETE","","table","condition",cache,"")
#num_var = SQL("database", "DESCTABLE", "","table","",0,#table_var)
DISABLEALARM node:tag|string_var|tag group

E
ENABLEALARM node:tag|string_var|tag group
EXECUTE COMMAND [TIMEOUT]
EXIT

F
FILECLOSE num_var
FILELIST pattern|string_var|tag group string_var "string"|string_var|tag group [SHOW]
FILEOPEN file name|string_var|tag group num_var
FILEPRINT file name|string_var|tag group
FILEREAD num_var string_var
FILEWRITE num_var "string"|string_var|tag group
FINDLINK object|string_var|tag group picture|string_var|tag group

G-L
GETVAL node:tag.field|string_var|tag group|string_var
GOTO label
IF expression command [ELSE] [command] ENDIF
#num_var = SQL("database", " INSERT ", "column(s)","table","values",cache,"")
#num_var = SQL("database","LISTTABLES","owner","table","",0,#table_var)
LOADKMX macrofile [picture|nickname]
LOGIN
#num_var = SQL("database","LOGIN","","","",0,"")
LOGOUT
#num_var = SQL("database","LOGOUT","","","",0,"")

M
MENU command [true|false]
MESSAGE "string"|string_var|tag group

517

iFIX with FIX Desktop

N
NOTE "string"|string_var|tag group
NUMTOSTR (#CMDSTATUS Only) #CMDSTATUS "%s" string_var
NUMTOSTR value|num_var "string"|string_var|tag group string_var

O
OFFSCAN node:tag|string_var|tag group
ONSCAN node:tag|string_var|tag group
OPENBDF picture|string_var|tag group node:tag [Y,X,W,H] [nickname|string_var|tag group]
OPENDIG node:tag.field|string_var|tag group
OPENLYT filename
OPENPIC picture|string_var|tag group [Y,X,W,H] [nickname|string_var|tag group] [tag group
file|tag group]

P-R
PAN X,Y picture|string_var|tag group
PAUSE value|num_var
PLAYSOUND file name|string_var|tag group
#num_var = SQL("database","PROCEDURE","proc","","",cache,#table_var)
PROMPT num_var|string_var "string"|string_var|tag group [X,Y]
RAMP node:tag.field|string_var|tag group %EGU|num_var
REPLACEPIC picture1|string_var|tag group picture2|string_var|tag group [tag group file|tag
group]
RESOLVEVARS picture
ROUND num_var DN|UP|BK
RUNTASK executable "[parameter]"

S
#num_var = SQL("database","SELECT","cols","tables","condition",cache,#table_var)
SETAUTO node:tag|string_var|tag group
SETMANL node:tag|string_var|tag group
SETVAL node:tag.field|string_var|tag group|num_var
SETNICKNAME "nickname"|string_var|tag group
STRCAT string_var string|string_var|tag group [num_var|value] ["padchar"]
STRCMP "string"|string_var|tag group string|string_var|tag group num_var
STRLEN "string"|string_var|tag group num_var

518

iFIX with FIX Desktop

STRSTR "string"|string_var|tag group string|string_var|tag group num_var


STRTOK "string"|string_var|tag group value|num_var value|num_var string_var
STRTONUM string_var num_var
SWITCHKMX oldmacrofile newmacrofile

T-Z
TOGGLEALARM node:tag|string_var|tag group
TOGGLEDIG node:tag.field|string_var|tag group
TOGGLEMANL node:tag|string_var|tag group
TOGGLESCAN node:tag|string_var|tag group
#num_var = SQL("database","UPDATE","cols","table","condition","cache","")
VIEW file name|string_var|tag group "string"|string_var|tag group
ZOOM object|string_var|tag group picture|string_var|tag group

#
#CMDSTATUS Variable
Purpose
A numeric variable that stores and represents the completion status of each command executed within
the script. #CMDSTATUS values are a predefined. A value of 0 means a command executed
successfully. A non-zero value means an error occurred.
Syntax
#CMDSTATUS is created automatically by each command language script. No syntax is required.

A
ALARMACK Command
Purpose
Acknowledges alarms for a specified block. If used as a relative command, acknowledges alarms for
the selected block.
Syntax
ALARMACK node:tag

Parameter
node:tag specifies the node:tag name of the block for which an alarm is acknowledged.

519

iFIX with FIX Desktop

ALARMACKALL Command
Purpose
Acknowledges alarms for all blocks in the specified picture. If used as a relative command,
acknowledges alarms for all blocks in the selected picture.
Syntax
ALARMACKALL picture

Parameter
picture specifies the picture in which all alarms are acknowledged.
APPEND Command
Purpose
Attaches the contents of one file onto the end of another file.
Syntax
APPEND file name file name

Parameters
file name specifies the file to be appended onto the end of the second file, specified in the
second parameter.
file name specifies the file that receives the information from the first file, specified in the first
parameter.
ATTRIB Command
Purpose
Changes the protection attributes of a file. This command can be used only to change the attributes of a
closed file.
Syntax
ATTRIB file name "attribute"

Parameters
file name specifies the file whose attributes are to be modified.
attribute specifies the file attribute.

520

iFIX with FIX Desktop

B
BASEPIC Command
Purpose
Returns the objects within the specified picture to their original state. If used as a relative command,
returns the objects within the selected picture to their normal state.
Syntax
BASEPIC picture

Parameter
picture specifies the picture to be returned to an original state.

C
CHECKRIGHTS Command
Purpose
Verifies that the current user has access to a specified security area, as defined in the FIX security
system.
NOTE: CHECKRIGHTS executes independently of the LOGIN and LOGOUT commands. Therefore, a
quick test of whomever is logged in is possible regardless of the user name.
Syntax
CHECKRIGHTS "string" num_var

Parameters
string specifies the string that identifies the name of the security area to be checked.
NOTE: Security area names are limited to 20 characters.
num_var specifies the numeric variable that stores the result of security check.
If the user...

Then the variable...

Has the proper security rights.

Is set to 1.0

Does not have the proper security rights.

Is set to 0.0

521

iFIX with FIX Desktop

CHFILE Command
Purpose
Checks for the existence of a specified file.
Syntax
CHFILE file name num_var

Parameters
file name specifies the file to check for.
num_var specifies the name of the numeric variable that stores the result of the check. The
result can be one of the following:
If...

Then...

The file exists.

The numeric value is set to 1.0

The file does not exist.

The numeric value is set to 0.0

CLOSEDIG Command
Purpose
Closes, or sends a value of 1, to a specified digital block. If used as a relative command, closes the
selected digital block.
Syntax
CLOSEDIG node:tag.field

Parameter
node:tag.field specifies the node:tag.field name of the digital block to be closed. Note that the
field must be F_CV.
CLOSEPIC Command
Purpose
Closes a specified picture and removes it from the display. If used as a relative command, closes the
selected picture.

522

iFIX with FIX Desktop

Syntax
CLOSEPIC picture|nickname

Parameter
picture|nickname specifies the display, called by its picture name or assigned nickname, to be
closed.
NOTE: If you want to use the CLOSEPIC command to close a picture that was opened with
the OPENPIC command, you must specify the exact picture parameter that was used in the
OPENPIC command. For example, if the full path of the picture was specified in the
OPENPIC command, you must specify the full path in the CLOSEPIC command.
COPY Command
Purpose
Copies a file to another location.
Syntax
COPY file name file name|pathname

Parameters
file name specifies the file to be copied.
file name|pathname specifies the file or the directory that stores the result of the copy.
COUNTROWS Command
Purpose
The COUNTROWS command determines how many rows are in a specified table.
Syntax
#num_var = SQL("database", "COUNTROWS", "","table","",cache,#num_result)

NOTE: A string variable can replace any one of the command parameters except the cache
and the #num_result variable. When a variable replaces an entire parameter, do not enclose it
in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the COUNTROWS command executed successfully. A
value of zero indicates success. A non-zero value indicates an error occurred.

523

iFIX with FIX Desktop

database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
table specifies the name of the table from which to count rows.
cache the caching indicator, where 1 is enabled and 0 is disabled.
NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.
#num_result defines the name of the numeric variable that stores the results of the query.
CRITICAL Command
Purpose
Defines a critical section within a Commands While Down script. Once a critical section begins
executing it does not stop until all commands within the section are executed. The critical section also
ends when the picture containing the Commands While Down script closes.
Syntax
CRITICAL
commands
ENDCRITICAL

Parameters
commands specifies one or more commands to execute as part of the critical section.
ENDCRITICAL indicates the end of the critical section. Each CRITICAL command must have
a matching ENDCRITICAL.

D
DEBUGOFF Command
Purpose
Closes and saves a debugging file.
Syntax
DEBUGOFF

524

iFIX with FIX Desktop

Parameters
None
DEBUGON Command
Purpose
Creates a debugging file and stores it in the picture path.
Syntax
DEBUGON "string"

Parameter
string specifies the text string that will be used as a debugging file description.
DECLARE Command
Purpose
Defines a variable.
Syntax
DECLARE var_name var_type [scope]

Parameters
var_name specifies the name of a variable. The variable name can be any ASCII string and
must begin with a pound sign (#).
var_type defines the variable type, numeric, string, or table.
scope defines the variable scope.
Example
To define a table variable, use the following syntax:
DECLARE var_name[rows][columns][size] TABLE scope

rows specifies the number of rows that the variable has.


columns specifies the number of columns that the variable has.
size specifies the size (number of characters up to a maximum of 80) of each string in the table.
Specifying the size is optional and when omitted, the default of 80 is used.

525

iFIX with FIX Desktop

Be sure to include the brackets with declaring a table variable. Also make sure you do not
insert spaces between the variable, the string size, or the number of rows and columns.
NOTE: Predefined variables can be used immediately; no DECLARE command is
required.
DELETE Command
Purpose
Deletes a specified file.
Syntax
DELETE file name

Parameter
file name specifies the file to be deleted.
DELETE Command (SQL)
Purpose
The DELETE command deletes single or multiple rows from a specified table. This command can be
built automatically with the SQL Command Configurator.
Syntax
#num_var = SQL("database", "DELETE", "","table","condition",cache, "")

NOTE: A string variable can replace any one of the command parameters except the cache. When a
variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the DELETE command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
table specifies the name of the table from which to delete the data. When appropriate, use a
string variable to replace all of this parameter.
condition defines an optional condition clause specifying which row(s) in the table(s) to delete,
according to the standard SQL syntax. If no condition clause is specified, the SQL
command acts on the entire table, as specified by the column and table parameters. A
common condition clause syntax is as follows:

526

iFIX with FIX Desktop


"WHERE COLUMN=VALUE"

Where COLUMN is the name of the relational database column and VALUE is either a
literal string enclosed in single quotes or a numeric value with no quotes.
When appropriate, use a variable to replace all or part of this parameter. You can use a
variable to replace part of this parameter as follows:
"WHERE DEVICE=#NUM" or
"WHERE DEVICE='#STRING5'"

cache the caching indicator, where 1 is enabled and 0 is disabled.


NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.
DESCTABLE Command
Purpose
The DESCTABLE command retrieves information about a specified table. This information includes
the name and data type of each column in the table. Row zero (0) of the resulting data provides a data
descriptor for each column of data retrieved. This command does not support command caching.
Syntax
#num_var = SQL("database", "DESCTABLE", "","table","",0,#table_var)

NOTE: A string variable can replace any one of the command parameters except the #table_var
variable and the zero (0). When a variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the DESCTABLE command executed successfully. A value
of zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
table specifies the name of the table from which to retrieve the information.
#table_var - defines the name of the table variable that stores the results of the query.
DISABLEALARM Command
Purpose
Disables alarm limit checking for a specified block. If used as relative command, disables alarm limit
checking for the selected block.

527

iFIX with FIX Desktop

Syntax
DISABLEALARM node:tag

Parameter
node:tag specifies the node:tag name of the block for which alarming is disabled.

E
ENABLEALARM Command
Purpose
Enables alarm limit checking for a specified block. If used as a relative command, enables alarm limit
checking for the selected block.
Syntax
ENABLEALARM node:tag

Parameter
node:tag specifies the node:tag name of the block for which alarming is enabled.
EXECUTE Command
Purpose
The EXECUTE command lets you execute commands in other applications using a local server.
Syntax
EXECUTE COMMAND [TIMEOUT]

EXIT Command
Purpose
Exits from View and returns you to the window manager.
Syntax
EXIT

528

iFIX with FIX Desktop

Parameters
None

F
FILECLOSE Command
Purpose
Closes a specified file. Make sure that for each FILEOPEN command, you include a corresponding
FILECLOSE command.
Syntax
FILECLOSE num_var

Parameter
num_var specifies the user-defined numeric variable that automatically stores the file handle
number of the opened file.
FILELIST Command
Purpose
Specifies a list of files that appear in a list dialog box in the current display whenever the command
language script executes. The dialog box requires that the operator select a file from the list and
confirm the selection.
Syntax
FILELIST pattern string_var "string" [show]

Parameters
pattern specifies the pattern that defines the group of files that will appear in the list dialog box.
string_var specifies the name of the string variable that will store the name of the file selected
from the list dialog box.
string specifies the text string that appears in the dialog box title bar.
[show] enables the display of the standard File Open dialog box that appears with the title
specified in third parameter.
NOTE: When you use the [show] parameter, operators have access to the full capabilities
of this dialog, including access to and possible modification of the current drive, path, file
name, and extension.

529

iFIX with FIX Desktop

FILEOPEN Command
Purpose
Opens a file and prepares it for subsequent modifications or extractions. When a specified file does not
exist, this command creates a new file.
Syntax
FILEOPEN file name num_var

Parameters
file name specifies the file to open or create.
num_var specifies the user-defined numeric variable that identifies and automatically stores the
file handle.
FILEPRINT Command
Purpose
Prints an ASCII file to the default window manager printer.
NOTE: The default printer must be the Generic/Text Only printer listed in the Control Panel. To
access the Printers dialog box, click the Printers icon from the Control Panel group.
Syntax
FILEPRINT file name

Parameter
file name specifies the file to be printed.
FILEREAD Command
Purpose
Accesses an open file, reads up to 80 characters or until it reaches the end of a line, and stores the
result in a string variable.
Syntax
FILEREAD num_var string_var

Parameters
num_var specifies the user-defined numeric variable that automatically stores the file handle
number of the opened file.

530

iFIX with FIX Desktop

string_var specifies the string variable that stores up to 80 characters read in from the opened
file. Each subsequent use of the FILEREAD command retrieves the next line in the file or
up to 80 characters, whichever comes first.
FILEWRITE Command
Purpose
The FILEWRITE command appends a text string to the end of an open file.
Syntax
FILEWRITE num_var "string"

Parameters
num_var specifies the user-defined numeric variable that automatically stores the file handle
number of the opened file.
string specifies the string to write to the file.
NOTE: The FILEWRITE command can not be used on a file that has been read using the
FILEREAD command. The file must be closed with the FILECLOSE command and a new
copy of the file must then be opened with the FILEOPEN command.
FINDLINK Command
Purpose
Searches a picture for a specified object and selects the object. If used as a relative command, searches
the active picture for the specified object.
Syntax
FINDLINK object picture

Parameters
object specifies the name of the object to search for.
picture specifies the picture that includes the object.

G-L
GETVAL Command
Purpose
Fetches the value of the specified block from the process database and stores it in a numeric or string

531

iFIX with FIX Desktop

variable. If used as a relative command, fetches the value of the selected block.
Syntax
GETVAL node:tag.field variable

Parameters
node:tag.field specifies the node:tag.field name of the database block from which to retrieve
data.
variable specifies the name of the variable that will store the data retrieved from the database
block. The type of variable defined must correspond to the type of data being retrieved. For
example:
If the data is...

Then the variable must be a ...

Floating point format (F_CV)

Numeric variable

ASCII format (A_CV)

String variable

To use this as a relative command, use an asterisk (*) as a placeholder for the node:tag.field.
GOTO Command
Purpose
Provides unconditional or conditional branching and looping by redirecting command processing to a
specified label.
Syntax
GOTO label

Parameter
label specifies a location in the script that is the next to be executed.
NOTE: The ampersand (&) is only used for defining the label. It is not required for the GOTO
command.
IF Command
Purpose
Evaluates a specified condition and performs an action based on the result of the evaluation. Can be
used with or without an ELSE statement and can include nested IF conditions. The action taken is one
of the following:

532

iFIX with FIX Desktop

When...

Then...

The condition is
true.

The script executes the next command.

The condition is
false.

The script executes the command following the ELSE command.

Syntax
IF expression
command
[ELSE]
[command]
ENDIF

Parameters
expression defines the condition, in the form of an IF expression.
command specifies the action to be performed if the condition is true. The action can consist of
a single or series of commands and any required or optional parameters.
ELSE specifies a conditional branch of the IF command in the event the condition is false.
command specifies the action to be performed if the condition is false. The action can consist of
a single or series of commands and any required or optional parameters.
ENDIF ends the conditional routine. You must include an ENDIF for each IF command you
use.
INSERT Command
Purpose
The INSERT command adds a new row to the specified table and inserts the specified data into the
new row. This command can be built automatically with the SQL Command Configurator.
Syntax
#num_var = SQL("database", "INSERT",
"column(s)","table","values",cache,"")

NOTE: A string variable can replace any one of the command parameters except the cache. When a
variable replaces an entire parameter, do not enclose it in quotes.

533

iFIX with FIX Desktop

Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the INSERT command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
column(s) specifies the name of the column(s) into which to insert data. Separate column names
by commas as follows:
"COLUMN1,COLUMN2"

When appropriate, use a string variable to replace all or part of this parameter. You can use
a variable to replace part of this parameter as follows:
"#COLUMN,COLUMN2"

table specifies the name of the table into which to insert data. When appropriate, use a string
variable to replace all of this parameter.
values specifies the values to insert into the specified table, where the guidelines for this format
are as follows:

Enclose values that are literal strings with single quotes. For example: LOW

All strings must be enclosed in quotes, even if number are used. For example: "5.0, 10.0"

When appropriate, use a string variable or numeric variable to replace all or part of the
parameter.
Examples
"'LOW',5.0,'HIGH',10.0"
#VALUES
"'#VAL1', 5.0, '#VAL2', 10.0"

cache the caching indicator, where 1 is enabled and 0 is disabled.


NOTE: Some relational databases have the ability to save executed commands in memory, thus
reducing the time it takes to re-execute the commands when required. Refer to your SQL
manuals to determine if your relational database supports command caching.
LISTTABLES Command
Purpose
The LISTTABLES command retrieves the names of all tables and views in an SQL account or data
source. Row zero (0) of the resulting data provides a data descriptor for each column of data retrieved.
This command does not support command caching.

534

iFIX with FIX Desktop

Syntax
#num_var = SQL("database", "LISTTABLES", "owner","table","",0,#table_var)

NOTE: A string variable can replace any one of the command parameters except the #table_var
variable and the zero (0). When a variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the LISTTABLES command executed successfully. A
value of zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
owner specifies the name of the user that created the table, as defined in the relational database.
This parameter supports the following SQL wildcards:

A percent sign (%) to represent one or more characters.

An underscore (_) to represent a single character.

table specifies the name of the table(s) to list. This parameter supports the following SQL
wildcards:

A percent sign (%) to represent one or more characters.

An underscore (_) to represent a single character.

#table_var defines the name of the table variable that stores the results of the query.
NOTE: Microsoft Access does not support the use of wildcards with the LISTTABLES
command.
LOADKMX Command
Purpose
Loads the specified macro file in place of the default macro file when the specified picture opens.
NOTE: If you change the KMX file for a cached picture, the KMX file remains in effect even if you
close and reopen the picture. If the macro file being loaded references a tag group file, the tag group
file must be loaded before the LOADKMX command executes.
Syntax
LOADKMX macrofile [picture|nickname]

Parameters
macrofile specifies the macro file to load. This file must reside in the picture path. A string
variable or a tag group can replace this parameter.

535

iFIX with FIX Desktop

picture|nickname - specifies the name of the picture that loads the macro file or the assigned
nickname of the picture that loads the macro file. If no picture is specified, the macro file is
loaded into the picture that executes the script. A string variable or tag group can replace
this parameter.
LOGIN Command
Purpose
The LOGIN command:

Executes the standard FIX Login program.

Logs out the current user upon accepting a new login. Saves any current user information,
which is restored after the execution of a subsequent LOGOUT command.

Updates user identification information so that all operator messages and SCADA node
security checking reflect the proper user.

Syntax
LOGIN

Parameters
None
LOGIN (SQL) Command
Purpose
The LOGIN command logs in to a relational database specified in this node's SCU file. SQL command
support provides automatic login to a specified relational database during the execution of an SQL
command.
Syntax
#num_var = SQL("database", "LOGIN", "","","",0,"")

NOTE: A string variable can replace any one of the command parameters except the zero (0). When a
variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the LOGIN command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.

536

iFIX with FIX Desktop

LOGOUT Command
Purpose
The LOGOUT command:

Logs out the current user.

Checks for a previous user identification stored by the use of a preceding LOGIN command.
If available, restores the identification as the currently logged in user without the need for
another login routine.

Syntax
LOGOUT

Parameters
None
LOGOUT (SQL) Command
Purpose
The LOGOUT command logs out of a relational database specified in this node's SCU file. SQL
command support provides automatic logout from all relational databases when View is exited.
Syntax
#num_var = SQL("database", "LOGOUT", "","","",0,"")

NOTE: A string variable can replace any one of the command parameters except the zero (0). When a
variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the LOGOUT command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.

M
MENU Command
Purpose
The MENU command can be used to execute a View menu bar command from a command language

537

iFIX with FIX Desktop

script, or to enable or disable access to View menu bar commands. This command can be used in
conjunction with both the FIX Security program and Draw's Environment Protection features.
However, MENU command settings can be overridden by the settings in both Security and
Environment Protection.
Syntax
MENU command true|false

Parameters
command identifies the View menu bar command to be restricted or enabled.
true/false restricts the command (false) or enables the command (true). If no true/false
parameter is used, the command script executes the specified View menu bar command.

Message Command
Purpose
Writes a message string to a single or multiple alarm area, according to the routing strategy defined for
application messages in the System Configuration Utility (SCU).
Syntax
MESSAGE "string"

Parameter
string specifies the message string.

N
NOTE Command
Purpose
Specifies a message string that appears in a note dialog box in the current display whenever the
command executes. The dialog box requires operator confirmation of the message.
Syntax
NOTE "string"

Parameter
string specifies the note string to be displayed in the note dialog box.

538

iFIX with FIX Desktop

NUMTOSTR (#CMDSTATUS Only) Command


Purpose
Converts a #CMDSTATUS error value into a string variable.
Syntax
NUMTOSTR #CMDSTATUS "%s" string_var

Parameters
%s specifies a special C Format Specification, enclosed in quotes, that is reserved for use with
the #CMDSTATUS variable.
string_var specifies the string variable that will store the result of the conversion.
NUMTOSTR Command
Purpose
Converts a number into a string variable.
Syntax
NUMTOSTR num_var "string" string_var

Parameters
num_var specifies the numeric variable to be converted into a string.
string specifies the C Format Specification to be used for the conversion, enclosed in quotes.
string_var specifies the string variable that will store the result of the conversion.

O
OFFSCAN Command
Purpose
Places a specified block off scan. If used as a relative command, places the selected block off scan.
Syntax
OFFSCAN node:tag

539

iFIX with FIX Desktop

Parameter
node:tag specifies the node:tag name of the block to be placed off scan.
ONSCAN Command
Purpose
Places a specified block on scan. If used as a relative command, places the selected block on scan.
Syntax
ONSCAN node:tag

Parameter
node:tag specifies the node:tag name of the block to be placed on scan.
OPENBDF Command
Purpose
Opens a selected tag status picture in View.
Syntax
OPENBDF picture node:tag [Y,X,W,H] [nickname]

Parameters
picture specifies the name of the tag status picture to be opened.
Y,X,W,H - specifies the picture placement, height, and width in pixels, where 100 pixels equals
1 logical inch. The X and Y offsets can be positive or negative whole numbers, but cannot
exceed the limits of the display. The H and W offsets must be greater than or equal to 20.
Variables and tag group symbols can be substituted for any of the Y, X, W, and H
parameters.
NOTE: When the picture placement parameter is not used, but is followed by other
parameters, a -1 must be used as a placeholder.
nickname specifies the nickname you want to assign to this picture, up to 36 characters.
OPENDIG Command
Purpose
Opens, or sends a value of 0, to a specified digital block. If used as a relative command, opens the
selected digital block.

540

iFIX with FIX Desktop

Syntax
OPENDIG node:tag.field

Parameter
node:tag.field specifies the node:tag.field name of the digital block to be opened. Note that the
field must be F_CV.
OPENLYT Command
Purpose
Opens the specified layout file. Prior to opening the layout file, View closes all the open picture files.
If View cannot find the layout file (for example, the file does not exist), the current picture files remain
open.
Syntax
OPENLYT filename

Parameter
filename specifies the name of the layout file to open. If the file does not reside in the picture
path, then include the path to the file as well. A string variable or a tag group can replace
this parameter.
OPENPIC Command
Purpose
Opens a selected picture in View. If used as a relative command, displays the selected picture.
NOTE: When a relative OPENPIC command is included in a command language script, the File Open
dialog box appears and prompts the operator to enter a picture name.
Syntax
OPENPIC picture [Y,X,W,H] [nickname] [tag group file]

Parameter
picture specifies the picture to be opened.
Y,X,W,H specifies the picture placement, height, and width in pixels, where 100 pixels equals 1
logical inch. The X and Y offsets can be positive or negative whole numbers, but cannot exceed the
limits of the display. The H and W offsets must be greater than or equal to 20. Variables and tag group
symbols can be substituted for any of the Y, X, W, and H parameters.
NOTE: When the picture placement parameter is not used, but is followed by other
parameters, a -1 must be used as a placeholder. To open a picture at its actual size and at a

541

iFIX with FIX Desktop

specific location (X,Y), use -1 for the W and H parameters.


nickname specifies the nickname you want to assign to this picture, up to 36 characters.
tag group file specifies the name of the tag group file that contains all the tag groups required for the
opened picture.
NOTE: A tag group symbol used in place of this parameter must exist within the currently
loaded tag group file. Otherwise, View has no reference from which to obtain the symbol
substitution. Therefore, this technique cannot be used for the first picture opened in View. If
you want to specify a tag group file, but not a nickname, use an asterisk (*) as a placeholder
for the nickname.

P-R
PAN Command
Purpose
Changes the portion of the specified picture displayed when the picture exceeds the limits of the View
window. If used as a relative command, pans the selected picture using the specified X and Y offsets.
Syntax
PAN X,Y picture

Parameters
X,Y specifies the amount of picture movement in logical inches, where 1 logical inch equals 100
pixels. These offsets can be positive or negative decimals (for example, 5.0), but cannot
exceed the limits of the display. Use the following guidelines to calculate picture
movement:
To move the picture...

Enter a ...

To the left

Negative X offset

To the right

Positive X offset

Up

Negative Y offset

Down

Positive Y offset

picture - specifies the picture in which the movement takes place.

542

iFIX with FIX Desktop

PAUSE Command
Purpose
Pauses the execution of the command language script for a specified duration.
Syntax
PAUSE value

Parameter
value specifies the value that represents the amount of time the script should pause, in integer
seconds.
PLAYSOUND Command
Purpose
Works in conjunction with FIX Sound Support to play sound files within a command language script.
Syntax
PLAYSOUND sound file

Parameter
sound file specifies the name of the sound file you want to play. This parameter can include path
information, but not wildcards.
NOTE: By default, the Command Language searches the FIX picture path for sound files.
Therefore, you must include full path information and the proper file extension to play a
WAV file located in a different path.
PROCEDURE Command
Purpose
The PROCEDURE command executes one SQL stored procedure. If a query in the procedure returns
data, row zero (0) of the resulting data provides each column's title.
Syntax
#num_var = SQL("database", "PROCEDURE,
"procedure","","",cache,#table_var)

NOTE: A string variable can replace any one of the command parameters except the cache
and the #table_var variable. When a variable replaces an entire parameter, do not enclose it
in quotes.

543

iFIX with FIX Desktop

Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the PROCEDURE command executed successfully. A
value of zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
procedure specifies the name of the stored procedure to execute.
cache the caching indicator, where 1 is enabled and 0 is disabled.
NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.
#table_var defines the name of the table variable that stores the results of any query performed
within the procedure.
PROMPT Command
Purpose
Specifies a message string that appears in a prompt dialog box in the current display whenever the
command language script executes. The dialog box requires an operator response to confirm the
message.
Syntax
PROMPT variable "string" [X,Y]

Parameters
variable specifies the numeric variable or string variable that stores the operator response to the
prompt, depending on the nature of the response.
NOTE: If the variable is numeric, the script verifies that the operator response is numeric upon
confirmation of the message.
string specifies a prompt string to be displayed in the prompt dialog box.
[X,Y] specifies the location of dialog box in the display in pixels, where 100 pixels equals 1 logical
inch. These offsets can be positive or negative decimals, but cannot exceed the limits of the display. By
default, the prompt dialog box appears in the upper left corner of the screen.
RAMP Command
Purpose
Provides manual ramping of a database block by increasing or decreasing its current value by a

544

iFIX with FIX Desktop

specified percentage of the EGU range. If used as a relative command, ramps the value of the selected
block.
Syntax
RAMP node:tag.field %EGU

Parameters
node:tag.field specifies the node:tag.field name of the database block whose value will be
ramped by the specified amount.
%EGU specifies the positive or negative percentage of the engineering units range configured
in the database block to ramp the value. A numeric variable can replace this parameter.
To use this as a relative command, use an asterisk (*) as a placeholder for the
node:tag.field.
REPLACEPIC Command
Purpose
Closes a picture and replaces it with another picture. If used as a relative command, closes the selected
picture and opens the specified picture.
Syntax
REPLACEPIC picture1 picture2 [tag group file]

Parameters
picture1 specifies the picture to be replaced.
picture2 specifies the picture to be opened in place of picture 1.
tag group file specifies the name of the tag group file from which all tag group information
referenced in the command language script is stored.
NOTE: A tag group symbol used in place of any of these parameters must exist within the
currently loaded tag group file. Otherwise, View has no reference from which to obtain the
symbol substitutions. Should the picture you are replacing (picture1) have an assigned
nickname, the Command Language automatically assigns the nickname to the picture opened
in place of picture1 (picture2). When using REPLACEPIC as a relative command, enter an
asterisk (*), as a placeholder for picture1.
RESOLVEVARS Command
Purpose
The RESOLVEVARS command causes all variables in a picture to be resolved to the most current

545

iFIX with FIX Desktop

assignment.
Syntax
RESOLVEVARS picture

Parameters
None
ROUND Command
Purpose
Rounds a numeric variable to the nearest integer. This command is valid for floating point numbers
only.
Syntax
ROUND num_var DN|UP|BK

Parameters
num_var specifies the name of numeric variable to be rounded.
DN|UP|BK specifies the type of rounding to be performed, where:
DN

Rounds down to the nearest integer.

UP

Rounds up to the nearest integer.

BK

Performs what is considered normal rounding, with a break occurring at the 0.5
location.
Values >= XX.50 are rounded up
Values < XX.50 are rounded down

RUNTASK Command
Purpose
Runs FIX or third party applications. For example, you can use this command to launch Login,
Historical Display, or Database Manager from View. This command can also launch third-party
applications such as Windows Notepad.
Syntax
RUNTASK executable "[command line parameter]"

546

iFIX with FIX Desktop

Parameters
executable specifies the name of the executable for the application you want to run. This
parameter can include path information, but not wildcards. For example:
RUNTASK C:\PROGRAMS\NOTEPAD

command line parameter specifies any applicable command line parameters for the executable,
enclosed in quotes. You can use up to 128 characters to define command line parameters.
Examples include:
RUNTASK C:\PROGRAMS\NOTEPAD C:\PROGRAMS\SAMPLE.TXT
RUNTASK C:\FIX32\VIEW -fdemo

single when specified, the RUNTASK command determines if the specified application is
already running. If it is, another instance is not started.
NOTE: The SINGLE parameter cannot be substituted in a Dynamo or be represented by
variables or tag group symbols. Omitting the SINGLE parameter allows multiple instances
of the same application to be started. By default, the Command Language searches the FIX
picture path to locate files. Therefore, you must include full path information and the
proper file extension to open third-party files stored in other directories.
The following FIX application executables have command line parameters:

Database Manager

Historical Display

Recip

View

S
SELECT Command
Purpose
The SELECT command retrieves data from a relational database. Row zero (0) of the resulting data
provides each column's title. This command can be built automatically with the SQL Command
Configurator.
Syntax
#num_var = SQL("database", "SELECT",
"column(s)","table(s)","condition",cache,#table_var)

NOTE: A string variable can replace any one of the command parameters except the cache and the
#table_var variable. When a variable replaces an entire parameter, do not enclose it in quotes.

547

iFIX with FIX Desktop

Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the SELECT command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
column(s) specifies the name of the column(s) from which to retrieve the data. Separate multiple
column names with a comma and no space as follows:
"COLUMN1,COLUMN2"

When appropriate, use a string variable to replace all or part of this parameter. You can
replace part of this parameter as follows:
"#COLUMN,COLUMN2"

table(s) specifies the name of the table(s) from which to retrieve the data. Separate multiple
table names with a comma and no space as follows:
"TABLE1,TABLE2"

When appropriate, use a string variable to replace all or part of this parameter. You can
replace part of this parameter as follows:
"#TABLE,TABLE2"

condition specifies an optional condition clause to be used when retrieving the data, according
to the standard SQL syntax. If no condition clause is specified, the SQL command acts on
the entire table, as specified by the column and table parameters. A common condition
clause syntax is as follows:
"WHERE COLUMN=VALUE"

Where COLUMN is the name of the relational database column and VALUE is either a
literal string enclosed in single quotes or a numeric value with no quotes.
When appropriate, use a variable to replace all or part of this parameter. You can use a
variable to replace part of this parameter as follows:
"WHERE DEVICE=#NUM" or
"WHERE DEVICE='#STRING5'"

cache the caching indicator, where 1 is enabled and 0 is disabled.


NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.
#table_var defines the name of the table variable that stores the results of the query.

548

iFIX with FIX Desktop

SETAUTO Command
Purpose
Sets the specified block to automatic mode. If used as a relative command, sets the selected block to
automatic mode.
Syntax
SETAUTO node:tag

Parameter
node:tag specifies the node:tag name of the block that should be set to automatic mode.
SETMANL Command
Purpose
Sets the specified block to manual mode. If used as a relative command, sets the selected block to
manual mode.
Syntax
SETMANL node:tag

Parameter
node:tag specifies the node:tag name of the block that should be set to manual mode.
SETNICKNAME Command
Purpose
Assigns a nickname to the current picture.
Syntax
SETNICKNAME "nickname"

Parameter
nickname specifies the nickname you want to assign to this picture, up to 30 characters and
enclosed in quotes.

549

iFIX with FIX Desktop

SETVAL Command
Purpose
Sets the value of a current value of a database block. If used as a relative command, sets the value of
the selected tag.
Syntax
SETVAL node:tag.field value

Parameters
node:tag.field specifies the node:tag.field name of the database block whose value will be set.
NOTE: If this block is a primary block, it must be in manual mode in order to receive a
value from the SETVAL command.
value specifies the value or literal string the block should be set to, depending on the nature of
the data indicated in parameter #1.
To use this as a relative command, use an asterisk (*) as a placeholder for the
node:tag.field.
STRCAT Command
Purpose
Concatenates a string variable.
Syntax
STRCAT string_var "string" [value] ["padchar"]

Parameters
string_var specifies the string variable that stores the base string.
string specifies the concatenation string to be appended onto the end of the base string.
[value] specifies the exact number of characters to be added to the base string. When a STRCAT
command executes, it automatically adds this value to the base string. Keep in mind that the
result of the addition can vary, based on the length of the concatenation string.
[padchar] specifies the character to use for padding. By default, the pad character is a space ( ).

550

iFIX with FIX Desktop

STRCMP Command
Purpose
Performs a character by character comparison of two strings based on the ASCII table. The result of
the comparison is stored in a numeric variable.
Syntax
STRCMP "string" "string" num_var

Parameters
string specifies the first string in the comparison.
string specifies the second string in the comparison.
num_var specifies the name of the numeric variable that will store the result of the comparison
of the two strings. The result corresponds to one of the following:
When...

Then the result is...

String 1 > String 2

1.0

String 1 = String 2

0.0

String 1 < String 2

-1.0

Example
STRCMP "ABC" "DEF" #VAR

ABC is less than DEF. The result, stored in the variable #VAR, is -1.
STRLEN Command
Purpose
Stores the length of a character string in a numeric variable.
Syntax
STRLEN "string" num_var

Parameters
string specifies the character string.

551

iFIX with FIX Desktop

num_var specifies the numeric variable that will store the number of characters counted in the
character string.
STRSTR Command
Purpose
Searches a character string for a specified string. If located, stores the position of its first occurrence in
a numeric variable.
Syntax
STRSTR "string" "string" num_var

Parameters
string specifies the string to use as the search criteria.
string specifies the string that will be searched.
num_var specifies the name of the numeric variable that will store the position of the search
criteria. The result corresponds to one of the following:
If the search...

Then...

Is successful

The character offset is stored in the numeric variable.

Is not successful

The numeric variable is set to -1.

STRTOK Command
Purpose
Extracts a portion of a string and stores it in a string variable.
Syntax
STRTOK "string" value value string_var

Parameters
string specifies the string from which information will be extracted.
value specifies the value that defines the location in the string where the extraction should begin.
value specifies the value that defines the number of characters to extract from the string, based
on the defined location.

552

iFIX with FIX Desktop

string_var specifies the name of the string variable that stores the extracted string.
STRTONUM Command
Purpose
Converts a string variable into a numeric variable.
Syntax
STRTONUM string_var num_var

Parameters
string_var specifies the string variable to be converted.
num_var specifies the numeric variable that will store the result of the conversion.
SWITCHKMX Command
Purpose
Replaces the current picture's macro file with a different one for all open pictures.
NOTE: If you change the KMX file for a cached picture, the KMX file remains in effect even if you
close and reopen the picture. If the macro file being loaded references a tag group file, the tag group
file must be loaded before the SWITCHKMX command executes.
Syntax
SWITCHKMX oldmacrofile | * newmacrofile

Parameters
oldmacrofile| asterisk wildcard (*) specifies the macro file to replace or (using the asterisk
wildcard) replaces every open picture's macro file.
All occurrences of this file are replaced for all open pictures. This file must reside in the
picture path. Note that when the asterisk wildcard is used, it does not replace the default
macro file, VIEW.KMX. To replace the default macro file, you must specify VIEW.KMX
as the oldmacrofile. A string variable or a tag group can replace this parameter.
IMPORTANT: You cannot use a string variable or a tag group as the oldmacrofile
parameter if you are replacing VIEW.KMX.
newmacrofile specifies the macro file to load. This file must reside in the picture path. A string
variable or tag group can replace this parameter.

553

iFIX with FIX Desktop

T-Z
TOGGLEALM Command
Purpose
Toggles the alarm status of a specified block between enabled and disabled. If used as a relative
command, toggles alarm limit checking for the selected block.
Syntax
TOGGLEALARM node:tag

Parameter
node:tag specifies the node:tag name of the block for which alarming is enabled or disabled,
depending on the current alarm limit checking status.
TOGGLEDIG Command
Purpose
Toggles the current state of a digital block. If used as a relative command, toggles the current state of
the selected digital tag.
Syntax
TOGGLEDIG node:tag.field

Parameter
node:tag.field specifies the node:tag.field name of the digital block to be closed or opened,
depending on the current digital state. Note that the field must be F_CV.
TOGGLEMANL Command
Purpose
Toggles the mode status of the specified block between manual and automatic modes. If used as a
relative command, toggles the mode status of the selected block.
Syntax
TOGGLEMANL node:tag

Parameter
node:tag specifies the node:tag name of the block that should be set to automatic or manual
mode, depending on the current mode status.

554

iFIX with FIX Desktop

TOGGLESCAN Command
Purpose
Toggles the scan status of a specified block. If used as a relative command, toggles the scan status of
the selected block.
Syntax
TOGGLESCAN node:tag

Parameter
node:tag specifies the node:tag name of the block that should be placed on or off scan,
depending on the current scan status.
UPDATE Command
Purpose
The UPDATE command writes data to the specified relational database. This command can be built
automatically with the SQL Command Configurator.
Syntax
#num_var = SQL("database", "UPDATE",
"column(s)","table","condition",cache,"")

NOTE: A string variable can replace any one of the command parameters except the cache. When a
variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the UPDATE command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
column(s) specifies the name(s) of the relational database column in the table from which data
should be retrieved from or sent to and the value to set the column to as a result of the
update. For example:
COLUMN=VALUE

Where the guidelines for this format are as follows:

Enclose values that are literal strings with single quotes. For example:
COLUMN='TEXT'

All strings must be enclosed in double quotes, even if numbers are used. For

555

iFIX with FIX Desktop

example: "COLUMN=50"

When appropriate, use a variable to replace all or part of this parameter. You can use
a variable to replace part of this parameter as follows:
"COLUMN=#'STRING5'" or
"COLUMN=#NUM"

table specifies the name of the table to which data is written. When appropriate, use a string
variable to replace all of this parameter.
condition specifies an optional condition clause to be used when writing the data, according to
the standard SQL syntax. If no condition clause is specified, the SQL command acts on the
entire table, as specified by the column and table parameters. A common condition clause
syntax is as follows:
"WHERE COLUMN=VALUE"

Where COLUMN is the name of the relational database column and VALUE is either a
literal string enclosed in single quotes or a numeric value with no quotes.
When appropriate, use a variable to replace all or part of this parameter. You can use a
variable to replace part of this parameter as follows:
"WHERE DEVICE=#NUM" or
"WHERE DEVICE='STRING5'"

cache the caching indicator, where 1 is enabled and 0 is disabled.


NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.
VIEW Command
Purpose
Displays the contents of an ASCII file in a file dialog box. The dialog box allows an operator to
browse through the file and requires confirmation to exit the browsing. The dialog box does not permit
modifications to the file.
Syntax
VIEW file name "string"

Parameters
file name specifies the ASCII file to be viewed.
string specifies the text string that appears in the dialog box title bar.

556

iFIX with FIX Desktop

ZOOM Command
Purpose
Enlarges a selected area of a display to fill the entire picture width and height. If used as a relative
command, zooms to the selected object or a specified object in the selected picture.
Syntax
ZOOM object picture

Parameters
object specifies the name of the object to zoom to.
picture specifies the picture that includes the object.

Command Syntax By Category


Click the appropriate link below for command syntax within each category:

Alarming Commands

Application Control Commands

Authorization Commands

Conversion Commands

Data Manipulation Commands

Debugging Commands

Definition Commands

Digital Block Commands

File Access Commands

File Edit Commands

File Information Commands

Flow Control Commands

Logging Commands

Messaging Commands

Numeric Manipulation Commands

Object Movement Commands

Picture Management Commands

Picture Movement Commands

SQL Commands

String Manipulation Commands

557

iFIX with FIX Desktop

Alarming Commands
The following sections provide more information about Alarming commands:

ALARMACK

ALARMACKALL

DISABLEALARM

ENABLEALARM

TOGGLEALARM

ALARMACK Command
Purpose
Acknowledges alarms for a specified block. If used as a relative command, acknowledges alarms for
the selected block.
Syntax
ALARMACK node:tag

Parameter
node:tag specifies the node:tag name of the block for which an alarm is acknowledged.
ALARMACKALL Command
Purpose
Acknowledges alarms for all blocks in the specified picture. If used as a relative command,
acknowledges alarms for all blocks in the selected picture.
Syntax
ALARMACKALL picture

Parameter
picture specifies the picture in which all alarms are acknowledged.
DISABLEALARM Command
Purpose
Disables alarm limit checking for a specified block. If used as relative command, disables alarm limit
checking for the selected block.

558

iFIX with FIX Desktop

Syntax
DISABLEALARM node:tag

Parameter
node:tag specifies the node:tag name of the block for which alarming is disabled.
ENABLEALARM Command
Purpose
Enables alarm limit checking for a specified block. If used as a relative command, enables alarm limit
checking for the selected block.
Syntax
ENABLEALARM node:tag

Parameter
node:tag specifies the node:tag name of the block for which alarming is enabled.
TOGGLEALM Command
Purpose
Toggles the alarm status of a specified block between enabled and disabled. If used as a relative
command, toggles alarm limit checking for the selected block.
Syntax
TOGGLEALARM node:tag

Parameter
node:tag specifies the node:tag name of the block for which alarming is enabled or disabled,
depending on the current alarm limit checking status.

AUTO/MANL Commands
Use these commands to set the mode status for a specified block:

SETAUTO

SETMANL

TOGGLEMANL

559

iFIX with FIX Desktop

SETAUTO Command
Purpose
Sets the specified block to automatic mode. If used as a relative command, sets the selected block to
automatic mode.
Syntax
SETAUTO node:tag

Parameter
node:tag specifies the node:tag name of the block that should be set to automatic mode.
SETMANL Command
Purpose
Sets the specified block to manual mode. If used as a relative command, sets the selected block to
manual mode.
Syntax
SETMANL node:tag

Parameter
node:tag specifies the node:tag name of the block that should be set to manual mode.
TOGGLEMANL Command
Purpose
Toggles the mode status of the specified block between manual and automatic modes. If used as a
relative command, toggles the mode status of the selected block.
Syntax
TOGGLEMANL node:tag

Parameter
node:tag specifies the node:tag name of the block that should be set to automatic or manual
mode, depending on the current mode status.

Application Control Commands


The following sections provide more information about Application Control commands:

560

iFIX with FIX Desktop

EXECUTE

EXIT

PLAYSOUND

RUNTASK

EXECUTE Command
Purpose
The EXECUTE command lets you execute commands in other applications using a local server.
Syntax
EXECUTE COMMAND [TIMEOUT]

EXIT Command
Purpose
Exits from View and returns you to the window manager.
Syntax
EXIT

Parameters
None
PLAYSOUND Command
Purpose
Works in conjunction with FIX Sound Support to play sound files within a command language script.
Syntax
PLAYSOUND sound file

Parameter
sound file specifies the name of the sound file you want to play. This parameter can include path
information, but not wildcards.
NOTE: By default, the Command Language searches the FIX picture path for sound files.
Therefore, you must include full path information and the proper file extension to play a

561

iFIX with FIX Desktop

WAV file located in a different path.


RUNTASK Command
Purpose
Runs FIX or third party applications. For example, you can use this command to launch Login,
Historical Display, or Database Manager from View. This command can also launch third-party
applications such as Windows Notepad.
Syntax
RUNTASK executable "[command line parameter]"

Parameters
executable specifies the name of the executable for the application you want to run. This
parameter can include path information, but not wildcards. For example:
RUNTASK C:\PROGRAMS\NOTEPAD

command line parameter specifies any applicable command line parameters for the executable,
enclosed in quotes. You can use up to 128 characters to define command line parameters.
Examples include:
RUNTASK C:\PROGRAMS\NOTEPAD C:\PROGRAMS\SAMPLE.TXT
RUNTASK C:\FIX32\VIEW -fdemo

single when specified, the RUNTASK command determines if the specified application is
already running. If it is, another instance is not started.
NOTE: The SINGLE parameter cannot be substituted in a Dynamo or be represented by
variables or tag group symbols. Omitting the SINGLE parameter allows multiple instances
of the same application to be started. By default, the Command Language searches the FIX
picture path to locate files. Therefore, you must include full path information and the
proper file extension to open third-party files stored in other directories.
The following FIX application executables have command line parameters:

Database Manager

Historical Display

Recipe

View

Authorization Commands
The following sections provide more information about Authorization commands:

562

iFIX with FIX Desktop

CHECKRIGHTS

MENU

CHECKRIGHTS Command
Purpose
Verifies that the current user has access to a specified security area, as defined in the FIX security
system.
NOTE: CHECKRIGHTS executes independently of the LOGIN and LOGOUT commands. Therefore, a
quick test of whomever is logged in is possible regardless of the user name.
Syntax
CHECKRIGHTS "string" num_var

Parameters
string specifies the string that identifies the name of the security area to be checked.
NOTE: Security area names are limited to 20 characters.
num_var specifies the numeric variable that stores the result of security check.
If the user...

Then the variable...

Has the proper security rights.

Is set to 1.0

Does not have the proper security rights.

Is set to 0.0

MENU Command
Purpose
The MENU command can be used to execute a View menu bar command from a command language
script, or to enable or disable access to View menu bar commands. This command can be used in
conjunction with both the FIX Security program and Draw's Environment Protection features.
However, MENU command settings can be overridden by the settings in both Security and
Environment Protection.
Syntax
MENU command true|false

Parameters
command identifies the View menu bar command to be restricted or enabled.

563

iFIX with FIX Desktop

true/false restricts the command (false) or enables the command (true). If no true/false
parameter is used, the command script executes the specified View menu bar command.

Block Scanning Commands


The following sections provide more information about Block Scanning commands:

OFFSCAN

ONSCAN

TOGGLESCAN

OFFSCAN Command
Purpose
Places a specified block off scan. If used as a relative command, places the selected block off scan.
Syntax
OFFSCAN node:tag

Parameter
node:tag specifies the node:tag name of the block to be placed off scan.
ONSCAN Command
Purpose
Places a specified block on scan. If used as a relative command, places the selected block on scan.
Syntax
ONSCAN node:tag

Parameter
node:tag specifies the node:tag name of the block to be placed on scan.
TOGGLESCAN Command
Purpose
Toggles the scan status of a specified block. If used as a relative command, toggles the scan status of
the selected block.

564

iFIX with FIX Desktop

Syntax
TOGGLESCAN node:tag

Parameter
node:tag specifies the node:tag name of the block that should be placed on or off scan,
depending on the current scan status.

Conversion Commands
The following sections provide more information about Conversion commands:

NUMTOSTR

NUMTOSTR (#CMDSTATUS Only)

STRTONUM

NUMTOSTR Command
Purpose
Converts a number into a string variable.
Syntax
NUMTOSTR num_var "string" string_var

Parameters
num_var specifies the numeric variable to be converted into a string.
string specifies the C Format Specification to be used for the conversion, enclosed in quotes.
string_var specifies the string variable that will store the result of the conversion.
NUMTOSTR (#CMDSTATUS Only) Command
Purpose
Converts a #CMDSTATUS error value into a string variable.
Syntax
NUMTOSTR #CMDSTATUS "%s" string_var

Parameters
%s specifies a special C Format Specification, enclosed in quotes, that is reserved for use with
the #CMDSTATUS variable.

565

iFIX with FIX Desktop

string_var specifies the string variable that will store the result of the conversion.
STRTONUM Command
Purpose
Converts a string variable into a numeric variable.
Syntax
STRTONUM string_var num_var

Parameters
string_var specifies the string variable to be converted.
num_var specifies the numeric variable that will store the result of the conversion.

Data Manipulation Commands


The following sections provide more information about Data Manipulation commands:

GETVAL

RAMP

SETVAL

GETVAL Command
Purpose
Fetches the value of the specified block from the process database and stores it in a numeric or string
variable. If used as a relative command, fetches the value of the selected block.
Syntax
GETVAL node:tag.field variable

Parameters
node:tag.field specifies the node:tag.field name of the database block from which to retrieve
data.
variable specifies the name of the variable that will store the data retrieved from the database
block. The type of variable defined must correspond to the type of data being retrieved. For
example:

566

iFIX with FIX Desktop

If the data is...

Then the variable must be a ...

Floating point format (F_CV)

Numeric variable

ASCII format (A_CV)

String variable

To use this as a relative command, use an asterisk (*) as a placeholder for the node:tag.field.
RAMP Command
Purpose
Provides manual ramping of a database block by increasing or decreasing its current value by a
specified percentage of the EGU range. If used as a relative command, ramps the value of the selected
block.
Syntax
RAMP node:tag.field %EGU

Parameters
node:tag.field specifies the node:tag.field name of the database block whose value will be
ramped by the specified amount.
%EGU specifies the positive or negative percentage of the engineering units range configured
in the database block to ramp the value. A numeric variable can replace this parameter.
To use this as a relative command, use an asterisk (*) as a placeholder for the
node:tag.field.
SETVAL Command
Purpose
Sets the value of a current value of a database block. If used as a relative command, sets the value of
the selected tag.
Syntax
SETVAL node:tag.field value

Parameters
node:tag.field specifies the node:tag.field name of the database block whose value will be set.
NOTE: If this block is a primary block, it must be in manual mode in order to receive a
value from the SETVAL command.

567

iFIX with FIX Desktop

value specifies the value or literal string the block should be set to, depending on the nature of
the data indicated in parameter #1.
To use this as a relative command, use an asterisk (*) as a placeholder for the
node:tag.field.

Debugging Commands
The following sections provide more information about Debugging commands:

DEBUGOFF

DEBUGON

DEBUGOFF Command
Purpose
Closes and saves a debugging file.
Syntax
DEBUGOFF

Parameters
None
DEBUGON Command
Purpose
Creates a debugging file and stores it in the picture path.
Syntax
DEBUGON "string"

Parameter
string specifies the text string that will be used as a debugging file description.

Definition Commands
The following sections provide more information about Definition commands:

568

#CMDSTATUS

DECLARE

RESOLVEVARS

iFIX with FIX Desktop

#CMDSTATUS Variable
Purpose
A numeric variable that stores and represents the completion status of each command executed within
the script. #CMDSTATUS values are a predefined. A value of 0 means a command executed
successfully. A non-zero value means an error occurred.
Syntax
#CMDSTATUS is created automatically by each command language script. No syntax is required.
DECLARE Command
Purpose
Defines a variable.
Syntax
DECLARE var_name var_type [scope]

Parameters
var_name specifies the name of a variable. The variable name can be any ASCII string and
must begin with a pound sign (#).
var_type defines the variable type, numeric, string, or table.
scope defines the variable scope.
Example
To define a table variable, use the following syntax:
DECLARE var_name[rows][columns][size] TABLE scope

rows specifies the number of rows that the variable has.


columns specifies the number of columns that the variable has.
size specifies the size (number of characters up to a maximum of 80) of each string in the table.
Specifying the size is optional and when omitted, the default of 80 is used.
Be sure to include the brackets with declaring a table variable. Also make sure you do not
insert spaces between the variable, the string size, or the number of rows and columns.
NOTE: Predefined variables can be used immediately; no DECLARE command is
required.

569

iFIX with FIX Desktop

RESOLVEVARS Command
Purpose
The RESOLVEVARS command causes all variables in a picture to be resolved to the most current
assignment.
Syntax
RESOLVEVARS picture

Parameters
None

Digital Block Commands


The following sections provide more information about Digital Block commands:

CLOSEDIG

OPENDIG

TOGGLEDIG

CLOSEDIG Command
Purpose
Closes, or sends a value of 1, to a specified digital block. If used as a relative command, closes the
selected digital block.
Syntax
CLOSEDIG node:tag.field

Parameter
node:tag.field specifies the node:tag.field name of the digital block to be closed. Note that the
field must be F_CV.
OPENDIG Command
Purpose
Opens, or sends a value of 0, to a specified digital block. If used as a relative command, opens the
selected digital block.
Syntax
OPENDIG node:tag.field

570

iFIX with FIX Desktop

Parameter
node:tag.field specifies the node:tag.field name of the digital block to be opened. Note that the
field must be F_CV.
TOGGLEDIG Command
Purpose
Toggles the current state of a digital block. If used as a relative command, toggles the current state of
the selected digital tag.
Syntax
TOGGLEDIG node:tag.field

Parameter
node:tag.field specifies the node:tag.field name of the digital block to be closed or opened,
depending on the current digital state. Note that the field must be F_CV.

File Access Commands


The following sections provide more information about File Access commands:

FILECLOSE

FILEOPEN

FILEREAD

FILEWRITE

FILECLOSE Command
Purpose
Closes a specified file. Make sure that for each FILEOPEN command, you include a corresponding
FILECLOSE command.
Syntax
FILECLOSE num_var

Parameter
num_var specifies the user-defined numeric variable that automatically stores the file handle
number of the opened file.

571

iFIX with FIX Desktop

FILEOPEN Command
Purpose
Opens a file and prepares it for subsequent modifications or extractions. When a specified file does not
exist, this command creates a new file.
Syntax
FILEOPEN file name num_var

Parameters
file name specifies the file to open or create.
num_var specifies the user-defined numeric variable that identifies and automatically stores the
file handle.
FILEREAD Command
Purpose
Accesses an open file, reads up to 80 characters or until it reaches the end of a line, and stores the
result in a string variable.
Syntax
FILEREAD num_var string_var

Parameters
num_var specifies the user-defined numeric variable that automatically stores the file handle
number of the opened file.
string_var specifies the string variable that stores up to 80 characters read in from the opened
file. Each subsequent use of the FILEREAD command retrieves the next line in the file or
up to 80 characters, whichever comes first.
FILEWRITE Command
Purpose
The FILEWRITE command appends a text string to the end of an open file.
Syntax
FILEWRITE num_var "string"

572

iFIX with FIX Desktop

Parameters
num_var specifies the user-defined numeric variable that automatically stores the file handle
number of the opened file.
string specifies the string to write to the file.
NOTE: The FILEWRITE command can not be used on a file that has been read using the
FILEREAD command. The file must be closed with the FILECLOSE command and a new
copy of the file must then be opened with the FILEOPEN command.

File Edit Commands


The following sections provide more information about File Edit commands:

APPEND

ATTRIB

COPY

DELETE

APPEND Command
Purpose
Attaches the contents of one file onto the end of another file.
Syntax
APPEND file name file name

Parameters
file name specifies the file to be appended onto the end of the second file, specified in the
second parameter.
file name specifies the file that receives the information from the first file, specified in the first
parameter.
ATTRIB Command
Purpose
Changes the protection attributes of a file. This command can be used only to change the attributes of a
closed file.
Syntax
ATTRIB file name "attribute"

573

iFIX with FIX Desktop

Parameters
file name specifies the file whose attributes are to be modified.
attribute specifies the file attribute.
COPY Command
Purpose
Copies a file to another location.
Syntax
COPY file name file name|pathname

Parameters
file name specifies the file to be copied.
file name|pathname specifies the file or the directory that stores the result of the copy.
DELETE Command
Purpose
Deletes a specified file.
Syntax
DELETE file name

Parameter
file name specifies the file to be deleted.

File Information Commands


The following sections provide more information about File Information commands:

574

CHFILE

FILELIST

FILEPRINT

VIEW

iFIX with FIX Desktop

CHFILE Command
Purpose
Checks for the existence of a specified file.
Syntax
CHFILE file name num_var

Parameters
file name specifies the file to check for.
num_var specifies the name of the numeric variable that stores the result of the check. The
result can be one of the following:
If...

Then...

The file exists.

The numeric value is set to 1.0

The file does not exist.

The numeric value is set to 0.0

FILELIST Command
Purpose
Specifies a list of files that appear in a list dialog box in the current display whenever the command
language script executes. The dialog box requires that the operator select a file from the list and
confirm the selection.
Syntax
FILELIST pattern string_var "string" [show]

Parameters
pattern specifies the pattern that defines the group of files that will appear in the list dialog box.
string_var specifies the name of the string variable that will store the name of the file selected
from the list dialog box.
string specifies the text string that appears in the dialog box title bar.
[show] enables the display of the standard File Open dialog box that appears with the title
specified in third parameter.
NOTE: When you use the [show] parameter, operators have access to the full capabilities

575

iFIX with FIX Desktop

of this dialog, including access to and possible modification of the current drive, path, file
name, and extension.
FILEPRINT Command
Purpose
Prints an ASCII file to the default window manager printer.
NOTE: The default printer must be the Generic/Text Only printer listed in the Control Panel.
To access the Printers dialog box, click the Printers icon from the Control Panel group.
Syntax
FILEPRINT file name

Parameter
file name specifies the file to be printed.
VIEW Command
Purpose
Displays the contents of an ASCII file in a file dialog box. The dialog box allows an operator to
browse through the file and requires confirmation to exit the browsing. The dialog box does not permit
modifications to the file.
Syntax
VIEW file name "string"

Parameters
file name specifies the ASCII file to be viewed.
string specifies the text string that appears in the dialog box title bar.

Flow Control Commands


The following sections provide more information about Flow Control commands:

576

GOTO

IF

PAUSE

CRITICAL

iFIX with FIX Desktop

GOTO Command
Purpose
Provides unconditional or conditional branching and looping by redirecting command processing to a
specified label.
Syntax
GOTO label

Parameter
label specifies a location in the script that is the next to be executed.
NOTE: The ampersand (&) is only used for defining the label. It is not required for the GOTO
command.
IF Command
Purpose
Evaluates a specified condition and performs an action based on the result of the evaluation. Can be
used with or without an ELSE statement and can include nested IF conditions. The action taken is one
of the following:
When...

Then...

The condition is
true.

The script executes the next command.

The condition is
false.

The script executes the command following the ELSE command.

Syntax
IF expression
command
[ELSE]
[command]
ENDIF

Parameters
expression defines the condition, in the form of an IF expression.

577

iFIX with FIX Desktop

command specifies the action to be performed if the condition is true. The action can consist of
a single or series of commands and any required or optional parameters.
ELSE specifies a conditional branch of the IF command in the event the condition is false.
command specifies the action to be performed if the condition is false. The action can consist of
a single or series of commands and any required or optional parameters.
ENDIF ends the conditional routine. You must include an ENDIF for each IF command you
use.
PAUSE Command
Purpose
Pauses the execution of the command language script for a specified duration.
Syntax
PAUSE value

Parameter
value specifies the value that represents the amount of time the script should pause, in integer
seconds.
CRITICAL Command
Purpose
Defines a critical section within a Commands While Down script. Once a critical section begins
executing it does not stop until all commands within the section are executed. The critical section also
ends when the picture containing the Commands While Down script closes.
Syntax
CRITICAL
commands
ENDCRITICAL

Parameters
commands specifies one or more commands to execute as part of the critical section.
ENDCRITICAL indicates the end of the critical section. Each CRITICAL command must have
a matching ENDCRITICAL.

578

iFIX with FIX Desktop

Logging Commands
The following sections provide more information about Logging commands:

LOGIN

LOGOUT

LOGIN Command
Purpose
The LOGIN command:

Executes the standard FIX Login program.

Logs out the current user upon accepting a new login. Saves any current user information,
which is restored after the execution of a subsequent LOGOUT command.

Updates user identification information so that all operator messages and SCADA node
security checking reflect the proper user.

Syntax
LOGIN

Parameters
None
LOGOUT Command
Purpose
The LOGOUT command:

Logs out the current user.

Checks for a previous user identification stored by the use of a preceding LOGIN command.
If available, restores the identification as the currently logged in user without the need for
another login routine.

Syntax
LOGOUT

Parameters
None

579

iFIX with FIX Desktop

Messaging Commands
The following sections provide more information about Messaging commands:

NOTE

PROMPT

Message Command
Purpose
Writes a message string to a single or multiple alarm area, according to the routing strategy defined for
application messages in the System Configuration Utility (SCU).
Syntax
MESSAGE "string"

Parameter
string specifies the message string.
NOTE Command
Purpose
Specifies a message string that appears in a note dialog box in the current display whenever the
command executes. The dialog box requires operator confirmation of the message.
Syntax
NOTE "string"

Parameter
string specifies the note string to be displayed in the note dialog box.
PROMPT Command
Purpose
Specifies a message string that appears in a prompt dialog box in the current display whenever the
command language script executes. The dialog box requires an operator response to confirm the
message.
Syntax
PROMPT variable "string" [X,Y]

580

iFIX with FIX Desktop

Parameters
variable specifies the numeric variable or string variable that stores the operator response to the
prompt, depending on the nature of the response.
NOTE: If the variable is numeric, the script verifies that the operator response is numeric upon
confirmation of the message.
string specifies a prompt string to be displayed in the prompt dialog box.
[X,Y] specifies the location of dialog box in the display in pixels, where 100 pixels equals 1 logical
inch. These offsets can be positive or negative decimals, but cannot exceed the limits of the display. By
default, the prompt dialog box appears in the upper left corner of the screen.

Numeric Manipulation Commands


The following section provides more information about Numeric Manipulation command:

ROUND

ROUND Command
Purpose
Rounds a numeric variable to the nearest integer. This command is valid for floating point numbers
only.
Syntax
ROUND num_var DN|UP|BK

Parameters
num_var specifies the name of numeric variable to be rounded.
DN|UP|BK specifies the type of rounding to be performed, where:
DN

Rounds down to the nearest integer.

UP

Rounds up to the nearest integer.

BK

Performs what is considered normal rounding, with a break occurring at the 0.5
location.
Values >= XX.50 are rounded up
Values < XX.50 are rounded down

581

iFIX with FIX Desktop

Object Movement Commands


The following sections provide more information about Object Movement commands:

FINDLINK

ZOOM

FINDLINK Command
Purpose
Searches a picture for a specified object and selects the object. If used as a relative command, searches
the active picture for the specified object.
Syntax
FINDLINK object picture

Parameters
object specifies the name of the object to search for.
picture specifies the picture that includes the object.
ZOOM Command
Purpose
Enlarges a selected area of a display to fill the entire picture width and height. If used as a relative
command, zooms to the selected object or a specified object in the selected picture.
Syntax
ZOOM object picture

Parameters
object specifies the name of the object to zoom to.
picture specifies the picture that includes the object.

Picture Management Commands


The following sections provide more information about Picture Management commands:

582

CLOSEPIC

OPENPIC

OPENBDF

iFIX with FIX Desktop

REPLACEPIC

SETNICKNAME

LOADKMX

SWITCHKMX

OPENLYT

CLOSEPIC Command
Purpose
Closes a specified picture and removes it from the display. If used as a relative command, closes the
selected picture.
Syntax
CLOSEPIC picture|nickname

Parameter
picture|nickname specifies the display, called by its picture name or assigned nickname, to be
closed.
NOTE: If you want to use the CLOSEPIC command to close a picture that was opened with the
OPENPIC command, you must specify the exact picture parameter that was used in the
OPENPIC command. For example, if the full path of the picture was specified in the OPENPIC
command, you must specify the full path in the CLOSEPIC command.
OPENPIC Command
Purpose
Opens a selected picture in View. If used as a relative command, displays the selected picture.
NOTE: When a relative OPENPIC command is included in a command language script, the File Open
dialog box appears and prompts the operator to enter a picture name.
Syntax
OPENPIC picture [Y,X,W,H] [nickname] [tag group file]

Parameter
picture specifies the picture to be opened.
Y,X,W,H specifies the picture placement, height, and width in pixels, where 100 pixels equals 1
logical inch. The X and Y offsets can be positive or negative whole numbers, but cannot
exceed the limits of the display. The H and W offsets must be greater than or equal to 20.
Variables and tag group symbols can be substituted for any of the Y, X, W, and H

583

iFIX with FIX Desktop

parameters.
NOTE: When the picture placement parameter is not used, but is followed by other
parameters, a -1 must be used as a placeholder. To open a picture at its actual size and at a
specific location (X,Y), use -1 for the W and H parameters.
nickname specifies the nickname you want to assign to this picture, up to 36 characters.
tag group file specifies the name of the tag group file that contains all the tag groups required
for the opened picture.
NOTE: A tag group symbol used in place of this parameter must exist within the currently
loaded tag group file. Otherwise, View has no reference from which to obtain the symbol
substitution. Therefore, this technique cannot be used for the first picture opened in View. If
you want to specify a tag group file, but not a nickname, use an asterisk (*) as a
placeholder for the nickname.
REPLACEPIC Command
Purpose
Closes a picture and replaces it with another picture. If used as a relative command, closes the selected
picture and opens the specified picture.
Syntax
REPLACEPIC picture1 picture2 [tag group file]

Parameters
picture1 specifies the picture to be replaced.
picture2 specifies the picture to be opened in place of picture 1.
tag group file specifies the name of the tag group file from which all tag group information
referenced in the command language script is stored.
NOTE: A tag group symbol used in place of any of these parameters must exist within the
currently loaded tag group file. Otherwise, View has no reference from which to obtain the
symbol substitutions. Should the picture you are replacing (picture1) have an assigned
nickname, the Command Language automatically assigns the nickname to the picture
opened in place of picture1 (picture2). When using REPLACEPIC as a relative command,
enter an asterisk (*), as a placeholder for picture1.
SETNICKNAME Command
Purpose
Assigns a nickname to the current picture.

584

iFIX with FIX Desktop

Syntax
SETNICKNAME "nickname"

Parameter
nickname specifies the nickname you want to assign to this picture, up to 30 characters and
enclosed in quotes.
OPENBDF Command
Purpose
Opens a selected tag status picture in View.
Syntax
OPENBDF picture node:tag [Y,X,W,H] [nickname]

Parameters
picture specifies the name of the tag status picture to be opened.
Y,X,W,H - specifies the picture placement, height, and width in pixels, where 100 pixels equals
1 logical inch. The X and Y offsets can be positive or negative whole numbers, but cannot
exceed the limits of the display. The H and W offsets must be greater than or equal to 20.
Variables and tag group symbols can be substituted for any of the Y, X, W, and H
parameters.
NOTE: When the picture placement parameter is not used, but is followed by other
parameters, a -1 must be used as a placeholder.
nickname specifies the nickname you want to assign to this picture, up to 36 characters.
LOADKMX Command
Purpose
Loads the specified macro file in place of the default macro file when the specified picture opens.
NOTE: If you change the KMX file for a cached picture, the KMX file remains in effect even if you
close and reopen the picture. If the macro file being loaded references a tag group file, the tag group
file must be loaded before the LOADKMX command executes.
Syntax
LOADKMX macrofile [picture|nickname]

585

iFIX with FIX Desktop

Parameters
macrofile specifies the macro file to load. This file must reside in the picture path. A string
variable or a tag group can replace this parameter.
picture|nickname - specifies the name of the picture that loads the macro file or the assigned
nickname of the picture that loads the macro file. If no picture is specified, the macro file is
loaded into the picture that executes the script. A string variable or tag group can replace
this parameter.
SWITCHKMX Command
Purpose
Replaces the current picture's macro file with a different one for all open pictures.
NOTE: If you change the KMX file for a cached picture, the KMX file remains in effect even if you
close and reopen the picture. If the macro file being loaded references a tag group file, the tag group
file must be loaded before the SWITCHKMX command executes.
Syntax
SWITCHKMX oldmacrofile | * newmacrofile

Parameters
oldmacrofile| asterisk wildcard (*) specifies the macro file to replace or (using the asterisk
wildcard) replaces every open picture's macro file.
All occurrences of this file are replaced for all open pictures. This file must reside in the
picture path. Note that when the asterisk wildcard is used, it does not replace the default
macro file, VIEW.KMX. To replace the default macro file, you must specify VIEW.KMX
as the oldmacrofile. A string variable or a tag group can replace this parameter.
IMPORTANT: You cannot use a string variable or a tag group as the oldmacrofile
parameter if you are replacing VIEW.KMX.
newmacrofile specifies the macro file to load. This file must reside in the picture path. A string
variable or tag group can replace this parameter.
OPENLYT Command
Purpose
Opens the specified layout file. Prior to opening the layout file, View closes all the open picture files.
If View cannot find the layout file (for example, the file does not exist), the current picture files remain
open.
Syntax
OPENLYT filename

586

iFIX with FIX Desktop

Parameter
filename specifies the name of the layout file to open. If the file does not reside in the picture
path, then include the path to the file as well. A string variable or a tag group can replace
this parameter.

Picture Movement Commands


The following sections provide more information about Picture Movement commands:

BASEPIC

PAN

BASEPIC Command
Purpose
Returns the objects within the specified picture to their original state. If used as a relative command,
returns the objects within the selected picture to their normal state.
Syntax
BASEPIC picture

Parameter
picture specifies the picture to be returned to an original state.
PAN Command
Purpose
Changes the portion of the specified picture displayed when the picture exceeds the limits of the View
window. If used as a relative command, pans the selected picture using the specified X and Y offsets.
Syntax
PAN X,Y picture

Parameters
X,Y specifies the amount of picture movement in logical inches, where 1 logical inch equals 100
pixels. These offsets can be positive or negative decimals (for example, 5.0), but cannot
exceed the limits of the display. Use the following guidelines to calculate picture
movement:

587

iFIX with FIX Desktop

To move the picture...

Enter a ...

To the left

Negative X offset

To the right

Positive X offset

Up

Negative Y offset

Down

Positive Y offset

picture - specifies the picture in which the movement takes place.

SQL Commands
The following sections provide more information about SQL commands:

COUNTROWS

DELETE

DESCTABLE

INSERT

LISTTABLES

LOGIN

LOGOUT

PROCEDURE

SELECT

UPDATE

NOTE: Some SQL commands use placeholders to reserve a position for string parameters used by
other SQL commands. These placeholders are indicated with quotation marks (" ") and must be
specified.
COUNTROWS Command
Purpose
The COUNTROWS command determines how many rows are in a specified table.
Syntax
#num_var = SQL("database", "COUNTROWS", "","table","",cache,#num_result)

NOTE: A string variable can replace any one of the command parameters except the cache
and the #num_result variable. When a variable replaces an entire parameter, do not enclose
it in quotes.

588

iFIX with FIX Desktop

Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the COUNTROWS command executed successfully. A
value of zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
table specifies the name of the table from which to count rows.
cache the caching indicator, where 1 is enabled and 0 is disabled.
NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.
#num_result defines the name of the numeric variable that stores the results of the query.
DELETE Command (SQL)
Purpose
The DELETE command deletes single or multiple rows from a specified table. This command can be
built automatically with the SQL Command Configurator.
Syntax
#num_var = SQL("database", "DELETE", "","table","condition",cache, "")

NOTE: A string variable can replace any one of the command parameters except the cache. When a
variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the DELETE command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
table specifies the name of the table from which to delete the data. When appropriate, use a
string variable to replace all of this parameter.
condition defines an optional condition clause specifying which row(s) in the table(s) to delete,
according to the standard SQL syntax. If no condition clause is specified, the SQL
command acts on the entire table, as specified by the column and table parameters. A
common condition clause syntax is as follows:
"WHERE COLUMN=VALUE"

589

iFIX with FIX Desktop

Where COLUMN is the name of the relational database column and VALUE is either a
literal string enclosed in single quotes or a numeric value with no quotes.
When appropriate, use a variable to replace all or part of this parameter. You can use a
variable to replace part of this parameter as follows:
"WHERE DEVICE=#NUM" or
"WHERE DEVICE='#STRING5'"

cache the caching indicator, where 1 is enabled and 0 is disabled.


NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.
DESCTABLE Command
Purpose
The DESCTABLE command retrieves information about a specified table. This information includes
the name and data type of each column in the table. Row zero (0) of the resulting data provides a data
descriptor for each column of data retrieved. This command does not support command caching.
Syntax
#num_var = SQL("database", "DESCTABLE", "","table","",0,#table_var)

NOTE: A string variable can replace any one of the command parameters except the #table_var
variable and the zero (0). When a variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the DESCTABLE command executed successfully. A value
of zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
table specifies the name of the table from which to retrieve the information.
#table_var - defines the name of the table variable that stores the results of the query.
INSERT Command
Purpose
The INSERT command adds a new row to the specified table and inserts the specified data into the
new row. This command can be built automatically with the SQL Command Configurator.

590

iFIX with FIX Desktop

Syntax
#num_var = SQL("database", "INSERT",
"column(s)","table","values",cache,"")

NOTE: A string variable can replace any one of the command parameters except the cache. When a
variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the INSERT command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
column(s) specifies the name of the column(s) into which to insert data. Separate column names
by commas as follows:
"COLUMN1,COLUMN2"

When appropriate, use a string variable to replace all or part of this parameter. You can use
a variable to replace part of this parameter as follows:
"#COLUMN,COLUMN2"

table specifies the name of the table into which to insert data. When appropriate, use a string
variable to replace all of this parameter.
values specifies the values to insert into the specified table, where the guidelines for this format
are as follows:

Enclose values that are literal strings with single quotes. For example: LOW

All strings must be enclosed in quotes, even if number are used. For example: "5.0, 10.0"

When appropriate, use a string variable or numeric variable to replace all or part of the
parameter.
Examples
"'LOW',5.0,'HIGH',10.0"
#VALUES
"'#VAL1', 5.0, '#VAL2', 10.0"

cache the caching indicator, where 1 is enabled and 0 is disabled.


NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.

591

iFIX with FIX Desktop

LISTTABLES Command
Purpose
The LISTTABLES command retrieves the names of all tables and views in an SQL account or data
source. Row zero (0) of the resulting data provides a data descriptor for each column of data retrieved.
This command does not support command caching.
Syntax
#num_var = SQL("database", "LISTTABLES", "owner","table","",0,#table_var)

NOTE: A string variable can replace any one of the command parameters except the #table_var
variable and the zero (0). When a variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the LISTTABLES command executed successfully. A
value of zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
owner specifies the name of the user that created the table, as defined in the relational database.
This parameter supports the following SQL wildcards:

A percent sign (%) to represent one or more characters.

An underscore (_) to represent a single character.

table specifies the name of the table(s) to list. This parameter supports the following SQL
wildcards:

A percent sign (%) to represent one or more characters.

An underscore (_) to represent a single character.

#table_var defines the name of the table variable that stores the results of the query.
NOTE: Microsoft Access does not support the use of wildcards with the LISTTABLES
command.
LOGIN (SQL) Command
Purpose
The LOGIN command logs in to a relational database specified in this node's SCU file. SQL command
support provides automatic login to a specified relational database during the execution of an SQL
command.

592

iFIX with FIX Desktop

Syntax
#num_var = SQL("database", "LOGIN", "","","",0,"")

NOTE: A string variable can replace any one of the command parameters except the zero (0). When a
variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the LOGIN command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
LOGOUT (SQL) Command
Purpose
The LOGOUT command logs out of a relational database specified in this node's SCU file. SQL
command support provides automatic logout from all relational databases when View is exited.
Syntax
#num_var = SQL("database", "LOGOUT", "","","",0,"")

NOTE: A string variable can replace any one of the command parameters except the zero (0). When a
variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the LOGOUT command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
PROCEDURE Command
Purpose
The PROCEDURE command executes one SQL stored procedure. If a query in the procedure returns
data, row zero (0) of the resulting data provides each column's title.
Syntax
#num_var = SQL("database", "PROCEDURE,
"procedure","","",cache,#table_var)

593

iFIX with FIX Desktop

NOTE: A string variable can replace any one of the command parameters except the cache
and the #table_var variable. When a variable replaces an entire parameter, do not enclose it in
quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the PROCEDURE command executed successfully. A
value of zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
procedure specifies the name of the stored procedure to execute.
cache the caching indicator, where 1 is enabled and 0 is disabled.
NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.
#table_var defines the name of the table variable that stores the results of any query performed
within the procedure.
SELECT Command
Purpose
The SELECT command retrieves data from a relational database. Row zero (0) of the resulting data
provides each column's title. This command can be built automatically with the SQL Command
Configurator.
Syntax
#num_var = SQL("database", "SELECT",
"column(s)","table(s)","condition",cache,#table_var)

NOTE: A string variable can replace any one of the command parameters except the cache and the
#table_var variable. When a variable replaces an entire parameter, do not enclose it in quotes.
Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the SELECT command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
column(s) specifies the name of the column(s) from which to retrieve the data. Separate multiple
column names with a comma and no space as follows:

594

iFIX with FIX Desktop


"COLUMN1,COLUMN2"

When appropriate, use a string variable to replace all or part of this parameter. You can
replace part of this parameter as follows:
"#COLUMN,COLUMN2"

table(s) specifies the name of the table(s) from which to retrieve the data. Separate multiple
table names with a comma and no space as follows:
"TABLE1,TABLE2"

When appropriate, use a string variable to replace all or part of this parameter. You can
replace part of this parameter as follows:
"#TABLE,TABLE2"

condition specifies an optional condition clause to be used when retrieving the data, according
to the standard SQL syntax. If no condition clause is specified, the SQL command acts on
the entire table, as specified by the column and table parameters. A common condition
clause syntax is as follows:
"WHERE COLUMN=VALUE"

Where COLUMN is the name of the relational database column and VALUE is either a
literal string enclosed in single quotes or a numeric value with no quotes.
When appropriate, use a variable to replace all or part of this parameter. You can use a
variable to replace part of this parameter as follows:
"WHERE DEVICE=#NUM" or
"WHERE DEVICE='#STRING5'"

cache the caching indicator, where 1 is enabled and 0 is disabled.


NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your
SQL manuals to determine if your relational database supports command caching.
#table_var defines the name of the table variable that stores the results of the query.
UPDATE Command
Purpose
The UPDATE command writes data to the specified relational database. This command can be built
automatically with the SQL Command Configurator.
Syntax
#num_var = SQL("database", "UPDATE",
"column(s)","table","condition",cache,"")

NOTE: A string variable can replace any one of the command parameters except the cache. When a

595

iFIX with FIX Desktop

variable replaces an entire parameter, do not enclose it in quotes.


Parameters
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the UPDATE command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred.
database defines the database identifier of the relational database, as specified in this node's
System Configuration Utility (SCU) file.
column(s) specifies the name(s) of the relational database column in the table from which data
should be retrieved from or sent to and the value to set the column to as a result of the
update. For example:
COLUMN=VALUE

Where the guidelines for this format are as follows:

Enclose values that are literal strings with single quotes. For example:
COLUMN='TEXT'

All strings must be enclosed in double quotes, even if numbers are used. For
example: "COLUMN=50"

When appropriate, use a variable to replace all or part of this parameter. You can use
a variable to replace part of this parameter as follows:
"COLUMN=#'STRING5'" or
"COLUMN=#NUM"

table specifies the name of the table to which data is written. When appropriate, use a string
variable to replace all of this parameter.
condition specifies an optional condition clause to be used when writing the data, according to
the standard SQL syntax. If no condition clause is specified, the SQL command acts on the
entire table, as specified by the column and table parameters. A common condition clause
syntax is as follows:
"WHERE COLUMN=VALUE"

Where COLUMN is the name of the relational database column and VALUE is either a
literal string enclosed in single quotes or a numeric value with no quotes.
When appropriate, use a variable to replace all or part of this parameter. You can use a
variable to replace part of this parameter as follows:
"WHERE DEVICE=#NUM" or
"WHERE DEVICE='STRING5'"

cache the caching indicator, where 1 is enabled and 0 is disabled.


NOTE: Some relational databases have the ability to save executed commands in memory,

596

iFIX with FIX Desktop

thus reducing the time it takes to re-execute the commands when required. Refer to your SQL
manuals to determine if your relational database supports command caching.

String Manipulation Commands


The following sections provide more information about String Manipulation commands:

STRCAT

STRCMP

STRLEN

STRSTR

STRTOK

STRCAT Command
Purpose
Concatenates a string variable.
Syntax
STRCAT string_var "string" [value] ["padchar"]

Parameters
string_var specifies the string variable that stores the base string.
string specifies the concatenation string to be appended onto the end of the base string.
[value] specifies the exact number of characters to be added to the base string. When a STRCAT
command executes, it automatically adds this value to the base string. Keep in mind that the
result of the addition can vary, based on the length of the concatenation string.
[padchar] specifies the character to use for padding. By default, the pad character is a space ( ).
STRCMP Command
Purpose
Performs a character by character comparison of two strings based on the ASCII table. The result of
the comparison is stored in a numeric variable.
Syntax
STRCMP "string" "string" num_var

597

iFIX with FIX Desktop

Parameters
string specifies the first string in the comparison.
string specifies the second string in the comparison.
num_var specifies the name of the numeric variable that will store the result of the comparison
of the two strings. The result corresponds to one of the following:
When...

Then the result is...

String 1 > String 2

1.0

String 1 = String 2

0.0

String 1 < String 2

-1.0

Example
STRCMP "ABC" "DEF" #VAR

ABC is less than DEF. The result, stored in the variable #VAR, is -1.
STRLEN Command
Purpose
Stores the length of a character string in a numeric variable.
Syntax
STRLEN "string" num_var

Parameters
string specifies the character string.
num_var specifies the numeric variable that will store the number of characters counted in the
character string.
STRSTR Command
Purpose
Searches a character string for a specified string. If located, stores the position of its first occurrence in
a numeric variable.

598

iFIX with FIX Desktop

Syntax
STRSTR "string" "string" num_var

Parameters
string specifies the string to use as the search criteria.
string specifies the string that will be searched.
num_var specifies the name of the numeric variable that will store the position of the search
criteria. The result corresponds to one of the following:
If the search...

Then...

Is successful

The character offset is stored in the numeric variable.

Is not successful

The numeric variable is set to -1.

STRTOK Command
Purpose
Extracts a portion of a string and stores it in a string variable.
Syntax
STRTOK "string" value value string_var

Parameters
string specifies the string from which information will be extracted.
value specifies the value that defines the location in the string where the extraction should begin.
value specifies the value that defines the number of characters to extract from the string, based
on the defined location.
string_var specifies the name of the string variable that stores the extracted string.

Variables Summary
The following variables can be used in the Macro Editor:

#CMDSTATUS Variable

Link Variables

Picture Variables

599

iFIX with FIX Desktop

Screen Variables

Security Variables

System Variables

Time Variables

#CMDSTATUS Variable
Purpose
A numeric variable that stores and represents the completion status of each command executed within
the script. #CMDSTATUS values are a predefined. A value of 0 means a command executed
successfully. A non-zero value means an error occurred.
Syntax
#CMDSTATUS is created automatically by each command language script. No syntax is required.
Link Variables
Predefined link variables provide information about the currently selected link. The available link
variables include the following:
Variable Name

Stores the...

#PS_CUR_LINK

Tagname, variable name of the currently selected object or link. For


example, if a dynamic object is selected in View, and a variable has been
defined in the dynamic property's Tagname field, #PS_CUR_LINK stores
the name of the variable.
Note that if a string variable or a tag group symbol contains a tagname,
#PS_CUR_LINK stores the tagname, not the name of the string variable or
tag group symbol.

#PS_CUR_SHDW

Tagname, variable name of the currently shadowed object or link. For


example, if a dynamic object is shadowed in View, and a variable has been
defined in the dynamic property's Tagname field, #PS_CUR_SHDW stores
the name of the variable.
NOTE: if a string variable or a tag group symbol contains a tagname,
#PS_CUR_SHDW stores the tagname, not the name of the string variable
or tag group symbol. To use the #PS_CUR_SHDW variable, the Shadow
statement in the [Highlight] section of the VIEW.INI file must be set to
TRUE.

600

iFIX with FIX Desktop

Variable Name

Stores the...

#PS_CUR_NODE

Node name specified by the currently selected link. If a variable is used in


place of a tagname, #PS_CUR_NODE contains a pound sign (#).

#PS_CUR_TAG

Name of the tag specified by the currently selected link. If a variable is


used in place of a tagname, #PS_CUR_TAG contains the name of the
variable without the leading pound sign (#).

#PS_CUR_FIELD

Field name specified by the currently selected link. If a variable is used in


place of a tagname, #PS_CUR_FIELD is empty.

Picture Variables
Predefined picture variables provide information about the current picture. The available picture
variables include the following:
Variable Name

Stores the...

#PS_PICTURE

Nickname of the picture. If the picture has no nickname the file


name is used.me field, #PS_CUR_LINK stores the name of the
variable.

#PS_PICTURE_WIDTH

Picture width (in pixels) as a string, for example, "600."

#PN_PICTURE_WIDTH

Picture width (in pixels) as a number, for example, 600.

#PS_PICTURE_HEIGHT

Picture height (in pixels) as a string, for example, "450."

#PN_PICTURE_HEIGHT

Picture height (in pixels) as a number, for example, 450.

Screen Variables
Predefined screen variables provide information about the computer screen. The available screen
variables include the following:

601

iFIX with FIX Desktop

Variable Name

Stores the...

#GS_SCREEN_WIDTH

Screen width (in pixels) as a string, for example, "640."

#GN_SCREEN_WIDTH

Screen width (in pixels) as a number, for example, 640.

#GS_SCREEN_HEIGHT

Screen height (in pixels) as a string, for example, "480."

#GN_SCREEN_HEIGHT

Screen height (in pixels) as a number, for example, 480.

Security Variables
Predefined security variables provide information about the user currently logged in. The available
security variables include the following:
Variable Name

Stores the...

#GS_LOGIN_NAME

Login name of the currently logged in user. The login name can be up
to 6 characters. If security is not enabled, the variable is empty.

#GS_FULL_NAME

Full name of the currently logged in user. The full name can be up to
30 characters. If security is not enabled, the variable is empty.

#GS_GROUP

Group name of the currently logged in user. If the user is a member of


multiple groups, the variable stores the name of the first group listed
in the Security Configuration program. The group name can be up to
30 characters. If security is not enabled, the variable is empty.

System Variables
Predefined system variables provide information about the local node. The available system variables
include the following:

602

iFIX with FIX Desktop

Variable Name

Stores the...

#GS_NODE

System node name.

#GS_CURRENT_PICTURE

Nickname of the currently active picture. If the picture has no


nickname, the file name is used.

Time Variables
Predefined time variables provide information about the current time and date. The available time
variables include the following:
Variable Name

Stores the...

#GS_TIME

Current time. The time is displayed in the format specified by the Windows
International control panel.

#GS_DATE

Current date. The date is displayed in the format specified by the Windows
International control panel.

#GS_HOUR

Current hour as a string. Values range from "0" to "23." Leading zeros can
be included for single-digit values by using the Windows International
control panel.

#GN_HOUR

Current hour as a number. Values range from 0 to 23.

#GS_MIN

Current minute as a string. Values range from "0" to "59." Leading zeros
can be included for single-digit values by using the Windows International
control panel.

#GN_MIN

Current minute as a number. Values range from 0 to 59.

#GS_SEC

Current second as a string. Values range from "0" to "59." Leading zeros
can be included for single-digit values by using the Windows International
control panel.

#GN_SEC

Current second as a number. Values range from 0 to 59.

603

iFIX with FIX Desktop

604

Variable Name

Stores the...

#GS_DAY

Current day as a string. Values range from "0" to "31." Leading zeros can be
included for single-digit values by using the Windows International control
panel.

#GN_DAY

Current day as a number. Values range from 0 to 31.

#GS_MONTH

Current month as a string. Values range from "0" to "12." Leading zeros can
be included for single-digit values by using the Windows International
control panel.

#GN_MONTH

Current month as a number. Values range from 0 to 12.

#GS_YEAR

Current year as a string. Values can be two or four digits (for example, 94 or
1994). Use the Windows International control panel to set the exact format.

#GN_YEAR

Current year as a number. Values range from 00 to 99.

FIX Macro Editor Menu Commands


The Macro Editor menu topics provide a complete description of all menus and their associated
commands. Click any topic to transfer to information on the selected command.

The File Menu

The Edit Menu

The Font! Menu

The Help Menu

The File Menu


The File menu contains the commands that help you manage the Macro Editor's default and userdefined macros. To get help for any of the File menu commands, click the appropriate command.

New

Open

Save

Save As

Delete

Report

Exit

File Menu Commands: New


The New command lets you create a new user defined macro file. You will have the opportunity to
name the macro file when you save it.
File Menu Commands: Open
The Open command on the File menu lets you open a macro file. When you select Open, the File Open
dialog box appears. Select the desired file and click Open to display the macro file.
File Menu Commands: Save
The Save command lets you store a macro file on disk. When a file is initially saved you are prompted
to define a file name. Subsequent saves automatically store the changes to the current file.
It is a good idea to save your work often. Doing so makes recovering from mistakes or system troubles
easier. On the other hand, you should not save any work unless you are sure you want to keep the
changes. Saving permanently alters a macro file. You can never go back to an older version once you
save changes.

605

iFIX with FIX Desktop

File Menu Commands: Save As


The Save As command lets you save a macro file under a different name on disk after making changes
to it.
When you select Save As from the File menu, the standard File Save dialog box appears. Enter the new
file name and click Save. The title bar changes to show that the changes have been saved under the
new name.
File Menu Commands: Delete
The Delete command lets you delete a macro file. When you select Delete from the File menu, the File
Delete dialog box appears. Select the desired file and click OK to permanently remove the macro file
from disk.
CAUTION: If you delete a default macro file, you erase the predefined keyboard accelerators for the
application and a warning message appears each time you start that application. You must reinstall
the application to recover these files if you delete them.
File Menu Commands: Report
The Report command opens a dialog box that allows you to save your key macros to a .KMR file.
File Menu Commands: Exit
The Exit command exits the Macro Editor.
If you have an open macro file that contains unsaved changes, the Macro Editor asks if you want to
save the changes. If you select Yes or No, the Macro Editor quits and returns to the window manager.
If you select Cancel, the Macro Editor returns to the open macro file.

The Edit Menu


The Edit menu contains the commands that help you manage the macros within a default or userdefined macro file. To get help for any of the Edit menu commands, click the appropriate command.

Insert

Delete

Edit Menu Commands: Insert


The Insert command lets you insert a new row in the Macro Editor so that you can add a new macro to
the open macro file.
Edit Menu Commands: Delete
The Delete command lets you delete the currently selected macro from a macro file.

606

iFIX with FIX Desktop

The Font! Menu


The Font! menu lets you select from a variety of fonts, styles, and point sizes that customize the Macro
Editor window. To change the appearance of text in the entire window, select the appropriate settings
from the Font menu.

The Help Menu


The Help menu gives you access to the Macro Editor's help system. Click any of the following choices
to access information on using the Macro Editor:

Electronic Books

Glossary

About

Help Menu Commands: Electronic Books


Click this topic to open the iFIX electronic books.
Help Menu Commands: Glossary
Click the link below to view the glossary of important terms in the Macro Editor:

Glossary

Help Menu Commands: About


Click this command to retrieve version information about the FIX Desktop product you have installed
on your computer.

Keyboard
The following keys and keyboard accelerators are available in the Macro Editor to help you move
through the menu bar and dialog boxes.
Movement Keys

The Alt key activates the menu bar.

The left and right arrow keys move between menus.

The up and down arrow keys move through menu commands.

The Enter key selects a command or dialog box button and records field entries.

The Tab key moves the selection box or cursor through all dialog box fields, list boxes, check
boxes, and buttons.

607

iFIX with FIX Desktop

Keyboard Accelerators

608

Task

Accelerator

Access help for dialog boxes and commands.

F1

Access help for fields and controls.

Alt+F1

Delete a row from a macro file.

Delete

Insert a new row into a macro file.

Ctrl+E

Open a new macro file.

Ctrl+N

Open an existing macro file.

Ctrl+O

Save the current macro file.

Ctrl+S

FIX Macro Editor Dialog Boxes


The FIX Macro Editor includes the following dialog boxes (listed in alphabetical order):

Command Language Editor Dialog Box

Description Dialog Box

Key Selected Dialog Box

Search and Replace Dialog Box

SQL Command Configurator Dialog Box

Command Language Editor Dialog Box


The Command Language Editor dialog box displays the command language script that executes when
the key or key combination defined for this macro is pressed. To use the editor, type a script in the
same way you would type a document in Notepad. The editor retains the case of the items you enter,
as well as the formatting (spaces and tabs). You can use the SQL button to build an SQL command for
a command language script.
NOTE: Always check the validity of command parameters before returning to the Macro Editor
window. The Command Language Editor does not verify node, tag, or tag group file names.
Command Buttons
At the top of the Command Language Editor is a row of command buttons. These buttons provide
quick access to the most frequently used commands. Tool tips are enabled with the buttons to easily
identify their functionality.
These command buttons help manage the command language script that executes when the key or key
combination defined for this macro is pressed. Each button is described below:
Button

Description

Cut

Removes the highlighted text and copies it to the global clipboard.

Copy

Copies the highlighted text to the global clipboard without removing the
highlighted text.

Paste

Copies the text from the global clipboard into the edit field. if any text is
highlighted, that text is replaced. If no text is highlighted, the new text is
inserted at the cursor position.

Undo

Reverses the last operation only within the edit field. This operation only
implements one level of undo and redo. The undo button is only enabled if an
Undo operation is possible.

609

iFIX with FIX Desktop

Button

Description

Search/Replace

Opens the Search and Replace dialog box.

SQL

Opens the SQL Command Configurator dialog box.

Import

Invokes the Import function, which is facilitated through a standard Open File
dialog box. You can then import any ASCII file created in a standard text
editor.

Export

Invokes the standard Export function, which is facilitated through a standard


File Save dialog box.

Errors

Opens the Command Script Errors dialog box.

Insert Tag

Opens the standard Field Select dialog box. If you complete the fields and
click OK, a node:tag.string is pasted into the script.

Quick
Commands

Opens the Available Commands dialog box, which contains an alphabetical list
of all the valid commands and their proper syntax.

Goto

Displays the line number the cursor is on. Click on the button to open the Goto
dialog box. enter either a line number of a label and click OK to move the
cursor to that line of the script.

Description Dialog Box


Use the Description dialog box to create or edit a description of up to 40 alphanumeric characters for a
macro. The description can contain alphanumeric, symbol, and punctuation characters such as (*)&+%.

Key Selected Dialog Box


Use the Key Selected dialog box to select the keystroke assignment that will execute the macro you are
creating or editing. If you make a mistake when making a selection, select Clear to begin again. Use
the following guidelines to select a key combination:

610

Ctrl Key used in combination with function, alphanumeric, symbol, punctuation,


movement, Insert, and Delete keys. This key cannot be used by itself.

Shift Key used in combination with function, symbol, punctuation, movement, Insert, and
Delete keys. This key cannot be used by itself or in combination with alphanumeric keys.

Function, Movement, Insert, and Delete Keys used in combination with the Ctrl or Shift
keys, but must be selected second. These keys can also be used by themselves.

Alphanumeric Keys used in combination with the Ctrl key, but must be selected second.
These keys cannot be used by themselves.

iFIX with FIX Desktop

Symbol and Punctuation Keys used in combination with the Ctrl or Shift keys, but must
be selected second. These keys can not be used by themselves.

Search and Replace Dialog Box


The Search and Replace dialog box lets you search and replace data in a command language script.
The dialog box provides the following options:

Performing a case-sensitive search.

Searching forward or backward in the script.

Starting a search in the middle of a column and wrapping to the column's beginning or end.

Search For
The Search for field lets you enter up to 100 characters of text.
After entering the text you wish to search for, select the Search Next button to search forward for the
next occurrence of the text in the selected column. Select the Search Previous button to search
backward for the next occurrence of the text.
Replace With
The Replace with field lets you enter up to 100 characters of replacement text.
After entering your replacement text, select the Replace Next button to search forward for the next
occurrence of the text you are searching for and replace it. Select the Replace Previous button to
search backward for the next occurrence of the text you are searching for and replace it.
Case Sensitive
The Case Sensitive check box lets you control whether your search is case sensitive. Select the check
box for a case sensitive search. Clear the check box for a non-case sensitive search.
Wrap Around
The Wrap Around check box lets you search an entire script, either forward or backward, no matter
where you start in the script. When you select this check box, the Search Next, Replace All and Search
Previous operations will wrap to the start (or the end) of the script when performing their functions.
When the check box is cleared, the search will proceed only until it reaches the scripts end or its
beginning.
Search Next
Click on the Search Next button to start a forward search directly after the cursor or after the
highlighted portion of the script.

611

iFIX with FIX Desktop

Search Previous
Click on the Search Previous button to start a backward search directly before the cursor or before the
highlighted portion of the script.
Replace
Click on the Replace button to replace the currently highlighted text with the text in the Replace field.
Replace All
Click on the Replace All button to search the entire script and replace all matches with the text in the
Replace field. Once the operation is complete, a message is displayed showing how many
replacements were performed.
The Replace All function only searches in a forward direction.

SQL Command Configurator Dialog Box


The SQL Command Configurator dialog box automatically builds the required syntax you need to
incorporate selected SQL commands or stored procedures in a command language script. SQL
commands you can build from the configurator include SELECT, INSERT, UPDATE, and DELETE.
When a command language script with SQL commands executes, View:

Reads the SQL login account information from the local node.

Logs into the relational database specified in the Database Identifier field.

Executes the SQL command.

Logs out of the relational database when View is exited.

Database Identifier
The Data Location field lets you specify the name of a table variable that will store the resulting data
from the SQL command.
Valid Entries
Type the name of the table variable, as defined with the DECLARE command and is used for the
SELECT commands only.
Build Command
The Build Command and Use Stored Procedure buttons let you control whether a command language
script executes an SQL command or a stored procedure.
Valid Entries
Select either button to build the appropriate SQL command syntax.

612

iFIX with FIX Desktop

Command Type Buttons


The Command Type buttons let you build the proper command syntax for any one of the following
SQL commands:

SELECT retrieves data from a relational database and stores it in a table variable.

INSERT adds a new row to a relational database table and inserts data into the new row.

UPDATE writes (updates) an existing record in a relational database table.

DELETE deletes single or multiple rows from a specified table in a relational database.

Valid Entries
Select the appropriate button to build the SQL command syntax.
Table Name(s)
The Table Name(s) field specifies the name(s) of the relational database table from which data should
be retrieved from or sent to. A string variable can replace this parameter.
Valid Entries
Enter the appropriate table name. Separate multiple table names with a comma and no spaces. For
example:
TABLE1,TABLE2

When appropriate, use a string variable to replace all or part of the parameter.
If you replace this parameter with a string variable, do not enclose the variable name in quotes. Also
make sure, you set the value of the variable as follows:
#TABLE = "TABLE1"

If you use a variable to replace part of this parameter, enter the following:
#TABLE,TABLE2

Column(s)
The Column(s) field specifies the name(s) of the relational database column in the table from which
data should be retrieved from or sent to.
When using the UPDATE command, this field also specifies the value you want to set the column to as
a result of the update.
Valid Entries
Enter the appropriate column name. Separate multiple column names with a comma and no spaces. For
example:
COLUMN1,COLUMN2

613

iFIX with FIX Desktop

NOTE: Do not specify a column name when using the DELETE command.
When using the SELECT command, you can leave this field blank. When you do this, all the columns
in the specified table are returned.
When using the UPDATE command, enter the appropriate column name with the desired value in the
following format:
COLUMN=VALUE

Where the guidelines for this format are as follows:

Enclose values that are literal strings with single quotes. For example: COLUMN='TEXT'

To use a string variable in place of a literal string, use the same syntax. For example:
COLUMN='#STRING5'

Do not use any quotes for numeric values. For example: COLUMN=50

When appropriate, use a string variable to replace all or part of the parameter. For example:
#COLUMN, where this example variable stores the literal string COLUMN='TEXT'

If you use a variable to replace part of this parameter, enter the following:
#COLUMN,COLUMN2

Condition Clause/Insert Value(s)


The Condition Clause/Insert Value(s) field lets you:

Specify an optional condition clause for the SELECT, UPDATE, and DELETE commands to
identify which rows should be used in the specified columns.

Specify the value(s) to insert into the specified table for the INSERT command.

Valid Entries
For the SELECT, UPDATE and DELETE commands:
Type an optional condition clause according to the standard SQL syntax. If no condition clause is
specified, the SQL command acts on the entire table, as specified by the column and table parameters.
A common condition clause syntax is as follows:
WHERE COLUMN=VALUE

Where COLUMN is the name of the relational database column and VALUE is either a literal string
enclosed in single quotes or a numeric value with no quotes. A string variable can be used to replace
all or part of the condition clause.
For the INSERT command:
Type the value(s) to insert into the specified table. Where the guidelines for this format are as follows:

614

Enclose values that are literal strings with single quotes. For example: 'LOW'

Do not use any quotes for numeric values. For example: 5.0

When appropriate, use a string variable to replace all or part of the parameter.

iFIX with FIX Desktop

Example 1
The following condition clause could be used with the SELECT, UPDATE and DELETE commands.
WHERE DEVICE='Engine5'
WHERE DEVICE=50
WHERE DEVICE = #DEVICE

To use a string variable in place of a literal string, use the syntax shown for literal strings. For
example: WHERE DEVICE='#STRING5'
NOTE: If you omit the word "Where" from the condition clause, the SQL Command Configurator
dialog box adds it for you.
Example 2
The following condition clauses could be used with the INSERT command.
'LOW',5.0,'HIGH',6.0
#VALUES
'#VAL1', 5,0, '#VAL2', 10.0

Use Stored Procedure


Select the Use Stored Procedure button to have a command language script execute a stored procedure.
Procedure Name
The Procedure Name field lets you specify the name of the stored procedure you want the command
language script to execute.
NOTE: If you plan to use a stored procedure, make sure your relational database supports this
feature. Consult your relational database manuals for more information on creating and using stored
procedures.
Valid Entries
Type the name of the stored procedure, as defined in the relational database.
Data Location Field
The Data Location field lets you specify the name of a table variable that will store the resulting data
from the SQL command.
Valid Entries
Type the name of the table variable, as defined with the DECLARE command and is used for the
SELECT commands only.

615

iFIX with FIX Desktop

Use Command Caching


The Use Command Caching check box enables or disables the relational database's ability to cache
SQL commands.
NOTE: Some relational databases have the ability to save executed commands in memory, thus
reducing the time it takes to re-execute the commands when required. Refer to your SQL manuals to
determine if your relational database supports command caching.
Valid Entries
Select the box to enable caching and clear it to disable caching.

616

How Do I...
Click the appropriate link below for more information about the FIX Desktop Macro Editor step-bystep procedures:

Using the Macro Editor

Using the SQL Command Configurator

Using the Macro Editor


Click the appropriate link below for more information about using the FIX Desktop Macro Editor
application:

Adding a Macro to a Macro File

Associating Macro Files with Pictures

Creating and Editing a Macro

Deleting a Macro File

Deleting a Macro from a Macro File

Saving a New Macro File

Adding a Macro to a Macro File


To add a macro to a macro file:
1.

In FIX Macro Editor, select a cell in the row that should fall immediately after the row you
want to insert.

2.

On the Edit menu, click Insert to insert a blank row before the selected row.

3.

In the Function Key column, enter the key(s) that will execute the command language script,
or double-click in the column. The Key Selected dialog box appears.

4.

Double-click the adjacent cell in the Command(s) column. The Command Language Editor
dialog box appears.

5.

Type the commands you want the key or key combination to execute in the numbered rows,
using one row for each command you enter. Use the Insert and Delete buttons to add or
remove rows.

6.

Click OK to return to the Macro Editor window.


NOTE: Always check the validity of command parameters before returning to the Macro
Editor window. The Command Language Editor does not verify node, tag, or tag group file
names.

7.

Enter a description of the macro in the Description field. Alternatively, you can double-click
the Description field to access the Description dialog box and enter a description there.

617

iFIX with FIX Desktop

8.

On the File menu, click Save.

Associating Macro Files with Pictures


When you create a user-defined macro file, you must associate the file with a specific picture(s) to
enable the custom functionality in View. Once you assign a macro file to a picture, operators can
execute keystroke macros by pressing the appropriate key combination.
Use the following steps to associate a user-defined macro file with one or more pictures.
To associate a user-defined macro file with one or more pictures:
1.

Start the Draw application.

2.

On the File menu, click Open to open the appropriate picture.

3.

On the Edit menu, click Picture. The Picture dialog box appears.

4.

Enter the user-defined macro file name in the Macro File Name field or click the browse (...)
button to select from a list of macro files.

5.

Click OK to return to the active picture.

6.

On the File menu, click Save to save your changes.

Creating and Editing a Macro


To create or edit a macro:
1.

In FIX Macro Editor, type the key or key combination that should execute the command
language script in the Function Key column or double-click in the column to access the Key
Selected dialog box.

2.

Double-click the adjacent cell in the Command(s) column. The Command Language Editor
dialog box appears.

3.

Type the commands you want the key or key combination to execute in the numbered rows,
using one row for each command you enter. Use the Insert and Delete buttons to add or
remove rows.

4.

Select OK to return to the Macro Editor window.


NOTE: Always check the validity of command parameters before returning to the Macro
Editor window. The Command Language Editor does not verify node, tag, or tag group file
names.

618

5.

Enter a description of the macro in the Description field. Alternatively, you can double-click
the Description field to access the Description dialog box and enter a description there.

6.

On the File menu, click Save to save your changes.

iFIX with FIX Desktop

Deleting a Macro File


To delete a macro file:
CAUTION: If you delete a default macro file, you erase the predefined keyboard accelerators
for the application. You must reinstall the application to recover these files once you delete
them.
1.

In FIX Macro Editor, on the Edit menu, click Delete. The standard File Delete dialog box
appears.

2.

Select the file you want to delete.

3.

Click OK. A dialog box appears so you can verify the deletion.

4.

Click Delete to confirm the deletion.

Deleting a Macro from a Macro File


To delete a macro from a macro file:
1.

In FIX Macro Editor, select any cell of the row that contains the macro you want to delete.
CAUTION: If you delete a macro from a default macro file, you erase a predefined keyboard
accelerator for the application. You must reinstall the application to recover that accelerator.

2.

On the Edit menu, click Delete to remove the macro.

3.

On the File menu, click Save to save your changes.

Saving a New Macro File


To save a macro file:
NOTE: The first time you save a macro file, you are prompted to define a file name.
Subsequent saves automatically store the changes to the current file.
1.

In FIX Macro Editor, on the File menu, click Save. The standard File Save dialog box
appears.

2.

In the File Name field, type in a unique file name up to eight characters long.

3.

Click OK. The Macro Editor adds the .KMX file extension for you. The title bar of the Macro
Editor changes to show the new name of the macro file.

Using the SQL Command Configurator


For information on accessing relational database data with the SQL Command Configurator, refer to
the following sections:

Accessing the SQL Command Configurator

Building Commands with the SQL Command Configurator

Understanding SQL Error Handling

619

iFIX with FIX Desktop

SQL Command Configurator Dialog Box

SQL Commands

Accessing the SQL Command Configurator


The SQL Command Configurator dialog box lets you incorporate relational database data into
command language scripts. Note that in order to achieve this, you must define at least one SQL login
account in the System Configuration Utility (SCU).
To access the SQL Command Configurator:
1.

In FIX Macro Editor, access the Command Language Editor dialog box.

2.

Create a numeric variable to store the completion status of the SQL command. For example:
DECLARE #VAR1 NUMERIC

3.

Create a table variable to store or represent the relational database data. For example:
DECLARE #RESULT[20][20] TABLE PICTURE

4.

Specify a mathematic expression to set the value of the numeric variable. For example:
#VAR1 =

The SQL button on the Command Language Editor dialog box becomes enabled.
5.

Click the SQL button. The SQL Command Configurator dialog box appears.

Building Commands with the SQL Command Configurator


The SQL Command Configurator lets you incorporate relational database data into command language
scripts. Note that in order to achieve this, you must define at least one SQL login account in the
System Configuration Utility (SCU).
To build a command with the SQL Command Configurator:
1.

In the Database Identifier field, type the name of the relational database from which data
should be retrieved.
NOTE: This name must match the Database Identifier defined in a defined SQL login
account.

2.

620

Use the steps in the following table to perform a task:

To execute...

Use these steps

A stored
procedure

Click the Use Stored Procedure button and type the procedure name in the
Procedure Name field.

iFIX with FIX Desktop

To execute...

Use these steps

An SQL
command

Click the Build Command and one of the Command Type buttons. Then, type
the unique Table(s) and Column(s) names in the proper fields separating
multiple names with a comma.
Finally, type an optional condition clause to identify which rows should be
used in the specified column(s). If you omit the condition clause, the SQL
command acts on the entire table as specified by the column and table names
you have entered.
NOTE: The INSERT command only adds one new row to the specified table.
Adding multiple rows are not supported. In addition, the DELETE command
should not specify column names. You can also omit column names for the
SELECT command. When you do, all the columns in the specified table are
returned.

3.

In the Data Location field, type the name of the table variable that stores or represents the
data. This variable must have been defined previously with a DECLARE command and is
used for the SELECT command only.

4.

Select or clear the Use Command Caching check box as appropriate.


NOTE: Some relational databases have the ability to save executed commands in memory,
thus reducing the time it takes to re-execute the commands when required. Refer to your SQL
manuals to determine if your relational database supports command caching.

5.

Click OK to return to the Command Language Editor dialog box. The SQL command you
have built appears to the right of the numeric variable equals sign.

Understanding SQL Error Handling


The Command Language's SQL command support uses numeric variables, table variables, and alarm
areas to relay information on errors during connection or communication with the relational database.
For example:

The numeric variable in the required SQL command syntax stores the completion status of an
executed command. A value of zero indicates that the command executed successfully.
A non-zero value indicates that an error occurred. When an error occurs, the numeric variable
stores the error code returned by the relational database. Check the relational database
documentation for detailed information on the error.

The table variable assigned to store or represent data contains the "@" character in the event
of a database connection error. If the problem is not due to a connection error, the table
contains the "*" (asterisk) character.

All alarm destinations enabled in the System Configuration Utility (SCU), except the Alarm
Summary link, receive an appropriate message in the event of a database connection error.

NOTE: The Data link also provides support for the display of any value stored in a numeric or table
variable.

621

Glossary
You should be familiar with the following special terms used frequently in the Macro Editor on-line
help. Click any term to display the term's definition.

A-C
Alarm Areas
C Format Specification
Character Offset
Command Language Script
Command Line Parameter File
Command Line Parameters

D
Database Builder Command Line Parameters
Debugging File
Default Macro
Dynamic Properties

E-F
Environment Protection
Executable
File Attribute
File Handle
File Name

H-L
Historical Display Command Line Parameters
IF Expression
Keystroke Assignment

M
Macro
Macro File
Mathematic Expression

623

iFIX with FIX Desktop

N-O
Nickname
Node:tag
Node:tag.field
Numeric Variable
Object Name

P-R
Pattern
Picture Name
Place Holder
Predefined Variable
Properties
Recipe Package Command Line Parameters
Relative

S
Security Area
Shadow
Sound File
SQL Login Account
SQL Startup Script
Stored Procedure
String Variable
String 27
String 30
String 38
String 62
String 110
String 126
String 132
Substitution

T-Z
Table Variable
Tag Group File

624

Macro Editor Manual

Tag Group Symbol


Tag Status Picture
User-Defined Macro
Value
Variable
Variable Scope
View Command Line Parameters
View Menu Bar Commands

A-C
Alarm Areas
An alarm area identifies a physical or functional division of a plant that acts as a routing label for
alarms and messages.
C Format Specification
A C Format Specification can be used to convert a numeric or a #CMDSTATUS error value into a
string variable. The specification has the following syntax and can contain up to 129 characters:
%[flags] [width] [.precision] type

Each parameter is a single character or a number that specifies a formatting option. The simplest
format specification contains only the percent sign and the required type parameter, for example, %f.
Refer to the Command Language Manual for details on using this specification.
Character Offset
The character offset for the STRSTR command represents the number of characters, starting with 0 for
the first character, from the start of the search string to the location of the criteria.
Command Language Script
A command language script contains commands that let operators perform a number of various tasks
by pressing a key sequence, clicking the mouse button, or touching the screen in View. You define
these operator tasks by using the Command Language Editor to create scripts that can be assigned to:

A key or key combination in the Macro Editor.

The properties, of a picture, so that the script executes when an operator opens or closes the
picture.

A Push Button link in a picture.

The dynamic properties of an object, so that the script executes when an operator selects the
object.

625

iFIX with FIX Desktop

Command Line Parameter File


A command line parameter file is an ASCII file containing a group of command line parameters that
executes as if they were passed directly from within a RUNTASK command syntax. You must use a
command line parameter file if the RUNTASK command string exceeds 128 characters. The contents,
format, and exact method you use to invoke the ASCII command line parameter file depends on the
application you are using.
In the following example, the RUNTASK command is used to launch Historical Display using the
command line parameter file, HTD2.CFG located in the C:\COMD path:
RUNTASK HTD.EXE "-CF 'C:\COMD\HTD2.CFG'"

The Historical Display command file parameter, -CF, requires the full path of the file. The following is
an example HTD2.CFG command line parameter file:
-PG 'Tank Temps'
-TB 03:00:00
-DU 00:00:10:00

The command line parameter file includes instructions for the pen group, starting time, and the
duration that Historical Display uses.
Command Line Parameters
Command line parameters are special parameters associated with an executable that allow you to
customize the FIX applications startup, but are not needed to launch the application. Specify
command line parameters directly following the executable name or create an application-specific
command line parameter file.
The Database Manager, Historical, Recipe, and View applications provide command line parameters
for their associated executables.

D
Database Builder Command Line Parameters
Use the following table as a guide in your use of command line parameters.
Program

Parameter Name

Syntax

DBBSAVE

Node name

-Nnodename

Database

-Ddatabase

Node name

-Nnodename

Database

-Ddatabase

DBBLOAD

626

Macro Editor Manual

Debugging File
A debugging file is a user-created ASCII file that contains tracking information about a command
language script.
Debugging files are named CMD#.DBG, where # is the file number, from 1-1000. Your FIX software
manages debugging files automatically. Each time you start and stop View, your FIX software
considers that time period a View session. Any subsequent use of the debugging commands during the
View session creates new, consecutively named debugging files.
Default Macro
Default macro files contain macros that enable the keyboard accelerators for an application. Your FIX
software includes default macro files for the Draw and View applications, identified by the name of the
application to which it applies, along with a .KMX file extension.
To disable a keyboard accelerator within all pictures, delete it from the default macro file. To disable a
keyboard accelerator within a specific picture, redefine the keys in a user-defined macro file and assign
the file to the picture.
CAUTION: If you delete a default macro file, you will lose the predefined macros and keyboard
accelerators for the application and a warning message appears each time you start that application.
You must reinstall the application to recover these files if you delete them.
Dynamic Properties
Dynamic properties are object attributes that change in View based primarily on changes in database
values. You can use dynamic properties to produce real-time effects like color and animation. You can
also use dynamic properties to add command language scripts to objects.
NOTE: When a dynamic property cannot get the required data from a database because of a
communication or database error, the dynamic property turns off. The object appears in View as it
would when you open the picture file in Draw.

E-F
Environment Protection
Environment protection is used to create a secure environment that prevents the operator from
performing unauthorized actions, including:

Starting other tasks.

Opening unauthorized pictures.

Switching to unauthorized tasks.

Closing the current picture.

Exiting View.

Rebooting the system using Ctrl+Alt+Del.

627

iFIX with FIX Desktop

Executable
An executable is the name of the file that runs a FIX or a third party application. For example,
DRAW.EXE or EXCEL.EXE. The executable file name must include path information. A tag group
symbol or string variable can replace this parameter.
File Attribute
A file attribute defines whether a file is a read-only, hidden, or system file. You can set the following
file attributes. enclosed in quotes, with the "attribute" parameter:
Attribute

Description

+R

Creates a read-only file, which may not be modified or deleted.

-R

Removes a read-only protection, which allows modifications and deletions.

+A

Sets the archive attribute of a file to indicate the file has been altered and needs to
be re-archived.

-A

Resets the archive attribute of a file to indicate that the file has not been altered
and does not need to be re-archived.

+H

Creates a hidden file.

File Handle
A file handle is an arbitrary numeric label assigned to an opened file when you use the FILEOPEN
command. The Command Language uses the file handle to call the file during any subsequent file
reads, writes, or closes.
File Name
A file name is the name of the file required by this command syntax. File extensions should be added
where appropriate. The file name must include path information and can include wildcards.
A tag group symbol or string variable can replace this parameter.

628

Macro Editor Manual

H-L
Historical Display Command Line Parameters
The following table describes the Historical Display command line parameters.
Parameter Name

Syntax

Command Line Parameter File

-CF 'filespec'

Chart Group

-CG 'Chart group name'

Pen Group

-PG 'Pen group name'

Time Group

-TG 'Time group name'

Start Time

-ST mm/dd/yy@hh:mm:ss
-ST mm/dd/yy
-ST hh:mm:ss

End Time

-ET mm/dd/yy@hh:mm:ss
-ET mm/dd/yy
-ET hh:mm:ss

Duration

-DU dd:hh:mm:ss

Days Before Today

-DB number of days

Time Before Now

-TB hh:mm:ss

User-Defined Header Item

-1 'user-defined value'

629

iFIX with FIX Desktop

IF Expression
Syntax
parameter relational operator parameter

Parameters
parameter specifies the parameter to be evaluated. A node:tag.field, string variable, numeric
variable, or tag group symbol are all valid parameters.
relational operator specifies the relational operator, which may include == (double equals), !=
(not equals), > (greater than), <(less than), >= (greater than or equal to), or <= (less than or
equal to).
Parameter specifies the parameter that defines the condition to be evaluated. A node:tag.field,
string variable, numeric variable, or tag group symbol are all valid parameters.
Keystroke Assignment
The key combination assigned to a default or user-defined macro that defines the keystroke sequence
that executes a command language script in View.

M
Macro File
A macro file contains up to 256 default or user-defined macros. Your FIX software appends a .KMX
file extension to all macro files and stores them in the Picture path defined in the System Configuration
Utility (SCU).
Macro
A macro defines a key or key combination that executes a command language script upon request.
Mathematic Expression
A mathematic expression requires the following syntax:
numeric variable = expression

Where the expression can use one or more of the following as parameters:
node:tag.field where a tag group symbol can replace this parameter.
value where a numeric variable can replace this parameter and store the value information.
You can also select from a number of valid operators and functions, such as +, -, *,^, LOG ( ), >, or <,
to build simple or compound expressions. Refer to the Command Language Manual for a detailed
listing.

630

Macro Editor Manual

N-O
Nickname
A nickname is a user-defined, generic picture name that lets you control the opening and closing of
multiple pictures without concern for which picture is currently displayed.
A nickname can be assigned with the OPENPIC or SETNICKNAME commands and can replace the
picture parameter for the CLOSEPIC command. A tag group symbol or string variable can replace this
parameter.
Node: Tag
A node:tag is the syntax used by FIX applications to reference the tag name of a database block. A tag
group symbol or string variable can replace this parameter.
Node: Tag.Field
A node:tag.field is the syntax used by FIX applications to reference a specific field within a database
block configuration. A tag group symbol or string variable can replace this parameter.
IMPORTANT: The node:tag.field used with the GETVAL and SETVAL commands can be replaced by
a string variable or numeric variable.
A node:tag.field can also be used in a mathematic expression.
Numeric Variable
A numeric variable stores floating point values and is set to 0.0 upon creation. A numeric variable
name must begin with a pound sign and can contain up to 31 characters. This variable can represent
different numeric-based elements at different times, depending on the variable scope.
Numeric variables can also be used in a mathematic expression.
Object Name
An object name is the case-sensitive name of an object assigned in the link or dynamic property
configuration of a specific link or object in Draw. A tag group symbol or string variable can replace
this parameter.

P-R
Pattern
A pattern specifies the location of the files that will appear in a List dialog box when using the
FILELIST command. The file name must include path information. This path information may contain
up to 31 characters, including wildcard characters.
A tag group symbol or string variable can replace this parameter.

631

iFIX with FIX Desktop

Picture Name
A picture name is the name of the Draw picture file required by this command syntax. The picture file
must include path information and have a file extension of .ODF. A tag group symbol or string
variable can replace this parameter.
Place Holder
A place holder is a substitute for a node:tag.field, node:tag, picture, or object parameter in a relative
command syntax. Valid place holders include:

The asterisk (*) place holder

The -1 place holder, used only with the OPENPIC command when you do not specify picture
placement parameters but do use a nickname.

Example
OPENPIC pict1 -1 nickname

Predefined Variable
A predefined variable is a read-only, variable whose name is reserved for use by the Command
Language. Predefined variables can have the following scope:

Global variables that are available to any command language script while View is running.
View maintains one copy of these variables for all scripts. Global scope variables begin with
the prefix #GS_ (for global scope string variables) or #GN_ (for global scope numeric
variables).

Picture variables that are available to command language scripts running in a given picture.
View maintains multiple copies of these variables, one per picture. Picture scope variables
begin with the prefix #PS_ (for picture scope string variables) or #PN_ (for picture scope
numeric variables).

Properties
Properties are attributes of pictures or objects that you can alter in Draw using tools, menu commands,
and dialog boxes.
Recipe Package Command Line Parameters
Use the following table as a guide when adding command line parameters.

632

Parameter Name

Syntax

Batch Size

/bbatch_size

Control Recipe

/ccontrol_recipe

Macro Editor Manual

Parameter Name

Syntax

DOS Recipe

/ddos_recipe

Error File

/e

Command Line File

/ffilename

Tag Group

/gtag_group_filename

Batch ID

/ibatch_id

Master Recipe

/mmaster_recipe

Download Remarks

/rremarks

Master Recipe Text

/xmaster_text_filename

Control Recipe Text

/ycontrol_text_filename

Override

variable=value

Relative Command
A relative command is a command that executes on a selected database block, object or picture in
View rather than on a specific, predefined command argument.
Use the following guidelines to create relative commands:

If a command requires only one argument, omit the argument.

If a command requires a string of arguments, use a place holder for the arguments that you
wish to omit.

S
Security Area
A security area is a physical or functional division of a process that allows you to restrict access to
operator displays and write protect database blocks. Security areas can be process hardware (such as
pumps or ovens) or utilities (such as fuel, water, or steam), or maintenance functions.
Shadow
An object or link is shadowed when the mouse passes over it in View and a single highlighted box

633

iFIX with FIX Desktop

surrounds it.
Sound File
A sound file is the name of a file created with Microsoft-supported sound software. The sound file
must include path information and have an extension of .WAV. A tag group symbol or string variable
can replace this parameter.
SQL Login Account
A SQL login account is defined in the System Configuration Utility (SCU) that allows the FIX node to
connect to a relational database. This account identifies the following elements:

Database Identifier, or Open Database Connectivity (ODBC) data source, that specifies the
name of the relational database.

User name for login purposes

Password for login purposes

Creating an SQL login account does not require the FIX SQL system task running.
SQL Startup Script
An SQL startup script is a command language script that automatically logs into a relational database
and retrieves the SQL data you want.
The script is shared by all Data links within a picture and runs concurrently with the Commands on
Opening script. To avoid timing problems with the Commands on Opening script, design the SQL
startup script to run independently.
Stored Procedure
A stored procedure is a group of pre-built SQL commands that execute as one unit upon request. A
stored procedure is created as part of the relational database. Once created, the procedure is stored
within the relational database.
String Variable
A string variable stores ASCII strings of up to 132 characters and is set to an empty string upon
creation. A string variable name must begin with a pound sign and can contain up to 31 characters.
This variable can represent different ASCII-based elements at different times, depending on the
variable scope.
String variables can also be used in a mathematic expression.
String 27
A string is a literal text string up to 27 characters that must be enclosed in quotes. A tag group symbol
or string variable can replace this parameter.

634

Macro Editor Manual

String 30
A string is a literal text string up to 30 characters that must be enclosed in quotes. A tag group symbol
or string variable can replace this parameter.
String 38
A string is a literal text string up to 38 characters that must be enclosed in quotes. A tag group symbol
or string variable can replace this parameter.
String 62
A string is a literal text string up to 62 characters that must be enclosed in quotes. A tag group symbol
or string variable can replace this parameter.
String 110
A string is a literal text string up to 110 characters that must be enclosed in quotes. A tag group symbol
or string variable can replace this parameter.
String 126
A string is a literal text string up to 126 characters that must be enclosed in quotes. A tag group symbol
or string variable can replace this parameter.
String 132
A string is a literal text string up to 132 characters that must be enclosed in quotes. A tag group symbol
or string variable can replace this parameter.
Substitution
A substitution is the replacement text for a tag group symbol. The replacement text can be any text up
to 95 characters long.

T-Z
Table Variable
A table variable stores or represents relational database data that is retrieved from or sent to an Open
Database Connectivity (ODBC) database through the use of SQL commands such as SELECT or
UPDATE. The syntax for table variable creation is as follows:
DECLARE #TABVAR[ROWS][COLUMNS][SIZE] TABLE var_scope

Upon creation, a table variable stores a zero-based table (array) of empty strings with a default size of
80 characters. Using the optional [SIZE] parameter, you can define any size for the strings up to 80
characters. Strings stored in the table are referenced by a row and column.
A table variable name must begin with a pound sign and can contain up to 31 characters. Note that the
brackets and the values entered for rows, columns, and size count toward this limit.

635

iFIX with FIX Desktop

Tag Group File


A tag group file is a group of tag group symbols and the replacement text (substitutions) that define
each symbol. The tag group file name must include path information and have a .TGE extension.
A string variable can replace this parameter.
Tag Group Symbol
A tag group symbol is a label defined in the Tag Group Editor that, when entered into an application
that supports tag group file, allows the substitution of associated information. The symbol must begin
with a question mark (?), followed by up to a 30 character string. For example, ?TANK1
A tag group symbol can also be used in a mathematic expression.
Tag Status Picture
A tag status picture is a predefined picture that displays real-time information, including the values of
key database tag fields.
User-Defined Macro
User-defined macro files are macros that apply only to selected pictures in View. By associating a
user-defined macro file with one or more pictures, you can create custom functionality within operator
displays.
Value
A value is a constant numeric value used as a parameter in the syntax of a command. A numeric
variable can replace this parameter.
Values can also be used in a mathematic expression.
Variable
A variable replaces a required or optional parameter within a command syntax. This technique allows
the command to act upon different elements at different times, depending on the variable scope.
The Command Language gives you the following types of variables to work with:

String variables

Numeric variables

Table variables

Predefined variables

Variable Scope
A variable scope defines how long a string, numeric, or table variable remains in memory and what
command language scripts have access to it. There are three types of variable scopes:

636

Macro Editor Manual

Scope

Description

Script

The default scope type, available only within the script that creates it. Stored data is
deleted when the script completes execution.

Picture

Available to all scripts within a picture. Stored data is deleted when the picture
closes.

Global

Available to all scripts in all pictures. Stored data is deleted when View closes.

View Command Line Parameters


Use the following table as a guide when adding command line parameters.
Parameter Name

Syntax

Picture

-fpicture

Tag group file

-fpicture -tfilename

Suppression

-snumber

View Menu Bar Commands


View menu bar commands identify each command available to operators in View. You can use these
commands to enable or disable View functionality as appropriate. A tag group symbol or string
variable can replace this parameter. The commands available for this parameter are as follows:
Menu

Commands

File

Open, Close, Next, Previous, Last, Open Layout, Save Layout, Print, Exit

View

QuickDraw, Zoom In, Zoom Out, Zoom To, Fit In Window, Default View

Alarms

Acknowledge All, Acknowledge One, Enable/Disable Alarms, Silence Horn,


Enable/Disable Horn

Commands

Tag Status, Manual Mode, Auto Mode, On Scan, Off Scan, Copy_Link

Applications

Historical_Display, Database_Manager, Login

Options

Sound

637

iFIX with FIX Desktop

638

Menu

Commands

Window

Cascade, Tile

Help

Electronic Books, Glossary, About

Command Language Manual


The Command Language Manual covers the following topics:

Introducing the Command Language

Designing Command Language Scripts

Using the Command Language Editor

Understanding Command Syntax

Working with Variables

Managing Command Language Scripts

Controlling Database Blocks

Managing Operator Displays

Incorporating Security Features

Controlling Applications

Manipulating Files

Appendices

Introducing the Command Language


FIX Command Language is a powerful scripting tool that lets you automate operator tasks through a
series of instructions. Command language scripts store these instructions within a series of commands
and parameters.iFIX with FIX Desktop executes the instructions upon request from View.
Command language scripts can be as simple or complex as you need them to be. The capabilities of the
Command Language provide a wide range of possibilities to add custom functionality to your
automation strategy. For example, you can use scripts to:

Manipulate files.

Manage alarming.

Control database blocks.

Run other applications automatically.

Incorporate custom security features.

Design custom prompts and messages for operators.

A series of flow control commands let you create command language scripts that branch multiple,
sequential tasks with or without specific conditions. Flexible error-handling is also available to ensure
that commands execute successfully before script execution continues.
If you have integrated iFIX tag groups into your process automation strategy, these tag groups can also
be used with the command language. Refer to the Incorporating Tag Groups section for more

639

iFIX with FIX Desktop

informatio.

Developing a Script Execution Strategy


The Command Language provides flexible integration of command language scripts throughout
operator displays. Depending on where you incorporate scripts during system development, operators
can request script execution in many ways.
The full capabilities of the Command Language are available to every script, regardless of the way
they are invoked. For example, if operators respond better to physical representations of equipment,
scripts can be integrated with objects, such as pumps and tanks.
When operators prefer interaction with labeled buttons, scripts can be integrated with graphical push
buttons. The script can provide the same functionality for whichever method you choose.
Script execution requests can come from the following sources:
Request
Type

Source

Refer to the

Keystroke
combination

Keystroke macro built with the Macro Editor.

Macro Editor
Manual

Display
opening or
closing

Properties added to a picture built with Draw.

Draw Manual

Push button
selection

Push Button link built with Draw.

Draw Manual

Object
selection

Object built with Draw that includes a Commands on Down,


Commands While Down, or Commands On Up dynamic
property.

Draw Manual

The sections that follow provide an overview of these request types. Using the Command Language
Editor provides instruction on creating and editing a command language script.

Keystroke Macro Scripts


The Macro Editor lets you assign simple keystroke sequences to macros built with the Command
Language. When you use the Macro Editor to build a command language script, you define the script
execution request to be a special key combination.
Command language scripts that are assigned to key combinations are called keystroke macros . Once
you define a keystroke macro, your iFIX with FIX Desktop software executes the associated script
whenever an operator presses the keystroke sequence.

640

iFIX with FIX Desktop

Picture Scripts
The Draw application lets you create pictures with specific properties. Picture properties are attributes
that define the picture size, update rate, security assignments, keystroke macro capabilities, and more.
These properties can be used to control the appearance and functionality of the display in View. They
can also be used to associate the opening or closing of the picture with a command language script.
A picture that includes a Command property executes a script each time the display is opened or closed
in View. Associating scripts with these events lets you automate tasks that must be completed before
or after equipment monitoring or control takes place.
NOTE: Scripts that include variables with a picture scope type cannot be associated with the closing
of a picture. Since the script does not execute until after the picture closes, these variables are no
longer available at the time of execution. Refer to Using Variables for more information on the picture
scope type.
Use the following steps to associate a script with the opening or closing of a picture.
To associate a script with the opening or closing of a picture:
1.

In Draw, on the Edit menu, click Picture. The Picture dialog box appears.

2.

Click the Commands on Opening or Commands on Closing button. The Command Language
Editor appears.

3.

Use the Command Language Editor to create the script.

Push Button Scripts


The Draw application provides special objects called links that let you display real-time data in View.
Links can be used to display database values, system information, alarming information, and statistical
and trend charts. The Push Button link can then be used to associate a link with a command language
script.
A Push Button link executes a script upon operator request. The request can be based on a mouse or
touch screen action. Associating scripts with a push button lets you automate operator response to
process requirements or events. For example, the scripts can be used to open and close other displays
or open titleless pictures that contain detailed information about a piece of equipment.
To associate a script with a Push Button link:
1.

On the Tools menu, click Link. The Available Links dialog box appears. If you prefer, you
can select the Push Button link tool from the toolbox. The stamper cursor appears. Go to step
3.

2.

Click the Push Button link icon. The stamper cursor appears.

3.

Use the mouse to position the push button.

4.

Click the mouse button. The Push Button dialog box appears.

5.

In the Button Text field, enter the label you want to appear on the push button. The label can
be up to 4 characters.

6.

Click the Edit Commands button and use the Command Language Editor to create the script.

641

iFIX with FIX Desktop

NOTES:

Using the Draw application, you can save a Push Button link with a command language
script in a dynamo set. When you do this, the script is preserved and automatically converted
into object property codes.

One feature of these codes is that they allow you to define operator prompts for each
command variable. These prompts allow you to instruct operators to enter the appropriate
values for command variables.

Refer to the Draw Manual for more information about using dynamos with command
language scripts.

Object Scripts
The Draw application lets you create objects with dynamic properties. Dynamic properties are object
attributes that change in View, based primarily on changes in database values. These properties can be
used to produce real-time effects like coloring and animation. They can also be used to associate an
object with a command language script.
By associating scripts with objects, you can automate an operator's response to process requirements or
events. For example, scripts can be used to toggle the alarm, scan, or mode status state of a pump at the
touch of a button.
NOTES:

Using the Draw application, you can save an object with a command language script in a
dynamo set. When you do this, the script is preserved and automatically converted into object
property codes.

One feature of these codes is that they allow you to define operator prompts for each
command variable. These prompts allow you to instruct operators to enter the appropriate
values for command variables.

Refer to the Draw Manual for more information about using dynamos with command
language scripts.

Using Command Dynamic Properties


An object can have one or more of the following Command dynamic properties:
Commands on Down executes an object's Command Language script when an operator clicks
down on an object using a mouse, a touch screen, or the object's accelerator key.
Commands While Down executes an object's Command Language script while an operator
clicks down on an object using a mouse, a touch screen, or the object's accelerator key. The
script continues to run until one of the following conditions occur: The script runs to
completion. The operator releases the mouse button, the touch screen, or the accelerator
key. The critical section of the script runs to completion. For more information about
critical sections, refer to Using Critical Sections.
Commands On Up executes when an operator releases the mouse, touch screen, or the

642

iFIX with FIX Desktop

accelerator key.
The current picture must have focus in order for Commands on Down, Commands While Down, and
Commands on Up scripts to run. If an error message box appears while a Commands While Down
script is running, the While Down script stops. All other scripts are temporarily suspended, if a script
generated the error. If a script did not generate the error, other scripts continue to run. For example, if a
node loses a session, the Commands While Down script stops but all other scripts continue running.
If the object with the Commands While Down script also has a Commands on Up script defined, and
the error message was generated by a script, the Commands on Up script executes after the operator
acknowledges the error. If a script did not generate the error, the Commands on Up script executes
immediately. For example, if a node loses a session, the Commands While Down script stops and the
Commands on Up script starts immediately.
As a result, it is not recommended that you use commands that change the mouse focus in a
Commands While Down script (for example, a NOTE command, PROMPT command, or an
OPENPIC command that references a titled picture). Using such commands places focus on the NOTE
or PROMPT dialog box (or in the case of the OPENPIC command, the specified picture) and stops the
Commands While Down script of the picture.
NOTE: If you define an accelerator key for an object and the picture loses focus, pressing the
accelerator key does not trigger the object's script. Make sure your picture has focus before pressing
the accelerator key.
For more information on using accelerator keys with Command dynamic properties, refer to Assigning
Accelerators to Objects.
Examples
Using these dynamic properties, you can emulate push buttons by setting a digital contact to 1 when
the operator presses the mouse button or the accelerator key, and setting it to upon release.
You can also design a script that ramps a value while an operator holds down the mouse button. To
accomplish this, use a Commands While Down script similar to the following:
While the operator holds down the mouse button, the script uses the GOTO command as a looping
technique to increase the tag's value by one. When the mouse button is released, the script ends and
ramping is complete.
Error-Handling
If an error occurs while the Commands While Down script is running, an error message box appears
and all scripts stop running. If the object also has a Commands on Up script defined, the Commands on
Up script executes when the operator releases the mouse button and acknowledges the error.
Using Critical Sections
Commands While Down scripts end when the operator releases the mouse button or the accelerator
key. Consequently, you may find that the critical portion of a script does not execute, particularly if an
operator only clicked the mouse button once to select an object or if the operator quickly pressed and
released the script's accelerator. To fine tune script control in While Down scripts, the Command
Language lets you add a critical section to a script.

643

iFIX with FIX Desktop

When to Use Critical Sections


A critical section is a portion of a Command Language script that ends when all commands within a
section are executed. The critical section also ends when the picture containing the Commands While
Down script closes. You can only use a critical section in Commands While Down scripts to ensure
that the critical portion of a script executes. Note that a critical section is not needed for the Commands
on Down script or the Commands on Up script because they always run to completion.
Example
For example, you might define a critical section in a Commands While Down script to ensure that
when a pump starts, its value is set.
DECLARE #PUMP1VALUE STRING PICTURE
DECLARE #PUMP1CTRL STRING PICTURE
#PUMP1VALUE = "LINE1:PUMP1.F_CV"
#PUMP1CTRL = "LINE1:PUMP1ON.F_CV"
CRITICAL
SETVAL #PUMP1VALUE 50
SETVAL #PUMP1CTRL 1
ENDCRITICAL

Notice that a matching ENDCRITICAL is required for use with the CRITICAL command. For more
information on using a critical section, refer to CRITICAL.
Assigning Accelerators to Objects
Objects with at least one Command dynamic property can also have a keyboard accelerator assigned to
them. When an operator presses the accelerator, the Commands on Down and Commands While Down
scripts execute. The Commands While Down script runs until the accelerator key is released or the
script runs to completion. When the operator releases the accelerator key, the Commands On Up script
executes.
Benefits
One of the benefits of assigning an accelerator to an object is that the accelerator is integrated with the
picture. A separate file is not required. Assigning accelerators to objects also complements your
existing macros. For example, suppose you have a macro to place a block into Manual mode and
another macro to place the block back into Automatic mode. By writing a Commands on Down script
similar to the following and assigning an accelerator to the object, you can replace both macros and set
the value of the block in a single accelerator:
TOGGLEMANL SCADA1:AI1
PAUSE 1
IF SCADA1:AI1.A_AUTO == "MANL"

644

iFIX with FIX Desktop


SETVAL SCADA1:AI1.F_CV 50
NOTE "Manual mode in effect"
ELSE
NOTE "Automatic mode in effect"
ENDIF

The Command Language only runs the script of one object at a time. Consequently, if an operator
presses and holds the accelerator of one object and then presses the accelerator of a second object, the
script of the second object does not execute. To execute the script of the second object, release the
accelerator of the first object and then press and hold the accelerator of the second object.
Assigning an Accelerator
To assign a dynamic property command and a keyboard accelerator to an object:
1.

Draw the object and group all of its elements as needed.

2.

On the Edit menu, click Dynamic Properties, or double-click the object. The Dynamic
Properties dialog box appears.

3.

Select one or more of the Command dynamic properties.

4.

Use the Command Language Editor to create a script for each dynamic property.

5.

To assign a keyboard accelerator to the object, select the Key field on the Dynamic Properties
dialog box and enter one of the following accelerators:

CTRL-A through CTRL-Z

CTRL-F1 through CTRL-F12

CTRL-0 through CTRL-9

F2 through F9, F11, F12

INSERT

DELETE

To enter one of these accelerators, type each individual character of the accelerator. For
example, to assign the accelerator CTRL+F, type the following literal string:
CTRL+F

NOTES:

It is recommended that you assign a unique accelerator to each object. While you can you
assign the same accelerator to different objects, unless you select the object before pressing
the accelerator, the first script assigned to use the accelerator executes.

Make sure the accelerator is not used by the current macro file. If it is, both the macro and
the object's script execute. If the macro causes the picture to lose focus, then the object's
script does not run.

645

iFIX with FIX Desktop

Designing Command Language Scripts


Command language scripts contain the instructions required to automate single or multiple tasks.
These instructions are a series of commands and parameters that identify what the script should create
or act upon when executed.
Your FIX Desktop software provides the tools you need to integrate command language scripts
throughout operator displays. These methods are described in Developing a Script Execution Strategy.
The Command Language provides the tools you need to build efficient and flexible command language
scripts.
Your primary tool is the Command Language's powerful set of commands and parameters. In addition,
there are a number of script design techniques that let you:

Create generic scripts that respond to dynamic process conditions by acting upon selected,
rather than specific, elements.

Temporarily store numeric and text data for use throughout single or multiple scripts.

Monitor or act upon the execution status of individual commands.

Coordinate with a picture development plan that includes tag groups.

Incorporate third-party application data.

The following sections provide an overview of incorporating these techniques into script development.
Certain commands require SAC processing. If you use these commands, be sure you structure your
command language scripts appropriately. Controlling Script Execution Speed lists these commands
and provides more information on how to structure scripts.

Using Relative Commands


The Command Language provides the ability to indicate that a command should be considered relative
during execution. A relative command executes upon a selected database block, object, or picture in
View rather than a specific, predefined command parameter.
For example, suppose you want to give operators the ability to acknowledge several alarms on a
display. This ability should not be restricted to one specific alarm, but should provide acknowledgment
capability to any alarm at any given time.
A Push Button link can provide the solution for this requirement. In this case, a push button labeled
Acknowledge One is included in the display. The associated command language script contains a
relative ALARMACK command that allows the operator to select the alarm to be acknowledged and
then select the push button.
Depending on the required command syntax, there are two ways to indicate relativity:

Omit the node:tag.field, object, or picture parameter.

Use the asterisk (*) placeholder to represent the database block, object, or picture parameter
when a command has a string of required parameters.

Relative commands can be included in any command language script, regardless of where the script is
created. Therefore, scripts associated with keystroke macros, objects, and pictures can also use this
design technique.

646

iFIX with FIX Desktop

NOTE: The Command Listing: Relative Command Syntax section lists all applicable commands in
alphabetical order.

Using Variables
The Command Language provides you with the ability to use a variable, rather than a constant, in
place of many required or optional parameters for selected commands. As its name suggests, a variable
can represent different elements at different times. A constant, however, represents only one element
regardless of when it is used.
Consider the following two examples, both of which are valid uses of the SETVAL command:
SETVAL LINE1:TANK1.F_CV 50

In the first scenario, the temperature requirement for TANK1 is steady, regardless of other process
values. Therefore, the script uses a constant parameter (5) with the SETVAL command to set the
temperature of the tank.
DECLARE #TEMP NUMERIC
PROMPT #TEMP "Set the temperature of TANK1"
SETVAL LINE1:TANK1.F_CV #TEMP

In the second scenario, the temperature requirement for TANK1 varies according to the evaluation of
other process values. In this case, the script uses a variable parameter with the SETVAL command to
set the temperature of the tank. The variable represents whatever value the operator entered in response
to the preceding prompt.
Depending on the purpose of the command language script, variables can often give you greater
flexibility when automating operator tasks. For example, variables can be used to represent:

File names.

Recipe or product numbers.

Messages, notes, and prompts.

Operator inputs such as setpoint values.

Data retrieved from the process database.

The following sections provide the information you need to create a variable, define how long it is
stored in memory, and use the special #CMDSTATUS variable to access error return codes and
messages:

Creating a Variable

Defining the Variable Scope

Using the #CMDSTATUS Variable

Using Variables with Objects and Links

Sample Design Strategy

Using Predefined Variables

647

iFIX with FIX Desktop

Creating a Variable
The Command Language gives you the following types of variables to use in place of selected
command parameters:
Numeric variables store floating-point values and are set to a value of 0.0 upon creation.
String variables store ASCII strings of up to 132 characters and are set to an empty string upon
creation.
Table variables store a table (an array) of strings allowing you to store multiple pieces of
process data in a single variable. This is most useful when accessing an SQL relational
database. For more information about accessing a relational database with a command
language script, refer to Using SQL Commands. Each string in the table can be up to 80
characters maximum (79 for the string and one for a string terminator). Strings stored in the
table are referenced by a row and a column.
Before any variable can store or represent data, it must be created with the DECLARE command. Use
this command to define each variable you want to use in place of a subsequent command parameter in
a command language script. Each time you create a variable with the DECLARE command, its
definition must contain the following elements:
DECLARE #name type scope

The following table describes all three elements of DECLARE command syntax above.
Element

Description

DECLARE
#name

The variable name, containing up to 32 characters and beginning with a


pound sign.

type

The variable type: numeric, string, or table.

scope

The variable scope: script, picture, or global.

Example
DECLARE #RESULT STRING PICTURE

Declaring Table Variables


To declare a table variable, use the following syntax:
DECLARE #EXAMPLE[ROWS][COLUMNS][SIZE] TABLE PICTURE

Table variable syntax lets you include the size (number of characters) of each string in the table, and
the number of rows and columns that the variable will hold. This creates a zero-based array of empty
strings.

648

iFIX with FIX Desktop

Specifying the size is optional and when omitted the default of 8 characters is assumed. When
specifying the size, be sure to include a character for the string terminator. For example, if you want
strings in the table to be up to nine characters, specify a size of ten. The minimum size you can specify
is two (one for the string and one for the string terminator). The maximum size for each string and the
maximum number of rows and columns is defined as follows:
With the default size of 8, the maximum value for rows*columns is 49 (32767/8), allowing you to
specify any of the following sample row/column combinations:

[20][20]

[16][25]

[9][45]

[40][10]

[51][8]

[13][30]

Be sure to enclose the size and the number of rows and columns in brackets ([ ]). Also make sure you
do not insert spaces between the variable, the string size, or the number of rows and columns. Note that
the brackets and the values entered for rows, columns, and size count toward the 32-character name
limit.
To quickly initialize all the strings in a table variable to the same value, use the following syntax:
#variable = "value"

To set the value of a specific row and column of a table variable, use the following syntax:
#variable[row][column] = "value"

Using a Variable as an Index in a Table Variable


You can also substitute a variable for the row and column indexes of a table variable. Note that this
substitution is not allowed in the DECLARE statement used to create the table variable. However, you
can substitute a variable for the row and column indexes of a table variable in a Data link or in any
Command Language statement that accepts string variables.
Substituting a variable for a row or column index provides a flexible way to store data and lets you
manipulate the cells of the table variable using simple loops. For example, the following script
searches a column for a specific value using the variables #ROWS and #COLS as the indexes of the
table variable #TABLE:
DECLARE #SEARCHSTRING STRING PICTURE
DECLARE #TABLE[10][10] TABLE PICTURE
DECLARE #ROWS NUMERIC PICTURE
DECLARE #COLS NUMERIC PICTURE
#ROWS = 0
#COLS = 5

649

iFIX with FIX Desktop


#TABLE[9][#COLS] = "PUMP5"
#SEARCHSTRING = "PUMP5"
&amp;L9
IF #TABLE[#ROWS][#COLS] != #SEARCHSTRING
#ROWS = #ROWS + 1
GOTO L9
ELSE
NOTE "String found"
ENDIF

To help simplify discussions, references to string variables include table variables unless otherwise
noted.
Defining the Variable Scope
Each variable you create must include the definition of a variable scope. The variable scope defines
how long the variable remains in memory and what command language scripts have access to it. The
following table describes the three types of variable scopes.
Scope

Description

Script

The default scope type. A variable with a script scope is available only within the
command language script that creates it.

Picture

A variable with a picture scope is available to all command language scripts within the
picture.

Global

A variable with a global scope is available to all command language scripts within every
picture in View.

If you plan on using a number of variables in conjunction with the Command Language, it is an
efficient use of time during development to analyze your script execution strategy in terms of variable
creation. For example:

650

Common variables required by many scripts throughout many pictures (global scope) or
within one picture (picture scope) can be created within a Commands On Opening script. This
avoids the redundant creation of variables in individual scripts.

Keep track of the variables you create and their scope. If you declare a common variable,
called #TEMPERATURE, as a global variable and then declare #TEMPERATURE again in
another script as a script variable, the second declaration overrides the original global variable
until the script completes. For this reason, it is recommended that you use unique variables
names for all the variables you declare.

Specific variables required by only one script (script scope) can be created within any
keystroke macro, push button, or object script, depending on your operator requirements.

iFIX with FIX Desktop

Using the #CMDSTATUS Variable


The Command Language provides flexible error-handling in the form of a special variable called
#CMDSTATUS. This variable is a numeric variable with a script scope. Each command language
script automatically creates this variable when the first script within a picture is executed.
The #CMDSTATUS variable stores and represents the completion status of each command executed
within a script. Since it is a numeric variable, it is dynamic in that its value changes with each
execution of each command in the script. #CMDSTATUS values are predefined. A value of 0 means a
command executed successfully. A non-zero value means an error occurred.
The #CMDSTATUS variable lets you:

Verify the successful execution of a command before continuing with the script, using either
the #CMDSTATUS numeric value or the string associated with the value.

Use the text string associated with a #CMDSTATUS value as an operator message or note.

NOTE: Using #CMDSTATUS text strings as operator messages requires the conversion of the error
code into a string. Refer to Conversion Commands for more information.
For example, the following script uses the value of #CMDSTATUS in combination with an IF
command evaluation.
DECLARE #TEMP NUMERIC SCRIPT
GETVAL LINE1:TANK1.F_CV #TEMP
IF #CMDSTATUS == 0
CLOSEDIG LINE1:PUMP1.F_CV
ELSE
NOTE "Tank temp error Tag not found"
ENDIF

In another example, an IF command evaluation does not require the verification of a specific
#CMDSTATUS error. In this evaluation, the action is performed if the CLOSEDIG command does not
execute successfully, regardless of which error occurs.
DECLARE #TEMP NUMERIC
GETVAL LINE1:TANK1.F_CV #TEMP
IF #CMDSTATUS != 0
CLOSEDIG LINE1:PUMP1.F_CV
ENDIF

Note that View displays an error dialog box when specified parameters, such as database blocks and
files, do not exist. This establishes error communications with operators. The addition of the
#CMDSTATUS variable establishes error checking in the script itself.
The Definition Commands section provides more information on the #CMDSTATUS variable.

651

iFIX with FIX Desktop

Using Variables with Objects and Links


Your FIX Desktop software supports the use of a variable in place of a tagname for objects with
dynamic properties and links. Using variables as tagname entries provides a flexible means of creating
generic displays that can be adapted to multiple plant areas. Since variables are defined in a Command
Language script, you can easily set and change the value of a variable as needed.
In general, when entering a variable in the Tagname field of dynamic properties or links, you have the
following choices:

Use a variable as a numeric or string substitution.

Use a variable as a tagname substitution.

Variables as Numeric Substitution


When using a variable as a numeric substitution in dynamic properties or links, other than the Data
link, use the following guidelines:

Create a numeric variable.

Assign it a numeric value.

Enter the variable in the Tagname field.

Set the EGU limits of the link or the dynamic property manually.

For example, to declare a numeric variable and assign it a value, do the following:
DECLARE #NUM NUMERIC PICTURE
#NUM = 50

Using a variable in this way lets you manipulate it within a script. To display or manipulate the
variable's contents, enter the variable's name into the Tagname field of a link or a dynamic property.
Using Data Links
Data links can display numeric or ASCII data. As a result, you can use a string or numeric variable
with a Data link, depending on the type of data you want to display.
When entering a variable in a Data link, use the following guidelines:

Create a numeric or a string variable.

Assign it a numeric value or literal string, depending on the variable type.

Enter the variable in the Tagname field.

Set the EGU limits of numeric values manually.

Format the Data link to display numeric or text data, depending on the variable type.

For example, to display a numeric value in a Data link, use the previous example, and format the link
to display numeric data. To display a literal string in a Data link, do the following:

652

iFIX with FIX Desktop


DECLARE #STRING STRING PICTURE
#STRING = "THIS IS A STRING"

To display or manipulate the variable, enter the variable's name in the Tagname field and format the
Data link to display text data.
Variables that reference a Tagname
While you can use variables to store numeric values and literal strings, you can also use variables as a
tagname substitution. When you do this, the following guidelines apply:

Create a string variable.

Assign the tagname to the variable using the syntax 'NODE:TAG.F_FIELD'. Note that you
must enclose the tagname in quotation marks.

Enter the variable in the Tagname field.

If you are using a Data link, format it to display numeric or string data, depending on the field
type referenced.

For example, to use a string variable as a tagname substitution in a link or a dynamic property, do the
following:
DECLARE #TAG STRING PICTURE
#TAG = "NODE:TAG.F_CV"

When View resolves the value of this variable, it substitutes the tagname for the variable name. If you
are using a Data link, make sure you format it to display numeric data.
To display a tagname in a Data link that references an A_ field, do the following:
DECLARE #TAG STRING PICTURE
#TAG = "NODE:TAG.A_FIELD"

Format the Data link to display text data. When View resolves the value of this variable, it substitutes
the tagname for the variable name, just as it does for F_ fields. Note that the string must contain an A_
field and must conform to tagname syntax or else the data is treated as a literal string. Only Data links
can reference A_ fields.
It is important to understand that variable assignments must be completed before View tries to resolve
the substitution in the dynamic property or link (otherwise View displays question marks, since it does
not know what value to display). Therefore, it is most efficient to create and set the value of variables
used for this purpose in a Commands on Opening script or before the use of the OPENPIC or
REPLACEPIC commands in a push button or object script.
Also note that the Command Language Editor verifies command syntax, but not the existence of
database tags (blocks). Therefore, always verify the format and name of a tag when setting or changing
the value of a variable in a Command Language script.
Error-Handling
If an error occurs, you may see question marks (?) or at-signs (@). Question marks indicate no data is

653

iFIX with FIX Desktop

available. At-signs indicate no session is established.


The field may also be blank when the syntax of the tagname is invalid or a string is being displayed in
a numerically-formatted Data link.
To enter the name of a variable in place of a tagname in objects and links:
1.

Access the appropriate dynamic property or link dialog box.

2.

Enter the variable name in the Tagname field in one of the following formats:

If you use a...

Use this format...

String variable

#string_var

Table variable

#table_var [row ][column ]

Numeric variable

#num_var

The Sample Design Strategy section provides a detailed example on using variables in place of
tagnames.
Sample Design Strategy
Suppose you need to design a display providing flow, temperature, and pressure data for ten pumps in
your plant. By using variables as tagname entries, you need only create two pictures: an overview and
a pump detail picture. The overview picture contains ten pump objects. Each pump object opens the
detail picture that displays the flow, temperature, and pressure data for that pump.
To incorporate the use of variables into this structure:
1.

Create an overview picture with a Commands on Opening script that declares the variables for
each pump value that you want to display.

2.

Create ten buttons (one for each pump) in the overview picture. These buttons will be used to
open the detail picture.

3.

Assign a Command Language script to each button that assigns a tagname for each variable
based on the selected pump.

4.

Create a detail picture that contains a Data link for each variable.

Each step of this design strategy is described in detail below.


Declare the Variables
Create a Commands on Opening script in the overview picture to define global string variables for
each pump value that you want to display. A Commands on Opening script is a picture property
defined in the Picture dialog box. In this script declare the variables for flow, temperature, and
pressure. Define the variable type as string and the variable scope as global, as shown in the following
example:

654

iFIX with FIX Desktop


DECLARE #FLOW STRING GLOBAL
DECLARE #TEMP STRING GLOBAL
DECLARE #PRESSURE STRING GLOBAL

Create Object Scripts


Create a button for each pump on the overview picture. Assign a Command Language script that
defines tagnames for the variables and opens the detail picture. You need to create a separate script for
each pump.
The following script defines the tagnames for Pump 1.
#FLOW = "SCADA01:FLOW1.F_CV"
#TEMP = "SCADA01:TEMP1.F_CV"
#PRESSURE = "SCADA01:PRESS1.F_CV"
OPENPIC DETAIL

The following script defines the tagnames for Pump 2.


#FLOW = "SCADA01:FLOW2.F_CV"
#TEMP = "SCADA01:TEMP2.F_CV"
#PRESSURE = "SCADA01:PRESS2.F_CV"
OPENPIC DETAIL

Create the Detail Picture


Create the detail picture that each pump object will open. Add three Data links to this picture to display
the pump's flow, temperature, and pressure values. In each Data link's Tagname field, enter the
appropriate variable and configure the link for Numeric Data:
The following examples show the sample overview and detail pictures for this design strategy.

655

iFIX with FIX Desktop

Sample Overview Picture

656

iFIX with FIX Desktop

Sample Detail Picture


Using Predefined Variables
The Command Language provides a set of read-only, predefined variables. These variables let you
access both system and picture information from a command language script.
NOTE: The names of these variables are reserved for use by the Command Language. Do not create
variables with these predefined names in your scripts.
The following types of predefined variables are available:
Global scope variables available to any command language script while View is running. View
maintains one copy of these variables for all scripts. Global scope variables begin with the
prefix #GS_ (for string variables) or #GN_ (for numeric variables).
Picture scope variables available to command language scripts running in a given picture.
View maintains multiple copies of these variables, one per picture. This means the value of
each picture scope variable changes as you switch from one picture to another.
Picture scope variables begin with the prefix #PS_ (for string variables) or #PN_ (for numeric
variables).

657

iFIX with FIX Desktop

How to use Predefined Variables


You can use a predefined variable like any other variable except you do not need to define it. For
example, the variable #GS_DATE stores the current date. You can display this information on the
screen by creating a Data link and specifying the variable in place of a tagname. For more information
on using variables in links, refer to the Using Variables with Objects and Links section.
For a list of the available predefined variables, refer to Predefined Variables.

Incorporating Tag Groups


Tag groups are simple, but powerful tools that help to reduce display development time and save disk
space. When developers use tag groups to represent tagnames in a picture's links and dynamic objects,
the picture serves a general, rather than a specific purpose.
The Tag Group Editor Manual provides detailed information and examples on how to integrate tag
groups into picture development.
A tag group consists of the following elements:
Symbol specifies the name used to represent the tag group. The name begins with a question
mark (?) and can be up to 31 characters in length. Your database developer can provide a
list of valid tag group symbols.
Substitution specifies the NODE:TAG.FIELD or text string, up to 95 characters, that the tag
group represents.
This technique eliminates time spent designing multiple operator displays for similar pieces of
equipment or subprocesses. Ultimately, tag groups let developers build one picture that fulfills many
requirements.
A tag group strategy can also be applied to command language script development, in that tag groups
can represent selected parameters within a command syntax. A script that contains symbols triggers a
dialog box during the opening of the display that prompts the operator to specify the name of the
associated tag group file. Once the tag group file is identified, View then accesses the file and replaces
each symbol with the proper substitution.
To avoid having operators specify a tag group file name when opening a display, you can use the View
Layout feature to open View with a default picture. In addition, using scripts that incorporate tag group
file names with the OPENPIC command allows dynamic tag group switching that is transparent to
operators.
Using Tag Groups with Picture Management Commands provides details on using the OPENPIC and
REPLACEPIC commands with tag groups. The Draw Manual provides detailed information on
developing layout files.
Replacing Tagname and Text Parameters
Since tag group symbols can represent any text string up to 95 characters, they can often replace text
parameters for many commands. Therefore, a symbol name can be used in place of any of the
following parameters:

658

Tagnames

iFIX with FIX Desktop

Picture names

Object names

File names

Messages, notes, or prompts

Example
In the following example, a generic tank display incorporates a tag group strategy to monitor the
temperature of either tank in the facility. When the temperature exceeds High alarm limits, the color of
the tank turns to yellow. When the temperature exceeds High High alarm limits, the color of the tank
turns to red.
To acknowledge the alarm, operators must select a push button labeled COOL to launch a cooling
process. The push button script contains the following information:
ALARMACK ?TANK
DECLARE #RAMP NUMERIC
PROMPT #RAMP ?ALMNOTE
RAMP ?TANK #RAMP

The related tag group file for the tank display contains the following information:
TANK1 Tag Group File

TANK2 Tag Group File

TANK = LINE1:TANK1.F_CV

?TANK = LINE2:TANK2.F_CV

ALMNOTE = Enter the pct to cool


down Tank #1.

?ALMNOTE = Enter the pct to cool


down Tank #2.

Using Tag Groups with Picture Management Commands


Two of the Command Language's picture management commands, OPENPIC and REPLACEPIC,
accommodate any tag group strategy created during system development. They also provide the ability
to incorporate dynamic tag group switching that is transparent to operators.
For example, suppose you have designed a tag group strategy that allows operators to monitor the
temperature of two tanks. The Plant Overview display contains a push button labeled TANKS that
opens a generic tank display.
The TANKS script contains the following information:
OPENPIC TANKVIEW.ODF -1 * TANK.TGE

NOTE: The -1 placeholder takes the place of a picture placement parameter. The asterisk (*)
placeholder takes the place of a nickname parameter. Refer to Picture Management Commands for
information on these parameters and the SETNICKNAME command.
Once the generic tank display is open, the use of two push buttons labeled TANK1 and TANK2 are

659

iFIX with FIX Desktop

available to operators. Each time an operator selects a push button to view details on a tank, a
command language script replaces the symbol names in various links and objects with the proper tankspecific information.
The push button scripts contain the following information:
TANK1: REPLACEPIC * TANKVIEW TANK1.TGE
TANK2: REPLACEPIC * TANKVIEW TANK2.TGE

NOTE: The asterisk (*) placeholder makes the REPLACEPIC command a relative command that acts
upon the currently selected picture. Refer to Using Relative Commands for more information.

Controlling Script Execution Speed


Another important consideration to keep in mind while developing command language scripts is their
execution speed. The Timeslice parameter, defined in the VIEW.INI file, controls the speed of script
execution.
When the parameter is disabled, all commands require .1 seconds to execute. When the parameter is
enabled, all command language script commands, except those listed below, execute as fast as
possible. Regardless of how you set the Timeslice parameter, the following commands always take .1
seconds to execute because they require SAC processing.
CLOSEDIG

OPENDIG

TOGGLEALARM

DISABLEALARM

PAUSE

TOGGLEDIG

ENABLEALARM

RAMP

TOGGLEMANL

GOTO

SETAUTO

TOGGLESCAN

ONSCAN

SETMANL

OFFSCAN

SETVAL

By default, the Timeslice parameter is enabled. If you are upgrading from a previous version of the
software, you may want to disable the parameter so that your command language scripts operate as
they did before.
To disable the Timeslice parameter:
1.

Open the VIEW.INI file in the directory pointed to by the Local path.

2.

Look for the following lines in the file:

3.

Change the Timeslice parameter to read as follows:

If you plan to use any of the commands in table above, use the following guidelines:

660

iFIX with FIX Desktop

Structure your scripts as shown below when changing a block's state (such as placing it in
Manual mode or placing it on scan): Be sure you replace the second line of the script with one
of the commands from the table above and change the fourth line to the appropriate action or
actions, such as reading the block's value or opening a picture. Also make sure you change the
IF command to evaluate the appropriate block field. For example, if you toggle a block into
Manual mode, evaluate the A_AUTO field.

Make sure the blocks you reference in command language scripts use subsecond processing.
This ensures SAC processes these blocks as fast as possible and minimizes script execution
delays.

Using SQL Commands


The Command Language supports the selection, manipulation, and deletion of data within a relational
database that supports the ODBC (Open Database Connectivity) interface specification. To complete
these tasks, the Command Language provides SQL (Structured Query Language) command support.
SQL command support lets you:

Use table variables to store the result of or specify the data for any SQL command executed
within a command language script.

Use the SQL Command Configurator to automatically build the required syntax to execute the
SELECT, UPDATE, INSERT, or DELETE commands.

Automatically login to a relational database during the execution of a SQL command.

Automatically logout of a relational database when View is exited.

Use the SQL Command Configurator to automatically build the required syntax to execute a
stored procedure.

NOTE: If you experience difficulty accessing a relational database, or if access is slow using a
command language script, you may need to optimize your relational database. For tips on using SQL,
refer to the Using SQL manual.
Using Numeric and Table Variables
The Command Language's numeric and table variables are an important part of SQL command
support. A numeric variable is used to store and represent the completion status of an SQL command.
A table variable is used to store or represent relational database data that is retrieved through the use of
commands such as SELECT, LISTTABLES, or DESCTABLE.
You must use the DECLARE command to create all variables. Refer to Creating a Variable for more
information on creating and using variables. For information on building SQL commands, refer to
Creating a Command Language Script.

Accessing Files
It is recommended that you include a complete path in your command language scripts when accessing
a file with the following commands:

APPEND

ATTRIB

CHFILE

661

iFIX with FIX Desktop

COPY

DELETE

FILELIST

FILEOPEN

FILEPRINT

PLAYSOUND

VIEW

If you do not specify a path, these commands default to the Picture path.

Using the Command Language Editor


The Command Language Editor, shown in the following figure, is the mechanism that lets you build
command language scripts to automate operator tasks.
To use this editor, type a script in the same way you would type a document in Notepad. The editor
retains the case of the items you enter, as well as the formatting (spaces and tabs).
The editing window itself is both movable and sizable. The size and the position that you set is stored
and is recalled at the next editing session. However, once you exit and restart Draw, the editor returns
to its default size and position.

662

iFIX with FIX Desktop

Command Language Editor Dialog Box


The Command Language Editor automates the creation of SQL commands by providing an SQL
Command Configurator. Refer to Building SQL Commands for more information.
Regardless of your decisions on where and how to integrate command language scripts into your
process, the tool you use to build the script is the same. For example, whether you access the Editor
through the configuration of a Push Button link or a keystroke macro, its functions and features are
identical.

Using the Command Buttons


At the top of the editor is a row of command buttons, as shown in the following figure. These buttons
provide quick access to the most frequently used commands. Tool tips are enabled with the buttons to
easily identify their functionality.

663

iFIX with FIX Desktop

Command Buttons Bar


NOTE: Many of the commands available through these button can also be accessed by using the right
mouse button menu or keyboard accelerators. See Right Mouse Button Menu and Editing a Command
Language Script for details.
The following list describes of each of the command buttons:
Cut removes the highlighted text and copies it to the global clipboard.
Copy copies the highlighted text to the global clipboard without removing the highlighted text.
Paste copies the text from the global clipboard into the edit field. If any text is highlighted, that
text is replaced. If no text is highlighted, the new text is inserted at the cursor position.
Undo reverses the last operation only within the edit field. This operation only implements one
level of undo and redo. The Undo button is only enabled if an Undo operation is possible.
Search and Replace opens the Search and Replace dialog box. The Search and Replace
function is discussed in greater detail in Search and Replace.
SQL opens the SQL Command Configurator dialog box, as shown in the next illustration. This
button is only enabled if the cursor is on a line that starts with #var =. For additional
information on the SQL Command Configurator, see Building SQL Commands.

664

iFIX with FIX Desktop

When you click OK and exit the SQL Command Configurator dialog box, the SQL
command text replaces all the text on the current line.
Import invokes the Import function, which is facilitated through a standard Open File dialog
box. You can then import any ASCII file created in a standard text editor. The default
directory is the iFIX Picture path, and the default extension is .TXT.
Export invokes the Export function, which is facilitated through a standard File Save dialog
box. The default directory is the iFIX Picture path, and the default extension is .TXT.
Errors opens the Command Script Errors dialog box. When you click OK in the new Command
Language Editor, any and all errors are collected, placed into a list, and displayed in the
Command Script Errors dialog box. Both the text of the error and the line number appear in
the dialog box.
NOTE: While working in the editor, if there are any outstanding errors, the button is
enabled. If there are no outstanding errors, the button is disabled.
You can work in both the script and the error list dialog simultaneously. For example:
If you...

Then...

Select an error in the


Command Script Errors dialog
box and click OK

The cursor is placed at the beginning of the appropriate line in


the script and the Command Script Errors dialog box closes.

Select an error in the


Command Script Errors dialog
box and double click on it

The cursor is placed at the beginning of the appropriate line in


the script and the focus is returned to the Command Language
Editor. However, the Command Script Editor remains open.

Insert Tag opens the standard Field Select dialog box. If you complete the fields and click OK,
a Node:Tag.Field string is pasted into the script. Any text that is highlighted is replaced. If
there is no text highlighted, the string is inserted at the cursor position.

665

iFIX with FIX Desktop

Quick Commands opens the Available Commands dialog box. This dialog box contains an
alphabetical list of all valid commands and their proper syntax. You can select a command
by highlighting it, and then paste it into a script by clicking the Paste button. Any text that
is highlighted is replaced. If there is no text highlighted, the command is inserted at the
cursor position.
Goto button displays the line number the cursor is on. If you click the left mouse button over
the label or the line number itself, the Goto dialog box appears. Enter either a line number
or a label to more the cursor and click OK. The cursor is then placed on that line. If the line
number entered is greater than the number of lines in the script, the cursor is placed on the
last line. If you enter a label that does not exist, an error is displayed and the cursor does not
move.
Search and Replace
The Search and Replace function is invoked by either clicking the Search and Replace button or by
selecting the command from the right mouse button menu. Once the function is called, the Search and
Replace dialog box, shown in the following figure, appears.

Search and Replace Dialog Box


When the dialog box opens, the fields will reflect one of the two following conditions:

666

If...

Then...

You have any text highlighted when


you call the Search and Replace
function

That text is placed in the Search for text field.

You do not have any text highlighted


when you call the Search and
Replace function

The Search for, Replace with, Case Sensitive, and Wrap


Around fields reflect the last Search and Replace action
performed in this session of Draw.

iFIX with FIX Desktop

To perform a search and replace:


1.

Open the Search and Replace dialog box by either clicking the Search and Replace button or
by selecting the command from the right mouse button menu

2.

Enter the text you want to search for (up to 100 characters) in the Search for field.

3.

Enter the text you want to substitute (up to 100 characters) in the Replace with field.

4.

Check the Case Sensitive box if you want your search to be case sensitive.

5.

Click the Search Next button. A forward search is started directly after the cursor or after the
highlighted portion of the script. or Click the Search Previous button.
A backward search is started directly before the cursor or before the highlighted portion of the
script. If text is found, it is highlighted. If not, a message is displayed indicating that the text
was not found. You may press either button again to re-start your search.
IMPORTANT: Check the Wrap Around check box to enable the Search Next, Replace All and
Search Previous operations to wrap to the start (or the end) of the script when performing
these functions.

6.

Click the Replace button to replace the currently highlighted text with the text in the Replace
with field. or Click the Replace All button.
This allows the entire script to be searched, and all matches are replaced with the text in the
Replace with field. Once the operation is complete, a message is displayed showing how many
replacements were performed. The Replace All function only searches in a forward direction.

7.

Click Exit to leave the Search and Replace dialog box and return to the Command Language
Editor.

Right Mouse Button Menu


You can access a menu of commands by clicking on the right mouse button anywhere within the edit
window of the new Command Language editor. The following commands are available:

Cut

Copy

Paste

Search/Replace...

Goto...

Help

Quick Commands...

Insert Tag...

Once the menu is open, there are two ways to use it:

Navigate through the selections by using the cursor keys. Highlight the command you want to
activate and press ENTER.

Move the mouse to highlight the command you want to activate, and then click on either the
right or left mouse button.

667

iFIX with FIX Desktop

Context-sensitive Help
Many of the commands accessible through the right mouse button menu are the same as the commands
available from the Command Button bar. The exception is the Help command.
If you...

Then...

Press the Help button on the Command Lanaguage Editor

Help for Command


Language Editor opens.

Access the Help command from the right mouse button menu and
the cursor is positioned on a valid command word

Help for that particular


command opens.

NOTE: If the cursor is not positioned over a valid command, Help will be unavailable from the right
mouse button menu.

Creating a Command Language Script


The Command Language Editor lets you create a command language script. Each line of the script
should be entered in exact execution order. Although some script lines can be very lengthy, each line
must contain only one command, along with any required and optional parameters.
Use the following steps to create a command language script, after accessing the Command Language
Editor.
To create a command language script in the Command Language Editor:
1.

Type the command you want using the proper syntax and include command parameters or
placeholders as appropriate. Use the backspace and arrow keys to move the cursor within the
line.
NOTE: Always verify your command entries. The Command Language Editor verifies the
command syntax, but not the existence of database blocks or files. During script execution, an
error dialog box appears if a specified parameter cannot be found.

2.

Press the ENTER key to continue to the next line. Use the scroll bar to scroll down the script
and access more lines when necessary.

3.

Select OK to save the script and exit the Command Language Editor dialog box.

Editing a Command Language Script


Editing a command or parameter in a command language script is accomplished by accessing the
Command Language Editor, selecting the appropriate line, and making the modifications.
Use the command bar buttons or right mouse button menu commands described earlier in this chapter
when editing the script. Several other keystrokes, described in the following table, are available to
simplify the editing process.

668

iFIX with FIX Desktop

Keystroke

ENTER

Operation
Inserts a new line and moves the cursor to the beginning of the new line.
If you position the cursor in the middle of a line and press ENTER, the text
after the cursor moves to the next line.

TAB

Inserts a tab character at the current cursor position and moves any text
after the cursor.

PAGE UP and PAGE


DOWN

Moves the view window down and up within the script and repositions the
cursor.

HOME and END

Positions the cursor at the beginning or the end of the current line.

CTRL+HOME and
CTRL+END

Positions the cursor at the beginning of the first line or at the end of the
last line.

SHIFT, together with


the arrow keys

Highlights the text.

Cuts the selected text to the clipboard.


CTRL+X

CTRL+C

Copies the selected text to the clipboard.

CTRL+V

Pastes the selected text from the clipboard.

Importing Existing Command Language Scripts


Pictures created in versions earlier than FIX 6.1 are converted to the Command Language script format
when you open them.
The multi-line edit window design of the new Command Language Editor has eliminated the line
numbers found in earlier versions of the editor. When the new editor reads in an older script, all GOTO
Line# commands are replaced by GOTO Label commands and labels, represented by ampersands (&),
are inserted into the script. Also, NULL statements will be replaced with a semi-colon (;).
The following example shows both an original script (before FIX 6.1) and the same script after being
read into the new Command Language Editor (in FIX 6.1 and above).
Original script

New Command Script

1 IF #VAR1>5

IF #VAR1>5

669

iFIX with FIX Desktop

Original script

New Command Script

2 GOTO 5

GOTO L5

3 ENDIF

ENDIF

4 NULL

5 #VAR1 =

&L5
#VAR1 = 0

NOTE: It is recommended that you resolve all pictures and tag groups to ensure maximum
performance.

Building SQL Commands


SQL command support is available to all command language scripts, regardless of the way they are
invoked. Therefore, you can send and retrieve relational database data within a keystroke macro,
picture, push button, or object script.
SQL command support provides additional scripting capabilities through the Picture dialog box and
the Data link. By adding to this special command language script through the Picture dialog box or the
Data link, you can retrieve data from a relational database each time the picture is opened. This lets
you perform relational database queries or updates as part of a start-up routine. Refer to Creating an
SQL Startup Script for more information on developing a startup script.
NOTE: If you are using Microsoft Access, do not use spaces in your relational database tables names.
Your iFIX with FIX Desktop software cannot query tables with spaces in their names.
Accessing the SQL Command Configurator
Complete the following steps to access the SQL Command Configurator.
To access the SQL Configurator:
1.

Access the Command Language Editor in Draw.

2.

Create a numeric variable to store the completion status of the SQL command, for example:
DECLARE #VAR NUMERIC PICTURE

3.

Create a table variable to store or represent the relational database data, for example:
DECLARE #RESULT[20][20] TABLE PICTURE

4.

Specify the following mathematic expression to set the value of the numeric variable:
#VAR1 =

The SQL button on the Command Language Editor dialog box becomes enabled.

670

iFIX with FIX Desktop

5.

Click the SQL button to access the SQL Command Configurator.

Selecting Command Parameters


The SQL Command Configurator automatically builds the required syntax for adding stored
procedures and the SELECT, UPDATE, INSERT, and DELETE SQL commands.
When a command language script executes, View uses the SQL information in this node's System
Configuration Utility (SCU) file to automatically:

Login to the specified database(s) when required to execute a SQL command.

Notify the appropriate alarm areas if a connection error occurs.

Logout of the specified database(s) when View is exited.

NOTE: Other SQL commands can be integrated with a command language script by modifying the
SQL command syntax. SQL Commands includes descriptions of the supported commands.
Guidelines
When building an SQL command with the SQL Command Configurator, use the following guidelines:

When completing the Table Name(s) field, enter one or more table names as follows:
table1,table2

Separate multiple column names with a comma and no spaces. When appropriate, a string
variable can be used to replace all or part of the field entry. For example, to use the variable
#TABLE, set the value of the variable as follows:
#TABLE = "table1,table2"

-Or#TABLE = "table1"

Note that if you use a variable to represent part of the field entry, complete the field as
follows:
#TABLE,table2

When completing the Column(s) field, enter one or more column names as follows:
column1,column2

Separate multiple column names with a comma and no spaces. For the UPDATE command,
use the following syntax:
Syntax

Example

column =value

Col1=5

column ='text'

col2='Low'

When appropriate, a string variable can be used to replace all or part of the field entry. For

671

iFIX with FIX Desktop

example, to use the variable #COLUMN, set the value of the variable as follows:
#COLUMN = "column1,column2"

-Or#COLUMN = "column=value"

-Or#COLUMN = "column1"

Note that if you use a variable to represent part of the field entry, complete the field as
follows:
#COLUMN,column2

When completing the Condition Clause/Insert Value(s) field, enter a condition clause for the
SELECT, UPDATE, or DELETE commands as follows:

Syntax

Example

Where column =value

Where Device=1

Where column ='text'

Where Device='Engine5'

If you omit the word 'Where' from the condition clause, the SQL Command Configurator
dialog box adds it for you.

When appropriate, a string variable can be used to replace all or part of the field entry. For
example, using the above examples, if you set the variable #DEVICE to 1, you can complete
the field as follows:
Where Device=#DEVICE

For the INSERT command, enter the value(s) to insert into the specified table as follows:
o

Embedded literal strings must be enclosed in single quotes:


'Low','High'

Do not use quotes for numeric values. For example:


5.0,10.0

When appropriate, use a string variable to replace all or part of the field entry. For example, to
use the string variables #VALUES and #VALUES2, set their value as follows:
DECLARE #VAL1 NUMERIC PICTURE
DECLARE #VAL2 NUMERIC PICTURE
DECLARE #VALUES STRING PICTURE
DECLARE #VALUES2 STRING PICTURE
#VAL1 = 15.0
#VAL2 = 35.0
#VALUES = "5.0,'Low',10.0,'High'"

672

iFIX with FIX Desktop


#VALUES2 = "#VAL1, 'Low', #VAL2, 'High'"

If you plan to use a stored procedure, make sure your relational database supports this feature.
Consult your relational database manuals for more information on creating and using stored
procedures.

To specify a date or a time in a query, use the standard ODBC format:


{d 'yyyy-mm-dd'}(to specify a date) or
{t 'hh:mm:ss'}(to specify a time) or
{dt 'yyyy-mm-dd hh:mm:ss'}(to specify a date and time)

For example, to query a relational database between a range of dates, use the following
condition clause:
Where #DATE > {d '1995-05-19'}AND #DATE <
{d '1995-05-31'}

To specify a string or table variable as part of a field entry, use the same guidelines for literal
strings, for example:
col 1 =

'Low'

col2 = '#STRING'
Where Device ='#TABLE[#I][3']

Build a SQL Command with the SQL Command Configurator


To build an SQL command syntax with the SQL Command Configurator:
1.

Type the name of the database from which the data should be retrieved in the Database
Identifier field.

2.

Use the following table to execute a command or a stored procedure:

To execute a...

Select...

SELECT,
UPDATE,
INSERT, or
DELETE
command

The Build Command button and the appropriate button in the Command
Type area. Then complete Table Name(s) field and the Column(s) field. Use
above guidelines for information on how to complete these fields. Do not
specify column names for the DELETE command. You can also omit
column names for the SELECT command. When you do, all the columns in
the specified table are returned.

Stored procedure

The Use Stored Procedure button.

3.

Type the name of the table variable that stores or represents the SQL data in the Data
Location field. This variable must have been defined previously with the DECLARE
command and is used for SELECT commands only.

4.

Choose whether to enable command caching through the Use Command Caching check box.
NOTE: Some SQL databases have the ability to save executed commands in memory, thereby

673

iFIX with FIX Desktop

reducing the time it takes to re-execute the commands when required. Check your SQL
database documentation to verify if it supports command caching.
5.

Select OK to accept the information and return to the Command Language Editor. The SQL
command syntax you have built appears to the right of the equals sign, beside the specified
numeric variable.

Understanding Error Handling


SQL command support uses numeric variables, table variables, and alarm areas to relay information on
errors during connection or communication with the relational database. For example:

The numeric variable in the required SQL command syntax stores the completion status of an
executed command. A value of zero indicates that a command executed successfully. A nonzero value indicates that an error occurred. When an error occurs, the numeric variable stores
the error code returned by the relational database. Check the database documentation for
detailed information on the error.

The table variable assigned to store or represent data contains the '@' character in the event of
a database connection error. If the problem is not due to a connection error, the table variable
contains the '*' (asterisk) character.

All alarm areas enabled in the SCU receive an appropriate message in the event of a database
connection error. Connection errors can include a lack of information found in the SCU file or
a relational database that cannot be found.

You can use a Data link to display the value of any numeric or table variable. Refer to Using Variables
with Objects and LInks for more information on variables with links.

Creating an SQL Startup Script


SQL command support lets you create an SQL startup script that executes when the picture is opened
in View. This is useful for creating SQL-specific scripts for startup tasks, such as selecting or updating
relational database data. When the script executes, View automatically logs into the specified database.
Note that View retrieves a maximum of 1, rows of data for each SELECT command it executes.
The SQL startup script is available in addition to the Commands on Opening picture property. If both
command language scripts exist, the SQL startup script and the Commands on Opening script execute
concurrently when the picture opens. To avoid timing issues, design each script to operate
independently.
You can create an SQL startup script from the Picture dialog box. For additional flexibility and easeof-use, you can also create an SQL startup script from a Data link. Note that one SQL startup script is
shared by all the Data links in a picture. As a result, if you delete the script from one Data link, it is
removed from all Data links in that picture. In addition, the script is treated like a picture property. If
you delete all the Data links from a picture without deselecting the Open SQL Script check box, when
you open the picture in View, the SQL startup script runs.
To create an SQL startup script with the Picture dialog box:

674

1.

On the Edit menu, click Picture. The Picture dialog box appears.

2.

Click the SQL Commands on Opening button or the SQL Commands check box to access the
Command Language Editor.

iFIX with FIX Desktop

3.

Create a numeric variable to store the completion status of the SQL command, for example:
DECLARE #VAR1 NUMERIC PICTURE

4.

Create a table variable to use with a Data link, for example:


DECLARE #TVAR[10][10] TABLE PICTURE

5.

Set the value of the numeric variable with the following mathematic expression to enable the
SQL button:
#VAR1=

6.

Where #VAR1 is the name of the numeric variable you created with the DECLARE
command in step 3.

7.

Click the SQL button to access the SQL Command Configurator and select the SQL
command parameters. Refer to Selecting Command Parameters for detailed steps.

8.

Create a Data link that references the table variable you created:
#TVAR[1][1]

Displaying Relational Database Data


SQL command support lets you use the Data link to:

Display a relational database value stored in a table variable.

Update values on a timed basis for real-time display.

The following sections provide information on completing these tasks.


Displaying a Relational Database Value
When you use the SELECT command to retrieve data from the relational database, it is stored in the
table variable in individual rows and columns. To access data through a Data link, you need to indicate
the address, or the specific row and column, of the data location. Use the following format to complete
this task:
#table_var[row][column]

where the row and column are the values that represent the data address. For example, suppose a table
variable named #RESULT contains the following data:
PUMP1

PUMP2

PUMP3

PUMP4

50

55

43

46

60

67

48

52

You could use any of the following examples in the Tagname field of a Data link to retrieve data from
the #RESULT table variable:

675

iFIX with FIX Desktop

Tagname Entry

Description

#RESULT[0][0]

Displays "PUMP1"
Row 0 is returned for column titles.

#RESULT[1][3]

Displays "46"

#RESULT[2][1]

Displays "67"

To display a relational database value stored in a table variable:


1.

Create a command language script that uses the SELECT command to obtain data from the
relational database. Refer to the Building SQL Commands section for detailed steps on
building SQL commands.

2.

Use the Data link tool to add a Data link to your picture.

3.

Enter the name of the table variable that you used to store the data in the Tagname field. For
example, to store data in the table variable #RESULT[1][1], enter the following in the
Tagname field:
#RESULT[1][1]

4.

Select Text Data from the Format area.


NOTE: All data stored in the table variable are text strings. Therefore, any Data link used to
display data must be formatted as Text Data.

5.

Select OK to save the Data link.

Updating Values on a Timed Basis


SQL command support enhances the Command Language. Therefore, scripts that incorporate SQL
commands can also take advantage of all the other commands available to the Command Language
Editor.
Refer to the Working with Variables and Managing Command Language Scripts for information on all
the commands available in the Command Language.
For example, the PAUSE and GOTO commands can provide timed updates to Data links that display
relational database data. A command language script to accomplish this task would resemble the
following:
DECLARE #STATUS NUMERIC PICTURE
DECLARE #RESULT[15][15] TABLE PICTURE
&L3
#STATUS = SQL("PUMPS","SELECT","TEMP","PUMP1","",0,#RESULT)
PAUSE 60

676

iFIX with FIX Desktop


GOTO L3

Understanding Command Syntax


FIX Command Language is a powerful tool that provides you with over 60 commands to use in
building command language scripts. You will use these commands to build custom instructions that
perform process monitoring and control tasks upon request.
Like any programming language, the Command Language has its own vocabulary. In addition to a
command set, this vocabulary also includes various types of parameters. Parameters specify what the
command should create or act upon when executed. Depending on the command used, examples of
parameters include:

Database block names

File names

Picture names

Object names

Numeric values

Text strings

Variables

Mathematic expressions

In addition to the parameters that commands require for execution, additional parameters can often be
included as an option. When you put required and optional parameters together to build a specific
instruction, the order in which the parameters appear is called the command syntax.
The Command Language command syntax is a set of rules that define how the script evaluates
instructions when an execution request is received. This evaluation includes the execution of each
command in order of appearance, from top to bottom. Within each command, each parameter is
executed in order of appearance, from left to right.
The sections that follow provide information on the conventions used to convey proper command
syntax, how to incorporate variables, and specify valid mathematic expressions.

Command Syntax Conventions


Each command available with the Command Language is described in its own section, based on
various task-oriented categories. The reference information provided in these sections includes the
following:

Purpose

Syntax

Parameters

Example

677

iFIX with FIX Desktop

A typical command syntax includes the name of the command and a string of required or optional
parameters, as shown in the following figure.

Typical Command Syntax


NOTE: The Command Language is not case-sensitive. Capital letters, used to illustrate proper
command syntax and examples, are a convention and not a requirement.
The conventions used in this manual to present command syntax are described in the following table.
Number

Convention

Description

Capital letters

Specifies the name of the command.

Italics

Specifies a required parameter.

Italics with a
separator (|)

Specifies a required parameter that includes a choice of one


or more entries.

Italics with brackets


([ ])

Specifies an optional parameter.

Parameter Replacement Conventions


The Command Language is a flexible automation tool. There are many instances where other iFIX
software or Command Language features can be integrated with a command language script
development strategy. These features can include:

Variables

Tag groups

IMPORTANT: When you use another feature in place of a command parameter, follow all syntax
rules associated with that feature. For example, variable names begin with pound signs and tag groups
begin with question marks. Refer to Command Syntax Rules and Designing Command Language
Scripts for more information.
Consider the GETVAL command, used to retrieve a value from a database block. The base syntax for
this command is as follows:
GETVAL node:tag.field variable

However, this command can also incorporate many other iFIX with FIX Desktop software features. In
fact, all of the examples in the following table are valid uses of the GETVAL command.

678

iFIX with FIX Desktop

Example

Description

GETVAL LINE1:COOKER1.F_CV
#VALUE

Retrieves the floating-point value of a database


block and stores it in a numeric variable.

GETVAL LINE1:COOKER1.A_DESC
#DESC

Retrieves the description of a database block and


stores it in a string variable.

GETVAL #NODE #VALUE

Refers to a string variable for the name of a


database block, retrieves its value, and stores it in
a numeric variable.

GETVAL ?COOKER #VALUE

Refers to a tag group for the name of a database


block, retrieves its value, and stores it in a
numeric variable.

GETVAL
=EXCEL|[FILE.XLS]SHEET1!R1C1
#VALUE

Retrieves the numeric value of a cell from a


Microsoft Excel workbook and stores it in a
numeric variable.

Parameter Replacement Guidelines


Use the guidelines in the following table when replacing selected parameters with other iFIX with FIX
Desktop software or Command Language features.
Parameter

Valid Replacement

Literal string

String variable or tag group symbol

Numeric value

Numeric variable

Node:tag.field

String variable or tag group symbol

Node:tag

String variable or tag group symbol

File name

String variable or tag group symbol

Picture name

String variable or tag group symbol

Object name

String variable or tag group symbol

679

iFIX with FIX Desktop

Command Syntax Rules


The Command Language has a set of rules that must be followed during development. These rules
encompass various command language features. Use the following sections as a reminder of the rules
that apply when incorporating these features into command language scripts:

Relative Commands

Variables

Remote Nodes

Case-Sensitivity

Understanding the SQL Command Syntax

SQL Command Syntax

Relative Commands
The following rules apply to relative commands:

Omit the node:tag.field, object, or picture parameter in cases where the command does not
require any further parameters.

Use the asterisk (*) as a placeholder to represent the node:tag, object, or picture parameter in
cases where the command has a string of required or optional parameters.

Variables
The following rules apply to variables:

680

When creating variables: Any variable must be defined with the DECLARE command prior
to its use in place of a command parameter. A variable name must begin with a pound sign
(#). A variable must have a scope type. When a scope type is not defined, the default type of
script is used.

String variables that replace literal strings are not enclosed in quotes unless you are replacing
part of an SQL command. See Understanding the SQL Command Syntax and SQL Command
Syntax for more information on using string variables with SQL commands.

A numeric variable cannot be set equal to a string variable through a math expression.

Scripts that include variables with a picture scope type cannot be associated with the closing
of a picture. Since the script does not execute until after the picture closes, these variables are
no longer available at the time of execution.

If another script uses the same variable name, but specifies a different type, the duplicating
script terminates execution.

If another script uses the same variable name and type, the duplicating script continues to use
the original variable.

In mathematic expressions, you must include a space following a tag group symbol or a
variable name. The space separates the symbol or variable from whatever follows it. The
following example shows a space between #TEMP_SUM and the plus sign.

iFIX with FIX Desktop

Remote Nodes
The names of remote nodes on a local area network (LAN) can be used within command language
scripts. However, the following rules apply when using this technique:

All remote nodes must be registered and configured in the System Configuration Utility
(SCU).

A session must be established with the selected node before script execution is requested.

Case-Sensitivity
For the most part, the Command Language is not case-sensitive. Exceptions to this rule include the
following types of parameters:

Literal strings, used with many commands.

Object names, used with the FINDLINK and ZOOM commands.

With the exception of these two parameter types, the Command Language Editor automatically
converts the command language script into capital letters once you select OK.
Understanding the SQL Commands
Although the SQL Command Configurator (see Building SQL Commands) automatically builds the
syntax for the most common SQL commands, it is useful to understand the results of this process. This
knowledge will help you should you need to integrate other SQL commands in a command language
script.
Example
Suppose you want to retrieve all the data in the PUMPS database that is stored in the TEMP column of
the PUMP1 table. You have used the DECLARE command to define a table variable named
#RESULT to store this data.
You have also defined a numeric variable named #STATUS to store the completion status of the
command and typed '#STATUS = ' in the appropriate line. Finally, you have accessed the SQL
Command Configurator and selected the options you need to build the command.
Given the information in this example, the configurator automatically builds an SQL SELECT
command and displays the following syntax in the Command Language Editor:
#STATUS = SQL("PUMPS","SELECT", "TEMP", "PUMP1", ''", 0, #RESULT)

Guidelines
When entering an SQL command, use the following guidelines:

All strings must be enclosed in double quotes, even if numbers are used. For example:
#VAR1 = SQL("Alarms",
"INSERT","ALARM,PRESSURE","PDBDATA","5.0,10.0",0,"")

Embedded literal strings (such as those used in a WHERE clause of an UPDATE command)

681

iFIX with FIX Desktop

must be enclosed in single quotes and the entire parameter in double quotes as follows:
#VAR1 = SQL("Alarms",
"INSERT","ALARM,PRESSURE","PDBDATA","'Low',5.0,",0,"")
#UPDATE = SQL("Alarms","UPDATE","SPEED=50","ENGINEDB","Where device =
'engine5'",0,"")

Variables must be entered without any quotation marks. The value of a variable can represent
all or part of an entire parameter.

To specify a date or a time in a query, use the standard ODBC format:


{d 'yyyy-mm-dd'}(to specify a date) or
{t 'hh:mm:ss'}(to specify a time) or
{dt 'yyyy-mm-dd hh:mm:ss'}(to specify a date and time)

For example, to query a relational database between a range of dates, use the following
condition clause:
"Where #DATE > {d '1995-05-19'}AND #DATE <
{d '1995-05-31'}"

To specify a string or table variable as part of a parameter, use the guidelines for literal
strings, for example:
"col2 = 'Low'"
"col2 = '#STRING5'"
"Where Device='#TABLE[#I][3]'"

For more information on SQL command syntax, refer to the SQL Command Syntax section.
SQL Command Syntax
The Command Language adheres to the required SQL command syntax:
#num_var =
SQL("param1","param2","param3","param4","param5",param6,#param7)

The following table describes the SQL command syntax.


Parameter

Description

num_var

The name of the numeric variable that stores an SQL error code. The error code is 0,
if no error occurs when the SQL statement executes. Otherwise, a non-zero error
code is stored in the numeric variable.
NOTE: An error code represents the code assigned by the relational database.
Check the database documentation for detailed information on the error.

682

The equals sign, required to set the value of the numeric variable.

iFIX with FIX Desktop

Parameter

Description

SQL

The SQL command indicator.

param1

The database identifier of the relational database as specified in this node's SCU
file, enclosed in quotes. For example, if you define an SQL account in the SCU with
the database identifier 'Inventory', use 'Inventory' as this parameter. A string
variable can replace this parameter.

param2

The name of the SQL command to be executed, enclosed in quotes. A string


variable can replace this entire parameter. For example:
#CMD = "UPDATE"

param3

The name of the column(s) from which to retrieve the data or the name of the stored
procedure to be executed. Either choice must be enclosed in quotes as follows:
"column1,column2"

Separate multiple column names with a comma and no spaces. For the UPDATE
command, use the following syntax:
Syntax Example
column=value Col1=50
column=&lsquo;text&rsquo;col2=&lsquo;Low&rsquo;

A string variable can replace all or part of the field entry. For example, to use the
variable #COLUMN, set the value of the variable as follows:
#COLUMN = "column1,column2" or
#COLUMN = "column=value" or
#COLUMN = "column1"

Note that if you use a variable to represent part of this parameter, enclose it in
quotes as follows:
"#COLUMN,column2"

param4

The name of the table(s) from which to retrieve the data, enclosed in quotes, as
follows:
"table1,table2"

Separate multiple table names with a comma and no spaces. A string variable can
replace all or part of this parameter. For example, to use the variable #TABLE, set
the value of the variable as follows:
#TABLE = "table1,table2" or
#TABLE = "table1"

Note that if you use a variable to represent part of this parameter, enclose it in
quotes as follows:
"#TABLE,table2"

683

iFIX with FIX Desktop

Parameter

Description

param5

An optional condition clause to be used for the SELECT, UPDATE, or DELETE


commands, enclosed in quotes. If the condition clause is omitted, the SQL
command operates on the entire table. For example:
Syntax Example
"Where column=value""Where Device=10"
"Where column='text'""Where Device='Engine5'"

You can use a string variable to replace all or part of this parameter. For example,
using the above examples, if you set the variable #DEVICE to 10, you can enter the
following for this parameter:
"Where Device=#DEVICE"

For the INSERT command, enter the value(s) to insert into the specified table as
follows:

All strings must be enclosed in double quotes, even if numbers are used. For
example "5.0,10.0"

Embedded literal strings must be enclosed in single quotes as follows:


"'Low','High'"

A string variable can replace all or part of this parameter. For example, to
use the string variables #VALUES and #VALUES2, set their value as
follows:
DECLARE #VAL1 NUMERIC PICTURE
DECLARE #VAL2 NUMERIC PICTURE
DECLARE #VALUES STRING PICTURE
DECLARE #VALUES2 STRING PICTURE
#VAL1 = 15.0
#VAL2 = 35.0
#VALUES="5.0,'Low';,10.0,'High'"
#VALUES2="#VAL1, 'Low', #VAL2, 'High'"

param6

The caching indicator, where 1 is enabled and 0 is disabled. A numeric variable can
replace this parameter.
NOTE: Some relational databases have the ability to save executed commands in
memory, thus reducing the time it takes to re-execute the commands when required.
Refer to your relational database manuals to determine if your relational database
supports command caching.

param7

The name of the table variable that stores the results of the query.

NOTE: Some SQL commands do not require all seven parameters. When a parameter is not required,
use an empty set of quotation marks ('') as a placeholder.

684

iFIX with FIX Desktop

Using Mathematic Expressions


The Command Language provides a number of powerful mathematic operators and functions that let
you manipulate numeric data. When you use these functions with numeric data, you build an
expression to perform the desired calculation or evaluation. The expression must appear in the format
shown below and described in the following table.
num_var = math expression

Element

Specifies the

math

Name of the numeric variable that will store the result of the mathematical
expression.

expression

Mathematical expression. The expression consists of one or more valid parameters


combined with one or more mathematic operators and functions.

Mathematic expressions can use one or more of the following as parameters:


Node:tag.field(F_CV only) where a tag group symbol can replace this parameter and store the
node:tag.field information.
Value where a numeric variable can replace this parameter and store the value information.
NOTE: All numeric variables must first be created with the DECLARE command. Refer to the
DECLARE section for more information on creating a numeric variables.
Example
In the following example, the command language creates two numeric variables, one with the default
script scope and one with a global scope. The current value of the database block COOKER2 is then
retrieved from the process database, stored in the second variable (#TEMP), and added to the first
variable (#TEMP_SUM).
When both variables are created, your iFIX with FIX Desktop software sets their values to 0.0. For the
purposes of the example, assume that the retrieved value of COOKER2 is 50. The result of the
mathematical expression in this case, now stored in #TEMP_SUM, would be 50.
IMPORTANT: In mathematic expressions, you must include a space following a tag group symbol or
a variable name. The space separates the symbol or variable from whatever follows it. Note that the
example above shows a space between #TEMP_SUM and the plus sign.

Valid Operators and Functions


The following table describes the valid operators and functions that can be used to build a mathematic
expression. Combinations of these operators and functions can also form a compound expression.
NOTE: All parameters must be in radians.

685

iFIX with FIX Desktop

Operator

Function

Example

Adds two parameters together.

param1 +
param2

Subtracts one parameter from another.

param1
param2

Multiplies two parameters.

param1 *
param2

Divides two parameters.

param1 / param2

Negate, where the result is the negative value of a single


parameter,param1.

- param1

Raisesparam1to the power ofexp.

param1^exp

ABS()

Absolute value

ABS(param1)

SQRT()

Square root

SQRT(param1)

EXP()

Natural exponent, where the result is the calculation of the


exponential function ofparam1

EXP(param1)

LOG()

Natural logarithm

LOG(param1)

LOG10()

Base 10 logarithm

LOG1(param1)

INT()

Truncatesparam1to create an integer.

INT(param1)

SIN()

Sine

SIN(param1)

COS()

Cosine

TAN()

Tangent

ASIN()

Arcsine

ACOS()

Arccosine

ATAN()

Arctangent
NOTE: All parameters must be in radians.

686

iFIX with FIX Desktop

Operator

Function

Example

Relational

Relational operators including >, >=, <, <=, ==, and !=, where
the result of conditions are either true (1.0) or false (0.0).

param1 <
param2
param1 ==
param2

Using Literal Strings in Expressions


Normally, literal text strings cannot be used in mathematical expressions. However, in the case of the
equal sign (=) operator, expressions can be created to set a string variable equal to a literal string. For
example:
DECLARE #VAR STRING SCRIPT
#VAR = "This is a string"

Use the following guidelines when using an expression to assign a literal string to a string variable:

The string variable must be created with the DECLARE command.

The equate method is the only way to use text strings in a mathematical expression. Other
math operations are not allowed, including the addition of one string to another string.

The initial definition of a string variable used in this manner is limited to 63 characters. Up to
69 characters can be added through string concatenation, for a maximum of 132 characters.

To manipulate strings, including performing string concatenation, refer to String Manipulation


Commands for detailed instructions.

Working with Variables


The Command Language provides you with a number of commands that create and manipulate
variables. This set of commands provides you with the ability to:

Define a table, numeric or string variable and specify what command language scripts have
access to it.

Convert numeric variables to string or table variables.

Convert string or table variables to numeric variables.

Convert an error string associated with a #CMDSTATUS variable to a string or table variable.

Manipulate table, numeric or string variables.

The following sections provide detailed information on working with variables:

Definition Commands

Conversion Commands

Numeric Manipulation Commands

687

iFIX with FIX Desktop

String Manipulation Commands

Predefined Variables

To help simplify the following discussions, references to string variables include table variables unless
otherwise noted.

Definition Commands
Definition commands let you create numeric or string variables to use in place of selected command
parameters. This section also provides a description of the predefined #CMDSTATUS variable,
created at the start of each command language script execution.
NOTE: Refer to Using Variables for detailed information on Command Language predefined and
user-defined variables. For a list of predefined variables, refer to the Predefined Variables section.
Definition commands include:

#CMDSTATUS

DECLARE

RESOLVEVARS

#CMDSTATUS
Purpose
The Command Language provides flexible error-handling in the form of a special variable called
#CMDSTATUS. This variable is a numeric variable with a script scope that each command language
script automatically creates when the first script within a picture is executed.
The #CMDSTATUS variable stores and represents the completion status of each command executed
within a script. Since it is a numeric variable, it is dynamic in that its value changes with each
execution of each command in the script. #CMDSTATUS values are predefined. A value of zero
indicates that a command executed successfully. A non-zero value means an error occurred.
Syntax
No definition required. The Command Language automatically declares this numeric variable when
the first script for a picture executes.
Example
In the following example, the #CMDSTATUS variable is used in an IF command evaluation.
IF command evaluation.</PARA>
DECLARE #TEMP NUMERIC
GETVAL LINE1:TANK1.F_CV #TEMP
IF #CMDSTATUS == 0

688

iFIX with FIX Desktop


CLOSEDIG LINE1:PUMP1.F_CV
ELSE
NOTE "Tank temp error Tag not found"
ENDIF

DECLARE
The DECLARE command defines a numeric, string, or table variable. A variable is an element used in
place of a command parameter that can represent different values or text strings at different times.
IMPORTANT: Variables you create must be defined with the DECLARE command before they can be
used. Variables predefined by the Command Language can be used immediately; no DECLARE
command is required.
Syntax
DECLARE var_name var_type [scope]

Parameters
var_name specifies the name of the variable. The variable name must begin with a pound sign
(#) and can be any ASCII string up to 31 characters.
Table variable syntax lets you include the size (number of characters) of each string in the
table, and the number of rows and columns that the variable will hold. Each string in the table
can be up to 8 characters maximum (79 for the string and one for a string terminator).
Specifying the size is optional and when omitted the default of 8 characters is assumed. Using
the default size, you can, for example, specify 2 rows and columns (20*20*80=32000). If you
need a different number of rows or columns, specify the necessary values when declaring the
table variable. Keep in mind, however, that the maximum size for each string and the maximum
number of rows and columns is defined as follows:
rows*columns*size< = 32767

Be sure to enclose the size and the number of rows and columns in brackets ([ ]). Also make
sure you do not insert spaces between the variable, the string size, or the number of rows and
columns. Note that the brackets and the values entered for rows, columns, and size count
toward the 32-character name limit.
var_type defines the variable type:
Variable
Type

Description

Numeric

Stores floating-point data and is set to a value of . upon creation.

689

iFIX with FIX Desktop

Variable
Type

Description

String

Stores any ASCII string and is set to an empty string upon creation.

Table

Stores a zero-based array of strings. Each string is set to an empty string upon
creation.

scope defines the variable scope. The scope defines how long the variable is available and what
command language scripts have access to it. Valid variable scope types are listed in the
following table.
Scope

Description

Script

The default scope type. A variable with a script scope is available only within the
command language script that creates it.

Picture

A variable with a picture scope is available to all command language scripts within the
picture that contains the script that creates it.
FIX destroys data stored in this variable when the picture is closed.

Global

A variable with a global scope is available to all command language scripts within every
picture in View.
FIX destroys data stored in this variable when View shuts down.

Example
In the following example, three variables are defined. One is a numeric variable named #TEMP, which
does not specify a scope type. Therefore, the scope type is the default, script. The second one is a
string variable named #ASUM, which specifies a scope type of global. The last variable is a table
variable named #RESULT, which specifies a scope type of picture and creates a table 5 rows by 5
columns. The size of each string in the table is 12 characters plus the null terminator.
DECLARE #TEMP NUMERIC
DECLARE #ASUM STRING GLOBAL
DECLARE #RESULT[50][50][13] TABLE PICTURE

RESOLVEVARS
Purpose
The RESOLVEVARS command causes all variables in a picture to be resolved to the most current
assignment.

690

iFIX with FIX Desktop

Syntax
RESOLVEVARS picture

Example
In earlier versions of FIX, once a variable had been assigned a valid node:tag.field string, that
assignment was permanent. You could assign a new node:tag.field string to that variable, but View
would continue to display data based on the original assignment. For example, if in a Commands on
Open script you made the following assignment:
DECLARE #abc string picture
#abc = "THISNODE:AI1.F_CV"

then a Data link referencing #abc would display the current value for THISNODE:AI1.F_CV.
However, if a later line in the command script reassigned the variable:
#abc = "THISNODE:AI2.F_CV"

then View would continue to display the value for THISNODE:AI1.F_CV.


Now if you add the new RESOLVEVARS command to the sample script:
#abc = "THISNODE:AI2.F_CV"
RESOLVEVARS*

then as soon as the RESOLVEVARS command is executed. View immediately displays the current
value of THISNODE:AI2.F_CV in any Data link referencing #abc.

Conversion Commands
Conversion commands let you convert variables from one type to another, with the result stored in a
numeric or string variable. This command set also provides the ability to convert an error string
associated with a #CMDSTATUS variable to a string variable.
Conversion commands include:

NUMTOSTR

NUMTOSTR (#CMDSTATUS only)

STRTONUM

NUMTOSTR
Purpose
The NUMTOSTR command converts a number into a string variable.
Syntax
NUMTOSTR num_var "string" string_var

691

iFIX with FIX Desktop

Parameters
num_var specifies the numeric variable to be converted into a string.
string specifies the format to be used for the conversion, enclosed in quotes. A string variable
can replace this parameter.
NOTE: This format must be a standard C Language format specification and can contain up to
129 characters. Refer to the Using C Language Format Specifications section for more details.
string_var specifies the string variable that will store the result of the conversion.
Example
In the following example, a floating-point sum is retrieved from the process database with the
GETVAL command. The NUMTOSTR command then creates a string version of the data for later use.
DECLARE #SUM NUMERIC
DECLARE #ASUM STRING GLOBAL
GETVAL LINE3:CHOPPER2.F_CV #SUM
NUMTOSTR #SUM "%f" #ASUM

NUMTOSTR (#CMDSTATUS Only)


Purpose
The NUMTOSTR command used in combination with the #CMDSTATUS variable converts an error
string into a string variable.
Syntax
NUMTOSTR #CMDSTATUS "%s" string_var

Parameters
%s specifies a special C format specification type parameter, enclosed in quotes, that is reserved
for use with the #CMDSTATUS variable. Refer to Using C Language Format
Specifications for more information on using the C format specification.
NOTE: The "%s" type parameter generates a BAD_FORMAT error when used without the
#CMDSTATUS variable.
string_var specifies the string variable that stores the result of the conversion.
Example
In the following example, the command language script attempts to retrieve a value from the database
block named TANK1. Once retrieved, the value is placed in the variable named #TANKVAL.

692

iFIX with FIX Desktop

Should the retrieve fail, the system generates an error and assigns this non-zero value to the
#CMDSTATUS variable.
To notify an operator of the failure, the script uses the NUMTOSTR command to convert the error
value to a string and store it in the #ERR_MSG variable. The variable is then displayed to the operator
with the NOTE command.
DECLARE #ERR_MSG STRING
DECLARE #TANKVAL NUMERIC
GETVAL LINE1:TANK1.F_CV #TANKVAL
IF #CMDSTATUS != 0
NUMTOSTR #CMDSTATUS "%s" #ERR_MSG
NOTE #ERR_MSG
ENDIF

STRTONUM
Purpose
The STRTONUM command converts a string variable into a numeric variable.
Syntax
STRTONUM string_var num_var

Parameters
string_var specifies the string variable to be converted.
NOTE: The variable must contain only a number in character format. Characters other than
those that make up the number generate a BAD_FORMAT error.
num_var specifies the numeric variable that will store the result of the conversion.
Using C Language Format Specifications
A C Language format specification can be used in conjunction with the following conversions:

Converting a numeric to a string.

Converting an error code into a string.

The C Language format specification can contain up to 129 characters and has the following syntax:
%[flags] [width] [.precision] type

693

iFIX with FIX Desktop

Examples
Original Format

Format Specification

Output Format

10.2236765

%f

10.223677

101.2232

%6.2f

101.22

.112232

%1.4E

1.2232 E-001

#CMDSTATUS =0

%s

#CMDSTATUS = SUCCESS

Each format specification parameter is a single character or a number that specifies a formatting
option. The simplest format specification contains only the percent sign and the required type
parameter, for example, %f. The next table describes each format specification parameter.
Parameter

Specifies the...

flags

Justification of output and printing of signs, blanks, and decimal points.

width

Minimum number of characters output.

precision

Maximum number of characters printed for all or part of the output field.

type

Output format, for example, floating point or scientific notation.

There are a number of entries available for each format specification parameter. Valid entries for each
parameter and the effect on the output format are described in the tables that follow.
Type Parameter
The following table describes the Type parameter.
Type

Output Format

[-]dddd.dddd where dddd is one or more decimal digits.


NOTE: The number of digits before the decimal point depends on the magnitude of the
number, and the number of digits after the decimal point depends on the requested
precision.

694

iFIX with FIX Desktop

Type

Output Format

[-]d.ddd e [sign]ddd where the format is a signed value in which d is a single decimal
digit, ddd is one or more decimal digits, ddd is exactly three decimal digits, and sign is +
or -.

Identical to the e format, except that E introduces the exponent instead of e.

Signed value printed in f or e format, whichever is more compact for the given value and
precision.

Identical to the g format, except that G introduces the exponent instead of e.


The e format is used only when the exponent of the value is less than -4 or greater than the
precision argument. Trailing zeros are truncated and the decimal point appears only if one
or more digits follow.

String format, valid only in combination with a #CMDSTATUS variable.

Flag Parameter
The following table describes the Flag parameter.
Flag

Description

Left justifies the result within the given field width.


Default: Right justified.

Prefixes the output value with a sign (+ or -) if the output value is of a signed
type.
Default: Sign appears only for negative signed values (-).

(' ') blank

Prefixes the output value with a blank if the output value is signed and positive.
The blank is ignored if both the blank and + flags appear.
Default: No blank

# (With e, E,
or f type)

Forces the output value to contain a decimal point in all cases and prevents the
truncations of trailing zeros.
Default: Decimal point appears only when digits follow it. Trailing zeros are
not truncated.

695

iFIX with FIX Desktop

Flag

Description

# (With g or G
type)

Forces the output value to contain a decimal point in all cases and prevents the
truncations of trailing zeros.
Default: Decimal point appears only when digits follow it. Trailing zeros are
truncated.

Width Parameter
The following table describes the Width parameter.
Width

Description

A non-negative
decimal integer

Controls the minimum number of characters printed. Adds blanks to the


left or right of the output values (depending on whether the flag is
specified) if the number of characters in the output is less than the
specified width.

A non-negative
decimal integer
prefixed with a zero

Controls the minimum number of characters printed. Adds zeros to the


left or right of the output values (depending on whether the flag is
specified) if the number of characters in the output is less than the
specified width.

The width specification never causes a value to be truncated. If the number of characters in the output
value is greater than the specified width, or width is not given, all characters of the value are printed
according to the precision parameter.
NOTE: Use the NUMTOSTR command with the width parameter to pad a number with zeros when
converting it to a string.
Precision Parameter
The following table describes the Precision parameter.
Precision

Specifies the

.d

Number of decimal places or the number of significant digits, where d is a


non-negative integer.
Can cause truncation or floating-point rounding of the output value.

.d (With e, E, or f
type)

Number of digits to be printed after the decimal point. The last printed digit
is rounded.
Default: 6 digits. If the precision is 0 or the period (.) appears without a
number following it, no decimal point is printed.

696

iFIX with FIX Desktop

Precision

Specifies the

.d (With g or G
type)

Maximum number of significant digits printed.


Default: All significant digits are printed.

Numeric Manipulation Commands


Numeric manipulation commands let you alter numeric variables. These commands include:

ROUND

ROUND
Purpose
The ROUND command rounds a numeric variable to the nearest integer. This command is valid for
floating-point numbers only.
Syntax
ROUND num_var

DN|UP|BK

Parameters
num_var specifies the name of the numeric variable to be rounded.
DN|UP|BK specifies the type of rounding to be performed:
Type

Description

DN

Rounds down to the nearest integer.

UP

Rounds up to the nearest integer.

BK

Performs what is considered normal rounding, with a BREAK occurring at the .5 location.

Example
In the following example, the current value of LINE1:COOKER4 is retrieved from the process
database and stored in a numeric variable. This value is then rounded up to the next highest integer.
DECLARE #TEMPERATURE NUMERIC
GETVAL LINE1:COOKER4.F_CV #TEMPERATURE

697

iFIX with FIX Desktop


ROUND #TEMPERATURE UP

String Manipulation Commands


String manipulation commands let you alter string variables, including performing string
concatenations, comparisons, and searches. String manipulation commands include:

STRCAT

STRCMP

STRLEN

STRSTR

STRTOK

STRCAT
Purpose
The STRCAT command concatenates a string variable.
Syntax
STRCAT string_var

"string"

[value]

["padchar"]

Parameters
string_var specifies the base string.
string specifies the literal concatenation string to be appended onto the end of the base string.
The string must be enclosed in quotes and can contain up to 62 characters. A string variable
or a tag group can replace this parameter.
TIP: To specify more than 62 characters, use a concatenated string variable (132
characters) or a tag group (95 characters).
[value] specifies the exact number of characters to be added to the base string. A numeric
variable can replace this parameter.
When a STRCAT command executes, it automatically adds this value to the base string.
However, the result of the addition can vary based on the length of the concatenation string.
For example, suppose that the base string is the variable named #BASE, whose value is 'ABC'.
The concatenation string is 'DEF' and the [padchar] parameter is 'X'. Based on different [value]
parameters, the resulting concatenated string varies accordingly:

698

iFIX with FIX Desktop

If the value is...

Then the concatenated string is...

'ABCDEFXXXX'

'ABCDEFXX'

'ABCDEF'

[padchar] specifies the character to use for padding, enclosed in quotes. By default, the pad
character is a space ( ). Use this parameter if you want to pad the string with another
character.
Example
The following example appends the text 'EFGH' to the base string to form a concatenated string
padded with asterisks (*). The resulting string is 'ABCDEFGH****'.
DECLARE #BASE STRING
DECLARE #CONCAT STRING
#BASE ="ABCD"
#CONCAT ="EFGH"
STRCAT #BASE #CONCAT 8 "*"
NOTE #BASE

STRCMP
Purpose
The STRCMP command compares two character strings based on the ASCII table and stores a
numeric result.
Syntax
STRCMP "string1"

"string2"

num_var

Parameters
string1 specifies the first literal string in the comparison. The string must be enclosed in quotes
and can contain up to 62 characters. A string variable or a tag group can replace this
parameter.
string2 specifies the second literal string in the comparison. The string must be enclosed in
quotes and can contain up to 62 characters. A string variable or a tag group can replace this
parameter.

699

iFIX with FIX Desktop

TIP: To specify more than 62 characters in either string, use a concatenated string variable
(132 characters) or a tag group (95 characters).
num_var specifies the name of a numeric variable that stores the result of the comparison of the
two strings. The result corresponds to one of the following:
When...

Then the result is...

String 1 > String 2

1.0

String 1 = String 2

0.0

String 1 < String 2

-1.0

Example
The following example prompts the user for a new value for Tank1 after receiving a High High alarm.
DECLARE #GETALARM STRING
DECLARE #USERINPUT STRING
DECLARE #ALMCONSTANT STRING
DECLARE #RESULT NUMERIC
#ALMCONSTANT ="HIHI"
&L6
GETVAL LINE1:TANK1.A_CUALM #GETALARM
STRCMP #GETALARM #ALMCONSTANT #RESULT
IF #RESULT != 0
GOTO L6
ELSE
PROMPT #USERINPUT "Enter new value for Tank1"
SETVAL LINE1:TANK1.F_CV #USERINPUT
ENDIF

STRLEN
Purpose
The STRLEN command stores the length of a character string in a numeric variable.

700

iFIX with FIX Desktop

Syntax
STRLEN "string"

num_var

Parameters
string specifies the literal character string. The string must be enclosed in quotes and can
contain up to 62 characters. A string variable or a tag group can replace this parameter.
TIP: To specify more than 62 characters, use a concatenated string variable (132 characters)
or a tag group (95 characters).
num_var specifies the numeric variable that stores the number of characters counted in the
character string.
Example
In the following example, the command language script measures the length of the description for
LINE1:CUTTER5 and stores it in the #LEN numeric variable.
DECLARE #VAR STRING
DECLARE #LEN NUMERIC
GETVAL LINE1:CUTTER5.A_DESC #VAR
STRLEN #VAR #LEN

STRSTR
Purpose
The STRSTR command searches a character string for a specified string. If located, this command
stores the position of its first occurrence in a numeric variable.
Syntax
STRSTR "string1"

"string2"

num_var

Parameters
string1 specifies the literal string to use as the search criteria. The string must be enclosed in
quotes and can contain up to 62 characters. A string variable or a tag group can replace this
parameter.
string2 specifies the literal string to be searched. The string must be enclosed in quotes and can
contain up to 62 characters. A string variable or a tag group can replace this parameter.
TIP: To specify more than 62 characters in either string, use a concatenated string
variable (132 characters) or a tag group (95 characters).

701

iFIX with FIX Desktop

num_var specifies the name of a numeric variable that stores the position of the search criteria.
The result corresponds to one of the following:
If the search...

Then...

Is successful

The character offset is stored in the numeric variable.

Is not successful

The numeric variable is set to -1.

Example
In the following example, the facility requires a display that allows operators to view lab data from a
third-party application. The lab data is an ASCII file that identifies the values of selected I/O points at
various times. The data is in the following format: value,time.
The solution for this scenario requires various commands. As a start, the FILEREAD command reads
in the first line of data and stores it in a string variable. The STRSTR command then locates and stores
the constant in the data file, in this case a comma (,). These commands allow STRTOK and STRLEN
to extract the data, as illustrated in the STRTOK section.
DECLARE #HANDLE NUMERIC
FILEOPEN DATA.TXT #HANDLE
DECLARE #DATA STRING
FILEREAD #HANDLE #DATA
DECLARE #COMMA NUMERIC
STRSTR "," #DATA #COMMA

STRTOK
Purpose
The STRTOK command extracts a portion of a string and stores it in a string variable.
Syntax
STRTOK "string"

value1

value2

string_var

Parameters
string specifies the literal string from which information is extracted. The string must be
enclosed in quotes and can contain up to 62 characters. A string variable or a tag group can
replace this parameter.
TIP: To specify more than 62 characters, use a concatenated string variable (132

702

iFIX with FIX Desktop

characters) or a tag group (95 characters).


value1 specifies the location in the string where the extraction should begin. A numeric variable
can replace this parameter.
value2 specifies the number of characters to extract from the string, based on the defined
location. A numeric variable can replace this parameter.
string_var specifies the name of the string variable that stores the extracted string.
Example
Continuing the example in the STRSTR section, a facility requires a display that allows operators to
view lab data from a third-party application. The lab data is an ASCII file that identifies the values of
selected I/O points at various times. The data is in the following format: value,time.
The solution for this scenario requires various commands. As a start, the FILEREAD command reads
in the first line of data and stores it in a string variable. The STRSTR command then locates and stores
the constant in the data file, in this case a comma (,). These commands allow STRTOK and STRLEN
to extract the data.
DECLARE #HANDLE NUMERIC
FILEOPEN DATA.TXT #HANDLE
DECLARE #DATA STRING
FILEREAD #HANDLE #DATA
DECLARE #COMMA NUMERIC
STRSTR "," #DATA #COMMA
DECLARE #VALUE STRING
STRTOK #DATA 0 #COMMA #VALUE
#COMMA = #COMMA + 1
SETVAL LINE1:LABVALUE.A_CV #VALUE
FILECLOSE #HANDLE

Predefined Variables
The Command Language provides a set of read-only, predefined variables. These variables let you
access both system and picture information from a command language script.
NOTE: The names of these variables are reserved for use by the Command Language. Do not create
variables with these predefined names in your scripts.
Types of Global Variables
The following types of predefined variables are available in your FIX32 and FIX Desktop applications:

703

iFIX with FIX Desktop

Global scope variables available to any command language script while View is running. View
maintains one copy of these variables for all scripts. Global scope variables begin with the
prefix #GS_ (for string variables) or #GN_ (for numeric variables).
Picture scope variables available to command language scripts running in a given picture.
View maintains multiple copies of these variables, one per picture. This means the value of
each picture scope variable changes as you switch from one picture to another. Picture
scope variables begin with the prefix #PS_ (for string variables) or #PN_ (for numeric
variables).
IMPORTANT: These predefined variables are only available from the Command Language editor in
the Draw application. If you want to use global variable capabilities in the iFIX WorkSpace, refer to
the How FIX32 Predefined Variables Map to iFIX Object Properties section of the Writing Scripts
manual.
Global Scope Variables
The following table describes the global scope variables for FIX Desktop.

704

Variable Name

Stores the

#GS_LOGIN_NAME

Login name of the currently logged in user. The login name can be
up to 6 characters long. If security is not enabled, this variable is
empty.

#GS_FULL_NAME

Full name of the currently logged in user. The full name can be up
to 3 characters long. If security is not enabled, this variable is
empty.

#GS_GROUP

Group name of the user currently logged in. If the user is a


member of multiple groups, the variable stores the name of the
first group listed in the Security Configuration program. The
group name can be up to 3 characters long. If security is not
enabled, this variable is empty.

#GS_CURRENT_PICTURE

Nickname of the currently selected picture. If the picture has no


nickname, the file name is used.

#GS_NODE

System node name.

#GS_TIME

Current time. The time is displayed in the format specified by the


Windows International control panel.

#GS_DATE

Current date. The date is displayed in the format specified by the


Windows International control panel.

iFIX with FIX Desktop

Variable Name

Stores the

#GS_HOUR

Current hour as a string. Values range from "0" to "23." Leading


zeros can be included for single-digit values by using the
Windows International control panel.

#GN_HOUR

Current hour as a number. Values range from to 23.

#GS_MIN

Current minute as a string. Values range from "0" to "59." Leading


zeros can be included for single-digit values by using the
Windows International control panel.

#GN_MIN

Current minute as a number. Values range from to 59.

#GS_SEC

Current second as a string. Values range from "0" to "59." Leading


zeros can be included for single-digit values by using the
Windows International control panel.

#GN_SEC

Current second as a number. Values range from to 59.

#GS_DAY

Current day as a string. Values range from "1" to "31." Leading


zeros can be included for single-digit values by using the
Windows International control panel.

#GN_DAY

Current day as a number. Values range from 1 to 31.

#GS_MONTH

Current month as a string. Values range from "1" to "12." Leading


zeros can be included for single-digit values by using the
Windows International control panel.

#GN_MONTH

Current month as a number. Values range from 1 to 12.

#GS_YEAR

Current year as a string. Values can be two or four digits (for


example, 95 or 1995). Use the Windows International control
panel to set the exact format.

#GN_YEAR

Current year as a number. Values range from to 99.

#GS_SCREEN_WIDTH

Screen width (in pixels) as a string; for example, "640."

#GN_SCREEN_WIDTH

Screen width (in pixels) as a number; for example, 640.

#GS_SCREEN_HEIGHT

Screen height (in pixels) as a string; for example, "480."

705

iFIX with FIX Desktop

Variable Name

Stores the

#GN_SCREEN_HEIGHT

Screen height (in pixels) as a number; for example, 480.

Picture Scope Variables


The following table describes the picture scope variables for FIX Desktop.
Variable Name

Stores the

#PS_CUR_LINK

Tagname or variable name of the currently selected object or link.


For example, if a dynamic object is selected in View, and a variable
has been defined in the dynamic property's tagname field,
#PS_CUR_LINK stores the name of the variable.
NOTE: If a string variable or a tag group symbol contains a
tagname, #PS_CUR_LINK stores the tagname, not the name of the
string variable or tag group symbol.

#PS_CUR_SHDW

Tagname or variable name of the currently shadowed object or link.


(An object or link is shadowed when the mouse passes over it in
View and a single highlighted box surrounds it.)
For example, if a dynamic object is shadowed in View, and a
variable has been defined in the dynamic property's tagname field,
#PS_CUR_SHDW stores the name of the variable. Note that if a
string variable or a tag group symbol contains a tagname,
#PS_CUR_SHDW stores the tagname, not the name of the string
variable or tag group symbol. To use the #PS_CUR_SHDW
variable, the Shadow statement in the [Highlight] section of the
VIEW.INI file must be set to TRUE (which is the default).

#PS_CUR_NODE

Node name specified by the currently selected object. If a variable is


used in place of a tagname, #PS_CUR_NODE contains a pound sign
(#).
NOTE: If a string variable or a tag group symbol contains a
tagname, #PS_CUR_NODE stores the node name, not the name of
the string variable or tag group symbol.

#PS_CUR_TAG

Name of the tag specified by the currently selected object. If a


variable is used in place of a tagname, #PS_CUR_TAG contains the
name of the variable without the leading pound sign (#).
NOTE: If a string variable or tag group symbol contains a tagname,
#PS_CUR_TAG stores the tag name, not the name of the string
variable or tag group symbol.

706

iFIX with FIX Desktop

Variable Name

Stores the

#PS_CUR_FIELD

Field name specified by the currently selected object. If a variable is


used in place of a tagname, #PS_CUR_FIELD is empty.
NOTE: If a string variable or a tag group symbol contains a
tagname, #PS_CUR_FIELD stores the field name, not the name of
the string variable or tag group symbol.

#PS_PICTURE

Nickname of the picture. If the picture has no nickname, the file


name is used.

#PS_PICTURE_WIDTH

Picture width (in pixels) as a string; for example, "600."

#PN_PICTURE_WIDTH

Picture width (in pixels) as a number; for example, 600.

#PS_PICTURE_HEIGHT

Picture height (in pixels) as a string; for example, "450."

#PN_PICTURE_HEIGHT

Picture height (in pixels) as a number; for example, 450.

Managing Command Language Scripts


The Command Language provides you with a number of commands to help manage command
language scripts. This set of commands provides you with the ability to:

Create a report file to use during script debugging.

Branch other tasks with or without specific conditions.

Include nested conditions.

Pause script execution.

The following sections provide detailed information on managing command language scripts:

Debugging Commands

Flow Control Commands

Debugging Commands
Debugging commands let you report out tracking information about a command language script. The
DEBUGON command creates the debugging file and stores it in the Picture path. The DEBUGOFF
closes and saves the file. You may use any ASCII text editor to review the file.
Debugging files are named CMD#.DBG, where # is the file number, from 1-1000. Each time you start
and stop View, your iFIX with FIX Desktop considers that time period a View session. Any
subsequent use of the debugging commands during the View session creates new, consecutivelynamed debugging files.

707

iFIX with FIX Desktop

If View is restarted, your iFIX creates a new session. As a result, debugging file naming begins again
with 1. Any existing files from a previous session are overwritten. When consecutive numbering
reaches 1000, file number 1001 overwrites file number 1 and is named CMD01.DBG.
NOTE: CMD#.DBG files use considerable disk space. You may need to delete files to conserve disk
space.
Debugging commands include:

DEBUGOFF

DEBUGON

DEBUGOFF
Purpose
The DEBUGOFF command closes and saves a command language script debugging file.
Syntax
DEBUGOFF

Example
See the example provided in the DEBUGON section.
DEBUGON
Purpose
The DEBUGON command creates a command language script debugging file and stores it in the
Picture path.
Syntax
DEBUGON "string"

Parameter
string a text string that can be used as a debugging file description. The string must be enclosed
in quotes and can contain up to 38 characters.
Example
In the example, the debugging commands are used to trace a conditional command language script.
The string "TESTS IF COMMANDS" identifies the purpose of the script.
If this DEBUGON command were the fifth to be executed in the current View session, its file name
would be CMD5.DBG.

708

iFIX with FIX Desktop

Sample Script
DEBUGON "TESTS IF COMMANDS"
IF LINE1:OVEN1.A_AUTO == "AUTO"
SETMANL LINE1:OVEN1
ELSE
IF LINE1:OVEN1.F_CV > 400
SETVAL LINE1:OVEN.F_CV 100
ENDIF
ENDIF
DEBUGOFF

Sample Debugging File


DEBUGON Command:TESTS IF COMMANDS
IF Command
Comparison: MANL=AUTO...Result:0.000
IF Command
Comparison 432>400...Result:1.000
SETVAL Command
Writing <100.0> into tag LINE1:OVEN.F_CV
DEBUGOFF Command

Flow Control Commands


Flow control commands let you determine the flow of command language scripts through conditional
or unconditional branching and pausing. Also included is the ability to enhance readability with the use
of a line placeholder and the ability to ensure execution of one or more commands once execution
begins.
Flow control commands include:

GOTO

IF

PAUSE

CRITICAL

709

iFIX with FIX Desktop

GOTO
Purpose
The GOTO command provides unconditional or conditional branching and looping by redirecting
command processing to a specified label.
NOTE: The line numbers in a GOTO command do not automatically update when lines are inserted or
deleted from a command script.
Syntax
GOTO label

Parameter
label specifies a location in the script that is the next to execute.
Example
In the following example, a Commands on Opening command language script provides constant
monitoring of a critical temperature. This technique is configured through the display's picture
properties in Draw. Refer to the Draw Manual for more information.
The GOTO command, in conjunction with an IF condition, creates a script loop that alerts operators
when the temperature of the tank exceeds or falls below limitations.
&L1
IF LINE1:TANK1.F_CV >= 80
DECLARE #TEMP NUMERIC
PROMPT #TEMP "Lower the tank temperature to 70"
SETVAL LINE1:TANK1.F_CV #TEMP
ENDIF
IF LINE1:TANK1.F_CV <= 60
DECLARE #TEMP NUMERIC
PROMPT #TEMP "Raise the tank temperature to 70"
SETVAL LINE1:TANK1.F_CV #TEMP
ENDIF
GOTO L1

NOTE: The ampersand (&) is only used for defining the label. It is not required for the GOTO
command.

710

iFIX with FIX Desktop

IF
Purpose
The IF command evaluates a specified condition and performs an action based on the result of the
evaluation. The action taken is one of the following:
When...

Then...

The condition is true.

The script executes the next command.

The condition is false.

The script executes the command following the ELSE command.

The IF command can be used with or without an ELSE statement and can include nested IF conditions.
However, keep in mind that you must include an ENDIF for each IF command used.
Syntax
IF expression
command1
[ELSE]
[command2]
ENDIF

Parameters
expression defines the condition. The expression uses the following syntax: Where:

A string variable, numeric variable, tag group, or a node:tag.field can be used for the
parameter to be evaluated.

The relational operator is one of those listed in the following table.

A string variable, numeric variable, tag group, or a node:tag.field can be used for the
parameter that defines the condition to evaluate.

The following table describes the valid relational operators for the IF command.
Operator

Function

==

Equal to

!=

Not equal to

711

iFIX with FIX Desktop

Operator

Function

<</TD>

Less than

>

Greater than

<=

Less than or equal to

>=

Greater than or equal to

command1 specifies the action to be performed if the condition is true. The action can consist
of a single or series of commands and any required or optional parameters.
ELSE specifies a conditional branch of the IF command in the event the condition is false.
command2 specifies the action to be performed if the condition is false. The action can consist
of a single or series of commands and any required or optional parameters.
ENDIF ends the conditional routine.
When using the IF command with tag groups, the IF command will not evaluate properly when a
number is defined as the substitution for a tag group symbol. Instead of a tag groups symbol, use a
variable. Similarly, the IF command does not evaluate when comparing a string variable to a string tag
group substitution. To solve this problem, use a string constant or string variable instead of the tag
group symbol.
NOTE: Because of unavoidable round-off errors that occur with floating-point values, GE Intelligent
Platforms does not recommend using the relational operator == to compare two values when one of
the values is a floating-point. Instead, use one of the following operators: >, >=, <, <=.
Example
In the following example, operators have the ability to manually close a valve through a push button
labeled Valve Control. However, the valve closes only when the amount of mixture in the tank exceeds
8% of the tank capacity. An IF command included in the command language script validates that this
condition is met before closing the valve.
IF LINE1:TANK1.F_CV > 80
CLOSEDIG LINE1:VALVE1.F_CV
ENDIF

In a more complex condition, nested IF commands provide more testing in conjunction with automated
control.
IF LINE1:TANK1.A_AUTO == "AUTO"
SETMANL LINE1:TANK1
ELSE

712

iFIX with FIX Desktop


IF LINE1:TANK1.A_NALM == "YES"
ALARMACK LINE1:TANK1
ELSE
IF LINE1:TANK1.F_CV > 80
CLOSEDIG LINE1:VALVE1.F_CV
ELSE
IF LINE1:TANK1.F_CV < 80
OPENDIG LINE1:VALVE1.F_CV
ENDIF
ENDIF
ENDIF
ENDIF

PAUSE
Purpose
The PAUSE command pauses the execution of the command script for a specified duration.
Syntax
PAUSE value

Parameter
value specifies the amount of time the script should pause, in integer seconds. A numeric
variable can replace this parameter.
Example
In the following example, the PAUSE, PAN, and GOTO commands provide continuous object
scanning for a large picture that monitors a production line. Based upon 3-minute intervals, this
Commands on Opening script allows operators to verify that all equipment objects are within safe,
color-coded limits.
Color dynamic properties are used to color-code objects based on alarm limitations. Refer to the Draw
Manual for more information.
&L1
PAN .50,0 LINEDISP
PAUSE 180

713

iFIX with FIX Desktop


PAN .50,0 LINEDISP
PAUSE 180
PAN .50,0 LINEDISP
PAUSE 180
PAN -1.5,0 LINEDISP
GOTO L1

CRITICAL
Purpose
The CRITICAL command defines a critical section within a Commands While Down script. Once a
critical section begins executing it does not stop until all commands within the section are executed.
The critical section also ends when the picture containing the Command While Down script closes.
Each CRITICAL command must have a matching ENDCRITICAL. The ENDCRITICAL indicates the
end of the critical section.
Syntax
CRITICAL
commands
ENDCRITICAL

Example
In the following example, the CRITICAL command defines a critical section in a Commands While
Down script. The script changes the value of three Digital Output blocks. These blocks control three
valves that must be opened at the same time. By using SETVAL commands in the CRITICAL section,
you ensure that if one valve is opened the other two valves are also opened.
CRITICAL
SETVAL LINE1:VALVE3.F_CV 0
SETVAL LINE2:VALVE4.F_CV 0
SETVAL LINE3:VALVE5.F_CV 0
ENDCRITICAL

Controlling Database Blocks


The Command Language provides you with a number of commands that let you control database

714

iFIX with FIX Desktop

blocks. This set of commands provides you with the ability to:

Manage database alarms.

Change the AUTO/MANL or scan status of a database block.

Open or close digital blocks.

Write to, read from, or ramp a database block.

The following sections provide detailed information on controlling database blocks:

Alarming Commands

AUTO/MANL Mode Commands

Block Scanning Commands

Digital Block Commands

Data Manipulation Commands

Alarming Commands
Alarming commands allow you to enable, disable, and acknowledge database alarms. These
commands include:

ALARMACK

ALARMACKALL

DISABLEALARM

ENABLEALARM

TOGGLEALARM

ALARMACK
Purpose
The ALARMACK command acknowledges alarms for a specified block. If used as a relative
command, alarms for the selected block are acknowledged.
Syntax
ALARMACK node:tag

Parameter
node:tag specifies the node and tag name of the block for which an alarm is acknowledged. A
string variable or tag group can replace this parameter.
Example
In the following example, Environment Protection has been enabled to remove the Menu Bar from the
View application. To provide alarm monitoring and acknowledgment, a display, shown in the

715

iFIX with FIX Desktop

following figure, contains an Alarm Summary Link. The display also includes two custom push
buttons that replace the link's control border.

ALARMACK Example
The custom alarm buttons allow operators to acknowledge single or multiple alarms. The
ALARMACK command is used as a relative command in the Acknowledge One command language
script. With this technique, operators select the database block in alarm from the Alarm Summary link
and then select the Acknowledge One button.
NOTE: For FIX Desktop, environment protection is enabled in the iFIX WorkSpace instead of in
Draw (as it was in earlier versions of the iFIX32 software). Refer to the Securing the View
Environment from the Proficy iFIX WorkSpace section for information on setting up a secured
environment with the Environment Protection features in the iFIX with FIX Desktop environment.
ALARMACKALL
Purpose
The ALARMACKALL command acknowledges alarms for all blocks in the specified picture. If used
as a relative command, alarms for all blocks are acknowledged in the selected picture.
Syntax
ALARMACKALL picture

Parameter
picture specifies the name of the picture in which all alarms are acknowledged. A string
variable or tag group can replace this parameter.
Example
In the following example, Environment Protection has been enabled in Draw to remove the Menu Bar
from the View application. To provide alarm monitoring and acknowledgment, a display contains an
Alarm Summary Link. The display also includes two custom push buttons that replace the link's
control border. This display is shown in the following figure.

716

iFIX with FIX Desktop

ALARMACKALL Example
The custom alarm buttons allow operators to acknowledge single or multiple alarms. The
ALARMACKALL command is used as a relative command in the Acknowledge All command
language script. With this technique, operators select the Acknowledge All button to acknowledge all
alarms in the current picture.
NOTE: For FIX Desktop, environment protection is enabled in the iFIX WorkSpace instead of in
Draw (as it was in earlier versions of the iFIX32 software). Refer to the Securing the View
Environment from the Proficy iFIX WorkSpace section for information on setting up a secured
environment with the Environment Protection features in the iFIX with FIX Desktop environment.
DISABLEALARM
Purpose
The DISABLEALARM command disables alarm limit checking for a specified block. If used as
relative command, alarm limit checking is disabled for the selected block.
Syntax
DISABLEALARM node:tag

Parameter
node:tag specifies the node and tag for which alarming is disabled. A string variable or tag
group can replace this parameter.
Example
In the following example, operators start a clean in place routine by using a button labeled Clean.
Among other functions, the command language script disables alarming on selected analog points to
avoid process-related alarming that does not need to be recorded.
NOTE "Clean in place in progress"
ONSCAN LINE1:CLEAN
DISABLEALARM

717

iFIX with FIX Desktop


LINE1:TANK1
DISABLEALARM LINE1:TANK2

ENABLEALARM
Purpose
The ENABLEALARM command enables alarm limit checking for a specified block. If used as a
relative command, alarm limit checking is enabled for the selected block.
Syntax
ENABLEALARM node:tag

Parameter
node:tag specifies the node and tag name for which alarming is enabled. A string variable or tag
group can replace this parameter.
Example
In the following example, operators start production by using a push button labeled Resume
Production. Among other functions, the command language script enables alarming on selected analog
points to record production process alarms.
NOTE "Startup in Process"
OFFSCAN LINE1:CLEAN
ENABLEALARM
LINE1:TANK1
ENABLEALARM LINE1:TANK2

TOGGLEALARM
Purpose
The TOGGLEALARM command toggles the alarm status of a specified block between enabled and
disabled. If used as a relative command, alarm limit checking toggles for the selected block.
Syntax
TOGGLEALARM node:tag

718

iFIX with FIX Desktop

Parameter
node:tag specifies the node and tag for which alarming is enabled or disabled, depending on the
current alarm limit checking status. A string variable or tag group can replace this
parameter.
Example
In the following example, operators can control alarming on demand within a tank monitoring display.
The display incorporates a tag group strategy so that it can represent many similar tanks in the facility.
Refer to the Incorporating Tag Groups section for more information.
A push button labeled Alarm Control uses the TOGGLEALARM command to switch the alarm limit
checking for the associated analog block between on and off. When alarm limit checking is in effect
and the tank is in High High alarm, the script also prompts the operator for a temperature adjustment.
TOGGLEALARM ?TANK
IF ?ALMCHECK == "YES"
DECLARE #OPTEMP NUMERIC
IF ?TANKALM == "HIHI"
PROMPT

#OPTEMP "Enter the adjusted temperature"

SETVAL ?TANKTEMP #OPTEMP


ENDIF
ENDIF

AUTO/MANL Mode Commands


AUTO/MANL commands set the mode status of database blocks. These commands include:

SETAUTO

SETMANL

TOGGLEMANL

SETAUTO
Purpose
The SETAUTO command sets the specified block to automatic mode. If used as a relative command,
the selected block is set to automatic mode.
Syntax
SETAUTO node:tag

719

iFIX with FIX Desktop

Parameter
node:tag specifies the node and tag that should be set to automatic mode. A string variable or
tag group can replace this parameter.
Example
In the following example, operators can perform manual overrides only until the level of a tank reaches
a set value. When that value is reached, a database chain continuously monitors and adjusts the level as
appropriate. Operators use a push button labeled Tank Level for the level adjustments.
The command language script contains the following:
SETMANL LINE1:TANK1
DECLARE #COMPARE NUMERIC
GETVAL LINE1:TANK1.F_CV #COMPARE
DECLARE #LEVEL NUMERIC
PROMPT #LEVEL "Enter the adjustment level"
IF #COMPARE >= 50
SETAUTO
LINE1:TANK1
NOTE "Automated control resumed"
ELSE
SETVAL LINE1:TANK1.F_CV #LEVEL
NOTE "Tank Level Adjusted"
ENDIF

SETMANL
Purpose
The SETMANL command sets the specified block to manual mode. If used as a relative command, the
selected block is set to manual mode.
Syntax
SETMANL node:tag

Parameter
node:tag specifies the node and tag that should be set to manual mode. A string variable or tag
group can replace this parameter.

720

iFIX with FIX Desktop

Example
In the following example, operators can perform manual overrides only when the level of a tank falls
below a set value. In normal circumstances, a database chain continuously monitors and adjusts the
level as appropriate.
When the tank turns red to indicate a dangerously low level, operators acknowledge the Low Low
alarm level by selecting the tank. The tank's Command dynamic property script contains the following:
DECLARE #RESULT NUMERIC
DECLARE #DIGSTATE STRING SCRIPT
ALARMACK LINE1:TANK1
SETMANL LINE1:VALVE1
IF LINE1:VALVE1.A_AUTO == "MANL"
PROMPT #DIGSTATE "Type ON to close Valve1"
ENDIF
STRCMP #DIGSTATE "ON" #RESULT
IF #RESULT == 0
CLOSEDIG LINE1:VALVE1.A_CV
SETAUTO LINE1:VALVE1
ENDIF

TOGGLEMANL
Purpose
The TOGGLEMANL command toggles the mode status of the specified block between manual and
automatic modes. If used as a relative command, the mode status of the selected block is toggled.
Syntax
TOGGLEMANL node:tag

Parameter
node:tag specifies the node and tag that should be set to automatic or manual mode, depending
on the current mode status. A string variable or tag group can replace this parameter.
Example
In the following example, operators can perform manual overrides on demand within a tank
monitoring display. The display incorporates a tag group strategy so that it can represent many similar
tanks in the facility. Refer to the Incorporating Tag Groups section for more information.

721

iFIX with FIX Desktop

A push button labeled Temp Control uses the TOGGLEMANL command to switch the associated
analog block between manual and automatic modes. When manual mode is in effect, the script also
prompts the operator for a temperature adjustment.
The push button command language script includes the following:
TOGGLEMANL ?TANK
IF ?TANKMODE == "MANL"
DECLARE #OPTEMP NUMERIC
PROMPT

#OPTEMP "Enter the adjusted temperature"

SETVAL ?TANKTEMP #OPTEMP


ELSE
NOTE "Automatic mode in effect"
ENDIF

Block Scanning Commands


Block scanning commands set the scan status of database blocks. These commands include:

OFFSCAN

ONSCAN

TOGGLESCAN

OFFSCAN
Purpose
The OFFSCAN command places a specified block off scan. If used as a relative command, the selected
block is placed off scan.
Syntax
OFFSCAN node:tag

Parameter
node:tag specifies the node and tag to be placed off scan. A string variable or tag group can
replace this parameter.
Example
In the following example, operators stop production between shifts by using a push button labeled End
Production. The button's command language script ends statistical process monitoring by placing the
appropriate Statistical Data block off scan and places a Program block shutdown routine on scan.

722

iFIX with FIX Desktop

The push button command language script includes the following:


NOTE "Shutdown in Process"
OFFSCAN LINE1:STATDATA
OPENDIG LINE1:VALVE1.F_CV
OPENDIG LINE1:VALVE2.F_CV
ONSCAN LINE1:SHUTDOWN

ONSCAN
Purpose
The ONSCAN command places a specified block on scan. If used as a relative command, the selected
block is placed on scan.
Syntax
ONSCAN node:tag

Parameter
node:tag specifies the node and tag to be placed on scan. A string variable or tag group can
replace this parameter.
Example
In the following example, operators start production by using a push button labeled Resume
Production. The button's command language script starts statistical process monitoring by placing the
appropriate Statistical Data block and Program block startup routine on scan.
The push button command language script includes the following:
NOTE "Startup in Process"
ONSCAN
LINE1:STATDATA
CLOSEDIG LINE1:VALVE1.F_CV
CLOSEDIG LINE1:VALVE2.F_CV
ONSCAN LINE1:STARTUP

723

iFIX with FIX Desktop

TOGGLESCAN
Purpose
The TOGGLESCAN command toggles the scan status of a specified block. If used as a relative
command, the scan status of the selected block is toggled.
Syntax
TOGGLESCAN node:tag

Parameter
node:tag specifies the node and tag that should be placed on or off scan, depending on the
current scan status. A string variable or tag group can replace this parameter.
Example
In the following example, statistical process control is required only during critical cycles. When
operators use a keystroke macro to acknowledge a High High or Low Low alarm on a tank
temperature, the command language script begins or ends statistical process monitoring as appropriate.
The keystroke macro contains the following command language script:
ALARMACK LINE1:TANK1
IF LINE1:TANK1.F_CV >= 80
TOGGLESCAN LINE1:STATDATA
ENDIF
IF LINE1:TANK1.F_CV <= 60
TOGGLESCAN LINE1:STATDATA
ENDIF

Digital Block Commands


Digital block commands set the value of digital blocks. These commands include:

724

CLOSEDIG

OPENDIG

TOGGLEDIG

iFIX with FIX Desktop

CLOSEDIG
Purpose
The CLOSEDIG command closes, or sends a value of 1, to a specified digital block. If used as a
relative command, the selected digital block closes.
Syntax
CLOSEDIG node:tag.field

Parameter
node:tag.field specifies the name of the digital block to be closed. Note that the field must be
F_CV. A string variable or tag group can replace this parameter.
Example
In the following example, operators have the ability to perform manual overrides when a process
requires corrective action. After suspending the process and completing corrective tasks, a push button
labeled RESUME restarts automated control and begins a ramp and soak process based on 20 minute
intervals.
The push button command language script includes the following:
CLOSEDIG LINE1:VALVE1.F_CV
NOTE "Process Resumed"
RAMP LINE1:TANK1.F_CV 5
PAUSE 1200
RAMP LINE1:TANK1.F_CV 5
PAUSE 1200
RAMP LINE1:TANK1.F_CV 5
PAUSE 1200

OPENDIG
Purpose
The OPENDIG command opens, or sends a value of 0, to a specified digital block. If used as a relative
command, the selected digital block opens.
Syntax
OPENDIG node:tag.field

725

iFIX with FIX Desktop

Parameter
node:tag.field specifies the name of the digital block to be opened. Note that the field must be
F_CV. A string variable or tag group can replace this parameter.
Example
In the following example, operators have the ability to perform manual overrides when a process
requires corrective action. To suspend the process and complete corrective tasks, a push button labeled
SUSPEND opens a digital valve.
The push button command language script includes the following:
OPENDIG LINE1:VALVE1.F_CV
NOTE "Process Suspended"

TOGGLEDIG
Purpose
The TOGGLEDIG command toggles the current state of a digital block. If used as a relative command,
the current state of the selected digital block toggles.
Syntax
TOGGLEDIG node:tag.field

Parameter
node:tag.field specifies the name of the digital block to be closed or opened, depending on the
current digital state. Note that the field must be F_CV. A string variable or tag group can
replace this parameter.
Example
In the following example, operators have the ability to perform manual overrides when a process
requires corrective action. However, the appropriate action is conditional, based on the state of a
specific valve. The Command dynamic property provides conditional checking and allows operators to
interact with the display object that represents the valve.
The valve's dynamic properties include the following command language script:
IF LINE1:VALVE1.F_CV == 0
TOGGLEDIG LINE1:VALVE1.F_CV
NOTE "Process Resumed"
RAMP LINE1:TANK1.F_CV 5
PAUSE 1200

726

iFIX with FIX Desktop


RAMP LINE1:TANK1.F_CV 5
PAUSE 1200
RAMP LINE1:TANK1.F_CV 5
PAUSE 1200
ELSE
TOGGLEDIG LINE1:VALVE1.F_CV
NOTE "Process Suspended"
ENDIF

Data Manipulation Commands


Data manipulation commands let you write to, read from, or ramp database blocks. These commands
include:

GETVAL

RAMP

SETVAL

GETVAL
Purpose
The GETVAL command fetches the value of the specified block from the process database and stores
it in a numeric or string variable. If used as a relative command, the value of the selected block is read.
Syntax
GETVAL node:tag.field variable

Parameters
node:tag.field specifies the database block from which to retrieve data. A string variable or tag
group can replace this parameter.
variable specifies the name of the variable that stores the data retrieved from the database block.
The type of variable defined must correspond to the type of data being retrieved. For
example:
If the data is...

Then the variable must be a...

Floating-point format (F_CV)

Numeric variable

727

iFIX with FIX Desktop

If the data is...

Then the variable must be a...

ASCII format (A_CV)

String variable

NOTE: If you want to use this as a relative command, use an asterisk (*) as a placeholder for the
node:tag.field.
Example
The following command language script defines a numeric variable, fetches the current value of a
database block, and stores the value in the defined variable:
DECLARE #TEMPERATURE NUMERIC
GETVAL LINE1:COOKER3.F_CV #TEMPERATURE

RAMP
Purpose
The RAMP command provides manual ramping of a database block by increasing or decreasing its
current value by a specified percentage of the engineering units (EGU) range. If used as a relative
command, the value of the selected block ramps.
Syntax
RAMP node:tag.field

%EGU

Parameters
node:tag.field specifies the database block whose value is ramped by the specified amount. A
string variable or tag group can replace this parameter.
%EGU specifies the positive or negative percentage of the engineering units range to ramp the
value. A numeric variable can replace this parameter.
NOTE: If you want to use this as a relative command, use an asterisk (*) as a placeholder for the
node:tag.field.
Example
In the following example, the RAMP command adjusts the temperature of the tag named
PLANT2:OVEN1.F_CV. OVEN1's Low Limit is 0 and its High Limit is 500.
RAMP PLANT2:OVEN1.F_CV 50

Suppose that the current value of OVEN1 is 100. When this script executes, it changes the current
value by 50% of the EGU range. The new current value, after a ramp of 250, is 350. To lower the

728

iFIX with FIX Desktop

temperature of the oven by 25% of the EGU range, the script is adjusted as follows:
RAMP PLANT2:OVEN1.F_CV -25

SETVAL
Purpose
The SETVAL command sets the value of a current value of a database block. If used as a relative
command, the value of the selected tag is set.
Syntax
SETVAL node:tag.field value

Parameters
node:tag.field specifies the database block whose value is set. A string variable or tag group can
replace this parameter.
NOTE: If this block is a primary block, it must be in manual mode in order to receive a value
from the SETVAL command. Refer to the Database Manager Manual for more information on
automatic and manual modes.
value specifies the value or literal string the block should be set to. A string variable, numeric
variable, or tag group can replace this parameter. If a literal string is used, it must be
enclosed in quotes and can contain up to 38 characters.
NOTE: If you want to use this as a relative command, use an asterisk (*) as a placeholder for
the node:tag.field.
Example
In the following example, the SETVAL command uses various replacement parameters to incorporate
other iFIX with FIX Desktop software features.
Example

Description

SETVAL LINE1:COOKER1.F_CV 50

Sets the current value of an Analog Output


block to 50.

SETVAL LINE1:MSG1.A_CV "THIRDSHIFT STARTUP"

Sets the current value of a Text block to the


literal string specified.

729

iFIX with FIX Desktop

Example

Description

SETVAL LINE1:COOKER1.F_CV
#VALUE

Sets the current value of a database block to


a value stored in a numeric variable.

SETVAL #TANK 50

Refers to a string variable for the name of a


database block and sets its current value to
50.

SETVAL ?COOKER #VALUE

Refers to a tag group for the name of a


database block and sets its current value to a
value stored in a numeric variable.

SETVAL
=EXCEL|[FILE.XLS]SHEET1!R1C1 50

Sets the numeric value of a cell in a


Microsoft Excel workbook to 50.

Refer to Designing Command Language Scripts, for more information on features such as tag groups.

Managing Operator Displays


The Command Language provides you with a number of commands that let you manage operator
displays. This set of commands provides you with the ability to:

Open and close pictures.

Change the portion of the picture currently displayed.

Search for and select objects.

Develop customized operator messages, notes, and prompts.

The following sections provide detailed information on managing operator displays:

Picture Management Commands

Picture Movement Commands

Object Movement Commands

Messaging Commands

NOTE: For information on how to manage iFIX pictures from the View application, refer to the iFIX
Picture Management from View section.

730

iFIX with FIX Desktop

Picture Management Commands


Picture management commands let you control the opening and closing of operator displays in View.
These commands include:

CLOSEPIC

OPENPIC

REPLACEPIC

SETNICKNAME

LOADKMX

SWITCHKMX

OPENLYT

OPENBDF

NOTE: For information on how to manage iFIX pictures from the View application, refer to the iFIX
Picture Management from View section.
CLOSEPIC
Purpose
The CLOSEPIC command closes a specified picture and removes it from the display. If used as a
relative command, the selected picture closes.
NOTE: Do not use the CLOSEPIC command within a Commands on Closing command language
script if the picture you are closing is the picture containing the Commands on Closing script.
Syntax
CLOSEPIC picture|nickname

Parameters
picture|nickname specifies the display, called by its picture name or assigned nickname, to be
closed. A string variable or tag group can replace this parameter. A nickname is a userdefined, generic picture name that lets you control the opening and closing of multiple
pictures without concern for which picture is currently displayed.
NOTE: Commands that follow a CLOSEPIC command will not execute if you specify the name or
nickname of the picture that contains this script in this parameter. Since the picture closes immediately
upon the execution of this command, it is no longer available to execute subsequent commands.
If you want to use the CLOSEPIC command to close a picture that was opened with the OPENPIC
command, you must specify the exact picture parameter that was used in the OPENPIC command. For
example, if the full path of the picture was specified in the OPENPIC command, like this:
OPENPIC C:\PICTURES\LINE1.ODF

you must use the following CLOSEPIC command:

731

iFIX with FIX Desktop


CLOSEPIC C:\PICTURES\LINE1.ODF

Example
See the example for the OPENPIC command.
OPENPIC
Purpose
The OPENPIC command opens a selected picture in View. If used as a relative command, the selected
picture opens.
NOTE: When a relative OPENPIC command is included in a command language script, the File Open
dialog box appears and prompts the operator to enter a picture name.
Syntax
OPENPIC picture [Y,X,W,H] [nickname] [tag group file]

Parameters
picture specifies the name of the picture to be opened. A string variable or tag group can replace
this parameter.
Y,X,W,H specifies the picture placement, height, and width in pixels, where 1 pixels equals 1
logical inch. Use the following guidelines when defining these parameters:

Numeric variables and tag group symbols can be substituted for any of the Y, X, W, and H
parameters.

The X and Y offsets can be positive or negative whole numbers, but cannot exceed the limits
of the display. For example, if your display is VGA, the lowest XY offset you can specify is
0,0 and the highest is 640,480.

The H and W offsets must be greater than or equal to 20.

When the picture placement parameter is not used, but is followed by other parameters, a -1
must be used as a placeholder.

If you are opening a picture with a title bar, any height and width values specified in this
parameter override the values specified in the Picture Properties dialog box in Draw.

If you are opening a picture without a title bar, defined by removing the title bar with the
Picture Properties command in Draw, the height and width parameter is retrieved from the
values in the Picture Properties dialog box.
TIP: Use the Cursor Position tool in Draw to calculate the picture placement. For example,
by placing the cursor at the top left corner at which the picture should appear, the tool
provides the exact X and Y coordinates, in inches. Multiply each coordinate by 1 to obtain the
picture placement parameter.
NOTE If you specify OPENPIC coordinates in a dynamo command language script, no
prompt appears for the OPENPIC command.

732

iFIX with FIX Desktop

nickname specifies the nickname, up to 36 characters, that you want to assign to this picture. A
string variable or tag group can replace this parameter. A nickname is a user-defined,
generic picture name that lets you control the opening and closing of multiple pictures
without concern for which picture is currently displayed.
NOTE: If you use View's layout commands to create picture layout files, any assigned
nicknames are included in the layout file information. Refer to the Draw Manual for
information on creating layout files.
tag group file specifies the name of the tag group file that contains all the tag groups required
for the opened picture. A string variable can replace this parameter.
A tag group symbol used in place of this parameter must exist within the currently loaded tag group
file. Otherwise, View has no reference from which to obtain the symbol substitution. Therefore, this
technique cannot be used for the first picture opened in View.
If you want to specify a tag group file, but not a nickname, use an asterisk (*) as a placeholder for the
nickname.
Example
In the following example, an overview display contains four push buttons that allow operators to
monitor plant lines. Four keystroke macros let operators select the keys F1 through F4 to open each
display at any time, in any order. The OPENPIC command and a nickname assignment guarantee that
only the overview display and one line monitoring display is open at any given time.
The use of nicknames gives the script control over the opening and closing of displays without regard
for the exact picture name. Each time the operator selects the appropriate function key, the keystroke
macro closes any picture with a nickname of LINE, and re-assigns the nickname to the opened picture.
Each command language script includes the following:
CLOSEPIC LINE
OPENPIC picture -1 LINE

REPLACEPIC
Purpose
The REPLACEPIC command closes a picture and replaces it with another picture. If used as a relative
command, the selected picture closes and the specified picture opens.
NOTE: Do not use the REPLACEPIC command within a Commands on Closing command language
script if the picture you are replacing is the same one you are closing.
Syntax
REPLACEPIC picture1 picture2 [tag group file]

When using REPLACEPIC as a relative command, enter an asterisk (*) as a placeholder for picture1.

733

iFIX with FIX Desktop

Parameters
picture1 specifies the name of the picture to be replaced. A string variable or tag group can
replace this parameter.
NOTE: Commands that follow a REPLACEPIC command will not execute if you specify the
name or nickname of the picture that contains this script in this parameter. Since the picture
closes immediately upon the execution of this command, it is no longer available to execute
subsequent commands.
picture2 specifies the name of the picture to be opened in place of picture1. A string variable or
tag group can replace this parameter.
tag group file specifies the name of the tag group file from which all tag group information
referenced in the command language script is stored. A string variable can replace this
parameter.
A tag group symbol used in place of any of these parameters must exist within the currently loaded tag
group file. Otherwise, View has no reference from which to obtain the symbol substitutions.
Should the picture you are replacing (picture1) have an assigned nickname, the Command Language
script automatically assigns the nickname to the picture opened in picture1's place (picture2).
Example
In the following example, a line-monitoring display incorporates a tag group strategy so that it can
represent all production lines in the facility. The display includes four push buttons, labeled LINE1
through LINE4, that use the REPLACEPIC command to load the appropriate tag groups.
Button

Command Language Script

LINE1

REPLACEPIC LINE LINE LINE1.TGE

LINE2

REPLACEPIC LINE LINE LINE2.TGE

LINE3

REPLACEPIC LINE LINE LINE3.TGE

LINE4

REPLACEPIC LINE LINE LINE4.TGE

Refer to Incorporating Tag Groups for more information.


SETNICKNAME
Purpose
The SETNICKNAME command assigns a nickname to the current picture. This command is useful
when upgrading from previous versions of FIX software for Windows.

734

iFIX with FIX Desktop

Syntax
SETNICKNAME "nickname"

Parameters
nickname specifies the nickname that you want to assign to this picture. The nickname must be
enclosed in quotes and can contain up to 3 characters. A string variable or tag group can
replace this parameter.
A nickname is a user-defined, generic picture name that lets you control the opening and closing of
multiple pictures without concern for which picture is currently displayed.
Example
In the following example, four line-monitoring displays represent the production lines in the facility.
The display includes four push buttons, labeled LINE1 through LINE4, that use the REPLACEPIC
command to load the appropriate display.
Because each line is custom, a tag group strategy has not been used. However, operators require the
ability to open each display at any time, in any order. The REPLACEPIC and SETNICKNAME
commands provide the solution for this requirement.
Button
LINE1

Command Language Script


SETNICKNAME "LINE"
REPLACEPIC LINE LINE1

LINE2

SETNICKNAME "LINE"
REPLACEPIC LINE LINE2

LINE3

SETNICKNAME "LINE"
REPLACEPIC LINE LINE3

LINE4

SETNICKNAME "LINE"
REPLACEPIC LINE LINE4

NOTE: If you use View's layout commands to create picture layout files, any assigned nicknames are
included in the layout file information. Refer to the Draw Manual for information on creating layout
files.
LOADKMX
Purpose
The LOADKMX command loads the specified macro file in place of the default macro file when the
specified picture opens.

735

iFIX with FIX Desktop

Syntax
LOADKMX macrofile [picture|nickname]

Parameters
macrofile specifies the macro file to be loaded. This file must exist in the Picture path. A string
variable or tag group can replace this parameter.
picture|nickname specifies the name of the picture that loads the macro file or the picture's
assigned nickname that loads the macro file. If no picture or nickname is specified, the
macro file is loaded into the picture that executed the script. A string variable or tag group
can replace this parameter.
Example
The following push button script opens the specified picture and its associated macro file.
DECLARE #PICNAME STRING PICTURE
DECLARE #KMXNAME STRING PICTURE
PROMPT #PICNAME "Enter a picture name"
OPENPIC #PICNAME
PROMPT #KMXNAME "Enter macro file name"
LOADKMX #KMXNAME #PICNAME

If you change the KMX file for a cached picture, the KMX file remains in effect even if you close and
reopen the picture. If the macro file being loaded references a tag group file, the tag group file must be
loaded before the LOADKMX command executes.
SWITCHKMX
Purpose
The SWITCHKMX replaces the current macro file with a different one for all open pictures.
Syntax
SWITCHKMX oldmacrofile|* newmacrofile

Parameters
oldmacrofile|asterisk wildcard (*) specifies the macro file to replace or (using the asterisk
wildcard) replaces every open picture's macro file.
All occurrences of this file are replaced for all open picture files. This file must exist in the
Picture path. Note that when the asterisk wildcard is used, it does not replace the default
macro file, VIEW.KMX. To replace VIEW.KMX you must specify VIEW.KMX as the
oldmacrofile. A string variable or tag group can replace this parameter.

736

iFIX with FIX Desktop

IMPORTANT: When you replace the VIEW.KMX macro file, no previously defined
keyboard accelerators (such as CTRL+O for open file) will function. If you want to keep
View's keyboard accelerators, add your customized key macros to the VIEW.KMX file and
save it under a new name, such as TNKMACRO.KMX. This way when you replace
VIEW.KMX with TNKMACRO.KMX, you can still use the keyboard accelerators.
You cannot use a string variable or a tag group as the oldmacrofile parameter for the
SWITCHKMX command if you are replacing VIEW.KMX.
newmacrofile specifies the macro file to be loaded. This file must exist in the Picture path. A
string variable or tag group can replace this parameter.
NOTE: Make sure the .KMX files you specify in a SWITCHKMX command reside in the Picture path.
If either .KMX file is not in the Picture path, the SWITCHKMX does not switch the macro files.
Examples
To replace the current macro file with a KMX file called TNKMACRO for every open picture, use a
push button that includes the following command:
SWITCHKMX * TNKMACRO

The following example replaces the default macro file, VIEW.KMX, with TNKMACRO.KMX:
SWITCHKMX VIEW TNKMACRO

If you change the KMX file for a cached picture, the KMX file remains in effect even if you close and
reopen the picture. If the macro file being loaded references a tag group file, the tag group file must be
loaded before the SWITCHKMX command executes.
OPENLYT
Purpose
The OPENLYT command opens the specified layout (.LYT) file. Using this command enhances the
automation of picture management and lets an operator open any layout quickly and easily.
Prior to opening the layout file, View closes all the open picture files. If View cannot find the layout
file (for example, the file does not exist), the open picture files remain open.
Syntax
OPENLYT filename

Parameter
filename specifies the name of the layout file to open. If the file does not reside in the Picture
path, then include the path to the file as well. A string variable or tag group can replace this
parameter.

737

iFIX with FIX Desktop

Example
The following push button script prompts an operator for the production line layout to display. By
repeatedly selecting the push button, the operator can switch between the two layout files.
DECLARE #LINENUM STRING
PROMPT #LINENUM "Enter production line to display"
IF #LINENUM == "LINE1"
OPENLYT LINE1
ENDIF
IF #LINENUM == "LINE2"
OPENLYT LINE2
ENDIF

For more information about layout files refer to the Draw Manual.
OPENBDF
Purpose
The OPENBDF command opens a specific tag status picture in View. For more information on tag
status pictures, refer to the Draw Manual.
Syntax
OPENBDF picture node:tag [Y,X,W,H] [nickname]

Parameters
picture specifies the name of the tag status picture to be opened. A string variable or tag group
can replace this parameter.
node:tag specifies the node name and tag name that you want to open in the tag status picture. A
string variable or tag group can replace this parameter.
Y,X,W,H specifies the picture placement, height, and width in pixels, where 1 pixels equals 1
logical inch. Use the following guidelines when defining these parameters:

738

Numeric variables and tag group symbols can be substituted for any of the Y, X, W, and
H parameters.

The X and Y offsets can be positive or negative whole numbers, but cannot exceed the
limits of the display. For example, if your display is VGA, the lowest XY offset you can
specify is 0,0 and the highest is 640,480.

The H and W offsets must be greater than or equal to 20.

When the picture placement parameter is not used, but is followed by other parameters, a
-1 must be used as a placeholder.

iFIX with FIX Desktop

If you are opening a picture with a title bar, any height and width values specified in this
parameter override the values specified in the Picture Properties dialog box in Draw.

If you are opening a picture without a title bar, defined by removing the title bar with the
Picture Properties command in Draw, the height and width parameter is retrieved from
the values in the Picture Properties dialog box.
TIP: Use the Cursor Position tool in Draw to calculate the picture placement. For
example, by placing the cursor at the top left corner at which the picture should appear,
the tool provides the exact X and Y coordinates, in inches. Multiply each coordinate by 1
to obtain the picture placement parameter.

nickname specifies the nickname, up to 36 characters, that you want to assign to the tag status
picture. A nickname is a user-defined, generic picture name that lets you control the
opening and closing of multiple pictures without concern for which picture is currently
displayed. A string variable or tag group can replace this parameter.
If you use a tag group symbol in place of this parameter, the tag group symbol must exist
within the currently loaded tag group file. Otherwise, View has no reference from which to
obtain the symbol substitution. Therefore, this technique cannot be used for the first picture
opened in View.
NOTE: If you use View's layout commands to create picture layout files, any assigned
nicknames are included in the layout file information. Refer to the Draw Manual for
information on creating layout files.
Example
In the following example, a display contains a pushbutton with a command language script that allows
operators to monitor the status of an Analog Input block.
OPENBDF AI.BDF MYNODE:AI-1

Picture Movement Commands


Picture movement commands let you control the placement of pictures in View. These commands
include:

BASEPIC

PAN

BASEPIC
Purpose
The BASEPIC command returns objects within a specified picture to their original state. If used as a
relative command, the selected picture returns to its normal state.

739

iFIX with FIX Desktop

Syntax
BASEPIC picture

Parameter
picture specifies the name of the picture that should be returned to an original state. A string
variable or tag group can replace this parameter.
Example
In the following example, the object-naming strategy for valves included in a detailed equipment
display corresponds exactly to the facility's valve-naming conventions. The display includes a push
button labeled Valve Info that allows operators to locate, select, and enlarge any one of the multiple
valves included in the complex picture.
Once the script magnifies the valve, it pauses for two minutes to allow closer monitoring of the
equipment. The BASEPIC command then returns the display to its normal size.
The push button command language script includes the following:
DECLARE #VALVENAME STRING
PROMPT #VALVENAME "Enter the valve name"
FINDLINK #VALVENAME
ZOOM #VALVENAME
PAUSE 120
BASEPIC

NOTE: You can assign object names when creating links or objects with dynamic properties. Refer to
the Draw Manual for more information on assigning object names.
PAN
Purpose
The PAN command changes the portion of the specified picture that is displayed when the picture
exceeds the limits of the View window. If used as a relative command, the selected picture is panned
using the specified X and Y offsets.
NOTE: When you include PAN in a command language script of a dynamo, no prompt appears for
this command.
Syntax
PAN

X,Y

picture

Parameters
X,Y specifies the amount of picture movement in logical inches, where 1 logical inch equals 100

740

iFIX with FIX Desktop

pixels.
The X and Y offsets can be positive or negative decimal values (for example, 5.0), but cannot
exceed the limits of the display. For example, if your display is VGA, the lowest XY offset you
can specify is 0.0,0.0 and the highest is 640.0,480.0.
Use the following guidelines to calculate this parameter:
To move the picture

Enter a

To the left

Negative X offset

To the right

Positive X offset

Up

Negative Y offset

Down

Positive Y offset

picture specifies the name of the picture in which the movement takes place. A string variable
or tag group can replace this parameter.
Example
In the following example, the following figure shows a display with a width and height larger than the
View window. The display includes a push button set that pans to various areas of the production line.

PAN Example
The Push Button links included in the previous figure contain the following command language
scripts:

741

iFIX with FIX Desktop

Push button label

Command Language Script

Left arrow

PAN -0.5,0.0 LINE1

Right arrow

PAN 0.5,0.0 LINE1

Up arrow

PAN 0.0,-1.0 LINE1

Down arrow

PAN 0.0,1.0 LINE1

Object Movement Commands


Object movement commands let you search for or enlarge selected objects within a picture in View.
These commands include:

FINDLINK

ZOOM

FINDLINK
Purpose
The FINDLINK command searches a picture for a specified object and selects the object. If used as a
relative command, the active picture for the specified object is searched.
Syntax
FINDLINK object picture

Parameters
object specifies the name of the object to search for. The name is case-sensitive and must match
the exact object name assigned in Draw. A string variable or tag group can replace this
parameter.
NOTE: You can assign object names when creating links or objects with dynamic properties.
Refer to the Draw Manual for more information on assigning object names.
picture specifies the name of the picture that includes the object. A string variable or tag group
can replace this parameter.
Example
In the following example, the object-naming strategy for valves included in a detailed equipment
display corresponds exactly to the facility's valve-naming conventions. The display includes a push
button labeled Valve Info that allows operators to locate, select, and enlarge any one of the multiple
valves included in the complex picture.

742

iFIX with FIX Desktop

The push button command language script includes the following:


DECLARE #VALVENAME STRING
PROMPT #VALVENAME "Enter the valve name"
FINDLINK #VALVENAME
ZOOM #VALVENAME

ZOOM
Purpose
The ZOOM command enlarges a selected area of a display to fill the entire picture width and height.
This command can be made relative in one of two ways. If the object parameter is replaced with an
asterisk (*), then the display zooms to the selected object. If the picture parameter is not specified, then
the display zooms to a specified object in the selected picture.
Syntax
ZOOM object picture

Parameters
object specifies the name of the object to zoom to. The name is case-sensitive and must match
the exact object name assigned in Draw. A string variable or tag group can replace this
parameter.
NOTE: You can assign object names when creating links or objects with dynamic properties.
Refer to the Draw Manual for more information on assigning object names.
picture specifies the name of the picture that includes the object. A string variable or tag group
can replace this parameter.
Example
In the following example, the object-naming strategy for valves included in a detailed equipment
display corresponds exactly to the facility's valve-naming conventions. The display includes a push
button labeled Valve Info that allows operators to locate, select, and enlarge any one of the multiple
valves included in the complex picture.
The push button command language script includes the following:
DECLARE #VALVENAME STRING
PROMPT #VALVENAME "Enter the valve name"
FINDLINK #VALVENAME
ZOOM #VALVENAME

743

iFIX with FIX Desktop

Messaging Commands
Messaging commands let you integrate operator messaging with a command language script. These
commands include:

MESSAGE

NOTE

PROMPT

MESSAGE
Purpose
The MESSAGE command writes a message string to one or more alarm areas, according to the routing
strategy defined for application messages in the System Configuration Utility (SCU).
Syntax
MESSAGE

"string"

Parameter
string specifies a literal message string. This string must be enclosed in quotes and can contain
up to 11 characters. A string variable or tag group can replace this parameter.
Example
In the following example, operators can stop production only for a limited number of reasons. To track
production halts, operators are prompted for a custom reason code each time they request a shutdown.
A custom message file, stored in the Picture path, provides operators with valid reason codes upon
request. Once a code is chosen, the appropriate message is logged to Alarm File Services with a time
and date stamp. Only then does the script allow the Program block named Shutdown to be run.
The command language script includes the following:
DECLARE #RESPONSE NUMERIC
&L2
PROMPT #RESPONSE "Enter reason code or type 10 for list"
IF #RESPONSE == 10
VIEW MESSAGE.TXT
GOTO L2
ENDIF
IF #RESPONSE == 1
MESSAGE "Clean in Place"

744

iFIX with FIX Desktop


ENDIF
IF #RESPONSE == 2
MESSAGE "Shift Change"
ENDIF
IF #RESPONSE == 3
MESSAGE "Product Change"
ENDIF
IF #RESPONSE == 4
MESSAGE "Maintenance"
ENDIF
ONSCAN LINE1:SHUTDOWN

NOTE
Purpose
The NOTE command specifies a message string that appears in a note dialog box in the current display
whenever the command executes. The dialog box requires operator confirmation of the message.
Syntax
NOTE "string"

Parameter
string specifies the literal string to be displayed in the note dialog box. This string must be
enclosed in quotes and can contain up to 38 characters. A string variable or tag group can
replace this parameter.
TIP: To specify more than 38 characters, use a concatenated string variable (132 characters) or a tag
group (95 characters).
Example
In the following example, a display provides operators with recipe upload and download capabilities.
A Recipe Status push button uses the value of the Recipe Builder's completion status indicator to
inform operators during these processes. A completion status indicator is any analog database block
that monitors the progress of a recipe being downloaded or uploaded.
The command language script includes the following:
DECLARE #RCPSTAT NUMERIC PICTURE
GETVAL LINE1:RCPSTAT.F_CV #RCPSTAT

745

iFIX with FIX Desktop


IF #RCPSTAT == 0
NOTE "In progress"
ENDIF
IF #RCPSTAT == 1
NOTE "Aborted Verify Inactive Interlock"
ENDIF
IF #RCPSTAT == 2
NOTE "Read/Write Errors Restart"
ENDIF
IF #RCPSTAT == 3
NOTE "Successful"
ENDIF
IF #RCPSTAT == 4
NOTE "Successful Check Unverified Blocks"
ENDIF

The following figure shows a sample note dialog box based on the NOTE example.

Sample NOTE Command Dialog Box


PROMPT
Purpose
The PROMPT command specifies a message string that appears in a prompt dialog box in the current
display whenever the command language script executes. The dialog box requires an operator response
to confirm the message.
Syntax
PROMPT variable

746

"string"

[X,Y]

iFIX with FIX Desktop

Parameters
variable specifies the numeric or string variable that stores the operator response to the prompt.
NOTE: If the variable is numeric, the script verifies that the operator response is numeric upon
confirmation of the message.
string specifies a literal string to be displayed in a prompt dialog box. This string must be
enclosed in quotes and can contain up to 38 characters. A string variable or tag group can
replace this parameter.
[X,Y] specifies the location of dialog box in the display in pixels, where 1 logical inch equals
100 pixels. By default, the prompt dialog box appears in the upper left corner of the screen.
Example
The following example prompts the operator to enter a temperature for a production line tank. Once
the operator enters the value and confirms the response, the script verifies the response is numeric.
Once verified, the script continues execution and writes the value to the database block specified
within the SETVAL command.
The command language script includes the following:
DECLARE #NUMBER NUMERIC
PROMPT #NUMBER "Enter temperature for TANK1"
SETVAL LINE1:TANK1.F_CV #NUMBER

the following figure shows a sample prompt dialog box based on the PROMPT example.

Sample PROMPT Command Dialog Box

Incorporating Security Features


The Command Language provides you with a number of commands that work in conjunction with or
enhance a Security or Environment Protection configuration. This set of commands provides you with
the ability to:

Prompt operators to log in or out of your iFIX software.

Verify the security rights of a selected operator.

747

iFIX with FIX Desktop

Enable or disable View features on a per-command basis.

The following sections provide detailed information on incorporating security features into command
language scripts:

Logging Commands

Authorization Commands

Logging Commands
Logging commands let you initiate operator login or logout by executing your Login program. These
commands include:

LOGIN

LOGOUT

LOGIN
Purpose
The LOGIN command:

Executes the standard Login program.

Logs out the current user upon accepting a new login. Saves any current user information,
which is restored after the execution of a subsequent LOGOUT command.

Updates user identification information so that all operator messages and SCADA node
security checking reflect the proper user.

Syntax
LOGIN

Example
In the following example, a Commands on Opening command language script launches your Login
program for a supervisory display. The display provides selected operators with the ability to control
database blocks.
After the operator logs in, the script uses the CHECKRIGHTS command to verify the operator's
security area rights before enabling the appropriate View commands with the MENU command.
The Commands on Opening command language script includes the following:
LOGIN
DECLARE #SECCHECK NUMERIC
CHECKRIGHTS "A" #SECCHECK
IF #SECCHECK == 1

748

iFIX with FIX Desktop


MENU ENABLE_DISABLE_ALARMS TRUE
MENU MANUAL_MODE TRUE
MENU AUTO_MODE TRUE
ELSE
NOTE "Security violation View only"
MESSAGE "Security violation Supervisory display"
ENDIF

LOGOUT
Purpose
The LOGOUT command:

Logs out the current user.

Checks for a previous user identification stored by the use of a preceding LOGIN command.
If available, restores the identification as the currently logged in user without the need for
another login routine.

Syntax
LOGOUT

Example
In the following example, a Commands on Closing command language script launches your Logout
program. After the operator logs out, the script places the Program block named Shutdown on scan.
The Commands on Closing command language script includes the following:
LOGOUT
ONSCAN LINE1:SHUTDOWN

Authorization Commands
Authorization commands let you verify the security rights of specified users and enable or disable
selected View menu bar commands. These commands include:

CHECKRIGHTS

MENU

749

iFIX with FIX Desktop

CHECKRIGHTS
Purpose
The CHECKRIGHTS command verifies that the current user has access to a specified security area, as
defined in the security system. Refer to the Configuring Security Features guide for more information
on security area names and user account information.
Syntax
CHECKRIGHTS "string"

num_var

Parameters
string specifies a literal string, enclosed in quotes. The string defines the name of the security
area (up to 2 characters) to be checked. A string variable or tag group can replace this
parameter.
num_var specifies the numeric variable that stores the result of the security check.
If...

Then...

The user has the proper security area rights.

The value of the numeric variable is set to


1.0.

The user does not have the proper security area


rights.

The value of the numeric variable is set to


0.0.

Example
In the following example, operators use a button labeled Download to download a specified recipe.
The CHECKRIGHTS command verifies that the current operator has the proper security area rights
before allowing the download. If the proper rights are not detected, the operator is notified and logged
out of the system.
The push button command language script contains the following:
DECLARE #SECCHECK NUMERIC
CHECKRIGHTS "AREA1" #SECCHECK
IF #SECCHECK == 1.0
RUNTASK RCPDOWN "/cRECIPE1.RCC /e"
ELSE
NOTE "Security violation Download Aborted"
LOGOUT
ENDIF

750

iFIX with FIX Desktop

MENU
Purpose
The MENU command can be used to execute a View menu bar command from a command language
script, or to enable or disable access to View menu bar commands.
This command can be used in conjunction with both your iFIX software Security program and
Environment Protection features. However, MENU command settings can be overridden by the
settings in both Security and Environment Protection.
See the Configuring Security Features guide for more information about configuring security. Refer to
the Securing the View Environment from the Proficy iFIX WorkSpace section for information on
setting up a secured environment with the Environment Protection features in the iFIX with FIX
Desktop environment.
Syntax
MENU command true|false

Parameters
command identifies the command to be executed, restricted, or enabled, depending on the use of
the true/false parameter. The following table lists the valid commands for this parameter.
Menu

Commands

File

Open Open_Layout
CloseSave_Layout
NextPrint
PreviousExit
Last

View

Quickdraw Zoom_To
Zoom_InFit_In_Window
Zoom_OutDefault_View

Alarms

Acknowledge_All
Acknowledge_One
Enable_Disable_Alarms
Silence_Horn
Toggle_Horn

751

iFIX with FIX Desktop

Menu

Commands

Commands

Block_Status On_Scan
Manual_ModeOff_Scan
Auto_ModeCopy_Link

Applications

Historical_Display
Database_Manager
Login

Options

Sound

Help

Index Search_for_Help_on
ProceduresCommands
KeyboardGlossary
Using_HelpBuried_Treasure
Questions_and_Answers
About_View

true/false restricts the command (false) or enables the command (true). A string variable or tag
group can replace this parameter. If no true/false parameter is used, the command script
executes the specified View menu bar command.
Example
In the following example, a Commands on Opening command language script for a supervisory
display launches the Login program. The display provides selected operators with the ability to control
database blocks.
After the operator logs in, the script uses the CHECKRIGHTS command to verify the operator's
security area rights before enabling the appropriate View commands with the MENU command.
The Commands on Opening command language script includes the following:
LOGIN
DECLARE #SECCHECK NUMERIC
CHECKRIGHTS "A" #SECCHECK
IF #SECCHECK == 1
MENU ENABLE_DISABLE_ALARMS TRUE
MENU MANUAL_MODE TRUE
MENU AUTO_MODE TRUE

752

iFIX with FIX Desktop


ELSE
NOTE "Your security rights do not allow database control"
MESSAGE "Security violation Supervisory display"
ENDIF

Controlling Applications
The Command Language includes commands that control your iFIX with FIX Desktop software and
third-party applications. These commands give you the ability to:

Close View from within a command language script.

Start your iFIX with FIX Desktop software or third-party applications.

The Application Control Commands section provide detailed information on controlling applications
from command language scripts.

Application Control Commands


Application Control commands let you automate an Exit from View or the execution of your iFIX with
FIX Desktop software and third-party applications. These commands include:

EXECUTE

EXIT

PLAYSOUND

RUNTASK

EXECUTE
Purpose
The EXECUTE command lets you execute commands in other applications using a local server. For
example, you could write a script so that from View an operator could invoke a Microsoft Excel macro
to generate a report. Note that the EXECUTE command is designed so that only the script containing
the command waits for completion. This is done so that picture refresh rates or the execution of other
scripts are unaffected.
Syntax
EXECUTE COMMAND [TIMEOUT]

Parameters
command defines the command you want to send. Up to 120 characters can be entered for this
parameter. A string variable or tag group symbol can replace this parameter.

753

iFIX with FIX Desktop

timeout defines the time interval (in seconds) the server waits to complete the specified
command. Any value from 0.0 to 7200.0 can be specified for this parameter. If this
parameter is omitted, the default value of 1.0 second is used. Specifying 0.0 as the timeout
indicates to wait indefinitely. A string variable or tag group symbol can replace this
parameter. When a string variable is used, the variable name can be up to seven characters,
including the pound sign (#).
Examples
In the following example, the EXECUTE command instructs the Excel server 50., using the system
topic, to maximize its window. If the command does not complete in 01 seconds, a timeout occurs and
the #CMDSTATUS variable is set to a non-zero value.
EXECUTE =excel|system [app.maximize()] 10

NOTE: The commands for each application may be different. Refer to your application's reference
manuals for the commands and syntax supported.
To use variables with the EXECUTE command, use a script similar to the following:
DECLARE #CMD1 STRING SCRIPT
DECLARE #CMD2 STRING SCRIPT
#CMD1 = "=excel|system"
#CMD2 = "[app.maximize()]"
EXECUTE #CMD1 #CMD2 10

EXIT
Purpose
The EXIT command exits from View and returns you to the window manager.
Syntax
EXIT

Parameters
None
Example
In the following example, operators stop production for the day by using a push button labeled End
Production. The button's command language script opens the appropriate valves, starts the Program
block shutdown routine, and exits View.
The push button command language script includes the following:

754

iFIX with FIX Desktop


NOTE "Shutdown in Process"
SETMANL LINE1:VALVE1
OPENDIG LINE1:VALVE1.F_CV
SETMANL LINE1:VALVE2
OPENDIG LINE1:VALVE2.F_CV
ONSCAN LINE1:SHUTDOWN
IF LINE1:SHUTDOWN.A_SCAN == "ON"
EXIT
ENDIF

PLAYSOUND
Purpose
The PLAYSOUND command works in conjunction with FIX Desktop Sound Support to play sound
files within a command language script.
NOTE: The PLAYSOUND command can also play sound files from within the database through a
Program block using the PLAYSOUND command. Refer to the Database Reference Manual for more
information on using this command.
Syntax
PLAYSOUND sound file.WAV

Parameters
sound file specifies the name of the sound file you want to play. Sound files have an extension
of .WAV and are created with Microsoft-supported sound software. You cannot use
wildcard characters in this parameter.

It is recommended that you include the complete path of the sound file. If you do not specify a
path, the PLAYSOUND command defaults to the iFIX Picture path. A string variable or tag
group can replace this parameter.

Example
In the following example, the PLAYSOUND command alerts an operator that the temperature of a
tank has exceeded a dangerous level. The command language script then prompts the operator to lower
the temperature.
IF LINE1:TANK1.F_CV >= 80
PLAYSOUND C:\SOUNDS\WARNING.WAV

755

iFIX with FIX Desktop


DECLARE #TEMP NUMERIC
PROMPT #TEMP "Lower the tank temperature to 70"
SETVAL LINE1:TANK1.F_CV #TEMP
ENDIF

Refer to the Draw Manual for information on using sound support in pictures.
RUNTASK
Purpose
The RUNTASK command launches other applications such as Historical Display or Database Manager
from View. This command can also launch third-party applications such as Notepad.
NOTE: The RUNTASK command can also launch applications from within the database through a
Program block. Refer to the Saving a Database from a Script or a Program Block section in the
Building a SCADA System manual for more information on using this technique.
Syntax
RUNTASK executable "[parameter]" SINGLE

Parameters
executable specifies the name of the executable for the application you want to run. This
parameter must include path information, but cannot include wildcards. A string variable or
tag group can replace this parameter.
parameter specifies any applicable command line parameters for the executable, enclosed in
quotes. Up to 128 characters can be used to define command line parameters. A string
variable or tag group can replace this parameter. Command line parameters for various
applications are provided in Application Command Line Parameters section.
single when specified, the RUNTASK command determines if the specified application is
already running. If it is, another instance is not started.
NOTE: The SINGLE parameter cannot be substituted in a Dynamo or be represented by variables or
tag group symbols. Omitting the SINGLE parameter allows multiple instances of the same application
to be started.
Example
In the following example, the RUNTASK command starts the Historical Display application. Using
the command line parameters available for the historical executable, RUNTASK is able to open a
specific chart, with the appropriate pen and time group for a select operator group.
RUNTASK HTD.EXE "-CG 'CHART ONE' -PG 'TEMP PENS' -TG 'YESTERDAY'"

756

iFIX with FIX Desktop

Manipulating Files
The Command Language includes commands that work with files on a local or remote hard disk. This
set of commands provides you with the ability to:

Open and close files to perform reads and writes.

Copy and delete files.

View and print files.

Select and update relational database files using SQL commands.

The following sections provide detailed information on manipulating files:

File Access Commands

File Edit Commands

File Information Commands

SQL Commands

File Access Commands


File Access commands let you modify or extract information from files on a local or remote hard disk.
These commands include:

FILECLOSE

FILEOPEN

FILEREAD

FILEWRITE

FILECLOSE
Purpose
The FILECLOSE command closes a specified file. Make sure that for each FILEOPEN command, you
include a corresponding FILECLOSE command.
Syntax
FILECLOSE

num_var

Parameter
num_var specifies the user-defined numeric variable that automatically stores the file handle
number of the opened file.

A file handle is an arbitrary numeric label assigned to an opened file. The Command
Language uses the file handle to call the file during any subsequent file reads, writes, or
closes.

757

iFIX with FIX Desktop

Example
In the following example, a supervisory node receives alarm files from various nodes throughout the
facility on a daily basis for comparison purposes. To automate this task, the third-shift operator display
includes a push button labeled Record Files.
The Record Files button uses the FILEOPEN command to create a record file that includes the day's
alarm information. The script then uses FILECLOSE to close the file.
The push button command language script contains the following:
DECLARE #NODE STRING PICTURE
PROMPT #NODE "Enter the Node Name"
DECLARE #ALARMS STRING PICTURE
FILELIST C:\FIX32\ALM\*.ALM #ALARMS "Select Today's Alarm File"
DECLARE #PATHALM STRING PICTURE
#PATHALM = "C:\FIX32\ALM\"
DECLARE #HANDLE NUMERIC PICTURE
FILEOPEN C:\FIX32\LOCAL\ALMREC.TXT #HANDLE
FILEWRITE #HANDLE #NODE
STRCAT #PATHALM #ALARMS
STRCAT #PATHALM ".ALM"
FILEWRITE #HANDLE #PATHALM
FILEWRITE #HANDLE "SCADA01"
FILEWRITE #HANDLE "C:\ALMFILE.ALM"
FILECLOSE #HANDLE

FILEOPEN
Purpose
The FILEOPEN command opens a file and prepares it for subsequent modifications. When a specified
file does not exist, this command creates a new file.
Syntax
FILEOPEN file name num_var

Parameters
file name specifies the name of the file to open or create. A string variable or tag group can
replace this parameter. The file name must include path information, but cannot include

758

iFIX with FIX Desktop

wildcards.
num_var specifies the user-defined numeric variable that automatically stores the file handle
number of the opened file.
A file handle is an arbitrary numeric label assigned to an opened file. The Command
Language uses the file handle to call the file during any subsequent file reads, writes, or
closes.
NOTE: Once a file handle is assigned to a variable, do not reassign it until the file is closed.
Example
In the following example, a supervisory node receives alarm files from various nodes throughout the
facility on a daily basis for comparison purposes. To automate this task, the third-shift operator display
includes a push button labeled Transfer Files.
The Transfer Files button uses the FILEOPEN command to create a transfer file that includes the day's
alarm information and proper destination. The script then uses FILECLOSE to close the file, launches
the File Transfer application, and transmits the file.
The push button command language script contains the following:
DECLARE #NODE STRING PICTURE
PROMPT #NODE "Enter the Node Name"
DECLARE #ALARMS STRING PICTURE
FILELIST C:\FIX32\ALM\*.ALM #ALARMS "Select Today's Alarm File"
DECLARE #PATHALM STRING PICTURE
#PATHALM = "C:\FIX32\ALM\"
DECLARE #HANDLE NUMERIC PICTURE
FILEOPEN C:\FIX32\LOCAL\TRANALM.TXT #HANDLE
DECLARE #FILETRAN STRING PICTURE
FILEWRITE #HANDLE #NODE
STRCAT #PATHALM #ALARMS
STRCAT #PATHALM ".ALM"
FILEWRITE #HANDLE #PATHALM
FILEWRITE #HANDLE "SCADA01"
FILEWRITE #HANDLE "C:\ALMFILE.ALM"
FILECLOSE #HANDLE
RUNTASK FILETRAN "/FC:\FIX32\LOCAL\TRANALM.TXT"

759

iFIX with FIX Desktop

FILEREAD
Purpose
The FILEREAD command accesses an open file, reads up to 80 characters or until it reaches the end of
a line, and stores the result in a string variable.
Syntax
FILEREAD num_var

string_var

Parameters
num_var specifies the user-defined numeric variable that automatically stores the file handle
number of the opened file.

A file handle is an arbitrary numeric label assigned to an opened file. The Command Language
uses the file handle to call the file during any subsequent file reads, writes, or closes.
string_var specifies the string variable that stores up to 80 characters read in from the opened
file. Each subsequent use of the FILEREAD command retrieves the next line in the file or
up to 8 characters, whichever comes first.

Example
In the following example, the facility requires a display that allows operators to view lab data from a
third-party application. The lab data is an ASCII file that identifies the values of selected I/O points at
various times. The data is in the following format: value,time.
The solution for this scenario requires various commands. As a start, the FILEREAD command reads
in the first line of data and stores it in a string variable. The STRSTR command then locates and stores
the constant in the data file, in this case a comma. These commands allow STRTOK and STRLEN to
extract the data, as illustrated in the STRTOK section.
The command language script includes the following:
DECLARE #HANDLE NUMERIC
FILEOPEN DATA.TXT #HANDLE
DECLARE #DATA STRING
FILEREAD #HANDLE #DATA
DECLARE #COMMA NUMERIC
STRSTR "," #DATA #COMMA

760

iFIX with FIX Desktop

FILEWRITE
Purpose
The FILEWRITE command appends a text string to the end of an open file.
Syntax
FILEWRITE num_var "string"

Parameters
num_var specifies the user-defined numeric variable that automatically stores the file handle
number of the opened file.
A file handle is an arbitrary numeric label assigned to an opened file. The Command Language
uses the file handle to call the file during any subsequent file reads, writes, or closes.
string specifies the literal string to write to the file. This string must be enclosed in quotes and
can contain up to 126 characters. A string variable or tag group can replace this parameter.
NOTE: The FILEWRITE command cannot be used on a file that has been read using the
FILEREAD command. The file must be closed with the FILECLOSE command and a new
copy of the file must then be opened with the FILEOPEN command.
Example
In the following example, FILEWRITE writes parameters to the historical command line parameter
file named HTDINFO.TXT. These parameters include the chart group and the starting and ending
times of the data. Once the file is closed, the RUNTASK command launches the executable named
HTDPRINT, which prints the historical display chart specified by the command line parameter file.
The command language script includes the following:
DECLARE #HANDLE NUMERIC
FILEOPEN C:\FIX32\LOCAL\HTDINFO.TXT #HANDLE
FILEWRITE #HANDLE "-CG 'Chart One'"
FILEWRITE #HANDLE "-ST 5/6/92@12:00:00"
FILEWRITE #HANDLE "-ET 5/7/92@ 8:00:00"
FILECLOSE #HANDLE
RUNTASK HTDPRINT "-CF 'C:\FIX32\LOCAL\HTDINFO.TXT'"

The Application Command Line Parameters section provides a full listing of valid command line
parameters for Historical Display. For more information on creating command line parameter files that
display or print historical display charts, see the Historical Trending Manual.

761

iFIX with FIX Desktop

File Edit Commands


File Edit commands let you append, change the attributes of, copy or delete files on a local or remote
hard disk. These commands include:

APPEND

ATTRIB

COPY

DELETE

APPEND
Purpose
The APPEND command attaches the contents of one file onto the end of another file.
Syntax
APPEND file name1

file name2

Parameters
file name1 specifies the file to be appended onto the end of the second file, specified in the
second parameter. This parameter must include path information, but cannot include
wildcards. A string variable or tag group can replace this parameter.
file name2 specifies the file that receives the information from the first file, specified in the first
parameter. This parameter must include path information, but cannot include wildcards. A
string variable or tag group can replace this parameter.
Example
In the following example, the contents of the file named DAILY.RPT is appended to the file named
MONTHLY.RPT.
APPEND C:\REPORTS\DAILY.RPT C:\REPORTS\MONTHLY.RPT

ATTRIB
Purpose
The ATTRIB command changes the protection attributes of a file. This command can be used only to
change the attributes of a closed file.
Syntax
ATTRIB file name

762

"attribute"

iFIX with FIX Desktop

Parameters
file name specifies the name of the file whose attributes are to be modified. This parameter must
include path information and can include wildcards. A string variable or tag group can
replace this parameter.
attribute specifies the file attribute, enclosed in quotes. A string variable or tag group can
replace this parameter. Valid modifications are as follows:
Attribute

Description

+R

Creates a read-only file, which may not be modified or deleted.

-R

Removes a read-only protection, which allows modifications and deletions.

+A

Sets the archive attribute of a file to indicate the file has been altered and needs to be
re-archived.

-A

Resets the archive attribute of a file to indicate that the file has not been altered and
does not need to be re-archived.

+H

Creates a hidden file.

Example
In the following example, files required for daily backup are transferred to a path dedicated to this
purpose and then stamped as read-only.
COPY C:\FIX32\LOCAL\*.SCU C:\BACKUP
COPY C:\FIX32\PIC\*.ODF C:\BACKUP
COPY C:\FIX32\PIC\*.TGE C:\BACKUP
COPY C:\FIX32\PIC\*.KMX C:\BACKUP
COPY C:\FIX32\PDB\*.PDB C:\BACKUP
COPY C:\FIX32\HTR\*.* C:\BACKUP
ATTRIB C:\BACKUP\*.* "+R"

COPY
Purpose
The COPY command copies a file to another location.

763

iFIX with FIX Desktop

Syntax
COPY file name

file name|pathname

Parameters
file name specifies the name of the file to be copied. This parameter must include path
information and can include wildcards. A string variable or tag group can replace this
parameter.
file name|pathname specifies the name of the file or the directory that stores the result of the
copy. This parameter must include path information and can include wildcards. A string
variable or tag group can replace this parameter.
Example
In the following example, files required for daily backup are transferred to a path dedicated to this
purpose.
COPY C:\FIX32\LOCAL\*.SCU C:\BACKUP
COPY C:\FIX32\PIC\*.ODF C:\BACKUP
COPY C:\FIX32\PIC\*.TGE C:\BACKUP
COPY C:\FIX32\PIC\*.KMX C:\BACKUP
COPY C:\FIX32\PDB\*.PDB C:\BACKUP
COPY C:\FIX32\HTR\*.* C:\BACKUP

DELETE
Purpose
The DELETE command deletes a specified file.
Syntax
DELETE file name

Parameter
file name specifies the name of the file to delete. This parameter must include path information
and can include wildcards. A string variable or tag group can replace this parameter.
Example
In the following example, the DELETE and PROMPT commands allow an operator to delete a
specified file.

764

iFIX with FIX Desktop


DECLARE #USERFILE STRING
PROMPT #USERFILE "Enter the path and file to be deleted"
DELETE #USERFILE

NOTE: No verification of the specified file name is done.

File Information Commands


File Information commands let you obtain information about a specified file, display file lists, print, or
view files. These commands include:

CHFILE

FILELIST

FILEPRINT

VIEW

CHFILE
Purpose
The CHFILE command checks for the existence of a specified file.
Syntax
CHFILE file name

num_var

Parameters
file name specifies the name of the file to check for. This parameter must include path
information, but cannot include wildcards. A string variable or tag group can replace this
parameter.
num_var specifies the numeric variable that stores the result of the check. The result can be one
of the following:
If...

Then...

The file exists.

The numeric variable is set to a value of 1.0.

The file does not exist.

The numeric variable is set to a value of 0.0.

Example
In the following example, the existence of the file named DAILY.RPT is checked. If the file is not
located, an error message is distributed according to the operator message routing strategy defined in

765

iFIX with FIX Desktop

the SCU.
DECLARE #FILEEXISTS NUMERIC
CHFILE C:\REPORTS\DAILY.RPT #FILEEXISTS
IF #FILEEXISTS == 0
MESSAGE "Daily report file has not been created"
ENDIF

FILELIST
Purpose
The FILELIST command displays a list of files in a list dialog box whenever the command language
script executes. The dialog box requires that the operator select a file from the list and confirm the
selection.
Syntax
FILELIST pattern

string_var

"string"

[show]

Parameters
pattern specifies up to 31 characters that defines the group of files that appears in the list dialog
box. This parameter must include path information and can include wildcards. A string
variable or tag group can replace this parameter.
string_var specifies the name of the string variable that stores the name of the file selected from
the list dialog box.
string specifies the text string that appears in the dialog box's title bar. This string must be
enclosed in quotes and can contain up to 27 characters. A string variable or tag group can
replace this parameter.
TIP: To specify more than 27 characters in either the pattern or the text string, use a
concatenated string variable (132 characters) or a tag group (95 characters).
[show] enables the display of the standard File Open dialog box that appears with the title
specified in the third parameter. When you use the [show] parameter, operators have access
to the full capabilities of this dialog, including access to and possible modification of the
current drive, path, file name, and extension.
Example
In the following example, the FILELIST, VIEW, and FILEPRINT commands allow operators to select
a report from a list dialog box and then either view or print the contents of the selected report.
DECLARE #FULLPATH STRING

766

iFIX with FIX Desktop


#FULLPATH = "C:\REPORTS\"
NULL
DECLARE #SELECTED STRING
FILELIST C:\REPORTS\*.RPT #SELECTED "Select a Report"
DECLARE #RESPONSE STRING
PROMPT #RESPONSE "Type VIEW or PRINT"
NULL
STRCAT #FULLPATH #SELECTED
STRCAT #FULLPATH ".RPT"
NULL
IF #RESPONSE == "VIEW"
VIEW #FULLPATH "REPORT FILE"
ELSE
FILEPRINT #FULLPATH
ENDIF

The following figure shows a sample list dialog box based on this example.

Sample FILELIST Command Dialog Box


FILEPRINT
Purpose
The FILEPRINT command prints an ASCII file to the default printer.
The default printer can be any printer listed in your Control Panel. To access the Printers dialog box,

767

iFIX with FIX Desktop

select the Printers icon from the Control Panel group. For complete information on using the Control
Panel, refer to your Microsoft Windows documentation.
Syntax
FILEPRINT file name

Parameter
file name specifies the name of the file to be printed. This parameter must include path
information, but cannot include wildcards. A string variable or tag group can replace this
parameter.
Example
In the following example, the FILELIST, VIEW, and FILEPRINT commands allow operators to select
a report from a list dialog box and then either view or print the contents of the selected report.
DECLARE #FULLPATH STRING
#FULLPATH = "C:\REPORTS\"
NULL
DECLARE #SELECTED STRING
FILELIST C:\REPORTS\*.RPT #SELECTED "Select a Report"
DECLARE #RESPONSE STRING
PROMPT #RESPONSE "Type VIEW or PRINT"
NULL
STRCAT #FULLPATH #SELECTED
STRCAT #FULLPATH ".RPT"
NULL
IF #RESPONSE == "VIEW"
VIEW #FULLPATH "REPORT FILE"
ELSE
FILEPRINT #FULLPATH
ENDIF

VIEW
Purpose
The VIEW command displays the contents of an ASCII file in a file dialog box. The dialog box allows

768

iFIX with FIX Desktop

an operator to browse through the file and requires confirmation to exit the browsing. The dialog box
does not permit modifications to the file. The file displays up to 59 characters on each line in the file.
Lines longer than 59 characters are wrapped.
Syntax
VIEW file name

"string"

Parameters
file name specifies the name of the ASCII file to be viewed. This parameter must include path
information, but cannot include wildcards. A string variable or tag group can replace this
parameter.
string specifies the literal text string that appears in the dialog box's title bar. This string must be
enclosed in quotes and can contain up to 126 characters. However, all characters after 57
are truncated. A string variable or tag group can replace this parameter.
Example
In the following example, the FILELIST, VIEW, and FILEPRINT commands allow operators to select
a report from a list dialog box and then either view or print the contents of the selected report.
DECLARE #FULLPATH STRING
#FULLPATH = "C:\REPORTS\"
NULL
DECLARE #SELECTED STRING
FILELIST C:\REPORTS\*.RPT #SELECTED "Select a Report"
DECLARE #RESPONSE STRING
PROMPT #RESPONSE "Type VIEW or PRINT"
NULL
STRCAT #FULLPATH #SELECTED
STRCAT #FULLPATH ".RPT"
NULL
IF #RESPONSE == "VIEW"
VIEW #FULLPATH "Sample Report"
ELSE
FILEPRINT #FULLPATH
ENDIF

The following figure shows a sample dialog box based on the VIEW example.

769

iFIX with FIX Desktop

Sample VIEW Command Dialog Box

SQL Commands
SQL commands let you access a relational database to read and write data. These commands include:

COUNTROWS

DELETE

DESCTABLE

INSERT

LISTTABLES

LOGIN

LOGOUT

PROCEDURE

SELECT

UPDATE

All SQL commands return an error code. This code indicates if the current command executed
successfully. A value of zero indicates success. A non-zero value indicates an error occurred. For more
information on the meaning of non-zero error codes, refer to your relational database manuals.

770

iFIX with FIX Desktop

Refer to the Understanding the SQL Command Syntax and SQL Command Syntax sections for
information on understanding SQL command syntax.
NOTE: Some SQL commands do not require all seven parameters. When a parameter is not required,
use an empty set of quotation marks ('') as a placeholder. Your relational database may not support all
the available SQL commands. Refer to your SQL manuals to learn which commands your relational
database supports.
COUNTROWS
Purpose
The COUNTROWS command determines how many rows are in a specified table.
Syntax
#num_var = SQL("database","COUNTROWS","","table","",cache,#num_result)

Parameters
database defines the database identifier of the relational database, as specified in this node's
SCU file.
table specifies the name of the table to count rows from.
cache the caching indicator, where 1 is enabled and 0 is disabled.
#num_result defines the name of the numeric variable that stores the results of the query.
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the COUNTROWS command executed successfully. A
value of zero indicates success. A non-zero value indicates an error occurred. For more
information on the meaning of non-zero error codes, refer to your relational database
manuals.
Example
In the following example, a push button script is used to retrieve the number of rows from the specified
relational database and table.
DECLARE #RESULT NUMERIC PICTURE
DECLARE #ERROR_VAR NUMERIC
DECLARE #REL_DB STRING
DECLARE #TABLENAME STRING
PROMPT #REL_DB "Enter the relational db identifier"
PAUSE 1
PROMPT #TABLENAME "Enter the name of the table to use"

771

iFIX with FIX Desktop


#ERROR_VAR = SQL(#REL_DB,"COUNTROWS","",#TABLENAME,"",0,#RESULT)

NOTE: If you are using Microsoft Access, make sure all referenced tables are closed before executing
a command language script with the COUNTROWS command. If the tables are open, the
COUNTROWS command may not return the correct number of rows.
DELETE
Purpose
The Delete command deletes single or multiple rows from a specified table.
Syntax
#num_var = SQL("database","DELETE","","table","condition",cache,"")

Parameters
database defines the database identifier of the relational database, as specified in this node's
SCU file.
table defines the name of the table to delete the data from.
condition defines an optional condition specifying which row(s) in the table(s) to delete.
cache the caching indicator, where 1 is enabled and 0 is disabled.
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the DELETE command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred. For more information
on the meaning of non-zero error codes, refer to your relational database manuals.
Example
In the following example, all the rows are deleted from the specified relational database and table.
DECLARE #DELROWS NUMERIC PICTURE
DECLARE #REL_DB STRING PICTURE
DECLARE #TABLENAME STRING PICTURE
PROMPT #REL_DB "Enter the relational db to delete from"
PAUSE 5
PROMPT #TABLENAME "Enter the name of the table to delete"
#DELROWS = SQL(#REL_DB,"DELETE","",#TABLENAME,"",0,"")

772

iFIX with FIX Desktop

DESCTABLE
Purpose
The DESCTABLE command retrieves information about a specified table. This information includes
the name and data type of each column in the table. Row zero (0) of the resulting data provides a data
descriptor for each column of data retrieved. A sample of the data you might receive is provided
below.

This command does not support command caching.


Syntax
#num_var = SQL("database","DESCTABLE","","table","",0,#table_var)

Parameters
database defines the database identifier of the relational database, as specified in this node's
SCU file.
table specifies the name of the table to retrieve the information from.
#table_var specifies the name of the table variable that stores the results of the query.
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the DESCTABLE command executed successfully. A value
of zero indicates success. A non-zero value indicates an error occurred. For more
information on the meaning of non-zero error codes, refer to your relational database
manuals.
Example
In the following example, a push button script is used to retrieve information about a table.
DECLARE #DESC NUMERIC
DECLARE #RESULT[10][10] TABLE PICTURE
#DESC = SQL("Inventory","DESCTABLE","","TABLE1","",0,#RESULT)

773

iFIX with FIX Desktop

INSERT
Purpose
The INSERT command adds a new row to the specified table and inserts the specified data into a new
row at the end of the table.
Syntax
#num_var = SQL("database","INSERT","columns)","table","values",cache,"")

Parameters
database defines the database identifier of the relational database, as specified in this node's
SCU file.
column(s) specifies the name of column(s) to insert data into. Separate column names by
commas.
table specifies the name of the table to insert data into.
values specifies the values to insert into the specified table.
cache specifies the caching indicator, where 1 is enabled and 0 is disabled.
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the INSERT command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred. For more information
on the meaning of non-zero error codes, refer to your relational database manuals.
Example
In the following example, the script stores values from the process database so that a report can be
generated later. Each time data is stored in a relational database, a new row in the table 'PDBDATA' is
created and data is inserted into the columns ALARM and VALUE.
DECLARE #VAR1 NUMERIC GLOBAL
#VAR1= SQL("Alarms","INSERT","ALARM,VALUES","PDBDATA","'Low',5.0",0,"")

LISTTABLES
Purpose
The ListTables command retrieves the names of all tables and views in an SQL account or data source.
Row zero (0) of the resulting data provides a data descriptor for each column of data retrieved. When
using this command, declare a table variable with four columns and one row for each table defined by
your relational database.

774

iFIX with FIX Desktop

Syntax
#num_var = SQL("database","LISTTABLES","owner","table","",0,#table_var)

Parameters
database defines the database identifier of the relational database, as specified in this node's
SCU file.
owner specifies the name of the user that created the table, as defined in the relational database.
table specifies the names of the table(s) to list.
#table_var specifies the name of the table variable that stores the results of the query.
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the LISTTABLES command executed successfully. A
value of zero indicates success. A non-zero value indicates an error occurred. For more
information on the meaning of non-zero error codes, refer to your relational database
manuals.
Both the owner and table parameters support the SQL wildcards, '%' (percent) and '_' (underscore).
Use the percent wildcard to represent one or more common characters. For example, using 'T%' as the
owner parameter retrieves a list of tables owned by any user name that begins with 'T'.
Use the underscore wildcard to represent a single character. For example, using '_T_ _' as the table
parameter retrieves a list of tables that contain a 'T' as the second character in the table name.
Microsoft Access does not support the use of wildcards with the LISTTABLES command.
Example
In the following example, the Commands on Opening script retrieves the names of all tables in a
relational database.
DECLARE #LIST NUMERIC PICTURE
DECLARE #RESULT[10][10] TABLE PICTURE
#LIST = SQL("Inventory","LISTTABLES","","","",0,#RESULT)

LOGIN
Purpose
The Login command logs into a relational database specified in this node's SCU file. If a connection
error occurs, all enabled alarm areas receive the appropriate message. Connection errors can include a
lack of information found in the SCU file or a relational database that cannot be found.
SQL command support provides automatic login to a specified relational database during the execution
of an SQL command.

775

iFIX with FIX Desktop

Syntax
#num_var = SQL("database","LOGIN","","","",0,"")

Parameters
database defines the database identifier of the relational database, as specified in this node's
SCU file.
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the LOGIN command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred. For more information
on the meaning of non-zero error codes, refer to your relational database manuals.
Example
In the following example, the Commands on Opening script logs into a relational database.
DECLARE #LOGIN NUMERIC PICTURE
#LOGIN = SQL("Inventory","LOGIN","","","",0,"")

LOGOUT
Purpose
The Logout command logs out of a relational database specified in this node's SCU file. SQL
command support provides automatic logout from all relational databases when View is exited.
Syntax
#num_var = SQL("database","LOGOUT","","","",0,"")

Parameters
database defines the database identifier of the relational database, as specified in this node's
SCU file.
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the LOGOUT command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred. For more information
on the meaning of non-zero error codes, refer to your relational database manuals.
Example
In the following example, the Commands on Closing script logs out of a relational database.
DECLARE #LOGOUT NUMERIC
#LOGOUT = SQL("Inventory","LOGOUT","","","",0,"")

776

iFIX with FIX Desktop

PROCEDURE
Purpose
The PROCEDURE command executes one SQL procedure. A procedure is created and stored in the
relational database. It contains a group of SQL commands that are executed upon request. If a query in
the procedure returns data, row zero (0) of the resulting data provides each column's title.
NOTE: Not all relational databases support the use of stored procedures. For example, if you are
using Microsoft Access as your relational database, do not use the PROCEDURE command in your
command language scripts. Doing so can produced unexpected results. Refer to your relational
database manuals to determine if your database supports this feature.
Syntax
#num_var = SQL("database","PROCEDURE","procname","","",cache,#table_var)

Parameters
database defines the database identifier of the relational database, as specified in this node's
SCU file.
procname specifies the name of the stored procedure to execute.
cache specifies the caching indicator, where 1 is enabled and 0 is disabled.
#table_var specifies the name of the table variable that stores the results of any query performed
within the procedure.
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the PROCEDURE command executed successfully. A
value of zero indicates success. A non-zero value indicates an error occurred. For more
information on the meaning of non-zero error codes, refer to your relational database
manuals.
Example
In the following example, the procedure REPORTS is executed. This procedure prints a report using
data collected from the process database. REPORTS is stored in the relational database and does not
return any error codes.
DECLARE #REPORTS NUMERIC PICTURE
DECLARE #REL_DB STRING PICTURE
PROMPT #REL_DB "Enter the name of the SQL db to use"
#REPORTS = SQL(#REL_DB,"PROCEDURE","REPORTS","", "",0,"")

777

iFIX with FIX Desktop

SELECT
Purpose
The SELECT command retrieves data from a relational database. Row zero (0) of the resulting data
provides each column's title.
Syntax
#num_var
=SQL("database","SELECT","column(s)","table(s)","condition",cache,#table_
var)

Parameters
database defines the database identifier of the relational database, as specified in this node's
SCU file.
column(s) specifies the name of the column(s) to retrieve the data from.
table(s) specifies the name of the table(s) to retrieve the data from.
condition specifies the condition clause to be used when retrieving the data.
cache specifies the caching indicator, where 1 is enabled and 0 is disabled.
#table_var specifies the name of the table variable that stores the results of the query.
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the SELECT command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred. For more information
on the meaning of non-zero error codes, refer to your relational database manuals.
Example
In the following example, the push button script retrieves data from the columns DEVICE, SPEED,
and RATE in the table ENGINEDB. This table is located in the relational database called ALARMS.
DECLARE #SELECT NUMERIC
DECLARE #RESULT[10][10] TABLE PICTURE
#SELECT =
SQL("Alarms","SELECT","device,speed,rate","ENGINEDB","",0,#RESULT)

UPDATE
Purpose
The Update command writes data to the specified relational database.

778

iFIX with FIX Desktop

Syntax
#num_var=SQL("database","UPDATE","columns)","table","condition",cache,"")

Parameters
database defines the database identifier of the relational database, as specified in this node's
SCU file.
column(s) specifies the name of the column(s) you want to update and the value(s) you want to
set them to. The syntax for this parameter is column=value. Separate multiple column
names by commas.
table specifies the name of the table to which data is written.
condition specifies the condition clause to be used when writing the data. If no condition is
specified, all rows in the relational database are updated.
cache specifies the caching indicator, where 1 is enabled and 0 is disabled.
#num_var defines the name of a numeric variable that stores the error code from the relational
database. This code indicates if the UPDATE command executed successfully. A value of
zero indicates success. A non-zero value indicates an error occurred. For more information
on the meaning of non-zero error codes, refer to your relational database manuals.
Example
In the following example, the script updates the speed column of the table ENGINEDB in the
relational database ALARMS.
DECLARE #UPDATE NUMERIC
#UPDATE = SQL("Alarms","UPDATE","SPEED=50","ENGINEDB","Where device =
'engine5'",0,"")

Appendix
This appendix includes the following sections:

Command Listing: Purposes

Command Listing: Full Syntax

Command Listing: Relative Command Syntax

Application Command Line Parameters

Command Listing: Purposes


The following table purposes of the commands.

779

iFIX with FIX Desktop

780

Command

Purpose

#CMDSTATUS

A special numeric variable with a script scope that each command language
script automatically creates when the first script within a picture is
executed. #CMDSTATUS stores and represents the completion status of
each command executed within the script.

ALARMACK

Acknowledges alarms for a specified block. If used as a relative command,


alarms for the selected block are acknowledged.

ALARMACKALL

Acknowledges alarms for all blocks in the specified picture. If used as a


relative command, alarms for all blocks in the selected picture are
acknowledged.

APPEND

Attaches the contents of one file onto the end of another file.

ATTRIB

Changes the protection attributes of a closed file.

BASEPIC

Returns a specified picture to its original state. If used as a relative


command, the selected picture returns to its normal state.

CHECKRIGHTS

Verifies that the current user has access to a specified security area, as
defined in the security system.

CHFILE

Checks for the existence of a specified file.

CLOSEDIG

Closes, or sends a value of 1, to a specified digital block. If used as a


relative command, the selected digital block closes.

CLOSEPIC

Closes a specified picture and removes it from the display. If used as a


relative command, the selected picture closes.

COPY

Copies a file to another location.

COUNTROWS

Determines how many rows are in the specified table.

CRITICAL

Defines a critical section in a command language script.

DEBUGOFF

Closes and saves a command language script debugging file.

DEBUGON

Creates a command language script debugging file and stores it in the


Picture path.

iFIX with FIX Desktop

Command

Purpose

DECLARE

Defines a numeric or string variable.

DELETE

Deletes a specified file.

DELETE (SQL)

Deletes single or multiple rows from the specified table.

DESCTABLE

Retrieves the name and data type of each column from the specified table.

DISABLEALARM

Disables alarm limit checking for a specified block. If used as a relative


command, alarm limit checking is disabled for the selected block.

ENABLEALARM

Enables alarm limit checking for a specified block. If used as a relative


command, alarm limit checking is enabled for the selected block.

EXECUTE

Allows you to execute commands in other applications using a local server.

EXIT

Exits from View and returns to the window manager.

FILECLOSE

Closes a specified file.

FILELIST

Displays a list of files in a list dialog box whenever the command language
script executes.

FILEOPEN

Opens a file and prepares it for subsequent modifications or deletions.


When a specified file does not exist, it creates a new file.

FILEPRINT

Prints an ASCII file to the default window manager printer.

FILEREAD

Accesses an open file, reads up to 8 characters before a new line symbol,


and stores the result in a string variable.

FILEWRITE

Appends a text string to the end of an open file.

FINDLINK

Searches a picture for a specified object and selects the object. If used as a
relative command, the active picture is searched for the specified object.

GETVAL

Fetches the value of the specified block from the process database and
stores it in a numeric or string variable. If used as a relative command, the
value of the selected block is read.

781

iFIX with FIX Desktop

782

Command

Purpose

GOTO

Provides unconditional or conditional branching and looping by redirecting


command processing to a specified label.

IF

Evaluates a specified condition and performs an action based on the result


of the evaluation.

INSERT

Adds a new row to the specified table and inserts the specified data into the
new row.

LISTTABLES

Retrieves the names of all tables and views in a SQL account or data source.

LOADKMX

Opens a new macro file for the specified picture, replacing any macro file
already associated with the picture.

LOGIN

Executes the standard Login program.

LOGIN (SQL)

Logs in to the relational database specified in this node's SCU file.

LOGOUT

Logs out the current user.

LOGOUT (SQL)

Logs out of the relational database specified in this node's SCU file.

MENU

Enables or disables access to commands in the View menu bar.

MESSAGE

Writes a message string to a single or multiple alarm area, according to the


routing strategy defined for operator messages in the System Configuration
Utility (SCU).

NOTE

Specifies a message string that appears in a note dialog box in the current
display whenever the command language script executes.

NUMTOSTR

Converts a number into a string variable. NUMTOSTR used in combination


with the #CMDSTATUS variable converts a error string into a string
variable.

OFFSCAN

Places a specified block off scan. If used as a relative command, the


selected block is placed off scan.

ONSCAN

Places a specified block on scan. If used as a relative command, the selected


block is placed on scan.

iFIX with FIX Desktop

Command

Purpose

OPENDIG

Opens, or sends a value of 0, to a specified digital block. If used as a


relative command, the selected digital block opens.

OPENLYT

Opens the selected layout file in View. Any open pictures are closed prior
to opening the layout file.

OPENPIC

Opens a selected picture in View. If used as a relative command, the


selected picture opens.

PAN

Changes the portion of the specified picture that is displayed when the
picture exceeds the limits of the View window. If used as a relative
command, the selected picture is panned using the specified X and Y
offsets.

PAUSE

Pauses the execution of the command script for a specified duration.

PLAYSOUND

Works in conjunction with your FIX Desktop Sound Support to play sound
files within a command language script.

PROCEDURE

Executes one SQL procedure stored in the relational database. A procedure


is a group of SQL commands that are executed upon request.

PROMPT

Specifies a message string that appears in a prompt dialog box in the current
display whenever the command language script executes.

RAMP

Provides manual ramping of a database block by increasing or decreasing


its current value by a specified percentage of the EGU range. If used as a
relative command, the value of the selected block ramps.

REPLACEPIC

Closes a picture and replaces it with another picture. If used as a relative


command, the selected picture closes and the specified picture opens.

RESOLVEVARS

Causes all variables in a picture to be resolved to the most current


assignment.

ROUND

Rounds a numeric variable that stores a floating-point value to the nearest


integer.

RUNTASK

Launches applications from View. The path to the executable must be


included in the RUNTASK command. If it is not, the application must be
included in the system path.

783

iFIX with FIX Desktop

784

Command

Purpose

SELECT

Retrieves data from a relational database.

SETAUTO

Sets the specified block to automatic mode. If used as a relative command,


the selected block is set to automatic mode.

SETMANL

Sets the specified block to manual mode. If used as a relative command, the
selected block is set to manual mode.

SETNICKNAME

Assigns a nickname to the current picture.

SETVAL

Sets the current value of a database block. If used as a relative command,


the value of the selected block is set.

STRCAT

Concatenates a string variable.

STRCMP

Compares two character strings and stores a numeric result.

STRLEN

Stores the length of a character string in a numeric variable.

STRSTR

Searches a character string for a specified string. If located, stores the


position of its first occurrence in a numeric variable.

STRTOK

Extracts a portion of a string or string variable and stores it in a string


variable.

STRTONUM

Converts a string variable into a numeric variable.

SWITCHKMX

Replaces the specified picture's macro file with a new one. If used as a
relative command, it replaces the macro file of every open picture.

TOGGLEALARM

Toggles the alarm status of a specified block between enabled and disabled.
If used as a relative command, alarm limit checking toggles for the selected
block.

TOGGLEDIG

Toggles the current state of a digital block between open and closed. If used
as a relative command, the current state of the selected digital block toggles.

TOGGLEMANL

Toggles the mode status of the specified block between manual and
automatic modes. If used as a relative command, the mode status of the
selected block toggles.

iFIX with FIX Desktop

Command

Purpose

TOGGLESCAN

Toggles the scan status of a specified block between on and off scan. If used
as a relative command, the scan status of the selected block toggles.

UPDATE

Writes data to the specified relational database.

VIEW

Displays the contents of an ASCII file in a file dialog box, but does not
permit modifications to the file.

ZOOM

Enlarges a selected area of a display to fill the entire picture width and
height.

Command Listing: Full Syntax


ALARMACK node:tag|string_var|tag group
ALARMACKALL picture|string_var|tag group
APPEND file name|string_var|tag group file name|string_var|tag group
ATTRIB file name|string_var|tag group protection|string_var|tag group
BASEPIC picture|string_var|tag group
CHECKRIGHTS "string"|string_var|tag group num_var
CHFILE file name|string_var|tag group num_var
CLOSEDIG node:tag.field|string_var|tag group
CLOSEPIC picture|nickname|string_var|tag group
COPY file name|string_var|tag group file name|string_var|tag group|pathname
#num_var = SQL("database","COUNTROWS","","table","","",#num_result)
CRITICAL
commands
ENDCRITICAL
DEBUGOFF
DEBUGON "string"
DECLARE var_name var_type [scope]
DELETE file name|string_var|tag group

785

iFIX with FIX Desktop

#num_var = SQL("database","DELETE","","table","condition",cache,"")
#num_var = SQL("database","DESCTABLE","","table","","",#table_var)
DISABLEALARM node:tag|string_var|tag group
ENABLEALARM node:tag|string_var|tag group
EXIT
FILECLOSE num_var
FILELIST pattern|string_var|tag group string_var "string"|string_var|tag group [SHOW]
FILEOPEN file name|string_var|tag group num_var
FILEPRINT file name|string_var|tag group
FILEREAD num_var string_var
FILEWRITE num_var "string"|string_var|tag group
FINDLINK object|string_var|tag group picture|string_var|tag group
GETVAL node:tag.field|string_var|tag group num_var|string_var
GOTO label
IF expression
command
[ELSE]
[command]
ENDIF
#num_var = SQL("database","INSERT","col(s)","table","values",cache,"")
#num_var = SQL("database","LISTTABLES","owner","table","",0,#table_var)
LOADKMX macrofile [picture|nickname]
LOGIN
#num_var = SQL("database","LOGIN","","","",0,"")
LOGOUT
#num_var = SQL("database","LOGOUT","","","",0,"")
MENU command [true|false]
MESSAGE "string"|string_var|tag group

786

iFIX with FIX Desktop

NOTE "string"|string_var|tag group


NULL
NUMTOSTR #CMDSTATUS"%s" string_var
NUMTOSTR value|num_var "string"|string_var|tag group string_var
OFFSCAN node:tag|string_var|tag group
ONSCAN node:tag|string_var|tag group
OPENDIG node:tag.field|string_var|tag group
OPENLYT filename|string_var|tag group
OPENPIC picture|string_var|tag group [Y,X,W,H] [nickname|string_var|tag group] [tag group file|tag
group]
PAN X,Y picture|string_var|tag group
PAUSE value|num_var
PLAYSOUND file name|string_var|tag group
#num_var = SQL("database","PROCEDURE","proc","","",cache,#table_var)
PROMPT num_var|string_var "string"|string_var|tag group [X,Y]
RAMP node:tag.field|string_var|tag group %EGU|num_var
REPLACEPIC picture1|string_var|tag group picture2|string_var|tag group [tag group file|tag group]
ROUND num_var DN|UP|BK
RUNTASK executable "[parameter]"
#num_var = SQL("database","SELECT","col(s)","table(s)","condition",cache,#table_var)
SETAUTO node:tag|string_var|tag group
SETMANL node:tag|string_var|tag group
SETNICKNAME "nickname"|string_var|tag group
SETVAL node:tag.field|string_var|tag group value|num_var
STRCAT string_var "string"|string_var|tag group [num_var|value] [PADCHAR]
STRCMP "string"|string_var|tag group "string"|string_var|tag group num_var
STRLEN "string"|string_var|tag group num_var
STRSTR "string"|string_var|tag group "string"|string_var|tag group num_var

787

iFIX with FIX Desktop

STRTOK "string"|string_var|tag group value|num_var value|num_var string_var


STRTONUM "string"|string_var|tag group num_var
SWITCHKMX oldmacrofile newmacrofile
TOGGLEALARM node:tag|string_var|tag group
TOGGLEDIG node:tag.field|string_var|tag group
TOGGLEMANL node:tag|string_var|tag group
TOGGLESCAN node:tag|string_var|tag group
#num_var=SQL("database","UPDATE","col(s)","table","condition",cache,"")
VIEW file name|string_var|tag group "string"|string_var|tag group
ZOOM object|string_var|tag group picture|string_var|tag group

Command Listing: Relative Syntax


ALARMACK
ALARMACKALL
BASEPIC
CLOSEDIG
CLOSEPIC
DISABLEALARM
ENABLEALARM
FINDLINK "object"|string_var|tag group
GETVAL *variable
OFFSCAN
ONSCAN
OPENDIG
OPENPIC OR OPENPIC * -1 nickname OR OPENPIC * -1 nicknametaggroup
PAN X,Y
RAMP *%EGU|num_var
REPLACEPIC * picture2|string_var|taggroup[taggroupfile|t

788

iFIX with FIX Desktop

SETAUTO
SETMANL
SETVAL * value|num_var
SWITCHKMX *newmacrofile
TOGGLEALARM
TOGGLEDIG
TOGGLEMANL
TOGGLESCAN
ZOOM OR ZOOM * picture|string_var|taggroup

Application Command Line Parameters


This appendix provides the applicable command line parameters for use with the following
applications:

Historical Display

Recipe

View

This information will help you use command line parameters correctly when using the RUNTASK
command. For detailed information on these applications, refer to the appropriate manuals.
Historical Display
Parameter Name

Syntax

Command File

-CF 'filespec'

Examples

-CF
`C:\FIX32\LOCAL\ARG.TXT'

Chart Group

-CG 'chart groupname

If you do not specify a chart


group in combination with
other command line
parameters, the Default
chart group is used.

Chart group namecan be up


to 39 characters long and
must be enclosed in single
quotes.

-CG 'chart one'

789

iFIX with FIX Desktop

Parameter Name

Syntax

Examples

Pen Group

-PG 'pen group name'

-PG 'Temp Pens'

If specified, this pen group


overrides the pen group
associated with the chart
group.

Pen group namecan be up


to 39 characters long and
must be enclosed in single
quotes.

Time Group

-TG 'time groupname'

If specified, this time group


overrides the time group
associated with the chart
group.

Time group namecan be up


to 39 characters long and
must be enclosed in single
quotes.

Start Time

-ST mm/dd/yy@hh:mm:ss

-ST 03/15/93@08:15:00

If specified, this start time


overrides the start time
specified in the time group.

-ST mm/dd/yy

-ST 03/15/93

-ST hh:mm:ss

-ST 08:15:00

-TG 'yesterday'

Use the date and time


format set up for your
operating system.

790

End Time

-ET mm/dd/yy@hh:mm:ss

If specified, this end time


overrides the end time
specified in the time group.

-ET mm/dd/yy

-ET 03/16/93@10:30:00

-ET hh:ss:mm

-ET 03/16/93

Use the date and time


format set up for your
operating system.

-ET 10:30:00

Duration

-DU dd:hh:mm:ss

If specified, this duration


overrides the duration
specified in the time group.

Maximum: 99:23:59:59

Days Before Today

-DB number of days

If specified, this value


overrides the start date
specified in the time group.

Valid values for number of


days range from -99.

Time Before Now

-TB hh:mm:ss

If specified, this value


overrides the start time
specified in the time group.

Maximum: 23:59:59

-DU 00:00:10:00

Minimum: 00:00:00:10

Minimum: 00:00:10

-DB 2

-TB 00:05:00

iFIX with FIX Desktop

Parameter Name

Syntax

Examples

User-Defined Header Items

-1 'user-defined value''

-1 '2.46'

If specified, this provides a


static value that can be
displayed in a chart.
Placement of the item must
be predefined using the
Header Item Configuration
dialog box.

...

-2 '18'

-10 'user-defined value''

...

User defined value must be


enclosed in single quotes.

-10 'Heating Process'

Recipe
Refer to the following table for recipe details.
Program

Parameter Name

Syntax

Recipe Download

Batch Size

/bbatch_size

All recipe programs

Control Recipe

/ccontrol_recipe

Recipe Builder

DOS Recipe

/ddos_recipe

Error File

/e

All recipe programs

Command Line File

/ffilename

Recipe Builder

Tag Group

/gtaggroup_filename

Recipe Download

Batch ID

/ibatch_id

All recipe programs

Master Recipe

/mmaster_recipe

Recipe Download

Download Remarks

/rremarks

Recipe Builder

Master Recipe Text

/xmaster_text_file

Recipe Download
Recipe Builder
Recipe Upload

Recipe Upload

Recipe Download

791

iFIX with FIX Desktop

Program

Parameter Name

Syntax

Recipe Builder

/ycontrol_text_file
Control Recipe Text

Recipe Download
Recipe Download

Override

variable=value

View
The following table lists the parameters and provides descriptions.
Parameter
Description

Syntax

Example

Open a picture.

-f picture

VIEW -f OVERVIEW.ODF

Suppress error
message.

-s number

VIEW -s175

Open tag group file.

-f picture -t
filename

VIEW -f OVERVIEW.ODF -t
OVERVIEW.TGE

Database Manager
Refer to the following table.
Program

Parameter
Syntax

Description

DBBSAVE

-N nodename

Saves a database on a remote SCADA node.

-D database

Saves a database other than the open database.

-N nodename

Reloads a database on a remote SCADA node.

-D database

Reloads a database other than the currently loaded


database.

DBBLOAD

792

Tag Group Editor Manual


The Tag Group Editor Manual covers the following topics:

Introducing the Tag Group Editor

Using the Tag Group Editor

Using Tag Groups in Displays

Using Tag Groups in Recipes

Introducing the Tag Group Editor


This chapter provides information on tag groups, their use, and how you can benefit from using them
in your applications. The chapter also provides guidelines to help you organize tag group information
before you access the Tag Group Editor (TGE).
If you are new to tag groups, read this chapter first to gain a general understanding before you actually
begin implementing them.
This chapter includes the following sections:

How the Tag Group Editor Works

Before You Use Tag Groups

How the Tag Group Editor Works


The Tag Group Editor is a simple but powerful tool that can significantly reduce development time.
The Tag Group Editor allows you to develop one picture or one recipe that can be used for all similar
groups of tagnames whether the tag groups exist within the same database or are distributed
throughout your iFIX network.
Example
Suppose you work in a factory that produces both oatmeal and chocolate chip cookies, and each type
of cookie requires a different baking temperature. Your factory has 3 ovens that are controlled by
different databases with a similar block structure: Analog Input and Analog Output.

Your real-time control strategy calls for:

Operators to monitor the temperature in each furnace.

Downloading different block alarm parameters with the Recipe package.

This strategy calls for you to develop 3 operator displays and 3 recipes. You realize, however, that the
information that needs to be displayed or downloaded is essentially the same for each oven. The only
discrepancies are the tagnames that reference different databases.
You could use the Tag Group Editor to cut development time and save a considerable amount of disk

793

iFIX with FIX Desktop

space. You could develop one picture and one recipe, and 3 tag group files. The tag groups simply act
as place holders for the tagnames that your iFIX software uses to access specific fields in your
databases.
The following figure shows three databases that have similar block structures, the three tag group files
that correspond to these databases, and the one display that you use to view process data from any one
of the databases.

Three Similar Chains in Different Nodes


The following table describes the numbered sections in the illustration above.

794

Section

Description

OVEN1, OVEN2, and OVEN3 each contain an identical database structure. Only the
tagnames are different.

iFIX with FIX Desktop

Section

Description

A tag group file is created for each oven. Each tag group contains a place holder, or
symbol, and a tagname substitution (in Node:Tag.Field format) for every tagname that
is similar across all three chains.

After Open is selected from the File menu in View, the picture file name
(OVENPIC.ODF) can be selected from the Open dialog box. Because the picture
requires a tag group file, a second dialog box prompts you to specify a tag group file
(GROUP1.TGE, GROUP2.TGE, or GROUP3.TGE).
The tagname field for each of the three links contains a tag group symbol
(?OVENTEMP, ?OVENALARM, ?OVENSETPOINT) that acts as a place holder for a
specific database field. View replaces each of these symbols with the tagname defined
in the substitution column of the active tag group file (GROUP1.TGE, GROUP@.TGE,
or GROUP3.TGE).

Any logical grouping of tagnames found on your iFIX network can be represented as a tag group. The
node names and tag group names used in the example above are serially named (OVEN1, 2, 3;
GROUP1, 2, 3). This convention makes the examples easy to understand but is not a requirement for
using Tag Group Editor. You can store an unlimited amount of tags in a tag group file.
Complex Examples
Although the previous example is certainly an important and common application, tag groups can be
used in a variety of other situations as well. For example, you could use tag group symbols as
substitutions for parameters in your FIX Command Language, like in the following example:
When used in Command Language, a symbol can be up to 31 text characters long. Each time the
Command Language reads a symbol, it accesses a specific tag group file and replaces each occurrence
of the symbol with the substitution you defined for it in the active tag group file.
In this example, OVENPIC.ODF is the current picture and has a tag group file loaded (for example,
GROUP1). ?OVENPICTURE is a tag group symbol for a picture file. GROUP2 is a tag group file that
contains specific substitutions for the symbols in the picture file that ?OVENPICTURE represents.
Since all symbols in a command line are defined by the currently active tag group file,
?OVENPICTURE is replaced by the picture file that is defined in GROUP1. However, when the
picture file is opened in View, it will load the tag group file GROUP2.
The remainder of this manual describes how to:

Use the Tag Group Editor.

Use tag group files in the Draw, View, and Recipe applications.

Before You Use Tag Groups


Tag groups are most efficiently implemented when your database design is stable and complete.
Before you develop your database, it is suggested that you adopt a standard naming convention, such
as the naming convention that appears throughout this manual, to make developing your tag group files
easy and straightforward. For example, for the temperature of OVEN1, name the Analog Input block
TOV1. For the corresponding block in OVEN2, name it TOV2. This helps you keep track of your

795

iFIX with FIX Desktop

blocks in the Tag Group Editor, and makes entering data into the Tag Group Editor spreadsheet much
easier.
Develop a List
Your last step is to develop a list of similar tagnames that exist in the same database, or in different
nodes and databases. Such a list helps you create multiple tag group files quickly and accurately. If
planned properly, the same tag group can satisfy both your picture and recipe needs.
For example, the list shown in the following figure corresponds to the example shown in How the Tag
Group Editor Works.

Planning a Tag Group

Using the Tag Group Editor


This chapter provides instructions on creating, modifying, and deleting tag group files. The chapter
focuses on functions that are specific to the Tag Group Editor. It includes topics on:

Creating a New Tag Group File

Tag Group Editor Layout

Exiting the Tag Group Editor

Opening and Closing Existing Tag Group Files

Defining a Tag Group

Editing a Tag Group File

Searching and Replacing Substitutions

Saving a Tag Group File

Deleting a Tag Group File

Tag Group Reports

Creating a New Tag Group File


The Tag Group Editor provides two methods for creating new tag group files. You can start the Tag

796

iFIX with FIX Desktop

Group Editor in Draw on the Apps menu by selecting Tag Group Editor. When you do this, the Tag
Group Editor displays a blank untitled spreadsheet.

A Portion of the Tag Group Editor Spreadsheet


Alternatively, when a tag group file is already open, you can create a new tag group file by selecting
the New command. When you select this command, the Tag Group Editor closes the active tag group
file, prompts you to save any unsaved changes, and then displays a blank spreadsheet.

Tag Group Editor Layout


The layout of the Tag Group Editor follows the standard iFIX spreadsheet format, and functions like
most spreadsheets. The layout can be separated into three specific groups: the menu bar, the menu bar
commands, and the spreadsheet. These groups are described in detail on the following pages.
Menu Bar
The menu bar contains sub-menus that control the file input, output, and editing commands for the
spreadsheet. There are four sub-menus that can be accessed through the menu bar: File, Edit, Font!,
and Help. The Font! menu is standard among all iFIX with FIX Desktop applications. A complete list
of all menu commands and keyboard accelerators of the Tag Group Editor can be found at the end of
this manual.
Menu Bar Commands
The menu bar contains the commands necessary for creating, managing, and formatting your tag group
files. The File and Edit menus both contain commands that are specific to the Tag Group Editor
application. This manual focuses on the Tag Group Editor-specific commands located in the File and
Edit menus. The following table lists these Tag Group Editor menus, their commands, and their
functions.

797

iFIX with FIX Desktop

Menu

Option

Function

File

New

Opens a new tag group file.

Open...

Opens an existing tag group file or report.

Save

Saves the active tag group file.

Save As...

Saves a tag group file to a new name or file type.

Delete...

Deletes a tag group file or report.

Exit

Exits the Tag Group Editor.

Delete Row

Delete a selected row of the spreadsheet.

Search and Replace


Substitutions...

Searches substitution column for specific text and


optionally replaces it with another.

Edit

Column Definitions
The Tag Group Editor spreadsheet has three columns: Symbol, Substitution, and Description. These
are defined below:
Symbol specifies the key word that is replaced by a substitution string. Each symbol can be
alphanumeric text up to 31 characters long.
Substitution specifies the text that replaces a symbol. This field can be either a tagname or any
text up to 95 characters long. The substitution must be appropriate for the location where
the symbol is used. For example, a tagname for a Data Link or a picture name for a
Previous or Next Picture command.
Description describes the function of the tag group. The description field is optional and can
contain up to 71 characters, including special characters, such as -(*)&+% and spaces.

Exiting the Tag Group Editor


To exit the Tag Group Editor, on the File menu, click Exit. If you made changes since your last save,
the Tag Group Editor displays the Save Changes dialog box.
If you want to save changes, select Yes. If you do not want to save changes, select No. If you want to
continue working on your tag group file, select Cancel.

Opening and Closing Existing Tag Group Files


To open an existing tag group file in the Tag Group Editor, on the File menu, click Open. All

798

iFIX with FIX Desktop

previously-saved tag group files have an extension of .TGE and are stored in the picture directory path
that you defined in the SCU. When you select this command, the standard File Open dialog box
appears.
To open a tag group file with the standard Open dialog box, enter the name of the tag group file you
want to open in the File Name field and click OK. The Tag Group Editor opens the specified tag group
file.
If you prefer, you can double-click the tag group file you want to open from the File Name list box.
The Tag Group Editor opens the specified tag group file. The File Open command can also be useful
as a tool that lists all available tag group files.
NOTE: You can also read a tag group report (*.CSV file) into a tag group spreadsheet using the Open
command. Refer to Creating a New Tag Group File for more information on tag group reports.
Closing Tag Group Files
Once the Tag Group Editor opens a tag group file, it cannot open another until the active file is closed.
To close a tag group file, simply select Open again. The Tag Group Editor closes the active tag group
file and opens the file you select.
If you made changes to the old tag group file and have not saved them, the Tag Group Editor prompts
you with the standard Save Changes? dialog box. Select Yes to save your changes to disk. If you do
not want to save your changes, select No. To continue working with the tag group file, select Cancel.
NOTE: The Tag Group Editor does not automatically create back-up files. If you need back-up files,
you must create them manually.

Defining a Tag Group


The Tag Group Editor uses the standard iFIX spreadsheet format to process data. All valid cell entries
in the Symbol and Substitution columns must be alphanumeric and start with a letter. If you developed
a list as described in Before You Use Tag Groups stick carefully to your plan. When you have finished
entering data into the spreadsheet, on the File menu, click Save to save your changes to disk.
NOTE: When you enter tagnames into the substitution column, your iFIX with FIX Desktop software
does not check the format or validity of the tagnames. Be sure to double check the format and spelling
of all tagnames entered into the substitution column.
When creating a second tag group file, you do not have to list the symbols in the exact order as the first
tag group file. However, they must have identical symbol names for the correct substitutions to take
place. In other words, if one file represents the digital limit switch for the fuel intake valve of furnace
A as FIVLIMITSWITCH, then the symbol FIVLIMITSWITCH of furnace B's tag group file should
represent the same type of digital limit switch.
The following sections describe how to enter data into the Symbol, Substitution, and Description
columns of the spreadsheet:

Defining Symbols

Defining Substitutions

Defining Descriptions

799

iFIX with FIX Desktop

Defining Symbols
Symbols are place holders for groups of text in Draw, View, and Recipe. When you enter a symbol
into any of these applications, you must type a question mark prior to the symbol name. This allows
your iFIX software to differentiate tag group symbols from ordinary text. However, when defining
symbols in the symbol column of the Tag Group Editor, you only type the symbol name.
For example, to use a place holder called TEMPERATURE to represent the tagnames of three
similar temperature output blocks, type the following into the symbol column:
TEMPERATURE

If you wanted to implement this symbol into a Data link, you would type the following into the Data
link's tagname field:
?TEMPERATURE

When your iFIX with FIX Desktop software reads text in this format, it identifies the text as a tag
group symbol and replaces each occurrence of the symbol with the correct substitution.
To define a symbol in the Tag Group Editor spreadsheet:
1.

Select the desired cell in the Symbol column by clicking it.

2.

Type a symbol name. The symbol name can be a maximum of 31 alphanumeric characters. As
you type, the text appears in the text editing box of the spreadsheet.

3.

Select ENTER to enter the data into the desired cell.

NOTE: If you plan to read in or report comma separated files, you should not use the word SYMBOL
as a tag group symbol name. See Creating a New Tag Group File for more information on tag group
reports and comma separated files.
Select another cell to continue. You do not have to define a symbol's substitution before entering
another symbol, but you cannot enter data into a substitution cell without first defining its symbol. For
example, you can enter all of your symbols into the spreadsheet as a first step, and then enter their
substitutions as another step.
Defining Substitutions
Substitutions are text strings that replace symbols in Draw, View, and Recipe. When typing a
substitution, it is important to keep in mind that the Tag Group Editor simply replaces the exact data it
finds in the symbol column with the exact data it finds in the substitution column. Double check to be
sure that the data you enter in all cells is typed correctly. If a substitution needs to be in a specific
format, such as a tagname, make sure the text is formatted correctly.
To define a substitution in the Tag Group Editor spreadsheet:

800

1.

Select the desired cell in the Substitution column by clicking it.

2.

Type the text that you want to replace for the symbol on the left. The substitution data can be
a maximum of 95 alphanumeric characters. As you type, the text appears in the text editing
box of the spreadsheet.

3.

Select ENTER to enter the data into the desired cell. If you have not defined the adjacent

iFIX with FIX Desktop

Symbol cell, an error message appears and instructs you to do so first.


Defining Descriptions
The description cell offers a way to describe the function of a specific tagname substitution. The
description field is optional, and is not involved in the functionality of the Tag Group Editor. However,
it can be a powerful tool to help you organize and keep a record of tag groups that you create.
It can also be a useful visual aid when printing a report. Each description cell can contain up to 71
alphanumeric characters.
To define a description in the Tag Group Editor spreadsheet:
1.

Select the desired cell in the Description column by clicking it.

2.

Type the description into the desired cell. The data you enter can be a maximum of 71
alphanumeric characters. As you type, the text appears in the text editing box of the
spreadsheet.

3.

Select ENTER to enter the data into the desired cell. If you have not defined that row's Symbol
cell, an error message appears and instructs you to do so first.

Editing a Tag Group File


While creating or customizing your iFIX with FIX Desktop system, you may find it necessary to
modify the symbols, substitutions, or descriptions that you have previously entered into a tag group
file.
Editing a Cell
To edit a cell in the Tag Group Editor spreadsheet:
1.

Highlight the desired cell and press ENTER, or simply double-click the cell. The Edit Cell
Data dialog box appears.

2.

Type the correct text into the edit field of the dialog box.

3.

Select OK to incorporate the new changes. If you make a mistake, select Cancel to revert to
the original cell data.
NOTE: You can also use the Edit Cell Data dialog box to delete an entire row from the
spreadsheet. Simply double-click any cell in the row you want to delete, delete all text from
the edit field, and select OK.

Deleting a Row
You can delete an entire row from a tag group file by selecting the Delete Row command from the Edit
menu. When you select Delete Row, the symbols, substitutions, and descriptions you delete are
irretrievable.
To delete an entire row of the Tag Group Editor spreadsheet:
1.

Highlight any cell in the row you want to delete.

801

iFIX with FIX Desktop

2.

On the Edit menu, click Delete Row. The Tag Group Editor removes the selected cell's row
from the spreadsheet.
TIP: You can also delete a row of the spreadsheet by highlighting any cell in the desired row
and pressing the DELETE key.

Searching and Replacing Substitutions


Sometimes it is necessary to change a particular symbol's tagname substitution. For example, if a
tagname has changed within a database, you need to update all applicable substitution columns. You
could locate specific tagname substitutions by simply scrolling through the spreadsheet using the scroll
bars or arrow keys. However, as the spreadsheet becomes larger, this can become a very timeconsuming task.
For this reason, the Tag Group Editor provides a search and replace function that allows you to locate
tagname substitutions quickly by searching the spreadsheet for a specified tagname and replacing it.
To search for and replace a tagname substitution:
1.

On the Edit menu, click Search and Replace Substitutions. The Search and Replace Tagnames
dialog box appears.

2.

In the Search For field, enter the tagname you want to search for. If you choose, you can use
asterisk wildcard characters (*).

3.

In the Replace With field, enter the tagname you want to use as a replacement for the tagname
in the Search For field. If you choose, you can use asterisk wildcard characters (*).

4.

Select Replace to begin the search and replace procedure. A message appears inside the
Search and Replace Tagnames dialog box and reports the number of occurrences that
changed: 1 occurance(s) changed

See Learning the Basics in the Draw Manual or more information on using the asterisk wildcard
character in the Search and Replace Tagnames dialog box.

Saving a Tag Group File


When you finish searching for and replacing a tagname substitution, you can return to the spreadsheet
by selecting a cell. The Search and Replace Tagnames dialog box remains on the display until you
deselect Search and Replace Substitutions from the Edit menu or select Close from the dialog box's
Control-menu box.
NOTE: The Search and Replace Substitutions command only functions with Node:Tag substitutions. If
you enter text into either of the Search and Replace fields that is not in Node:Tag format, you will be
prompted to enter a valid tagname.
When you finish making changes to a tag group file, you need to save the tag group file to disk in order
to make your changes permanent.
To save an existing tag group file:

On the File menu, click Save. The updated file writes over any previously-saved tag group file.

If you are saving a new tag group file, the Tag Group Editor prompts you to enter a name for the tag

802

iFIX with FIX Desktop

group file by displaying the standard Save As dialog box.


To save a new tag group file:
1.

On the File menu, click Save. The Save dialog box appears.

2.

In the File Name field, enter a new file name and select Save. The Save As command can
also be used to save a tag group file under a different name or to create a backup tag group
file.

NOTE: You can also report a tag group file using the Save and Save As commands. Refer to the Tag
Group Reports section for more information on tag group reports.

Deleting a Tag Group File


As you customize your iFIX with FIX Desktop system, you may find that certain tag group files have
become obsolete. You can delete them by using the Delete command from the File menu.
To delete a tag group file:
1.

On the File menu, click Delete. The File Delete dialog box appears.

2.

Type the name of the tag group file you want to delete into the File Name field and click OK.
If you prefer, you can select the desired tag group file by double-clicking it in the Tag Group
list box. A confirm delete dialog box appears.

3.

Select Delete from the confirm delete dialog box. The Tag Group Editor deletes the specified
tag group file.
NOTE: You can also delete tag group reports (*.CSV files) using the Delete command.
Refer to the Tag Group Reports section for more information on tag group reports.

Tag Group Reports


The Tag Group Editor can read in and report out tag group information formatted as a comma
separated variable (CSV) file. Comma separated files are useful if you want to exchange tag group
information between a third-party text editor, spreadsheet, or word processor and the Tag Group
Editor. The Tag Group Editor recognizes files with a .CSV file extension as tag group reports.
Tag group reports have several benefits. A large tag group file can be saved as a tag group report,
opened in a text editor or word processor, and printed as a standard text file. The printout provides an
on-paper list of all symbols, substitutions, and descriptions defined in the Tag Group Editor
spreadsheet. This list can help you verify your tag groups before you implement them into your
SCADA strategy. Tag group reports also allow you to enter tag group information into an application
you are more familiar with, such as Microsoft Excel or a text editor, and then read this information into
the Tag Group Editor.
Tag Group Report Format
The Tag Group Editor provides an easy-to-use spreadsheet interface. However, you may feel more
comfortable entering tag group information in your favorite spreadsheet application or text editor
rather than the Tag Group Editor spreadsheet. Some spreadsheet applications, such as Microsoft Excel,
provide a CSV format option within their Save As dialog box. If you use this method, all formatting
required for the file to be read into the Tag Group Editor is done for you.

803

iFIX with FIX Desktop

If you prefer to use a text editor, you must follow some simple formatting rules to make sure that the
text file is successfully read into the Tag Group Editor. In general, each line of the text file should be
typed similarly to the following:
OVENTEMP,OVEN1:TOV01.F_CV,OVEN1 CURRENT TEMPERATURE

In this example, OVENTEMP is the name of a tag group symbol, OVEN1:TOV01.F_CV is the
substitution, and OVEN1 CURRENT TEMPERATURE is the description.
If you are using a text editor, and the name of a symbol, substitution, or description contains a
quotation mark ( " ) or the same list separator defined in the Control Panel, you must enclose that
component in quotation marks. Also, you must type an extra quotation mark before each quotation
mark within a component. For example, if you are entering a symbol named OVEN"TEMP into your
text editor, you must type "OVEN""TEMP" as your symbol name.
Each line in your text file will represent one row when read into the Tag Group Editor spreadsheet.
The information should always be typed in the same order as it appears in the Tag Group Editor
spreadsheet (symbol, substitution, description). A list separator must be used to separate each
component of the tag group. You must use the same list separator defined in the International section
of your Control Panel. In most cases, this will be a comma ( , ). If you do not want to include a
description, type a list separator after the substitution and leave the rest of the line blank.
The symbols, substitutions, and descriptions that you type into your text file have the same length
limitations as the corresponding component in the Tag Group Editor spreadsheet. Be careful not to
exceed this length. When you read a component into the Tag Group Editor that exceeds its maximum
length, a blank space is displayed in the corresponding cell and an error message is generated.
The Tag Group provides a text file in the PIC directory, TGEIMP.ERR, that contains a list of errors
that occurred during the import of a comma separated file. After you read in a comma separated file, be
sure to open this file and verify any errors. Note that if that no errors occurred during the import, this
file will not exist.
NOTE: If a row in a comma separated file does not contain at least a symbol, the entire row will not
be read in.
If you want to include comment statements in your text file, you must enclose each line of the
comment in brackets ( [ ] ). Information in brackets will not be read into the Tag Group Editor
spreadsheet, but will remain in the file to be displayed or printed by a text editor. For example, you
may want to include comments in the text file that display the name of the tag group file, the date the
file was created, and each date that the file is modified.
NOTE: Including comments in your CSV file is optional. Comments and blank lines can be embedded
anywhere within the file. If you save the CSV file from a spreadsheet, such as Microsoft Excel,
comments must start in the first column.
As long as these simple formatting rules are followed, any text file saved with a .CSV extension can be
read into the Tag Group Editor.
Reading in Tag Group Reports
To read a tag group report into the Tag Group Editor:
1.

804

On the File menu, click Open. Select the directory that contains the tag group report you want
to read in from the Directories list box.

iFIX with FIX Desktop

2.

Select the List Files of Type drop-down box and click the Tag Group Reports (*.CSV) option.

3.

Double-click the name of the report that you want to read in from the File Name list box. The
Tag Group Editor reads the specified tag group report into the active spreadsheet.

If you read a tag group report into an existing tag group file, the new information is inserted after the
last row of data in the spreadsheet.
If you attempt to open a CSV file that is already in use by another application, such as Excel, a File
Not Found message appears. You must close the file before opening it in the Tag Group Editor.
If you open a file and no entries appear in the spreadsheet, the list separator used by the file may be
different from the list separator defined by the computer's International settings. To resolve this
conflict, change the separator in the Control Panel and open the CSV file again.
Reporting a Tag Group File
When you report a tag group file, the Tag Group Editor applies all formatting rules described above.
Each line in the report represents a row in the Tag Group Editor spreadsheet, with the exception of
bracketed information. As you will recall, information in brackets is ignored when read into the Tag
Group Editor. A tag group report automatically provides three comments, together called the header, at
the top of the report. The header displays a title, the path of the reported tag group file, and the report
date. A sample tag group report is shown in the following figure.

Tag Group Report


As shown in the previous figure, header information is enclosed in brackets. Each component of a tag
group is separated with a list separator. You may notice, however, that the Tag Group Editor encloses
every tag group component in quotation marks, regardless of whether it is one of the exceptions
discussed earlier. Even though quotation marks are not required, it does not adversely affect the import
or export of comma separate files to enclose each component in quotation marks. The Tag Group
Editor assumes that all components could contain a list separator or quotation mark, and uses the
quotation marks as a safeguard. If you want, you can delete the quotations around any component that
does not contain a defined list separator or quotation mark.
NOTE: The tag group report also provides a text line with the descriptors SYMBOL, SUBSTITUTION,
and DESCRIPTION. This line is provided for readability only. When reading in a report, the Tag
Group Editor ignores any line that begins with the word SYMBOL. If you plan to use reports, do not
name any of your symbols with the word SYMBOL.

805

iFIX with FIX Desktop

Creating a Tag Group Report


To create a tag group report:
1.

Open the tag group file (*.TGE) that you want to report.

2.

On the File menu, click Save As.

3.

Select the Save File as Type drop-down box and click the Tag Group Reports (*.CSV) option.

4.

Type a report name in the File Name field and click OK.
The Tag Group Editor saves the active tag group file's information to a comma separated file.
The comma separated file has an extension of .CSV and is stored in the picture path.

Deleting Reports
To delete a tag group report:
1.

On the File menu, click Delete. Select the directory that contains the tag group report you
want to delete from the Directories list box.

2.

Select the List Files of Type drop-down box and click the Tag Group Reports (*.CSV) option.

3.

Double-click the name of the report that you want to delete in the File Name list box. The Tag
Group Editor deletes the specified tag group report.

Using Tag Groups in Displays


The following section outlines the steps needed to use tag groups with Draw and View. The table
below provides a list of common areas within these applications that support tag group files, and gives
a brief description of each area's substitution limits. Consult the Draw Manual and the View Manual
for specific information regarding the setup and operation of these applications.
Area

Field

Substitution

Links

Tagname

Tagname

Dynamic Properties

Tagname

Tagname

Commands

Picture Name

Tag Group Name

Purpose
The main idea behind the use of tag groups in displays is that you can create one generic picture to
represent a number of similar processes. Instead of creating and maintaining several pictures that
display similar types of information, you can create one universal picture that accesses multiple tag
group files. Each tag group file defines a different set of tagnames within the picture.
There are four basic steps for incorporating tag groups into a display:

806

iFIX with FIX Desktop

Building databases with a similar block structure (Database Manager).

Creating the necessary tag group files (Tag Group Editor).

Entering tag group symbols into the tagname fields of a display (Draw).

Assigning a tag group file to a display (View).

Using Tag Groups in Draw


It is assumed that by this point you know how to plan a database that can easily implement tag groups,
and that you understand how to build a tag group file. The last two steps are described in the following
sections.
Example
Let's refer back to the example of the cookie factory that contains 3 ovens. You are required to monitor
the temperature of each oven. Ordinarily, you would create 3 displays identical to each other except for
the tagname of the Data link that fetches the current temperature values of each oven.
By creating three tag group files, you can create one display instead of three. Each oven's tag group file
contains the specific tagname that provides information on that oven's current temperature.

OVEN1 Tagname: OVEN1:TOV01:F_CV

OVEN2 Tagname: OVEN2:TOV02:F_CV

OVEN3 Tagname: OVEN3:TOV03:F_CV

Eventually, you would enter this tagname into the substitution column of each tag group file. First, you
should devise a relevant tagname symbol for the current oven temperature, such as OVENTEMP. This
is the symbol which you will enter into the Data link's tagname field in place of the tagnames shown in
the table above. You could then modify the display by substituting ?OVENTEMP for
OVEN1:TOV01.F_CV within the Data link's tagname field.
The following figure shows the associated tag groups and resulting display from the example above.
Notice that each tag group uses the same symbol but assigns a different tagname to it. In OVEN1's tag
group the symbol OVENTEMP is associated with the tagname OVEN1:TOV01.F_CV, but in Using
Tag Groups in Picture PropertiesOVEN3's tag group the same symbol is associated with the tagname
OVEN3:TOV03.F_CV.

807

iFIX with FIX Desktop

Using Tag Groups with Displays


Using Tag Groups in Links and Dynamic Properties
The format for entering a symbol into all links and dynamic properties that support tag groups, such as
the tagname field of a link menu, is as follows:
?[SYMBOL]

All links and dynamic properties that have tagname fields support this format. The only difference
when entering tag symbols in different areas is how you must define each tag symbol in the Tag Group
Editor. For example, the symbol that you enter into the tagname field of Data links, Multi-Pen links,
Multi-Bar links, and dynamic properties must reference a specific tagname. But the symbol that you
enter into the Previous and Next Picture command fields must reference a specific ODF file. See the
table in the Using Tag Groups in Displays topic for specific fields in Draw that support tag group
symbols.
Some links and dynamic properties require only a Node:Tag in their tagname field. The Field portion
of these tagnames is pre-assigned by your iFIX with FIX Desktop software. If you plan to use tag
group symbols for these tagnames, you must include the entire tagname syntax, Node:Tag.Field, in the
Substitution column of the Tag Group Editor. Refer to the table below for the links and dynamic
properties affected and the tagnames to define in the Substitution column.
The Color Threshold dynamic properties allow you to use both current values and register block
offsets to define the thresholds. When defining the offset to use, enter the node and tagname of the
Analog Register or Digital Register block and add the offset number as the field.
NOTE: Configuration dialog boxes that feature a FETCH LIMITS button, including the EGU ranges
for Chart Pens and Data Link Data Entry, will disable the FETCH LIMITS button when a tag group
symbol is used.

808

iFIX with FIX Desktop

Using Tag Groups in Picture Properties


The Next and Previous commands (PGUP and PGDN) allow a user to form a hierarchy of pictures.
Instead of using commands from the menu bar, you could use keystrokes to switch between pictures.
Once you have incorporated tag group symbols into your pictures, however, the Next and Previous
commands will require you to specify a tag group file in order to open the picture.
To specify a tag group file in the Next and Previous commands:
1.

In Draw, on the Edit menu, click Picture. The Picture dialog box appears.

2.

Enter the name of the picture file you wish to configure as a previous or next picture into the
Picture Name field. You now have two choices:
o

If you always want the next or previous picture file to assign the same tag group file,
enter a specific tag group file name into the tag group name field.

If you want the next or previous picture file to access multiple tag group files, leave
the tag group name field blank. When you type PGUP or PGDN in View, and the
picture file you have specified contains tag group symbols, you will be prompted
with the Enter Tag Group Filename dialog box. See Using Tag Groups in View for
more information on this dialog box.

Using Tag Groups in View


Upon opening a picture, View checks to see if it contains tag groups. If the picture contains tag groups,
you will be required to specify a tag group file in order to open the picture successfully. While in
View, you can specify which tag group file to load into a display by entering a tag group file name into
the Enter Tag Group Filename dialog box.
To specify which tag group file to load into a display:
1.

Select a picture file from the File Open command in View by either double-clicking it or
typing it into the File Name Field and pressing Enter. The Enter Tag Group Filename dialog
box appears.

2.

Select a tag group file by typing it into the file name field and pressing Enter or by doubleclicking it in the list box. View opens the picture with the tag group file you have specified.
NOTE: In View, if you open a picture that accesses a tag group file, and you make changes to
that tag group file while the picture is active, you need to close and reopen the picture for the
changes to take effect.

Using Tag Groups in Layout Files


You can also specify tag group files within the ASCII layout files that View uses to initially display
pictures. When you select Save Layout from the File menu, an ASCII file is produced which lists all of
the pictures currently open and their location on the screen.
Layout files have an extension of .LYT and are stored in the picture directory path you defined in the
SCU. If you save a layout containing a picture which requires a tag group file, the name of the tag
group file that is currently active will also be written in the layout file. You can edit this ASCII file and
specify a different tag group to use in place of the one that was saved in the layout.

809

iFIX with FIX Desktop

Using Tag Groups in the Command Language


The Command Language is a powerful scripting tool that lets you automate operator tasks through a
series of commands and instructions. These instructions are stored in command language scripts that
execute upon request. By using the Command Language effectively, you can add custom functionality
to your automation strategy. Refer to the Command Language Manual for specific information
regarding the Command Language.
There are four methods for processing Command Language scripts in View:

Push button links, defined in the Command Language Editor.

Keystroke macros, defined in the Macro Editor.

Open and Close Picture commands, defined in the Command Language Editor.

Command dynamic properties, defined in the Command Language Editor.

The syntax of the command script from both methods above is the same. Therefore, the manner in
which you incorporate tag groups into each of these scripts is also identical. Simply enter a tag group
symbol for a command line parameter you want to make generic. For example, if you want to switch
the tagnames of the current picture (OVENPIC.ODF) with the tagnames located in the tag group file
GROUP2.TGE, you could use the following command line:
Tag groups are accepted by many of the parameters within the Command Language. The following
example illustrates the wide range of possibilities when using tag groups in the Command Language to
customize your display screens.
Example
The cookie factory example, described in How the Tag Group Editor Works, has three cookie ovens.
You can effectively switch between three tag groups with the Next and Previous commands. But
suppose your cookie factory had 9 different ovens, and you have created a single picture file that
accesses 9 different tag group files. Your tag group files need to have the ability to be accessed in a
random order.
You could create a second picture file that contains only push button links. Each push button loads a
different tag group file into your display. This is illustrated in the following figure.

810

iFIX with FIX Desktop

Using Tag Groups with Push Button Links


The following table describes the numbered sections in the illustration above.
Section

Description

Step 1 illustrates a picture that contains 9 push button links that access 9 different tag
group files. When you select the OVEN1 push button, the tagname that references the
current temperature of OVEN1 (OVEN1:TOV01.F_CV) is loaded into your picture file.

811

iFIX with FIX Desktop

Section

Description

Each push button link contains a command that you specify in the Command Language
Editor. In this example:

OPENPIC is the command used to open the picture with a different tag group
file.

-1 is the placeholder for the picture placement parameter.

* is the placeholder for the nickname parameter.

GROUP1 is the tag group file the you ant to assign to the picture file OVENPIC.

OVENPIC.ODF is opened, but is assigned a different tag group file. The picture looks
identical, but it references different database values. The current oven temperature for
OVEN1, which is represented by OVEN1:TOV01.F_CV, is now displayed.

Using Tag Groups in Recipes


The following section outlines the steps needed to use tag groups with recipes. The table describes the
common area within Recipe Builder that supports tag groups and also provides a brief description of
the area's substitution limits. Consult the Creating Recipes manual for specific information regarding
the setup and operation of Recipe Builder.
Location

Substitution

Identifier column

Tagname (Node:Tag.Field format)

Learning About Recipes


When operators need to change a single process value, they can enter it into the specific display link.
However, if operators at your plant frequently need to change several database values, you may want
to use a recipe instead.
A recipe is a set of rules for changing one or more process values to specific database blocks. By
defining these rules and the block values to modify, you can eliminate the need to enter values
manually. Using recipes also improves the efficiency of your factory by enhancing your ability to reuse
your equipment for multiple applications.
Master and Control Recipes
Recipe Builder creates two types of recipes: master recipes and control recipes. A master recipe is best
thought of as a template or as the generic version of a recipe. A control recipe can be thought of as a
product-specific version of the recipe. The following table illustrates the relationship between master
and control recipes.

812

iFIX with FIX Desktop

Master Recipe

Control Recipe

Acts as a template

Acts as a production version of recipe

Created and modified by process engineers

Modified and downloaded by operators

Any recipe you create or modify with Recipe Builder can be saved as a master or control recipe. Saving
recipe information as a master recipe enables you to modify it later without restriction.
Recipe Builder uses a spreadsheet format which includes a Identifier column and a Formula column, as
shown in the following figure.

The Recipe Spreadsheet


The Identifier column enables you to enter the tagname of a database value for which you want to
apply a formula. The text you enter into the Identifier column must be in the standard tagname format.
The Formula column enables you to enter the formula of the recipe item in the Identifier column, such
as a numeric constant or a mathematical expression.

Using Tag Groups in Recipe Builder


Using Recipe Builder you can create as many master recipes as you need. This is particularly useful

813

iFIX with FIX Desktop

when you only need a small number of master recipes, or when you are creating master recipes for
very different products. However, if the products you produce are similar, it may be advantageous to
create one, multi-purpose master recipe and assign tag group files to it.
Example
Let's add a recipe to the cookie factory example in the How the Tag Group Editor Works section.
Remember, your factory has 3 ovens that are controlled by different databases with similar block
structure: Analog Input and Analog Output. Your factory bakes two different types of cookies
chocolate chip and oatmeal. Chocolate chip cookies require a baking temperature of 350 degrees
Fahrenheit, but oatmeal cookies require a baking temperature of 375 degrees Fahrenheit.
Suppose you want to bake both kinds of cookies in each of the three ovens at different times. You need
to be able to switch the temperature setpoints of the three ovens. You could duplicate your chocolate
chip recipe for the second and third ovens. The two additional chocolate chip recipes are identical to
the original recipe except for the tagnames that control the temperature setpoint.
However, by creating three tag group files you can save yourself the need for creating two additional
recipes. First, you need to develop a list of the specific tagnames that download temperature setpoint
values, like in the example below:
OVEN1 Tagnames

OVEN2 Tagnames

OVEN3 Tagnames

OVEN1:OVSP01.F_CV

OVEN2:OVSP02.F_CV

OVEN3:OVSP03.F_CV

Next, replace the tagnames in the Identifier column of the original recipe with tag group symbols.
Symbols used in Recipe Builder, like in all other applications, can be up to 31 alphanumeric characters
and must begin with a question mark (?).
For example, you could replace OVEN1:OVSP01.F_CV with the symbol ?OVENSETPOINT in our
original recipe. The following figure illustrates the resulting original recipe and the associated tag
groups. Notice that each tag group uses the same symbol but assigns a different tagname to it. In
OVEN1's tag group, the tagname OVEN1:OVSP01.F_CV is assigned to the symbol
?OVENSETPOINT, but in OVEN3's tag group the same symbol is associated with the tagname
OVEN3:OVSP03.F_CV.

814

iFIX with FIX Desktop

Using Tag Groups with Recipes

Entering Symbols into Recipe Builder


The procedure for entering tag group symbols in Recipe Builder is much the same as entering symbols
in the tagname fields of Data links. Instead of entering specific tagnames into the Identifier column of
the Recipe spreadsheet, simply enter the symbol you have defined for it in the Tag Group Editor.
The format for entering a tag group symbol into the Identifier column is as follows:
?[SYMBOL]

Loading Tag Groups into Recipes


You can assign a tag group file to a master recipe using the Assign Tag Groups command. Any control
recipes created from a master recipe use the tag group file assigned to that master recipe. You cannot
assign a new tag group file to a control recipe using the Assign Tag Groups command. Instead you
must open the master recipe, assign a new tag group file and save the recipe as a control recipe.
When you select Assign Tag Groups, the Assign Tag Group dialog box appears.
Tag Group File Name Field
The Tag Group File Name field allows you to enter the name of the tag group file you want to use for
this recipe. Tag group files used in Recipe Builder are stored in the picture path and have a .TGE
extension.
Show Symbols/Show Tagnames Commands
The Show Symbols and Show Tagnames commands, located under the Window menu, allow you to
display either tag group symbols or tagnames in the Identifier column. When started, Recipe Builder
automatically defaults to the Show Symbols mode. When you enable the Show Tagnames command,
Recipe Builder replaces the tag group symbols with their assigned tagnames. The recipe identifier

815

iFIX with FIX Desktop

cannot be modified when tagnames are displayed.


If Recipe Builder cannot locate the assigned tag group file (for example, if the tag group file does not
exist), the program continues to display the tag group symbol.
Assigning a Tag Group File
The steps that follow explain how to assign a tag group file to a master recipe.
To assign a tag group file to a master recipe:
1.

From the Draw Apps menu, click Recipe. The Recipe Development application appears.

2.

On the Options menu, click Assign Tag Group. The Assign Tag Group dialog box appears.

3.

In the Tag Group File Name field, enter the tag group file you want to assign to the master
recipe.
If you prefer, select the browse (...) button to the right of the Tag Group File Name field and
double-click the tag group file you want to assign to the master recipe from the list box.

4.

On the Window menu, click Show Tagnames if you want to display tagnames instead of tag
group symbols. To display symbol names once you have displayed tagnames, simply select
the Show Symbols command.
NOTE: In Recipe Builder, if you open a recipe that contains tag group symbols, and you
make changes to that tag group file while the recipe is still active, you need to close the recipe
and reopen it in order for the changes to take effect.

FIX Tag Group Editor Menu Commands


The Tag Group Editor command topics provide a complete description of all menus and their
associated commands. Click on any topic to transfer to information on the selected menu.

File Menu Commands

Edit Menu Commands

The Font! Menu

Help Menu Commands

The File Menu


The File menu contains the commands that help you manage the tag group files in the Tag Group
Editor. To get help for any of the File menu commands, click the appropriate command.

816

New

Open

Save

Save As

Delete

iFIX with FIX Desktop

Exit

File Menu Commands: New


When you start the Tag Group Editor, it automatically opens a new tag group file for you. To create a
new file while the Tag Group Editor is open, select the New command from the File menu.
You will have the opportunity to name the tag group file when you save it.
File Menu Commands: Open
The Open command on the File menu brings up an existing tag group or tag group report. When you
select Open, the File Open dialog box appears. Choose the file type from the List Files of Type drop
down box. Select the TGE file extension for a list of tag group files and the CSV file extension for a
list of tag group reports. Select the desired file and click Open to display the tag group file or report.
File Menu Commands: Save
Use the Save command on the File menu to store a tag group file on disk. When a file is initially saved
you will be prompted to enter a file name. Subsequent saves will not prompt you for a name. Rather it
will automatically store the changes to the current file.
It is a good idea to save your work often. Doing so makes recovering from mistakes or system troubles
easier. On the other hand, you should not save any work unless you are sure you want to keep the
changes. Saving permanently alters a tag group file. You can never go back to an older version once
you save changes.
File Menu Commands: Save As
Use the Save As command to save a tag group file under a different name on disk, or to create a tag
group report. This command lets you open a tag group file, make changes to it, and then give the tag
group file a new name when you save it to disk. The Save As command also allows you to save an
existing tag group as a comma separated file (tag group report).
To save a tag group file under a new name or location, select Save As. The standard File Save As
dialog box appears. Enter the new file name or location and click Save. The title bar changes to show
that the changes have been saved under the new name.
To save a tag group file as a tag group report (CSV file), open the existing tag group file and select
Save As. From the Save File as Type drop down box, choose Tag Group Report (*.csv). Click Save to
allow the Tag Group Editor to report the existing tag group.
File Menu Commands: Delete
The Delete command lets you delete a tag group file or a tag group report. When you select Delete
from the File menu, the File Delete dialog box appears. Choose the file type from the List Files of
Type drop down box. Select the TGE file extension for a list of tag group files and the CSV file
extension for a list of tag group reports. Select the desired file or report and click Delete to
permanently remove the tag group file or report from disk.

817

iFIX with FIX Desktop

File Menu Commands: Exit


The Exit command exits the Tag Group Editor.
If you have an open tag group that contains unsaved changes, the Tag Group Editor asks if you want to
save the changes. If you select Yes or No, the Tag Group Editor quits and returns to the window
manager. If you select Cancel, the Tag Group Editor returns to the open tag group file.

The Edit Menu


The Edit Menu
The Edit menu contains the commands that help you manage the tag group symbols, substitutions, and
descriptions within a tag group file. To get help for any of the Edit menu commands, click the
appropriate command.

Delete Row

Search and Replace Substitutions

Edit Menu Commands: Delete Row


The Delete Row command lets you delete symbols, substitutions, and descriptions from a tag group
file. You can delete any row containing these items from a tag group by selecting the Delete Row
command from the Edit menu. When you select Delete Row, the symbols, substitutions, and
descriptions you have deleted are irretrievable.

The Font! Menu


The Font! menu lets you select from a variety of fonts, styles, and point sizes that customize the Tag
Group Editor window. To change the appearance of text in the entire window, select the appropriate
settings from the Font menu.

The Help Menu


The Help Menu
The Help menu gives you access to the Tag Group Editors help system. Click any of the following
choices to access information on using the Tag Group Editor:

Electronic Books

Glossary

About

Help Menu Commands: Electronic Books


Click this topic to open the iFIX electronic books.

818

iFIX with FIX Desktop

Help Menu Commands: Glossary


Click the link below to view the glossary of important terms in TGE:

Glossary

Help Menu Commands: About


Click this command to retrieve version information about the FIX Desktop product you have installed
on your computer.

Keyboard
The following keys and keyboard accelerators are available in the Tag Group Editor to help you move
through the menu bar and dialog boxes.
Movement Keys

The <Alt> key activates the menu bar.

The left and right arrow keys move between menus.

The up and down arrow keys move through menu commands.

The <Enter> key selects a command or dialog box button and records field entries.

The <Tab> key moves the selection box or cursor through all dialog box fields, list boxes,
check boxes, and buttons.

Keyboard Accelerators
Task

Accelerator

Access help for dialog boxes and commands

<F1>

Access help for fields and controls

<Alt><F1>

Delete a row from a tag group file

<Ctrl><D>

Delete a tag group file

<Ctrl><L>

Exit the Tag Group Editor

<Alt><F4>

Open an existing tag group file

<Ctrl><O>

Save a tag group file with a new name

<Ctrl><A>

Save the current tag group file

<Ctrl><S>

819

iFIX with FIX Desktop

Task

Accelerator

Search and replace tagname substitutions

<Ctrl><R>

Search and Replace Tagnames Dialog Box


The FIX Desktop TGE Search and Replace Tagnames dialog box supports the asterisk wildcard
character in both the Search For and Replace With fields.

Search For
Enter the node and tag that you want to search for in the Search For field.
Valid Entries
Enter a node and tag using the following format:
NODE:TAG

Use of the asterisk wildcard character is allowed.


Examples
Original
Tag

Search For Field


Entry

Replace With Field


Entry

Modified
Tag

NODE1:AI1

NODE1:AI1

NODE2:AI2

NODE2:AI2

NODE1:AI1

N*:A*

M*:B*

MODE1:BI1

NODE1:AI1

*1:*1

*2:*2

NODE2:AI2

NODE1:AI1

*:*

N2:A2

N2:A2

NODE1:AI2

*1:*2

*3:*4

NODE3:AI4

NODE1:AI2

NOD*:AI*

BE*:CO*

BEE1:CO2

Replace With
Enter the replacement node and tag in the Replace With field.
Valid Entries

820

iFIX with FIX Desktop

Enter a node and tag using the following format:


NODE:TAG

Use of the asterisk wildcard character is allowed.


Examples
Original
Tag

Search For Field


Entry

Replace With Field


Entry

Modified
Tag

NODE1:AI1

NODE1:AI1

NODE2:AI2

NODE2:AI2

NODE1:AI1

N*:A*

M*:B*

MODE1:BI1

NODE1:AI1

*1:*1

*2:*2

NODE2:AI2

NODE1:AI1

*:*

N2:A2

N2:A2

NODE1:AI2

*1:*2

*3:*4

NODE3:AI4

NODE1:AI2

NOD*:AI*

BE*:CO*

BEE1:CO2

821

How Do I...
Click the appropriate link below for more information about TGE's step-by-step procedures:

Defining a Tag Group

Editing a Cell

Deleting Rows

Searching and Replacing Substitutions

Reporting a Tag Group

Entering Tag Group Symbols in Draw and Recipe

Assigning a Tag Group to a Picture

Assigning a Tag Group to a Recipe

Defining a Tag Group


To define a tag group:
1.

In FIX Desktop Tag Group Editor, select a cell in the Symbol column, type a symbol name,
and press ENTER. The symbol name can be a maximum of 31 alphanumeric characters.

2.

Select a cell in the Substitution column, type a text string that you want to replace for the
symbol on the left, and press ENTER. The substitution data can be a maximum of 95
alphanumeric characters.

3.

If desired, select a cell in the Description column, type the description into the desired cell,
and press ENTER. The data you enter can be a maximum of 71 alphanumeric characters.

Editing a Cell
To edit a specific cell of a tag group:
1.

Select the desired cell and press ENTER, or double-click the cell. The Edit Cell Data dialog
box appears.

2.

Type the desired text into the edit field of the Edit Cell Data dialog box.

3.

Click OK to incorporate the new changes. If you make a mistake, click CANCEL to revert to
the original cell data.

Deleting Rows
To delete an entire row of a tag group:
1.

Highlight any cell in the row you want to delete.

2.

On the Edit menu, click Delete Row. The Tag Group Editor removes the selected cells row
from the spreadsheet.

823

iFIX with FIX Desktop

NOTE: You can also delete a row of the spreadsheet by highlighting any cell in the desired row and
pressing the Delete key.

Searching and Replacing Substitutions


To search for and replace a tagname in the substitution column:
1.

On the Edit menu, click Search and Replace Substitutions. The Search and Replace Tagnames
dialog box appears.

2.

In the Search For and Replace With fields, enter the desired tagnames. If you choose, you can
use asterisk wildcard characters (*).

3.

Select Replace to begin the search and replace procedure.

NOTE: The Search and Replace Substitutions command only functions with the Node:tag portion of
tagname substitutions. If you enter text into either of the Search and Replace fields that is not in
Node:tag format, you will be prompted to enter a valid tagname.

Reporting a Tag Group


To report a tag group to a comma separated file (CSV file):
1.

Open the file you want to report.

2.

On the File menu, click Save As.

3.

Select Tag Group Reports (*.csv) from the Save File As Type drop-down box.

4.

Click OK.

The Tag Group Editor reports the active tag group file to a comma separated file. The report file has an
extension of .CSV and is stored in the picture path that you specified in the System Configuration
Utility (SCU).

Entering Tag Group Symbols in Draw and Recipe


Tag group symbols can be entered into the following areas:

Tagname fields of links in Draw

Tagname fields of dynamic properties in Draw

Selected parameters of command language scripts in Draw or Macro Editor

Identifier column in a recipe

The format for entering a tag group symbol into all of these areas is:
?[SYMBOL]

Assigning Tag Groups to a Picture


Once tag group symbols are entered into a picture, you need to assign a tag group to the picture for it to

824

Tag Group Editor Manual

open. When assigning a tag group to a picture, you have the following options:

Using the Picture Properties dialog box in Draw, assign the picture containing tag group
symbols as a Previous or Next picture, and enter a specific tag group filename into the Tag
Group File field. When the Previous or Next picture is accessed in View, the picture will open
with the tag group file you have previously assigned.

Configure the picture containing tag group symbols to open with the OPENPIC command of a
command language script, and enter a specific tag group filename into the tag group file
parameter. When the command language script is run, the picture will open with the tag group
file you have previously assigned.

Assign a tag group file to the picture containing tag group symbols in View, and save the
picture in a layout file. When the layout is opened, the picture will open with the tag group
file you have previously assigned.

NOTE: If you want operators to assign tag group files, simply enter a tag group symbol into a link,
dynamic property, or command language script within the picture. When the picture is opened in View,
the operator will be prompted with the Enter Tag Group Filename dialog box.

Assigning a Tag Group to a Recipe


To assign a tag group to a recipe:
1.

In Recipe, on the Options menu, click Assign Tag Group. The Assign Tag Group dialog box
appears in Recipe.

2.

In the Tag Group File Name field, enter the tag group file you want to assign to the master
recipe. If you prefer, click the browse (...) button to the right of the Tag Group File Name
field and double-click the tag group file you want to assign to the master recipe from the list
that appears.

3.

Click OK.

4.

On the Windows menu, click Show Tagnames if you want to display tagnames instead of tag
group symbols. To display symbol names once you have displayed tagnames, simply select
the Show Symbols command.

Glossary
You should be familiar with the following special terms used frequently in the Tag Group Editor. Click
any term to display the terms definition.

Asterisk Wildcard Character

Command Language Script

Comma Separated File

Description

Download

Dynamic Properties

Identifier Column

825

iFIX with FIX Desktop

Layout

Links

Macro

Recipe

Substitution

Tag Group

Tag Group Report

Tag Group Symbol

Tagname

TGE

Asterisk Wildcard Character


The asterisk (*) wildcard character is a substitute for a node or tag name. In the Tag Group Editor, you
can use the asterisk when you are searching and replacing tagnames in the Substitution column. For
example:
Example

Description

*:*

Search for all tagnames.

N*:*

Search for all node names that begin with N.

*:PUMP

Search for all tagnames named PUMP on all nodes.

Comma Separated File (CSV File)


The file type that the Tag Group Editor produces when it reports a tag group file. Comma separated
files can be created by the Tag Group Editor and edited in any third-party application that supports
CSV files. Likewise, comma separated files can be created in a third-party application and read into the
Tag Group Editor. These files are stored in the picture directory path that you defined in the SCU.

Command Language Script


A command language script contains up to 50 commands that let operators perform a number of
various tasks by pressing a key sequence, clicking the mouse button, or touching the screen in View.
You define these operator tasks by using the Command Language Editor to create scripts that can be
assigned to:

826

A key or key combination in the Macro Editor

The properties of a picture, so that the script executes when an operator opens or closes the
picture.

A Push Button link in a picture.

Tag Group Editor Manual

The dynamic properties of an object, so that the script executes when an operator selects the
object.

Description
A column in the Tag Group Editor that allows you to describe the function of a specific substitution.
Descriptions are optional and can contain up to 71 characters.

Download
The transfer of data from a recipe to a process database on any SCADA node.

Dynamic Properties
Dynamic properties are object attributes that change in View based primarily on changes in database
values. You can use dynamic properties to produce real-time effects like color and animation, and
create command language scripts for objects.
NOTE: When a dynamic property cannot get the required data from a database because of a
communication or database error, the dynamic property is disabled. The object appears in View as it
would when you open the picture file in Draw.

Identifier Column
A column in the Recipe Builder spreadsheet that enables you to enter the tagname of a database value
for which you want to apply a formula.

Layout
A picture layout contains specific combinations of pictures and their positions on the screen that are
saved as a picture arrangement. View adds a .LYT extension to all picture layout files and stores them
in the picture path defined in the System Configuration Utility (SCU).

Links
Pre-programmed functions that a user supplies with configuration information in order to display or
use information from a database.

Macro
A macro defines a key or key combination that executes a command language script.

Recipe
A set of rules for changing one or more process values to specific database blocks.

827

iFIX with FIX Desktop

Substitution
A tagname or any text up to 95 characters that replaces a tag group symbol. The substitution must be
appropriate for the location where the symbol is used. For example, a tagname for a Data Link or a
picture name for a Previous or Next Picture command.
NOTE: Do not use file extensions when using file names as substitutions. For example, suppose you
want to use the Command Language OPENPIC command with a tag group symbol that references a
file name substitution. The substitution should contain SAMPLE rather than SAMPLE.PIC

Tag Group
A group of tag group symbols and the replacement text (substitutions) that define each symbol.

Tag Group Report


A file that contains information on the symbols, substitutions, and descriptions of a particular tag
group file. Tag group reports are created using the Tag Group Editors Save As command, and are
saved in comma separated (*.csv) format. Tag group reports can be edited in any third-party
application that supports comma separated files, and read back into the Tag Group Editor using the
Open command.

Tag Group Symbol


A label defined in the Tag Group Editor that, when entered into an application that supports tag
groups, allows the substitution of associated information. Symbols can be up to 31 alphanumeric
characters in length.

Tagname
The information needed to access database data. A tagname consists of a node name, database block
(tag) name, and field name in this format:
NODE:TAG.FIELD

TGE
The .TGE file extension is for FIX Desktop tag group files. These files are stored in the picture
directory path that you define in the SCU.
NOTE: For iFIX tag groups, the file extension is .TGD.

828

Historical Trending Manual


The Historical Trending Manual covers the following topics:

Introducing Historical Trending

Assigning Blocks for Trending

Starting and Stopping Collection

Creating Historical Display Charts

Displaying Historical Data

Importing and Displaying Lab Data

Retrieving and Displaying SQL Data

Historical Trending System Messages

Using File Servers

Disk Usage

Introducing Historical Trending


Historical Trending software provides an automatic, comprehensive, and long-term means of sampling,
storing, and displaying process data.
Once process data is collected from SCADA nodes, you can use the Historical Display program to
examine collected data in a variety of graphical display charts.
Data that you want to display in a chart but cannot be collected in real-time by the Historical Collect
program can be imported into the Historical Display program. You can import any data, referred to as
lab data, as long as it is in ASCII comma-separated format. For example, you can create lab data files
in third-party applications such as Microsoft Excel and import the files into Historical Display.
With Historical Trending software set up to collect process data, you have a powerful tool to help you:

Analyze process trends.

Archive process variables to meet federal regulations.

Monitor the efficiency of products.

Maintain equipment.

How Historical Trending Works


Historical Programs
Historical Trending can include the following programs. Below is a brief description of the three
programs and their relationship to each other:

829

iFIX with FIX Desktop

Historical Assign (HTA) defines your collection strategy. Use this application if Classic
Historian is your historian. In this program you define:

The tagnames from which you want to collect data. The tagnames are organized into
collection groups.

Collection parameters for each collection group.

Length of the historical files in hours and how long the files are stored on the collection
node's hard disk.

Historical Collect (HTC) collects data on all tagnames assigned to each active collection group.
Use this application if Classic Historian is your historian.
Historical Display (HTD) allows you to:

Create display charts.

Display process data collected on any network node in display charts.

Display lab data in charts.

Print display charts.

Export data to an ASCII file.

Use this program if Classic Historian is your historian. You can also use Historical Display with
Proficy Historian. However, typically you would use the Proficy Historian Administrator to display
your data, instead of Historical Display, since it has more features.
NOTE: The Historical Display program can be purchased stand-alone. (That is, without the Historical
Collect and Historical Assign programs.) Proficy Historian is a separate product, and you must
purchase a license to use it with iFIX.
Proficy Historian Administrator configure collectors, retrieve data, and display data. Use this
application if Proficy Historian is your historian.
The sections that follow describe how to use HTA and HTC with Classic Historian. For information on
the Proficy Historian configuration and the Administrator, refer to the Proficy Historian
documentation.
Collecting Process Data
The figure in the Example of Historical Trending in Use section shows the Historical Assign and
Historical Collect programs working together on a local node to collect and store process data from
remote nodes in historical data files. The process data is retrieved from both local and remote SCADA
nodes running on your iFIX network and displayed in charts on the local node. Lab data ASCII files
can also be imported into Historical Display and displayed in charts.

Example of Historical Trending in Use


The following is an example of how the Historical Trending software can be applied to collect data and
provide a process record.

830

iFIX with FIX Desktop

Sample Application
You want to monitor the temperature of a heated tank. The points of interest are the I/O points that:

Receive data from the sensor measuring the tank's current temperature.

Monitor the setpoint value.

Collecting Process Data


An Analog Input block, TT1, on the SCADA node monitoring a tank's temperature receives input from
a sensor in the tank. TT1's current value is an important point to trend because it provides a historical
record of the tank's temperature.
An Analog Output block, SPTT1, sends setpoint values to the PLC that controls the tank's heater.
SPTT1's current value is an important I/O point to trend because the Historical Trending software can
record how closely the actual tank temperatures (TT1) compare to the setpoint values that are sent to
the PLC.

831

iFIX with FIX Desktop

In a normal operation, the trend display for both TT1 and SPTT1 should be similar because the input
values for TT1 will match the output values of SPTT1 (maintaining an even temperature).
The following figure shows how data collected on these two blocks appear during normal operation.

Example of a Normal Process


If the heater in the tank failed, the setpoint value from SPTT1 sent to the PLC would not change the
tank temperature to the desired temperature. The following figure shows how data collected by the
Historical Trending software would appear in this situation.

Example of an Abnormal Process


Interpreting Historical Data
The display shown in the previous figure (Example of an Abnormal Process) presents a situation where
the input value trended from TT1 fell while SPTT1 setpoint value remained constant. While looking at
this data in the Historical Display program, you can determine if:

832

There is a break in the communication between the PC to the PLC.

The heater in the tank is defective and cannot maintain the temperature.

An external factor is affecting the heater and needs to be examined.

iFIX with FIX Desktop

The important points illustrated in this example are that the Historical Trending software:

Provides a permanent record of your process that you can use to track process upsets.

Allows you to compare process upsets to product quality produced during the upset.

Allows you to display collected data from other processes with data collected from a similar
process.

NOTE: The Historical software does not provide real-time alarming capability. Please use display
links to notify operators when a process limit is exceeded. You can find additional information on links
in the Draw Manual and the Alarming and Messaging Manual.
The following table gives a brief description of the procedures for setting up and running Historical
Trending:
To...

See...

Assign database blocks for trending and specifying the


parameters for collection.

Assigning Blocks for Trending

Start and stop historical collection.

Starting and Stopping Collection

Create the historical display charts.

Creating Historical Display Charts

Display collected historical data.

Displaying Historical Data

Display imported lab data.

Importing and Displaying Lab Data

Understanding Historical Trending Security


Depending on the account privileges assigned to a user, certain Historical Trending functions may be
disabled or enabled. User account privileges are configured in the Security Configuration program.
The Historical Trending application features that you can enable for a user account are described in the
table below.
Application
Feature

Allows the user to...

Historical Trend
Assign

Configure the Historical Assign program.

Historical Trend
Collection

Start and Stop the Historical Collect program.

833

iFIX with FIX Desktop

Application
Feature

Allows the user to...

Fix32 - Historical
Display Configuration

Create, modify, and save Historical Display charts, pen groups, time
groups, and legends. This is the highest level of rights for Historical
Display that you can assign to a user; it allows access to every feature in
Historical Display.

Fix32 - Historical
Trend Display

Modify and save existing Historical Display charts, pen groups, time
groups, and legends.

Fix32 - Historical
Trend Display View
Only

View existing Historical Display charts. This is the lowest level of rights
for Historical Display that you can assign to a user.

Please refer to the Configuring Security Features manual for more information.
NOTE: If your system administrator has not provided you with security rights to the Task Switching
application feature, and you start Historical Display from View, the Historical Display on-line help
system is disabled.

Assigning Blocks for Trending


The first step in using the Historical software is selecting database blocks. If you are using Classic
Historian, you do this with the Historical Assign program. If you are using Proficy Historian, you use
the Proficy Historian Administrator.
The steps in the following sections explain how to use Historical Assign with Classic Historian. For
information on configuring tags in the Proficy Historian Administrator, refer to the Proficy Historian
electronic books.

Using Historical Assign (Classic Historian)


Historical Assign is used with Classic Historian data. In Historical Assign you create a group of
tagnames called a collection group. This group identifies specific database blocks that contain process
data that you want trended. This chapter describes how to:

Select database blocks for a collection group.

Use Historical Assign to set up the group to collect process data and store it in historical data
files.

Determine Which Blocks To Trend


The task you want to accomplish with the Historical Assign program is to develop a group that collects
meaningful process data. If you assign blocks in Historical Assign that monitor critical process points,
you can later create trend displays that provide useful information on your process, either from one
process area or across multiple process areas. Therefore, review the database that monitors your

834

iFIX with FIX Desktop

process to determine which blocks you need to trend.

Application Example
In the application example in the Example of Historical Trending in Use section, both TT1 and SPTT1
are associated. They contain real-time data on the actual temperature of the tank and the setpoint values
that the SCADA node sent to the PLC to control the tank's temperature. In this example, trending data
from each block provided a meaningful process record when examining the history of your process.
The following figure illustrates this example.

Trending Data From One Process


In another application, suppose you have three tanks for which you want to collect process data. You
can collect data on all the Analog Input blocks that receive temperature input and the Analog Output
blocks that return setpoint values to the PLC to control the tanks' temperatures. The following figure
illustrates this setup.

835

iFIX with FIX Desktop

Trending Data From Multiple Processes


Once historical data is collected on a number of important database blocks, you can create display
charts that allow you to analyze your process from a number of perspectives.
For example, using the example in the previous figure (Trending Data from Multiple Processes), you
can display historical data on how:

Input values from each tank compared to each tank's output value.

Inputs varied from tank to tank.

Outputs from the SCADA nodes varied from tank to tank.

Whatever your analytical needs for viewing historical data, the Historical program allows you to
assign, collect, display, and compare specific process trends to improve your process.

Starting Historical Assign


From Draw, on the Apps menu, click Historical Assign. The Historical Assign (HTA) window appears,
as shown in the following figure.

836

iFIX with FIX Desktop

Historical Assign Window


In the Historical Assign window you select tagnames for trending and determine how to collect the
data. The window has the following fields, buttons, and menus:
File menu allows you to save file length and file purge settings for collection groups, and exit
the Historical Assign program.
Group menu allows you to add, modify, delete, activate and deactivate collection groups.
Help menu contains options for getting on-line documentation.
Configured Historical Collect Group fields Show the configured collection groups in a
numbered list and indicate the Node, Rate, Phase, and Qualifier selected for a collection
group. The collection Status for the group, either active or inactive, displays as well as the
number of Tags in the collection group. You can define up to 255 different collection
groups with 80 different tags in each collection group.
File Length buttons assign the length of historical data files, in hours, for all collection groups.
Data files can span 4, 8, or 24 hours.
Automatically Purge Data Files After Days field assigns, for all collection groups, the number
of days historical data files remain on disk before they are automatically purged.

How to Create a Collection Group


The following is a summary of the tasks you need to complete to create a collection group:
1.

Select the node containing the block tagnames that you want data collected on.

2.

Specify an optional block that determines when the data collection state for the group is on or
off.

837

iFIX with FIX Desktop

3.

Select a data collection rate for how often you want data collected.

4.

Select a phase value to spread out the data collection load over time and prevent overruns.

5.

Select the block tagnames for data collection.

6.

Enter a deadband limit to filter out process fluctuations.

7.

Save the collection group.

Defining a Collection Group


To create a historical collection group from the Historical Assign window, double-click on a group, or
on the Group menu, click Add. The Group Configuration dialog box appears.
The Group Configuration dialog box lists the tagnames you trend and the collection parameters for the
group of tagnames.
Fields and Buttons
The following is a brief summary of the fields and buttons in the Group Configuration dialog box:
Node field identifies the name of the node that contains the database blocks that this collection
group uses during collection.
Qualifier field specifies an optional database block that determines when data collection for the
group is on or off.
Rate field determines how often you want data collected for the block tagnames in the collection
group.
Phase field determines how the system distributes the data collection load.
Tagname list lists the tagnames selected for trending.
Tagname field displays the database block from where data is collected. To display a list of
tagnames for the node displayed in the Node field, select the browse (...) button. The Field
Select dialog box displays a list of tagnames and fields for the node.
Add, Modify, Delete buttons apply to the tagnames listed in the tagname area. First select a
tagname and then select the button to perform the action.
Limit field provides a deadband limit to eliminate recording data within a specified range of the
last recorded value.
Save Changes button saves the changes you made in the Group Configuration dialog box and
closes the window.
Historical Assign File Location
Historical Assign creates a file for each collection group in the historical data path. The following is an
example of the format using the default system path:

838

iFIX with FIX Desktop

C:\Program Files\Proficy\Proficy iFIX\HTR\HTRGRP1.DAT


Instructions for completing the fields in the Group Configuration dialog box are provided in the
following sections:

Selecting a Node

Entering a Qualifier Block for On/Off Collection State

Entering a Data Collection Rate

Phasing Data Collection

Selecting Block Tagnames for Trending

Entering a Deadband Limit for Data Collection

Setting Historical Data File Length

Purging Historical Files

Selecting a Node
In the Node field in the Group Configuration dialog box, enter the name of the SCADA node that
contains the block tagnames for the collection group.
To display a list of the SCADA nodes you are communicating with:
1.

Select the browse (...) button next to the Node field to display the standard Node Select dialog
box.
NOTE: The iFIX local node alias feature is supported in the Historical Display (HTD)
application when using Classic Historian. With this feature, you can share historical
collection groups across nodes without changing the node name. To do this, you substitute a
placeholder, THISNODE, for the node portion of a tagname. For more information, refer to
the Local Node Alias Support for HTD section.

2.

To search the node list for a particular node, enter a character in the Filter field. For example,
to search the list for all nodes that begin with T, type T* and then select the Filter button to
display a list of nodes beginning with T.

3.

Select a node from the list in the Node Select dialog box and it is entered in the Selection field
below.

4.

Select the OK button. The node is entered in the Node field in the Group Configuration dialog
box.
NOTE: All tagnames in a collection group must be located on the same node.

Entering a Qualifier Block for On/Off Collection State


You can specify an optional Qualifier block to collect data for a specific interval when process data has
changed. In the Qualifier field, enter the block name that determines when the data collection state for
the group is on or off.
The Qualifier block is usually a Digital Input or Digital Output block. You cannot use a Digital
Register block as a qualifier block. When the digital block goes from Open to Close, data collection
starts for the group. When the digital block goes from Close to Open, data collection stops.

839

iFIX with FIX Desktop

If the qualifier block is a block other than a digital block, then a value of 0 stops collection. Any value
other than 0 starts collection.
If a non-digital block is assigned as a qualifier, the following message appears:
The qualifier is not a digital point. Use anyway?

If a non-existent block is assigned as a qualifier, the following message appears:


This qualifier not found in database. Use anyway?

When you start Historical Collect, an operator message is generated warning that the qualifier is not
found.
Displaying a List of Tags
To choose the qualifier block from a list of tagnames for the node entered in the Node
field:
1.

Select the browse (...) button in the Qualifier field. The tagnames for the node displayed in the
Node field are shown in the standard Tag Select dialog box.

2.

To quickly search through a tag list for the node, enter the beginning letters for a tag in the
Filter field. For example, type TT*, and then select the Filter button to display a list of tags
beginning with TT.

3.

Select a Qualifier tag from the list in the Tag Select dialog box and it is entered in the
Selection field below.

4.

Select the OK button. The qualifier tag is entered in the Qualifier field in the Group
Configuration dialog box.

Entering a Data Collection Rate


In the Rate field in the Group Configuration dialog box, enter how often values are to be collected for
the tagnames in the collection group.
Select the browse (...) button to display a list of available rate values. The following table lists the valid
collection rates.

840

Rate

Time

1s

1 second

2s

2 seconds

10s

10 seconds

30s

30 seconds

iFIX with FIX Desktop

Rate

Time

1m

1 minute

2m

2 minutes

10m

10 minutes

20m

20 minutes

30m

30 minutes

The Rate field defaults to 30 seconds. Select a collection rate from the list and then select the OK
button. The selected rate is entered in the Rate field in the Group Configuration dialog box.
TIP: For remote nodes, the minimum recommended collection rate is ten seconds. The one and two
second collection rates are recommended for use only on local nodes.
NOTE: The collection rate operates off the system's clock time rather than when Historical Collection
is started. That is, time increments (hours, minutes, and seconds) for clock time are maintained from
midnight (::) to the present, so no matter when you start the Historical Collection Program, the rate
function runs off the system's clock and begins its collection process in relation to the clock's setting.
Phasing Data Collection
In the Phase field in the Group Configuration dialog box, enter a phase value. Phasing offsets the
collection process for a group by the amount of time entered in the field. When collection starts, it
waits for the phase period to elapse once. Thereafter, data is collected according to the rate defined for
the group.
Preventing Overruns
The main benefit of phasing collection rates when you collect data from more than one node is to
prevent overruns. A historical collection overrun occurs when the Historical Collect program cannot
collect all the data at the rate specified. When an overrun occurs, the collection program does not
collect values for some tagnames.
Phasing Examples
If you assign a Phase time of 2 seconds and a Rate time of 10 seconds, then once collection starts data
will be collected at 2 seconds, 12 seconds, 22 seconds, 32 seconds and every 10 seconds thereafter.

841

iFIX with FIX Desktop

System Clock Showing Phasing


Here is another example of phasing used when collecting data from two nodes and four collection
groups:
A node is collecting data from a group of 80 tagnames on node A and a group of 80 tagnames on node
B. You can phase the collection to collect data on 60 tagnames from node A, and then 60 tagnames
from node B. You can then phase the collection to collect data on another 20 tagnames from node A
and node B. This phase configuration would be entered as follows:

Node A tags 1-60 phase 2 seconds

Node B tags 1-60 phase 4 seconds

Node A tags 61-80 phase 6 seconds

Node B tags 61-80 phase 8 seconds

In this example, the task of collecting data for all tagnames is distributed over a period of 8 seconds.
NOTE: You can assign up to 80 tagnames to a collection group. The Historical program uses less
CPU time to process one group containing 80 tagnames than it does to process eight different groups
with ten tagnames per group.
To phase a collection rate enter by how many seconds you want to stagger collection in the Phase field.
Select the browse (...) button to display a list of available phase values. The Available Phase Values
dialog box appears. The Phase value choices are in 2 second increments from 0 to 58 seconds. The
Phase field defaults to 0 seconds for the first group added in Historical Assign, and then increments by
2 seconds for each additional group added.
NOTE: The Phase value you enter must always be smaller than the Rate value.
Select a Phase value from the list and then select OK. The selected phase value is entered in the Phase
field in the Group Configuration dialog box.
Selecting Block Tagnames for Trending
In the Tagname field in the Group Configuration dialog box, enter the block tagnames you want
trended.

842

iFIX with FIX Desktop

Displaying a List of Tags and Fields


To choose from a list of tagnames for the node entered in the Node field:
1.

Select the browse (...) button in the Tagname field. The standard Field Select dialog box is
shown with a list of tagnames and fields for the node.

2.

To quickly search through the tag list for a specific tag, enter the beginning letters for a tag in
the Filter field. For example, if you type TT* and then select the Filter button, a list of tags
beginning with TT displays.

3.

To quickly search through the fields for a tag, select the tag, and then follow the same
procedure as in Step 2.

4.

When you have selected a tag and field for trending they are entered in the Selection field
below.

5.

Select the OK button in the Field Select dialog box. The tag you chose to trend is shown in
the Tagname field in the Group Configuration dialog box.

6.

Select the Add button to add the tag to the list of Tagnames for trending.

NOTE: Only floating point fields (F_) can be trended.


Deleting a Tag
To delete a tagname in the Tagname list:
1.

Select the tag in the Tagname list.

2.

Select the Delete button.

Modifying a Tag
To modify a tagname in the Tagname list:
1.

Select the tag you want to modify. The tag is shown in the Tagname field below.

2.

Modify the tag in the Tagname box. To select a new tag for trending from a list, select the
browse (...) button.

3.

After you have changed the tag, select the Modify button. The new tag is shown in the
Tagname field and list.

Entering a Deadband Limit for Data Collection


Allowing for Process Fluctuations
Using a deadband limit is a convenient and powerful way to compress data. During times when
process values change by insignificant amounts, the deadband limit can improve system performance
and decrease the amount of disk space used by historical data files. The deadband limit accomplishes
this by controlling how much the current value can deviate from the last recorded value before
Historical Collect records the value in the historical data file.

843

iFIX with FIX Desktop

What to Do
To compress the amount of data recorded by Historical Collect, enter a deadband limit in the Limit
field located on the Group Configuration dialog box. The default for the Limit field is .5.
When you have completed defining a collection group in the Group Configuration dialog box, select
the Save Changes button to save the group. The dialog box closes and you return to the Historical
Assign window.
NOTE:If the limit value is 0, the system saves every sample. Because of this, tagnames with a limit
value of 0 use the maximum amount of disk space.
Limit Example
The following illustration shows how setting the Limit field reduces the amount of data collected by
Historical Collect. In this example the Limit field is set to 2.5. Of the 16 data points shown, only three
are recorded by Historical Collect. Data points within the shaded areas are not recorded because they
fall within the 2.5 deadband limit.

Deadband Limit Example

The first recorded value shown is 50. The next value that Historical Collect records must be:
Greater than or equal to 52.5 or Less than or equal to 47.5.

The second value recorded is 54. The deadband limit now applies to the current value of 54.
Therefore, the third value that Historical Collect records must be:
Greater than or equal to 56.5 or Less than or equal to 51.5.

The third value recorded is 51. The deadband limit now applies to the current recorded value
of 51.

Setting Historical Data File Length


In the Historical Assign window, you specify the length of historical data files for all collection groups.
The File Length button choices are based on a 24 hour clock:

844

iFIX with FIX Desktop

File length button

New files start at...

4 Hour

0:00, 4:00, 8:00, 12:00, 16:00, and 20:00

8 hour

0:00, 8:00, and 16:00

24 Hour

0:00

TIP: For very active process loops where values are rapidly changing, the shorter file lengths of 4 or
8 hours are recommended. For process loops where values are not fluctuating as often, the longer file
length of 24 hours is recommended.
When you change the file length setting, you must save the new setting. On the File menu, click Save.
This saves the new setting to disk.
NOTES:

When you start the Historical Collect, program the first data file only records data from the
starting time until the end of the next data collection interval. For example, if you start
historical collection at 12:25PM, and enter a data file duration of 4 hours, a file is created
for the 12:00 to 4:00 period, but the file only contains data starting at 12:25PM.

If you change the file length while the Historical Collection program is running, you must
stop and restart Historical Collect so that the system can read the new setting, and create
files.

Purging Historical Files


In the Historical Assign window, you can specify the purging of old historical data files for all
collection groups. Using the Days field, enter the number of days you want data to be saved before it is
automatically purged.
The valid entries for saving data are from 2 to 200 days. File purging occurs at midnight, 00:00 hours,
or when Historical Collection is started for the first time in a day.
If you deselect the Automatically Purge Data Files After Days button, old data files are not purged and
remain on your collection node.
When you change the Purge setting, you must save the new setting. On the File menu, click Save. This
saves the new purge setting to disk.
NOTE: If you change the purge setting while the Historical Collection program is running, you must
stop and restart Historical Collect so that the system can read the new setting.
TIP: Before the files are purged, you can remove historical data files from the collection node's hard
disk and copy them to a back-up disk for future use.

Suspending a Collection Group


You can suspend a collection group temporarily if you don't need to look at current data, or the data is

845

iFIX with FIX Desktop

taking up too much disk space on your system.


To suspend a collection group:
1.

Select the group in the Historical Assign window.

2.

On the Group menu, click Deactivate. The Status field for the group changes to Inactive.

To reactivate a collection group:

Select the group, and then on the Group menu, click select Activate.

Modifying a Collection Group


If you want to change the collection parameters for a group at a later date, select the group in the
Historical Assign window and double-click, or on the Group menu, click Modify. The Group
Configuration dialog box is shown in the Defining a Collection Group section, and you can make
changes to the group.
NOTE: If you make changes to a collection group in the Historical Assign program (such as adding
new tags to a group) after you have started the Historical Collection program, you must stop and
restart Historical Collect so that the system can read the new configuration.

Deleting a Collection Group


If you want to delete a group, select the group in the Historical Assign window, and on the Group
menu, click Delete. The following message appears:
Are you sure you want to delete this group?

Select the Yes button to delete the collection group, or the No button to cancel the deletion.

Exiting the Historical Assign Program


When you want to exit the Historical Assign program, on the File menu, click Exit. This closes the
window. If you did not save your changes, the system prompts you to do so before exiting.

Starting and Stopping Collection


After you create a historical collection group with the Historical Assign program or configure your
collectors in the Proficy Historian, you can start collecting data. For Classic Historian, you use
Historical Collect (HTC) to retrieve data from the blocks assigned to trend in Historical Assign. For
Proficy Historian, you use the iFIX/FIX32 Data Collector to collect the data.
The steps in the following sections explain how to use Historical Collect with Classic Historian. For
information on working with Proficy Historian iFIX/FIX32 Collectors, refer to the Proficy Historian
electronic books.

846

iFIX with FIX Desktop

Historical Data File Storage (Classic Historian)


Historical data collected by Historical Collect is stored in the Historical Data directory defined in the
SCU. A subfolder is created for each node assigned in Historical Assign.

Historical Collect File Location (Classic Historian)


Historical Collect files reside in the Historical data path. The following is an example of the format
using the default system path:
C:\Program Files\Proficy\Proficy iFIX\HTRDATA\nodename\YYMMDDHH.H4
Historical collection can be configured to start up automatically and run on any node. Refer to the
Configuring Startup Tasks section in the Setting Up the Environment manual for instructions on how
to set up Historical Collect to run automatically on startup.
NOTES:

If you make any changes to a collection group in the Historical Assign program after you
start Historical Collect, you must stop and restart Historical Collect so that the system can
read the new configuration.

If you add or delete a block from a database that is currently being trended, Historical
Collect re-resolves all the links to the database. This can cause a gap in collected data for all
tags being trended in that database.

Starting Historical Collect


To start Historical Collect (HTC) from Draw, on the Apps menu, click Mission Control. From Mission
Control, click on the HTC tab to open the Historical Collect status window, as shown in the following
figure. Click on Start to begin historical collections.

847

iFIX with FIX Desktop

Historical Collect Status Window


The Historical Collect status window displays the number of overruns since collection was started.
Operator Messages
If you see one of the following messages while using Historical Collect:
Data file write failure. Disk may be full.
Unable to read data file.

Run the HTC_SCAN program. This program is located in your installed product folder. If you
installed to the default location, look for HTC_SCAN in your C:\Program Files\Proficy\Proficy iFIX
folder.
NOTE: HTC_SCAN.exe allows the -S command line option. S stands for Silent. Using this option and
a specified historical file (for instance :-S filename with full path), the utility repairs the file silently
and output all information into HTC_SCAN.LOG file which is located in the same directory as the
specified file.

848

iFIX with FIX Desktop

Preventing Overruns
When the Historical Collect program cannot collect all the data at the rate specified, a historical collect
overrun can occur. When an overrun occurs, values for some tagnames in the group are not collected.
Temporary conditions such as heavy network traffic, network upsets or off line nodes can cause
overruns.
However, a repeated number of overruns may indicate that the phase value for the group needs
adjustment in the Historical Trend Assign program. You can prevent overruns by phasing the data
collection rate. See Assigning Blocks for Trending for instructions on setting phasing to prevent
overruns.

Stopping Collection
To stop collection for all groups, enter Mission Control and click on the HTC tab. From the HTC
window you may then click on the Stop button and all historical collection sessions stop. After you
close this window you cannot display current historical trend information.
System Shutdown
If you shut down your iFIX software system, Historical Collect is automatically shutdown. However, if
you have iFIX as a service enabled under Windows, HTC will continue to collect.
During the time your system is off, data is not collected or written to historical data files. Historical
data files will contain data before the shut down, and collection will resume when you restart
Historical Collect.

Creating Historical Display Charts


This chapter explains how to create historical display charts in the Historical Display (HTD)
application to help you analyze the performance of your process. These display charts, once designed
and saved, can be used and modified at any time allowing you to examine data in a different format, or
at different times.
You can create a number of display charts that allow you to examine how your process functioned at
any point in time. This provides a powerful way to analyze:

Process upsets in relation to product quality.

Productivity across a number of production lines.

Critical process points when experimenting with new production processes.

Typically, you use Historical Display (HTD) application to create display charts for Classic Historian
data. However, you can also use HTD to create display charts for Proficy Historian. For more
information on using HTD with Proficy Historian, and for a description of the limitations, refer to the
Proficy Historian Support in the HTD Application section.

Example
The following figure provides an example of how you can use Historical Display to compare data in
two charts to examine process data. The example shows two charts that compare peak power

849

iFIX with FIX Desktop

consumption on the same day in different plants (one chart for each plant). The engineer has linked the
two charts with the Anchor Time and Link Window commands to show exactly when the peak loads
occurred. Displaying data in this format can help you develop a load-leveling strategy that offsets the
peak power surges. You can use this and other display features to help you analyze data.

Comparing Charts

What You Can Do


Through the Historical Display program, you create and modify display charts by assigning:

850

Database block tagnames, for which data has been collected, to display charts. You can assign
tagnames to multiple display charts.

Lab data variables to a display chart. You can create lab data ASCII files containing variable
values and import them into Historical Display so they can be viewed in a display chart. You
can combine lab data and historical data in the same chart. Refer to Importing and Displaying
Lab Data for more information.

Colors and optional markers to each tagnames data. This allows you to distinguish between
the trend lines in the display.

High and low limits to display each block's data.

A time span for the display chart that can be shifted on demand.

Grid lines to the display chart.

iFIX with FIX Desktop

Information about your tagnames in a display legend.

A header for each display chart, explaining what process information is in the display chart.

Special text fonts for the text in the display chart.

Using Command Line Parameters


The Historical Trending software provides a set of command line parameters that you can use with the
Historical Display program to create and display customized charts allowing you to:

Display a specific chart automatically each time you start Historical Display.

Display or print charts from the VIEW application using the RUNTASK command.

Create ASCII files containing command line parameter statements and then submit the files
using a command line parameter.

Refer to Displaying Charts Using Command Line Parameters for more information on using command
line parameters.

Historical Display File Location


The Historical Display charts you create are stored in files in the Historical data path. The following is
an example of the format using the default system path:

C:\Program Files\Proficy\Proficy iFIX\HTR\PEN.HGP, TIME.HGP, CHART.HGP

If you copy the files to another location, you must move them as a group.

What Follows
The following sections describe how to create historical display charts. Follow the procedures in each
section, in order, when creating your first display chart. Once you are familiar with the Historical
Display's powerful features, you can easily create additional display charts, modify them in seconds,
and fine tune display features to suit your needs.
If displays are already set up and you want to look at collected data, see Displaying Historical Data.

Starting Historical Display


If you are in Draw and want to view the Historical Display (HTD) application, on the Apps menu,
click Historical Display. The Historical Display window appears.
TIP: To increase the area for the trend display, double-click on the title bar. Also, the initial size of the
Historical Display window can be configured in the HTD.INI file. See the Configuring HTD.INI
section for more information.
Menu Options
The Historical Display window allows you to create, and later modify and display charts. When you
first enter the Historical Display window, it has the following functions available:

851

iFIX with FIX Desktop

File menu opens new or existing files, imports and exports data, and prints charts.
Utilities menu creates permanent display charts, SQL queries, and pen and time groups for
charts. The Utilities menu commands are available to you if you have unrestricted access.
Consult your system administrator if you need to create charts, and you do not have access
to this menu.
Font! menu displays the standard Font dialog box to define font type, point size, and font style.
Help menu contains commands for getting on-line help.
Once you have created a display chart, the remaining functions will be available.

How to Create a Display Chart


Task Summary
To create a functional display chart you:
1.

2.

3.

4.

Define a chart group that assigns:

A chart group name.

Chart area colors.

A legend for the chart that provides reference information on the data that is
displayed in the chart.

A chart header.

Define a pen group that assigns:

A pen group name.

Collected historical data or imported lab data to the display chart.

Unique pen colors and markers to each tagname or lab data variable.

Low and high limits to each tagname or lab data variable including the option to
show Y axis labels for each tagname or variable.

The display mode that determines how to select and display data for a tagname.

Y axis details.

Define a time group that assigns:

A start date and time for the display.

A duration and fixed interval for the display.

X axis details.

Save the setup for display chart to disk.

Combining Pen and Time Groups


Once you have defined different pen and time groups, you can reuse them to display any combination
of pen and time groups in a chart. For example, suppose you have defined the following groups:

852

iFIX with FIX Desktop

Time Group

Pen Group

Last Hour defined to look at data collected


over the last hour.

Test 1 defined to collect data on three block


tagnames relevant to your process.

Last Eight Hours defined to look at data


collected over the last eight hours

Test 2 defined to collect data on eight block


tagnames relevant to your process.

You can create a chart that combines the pen group Test 1 with the time group Last Hour to look at
data collected on these blocks over the last hour.
You can also create a chart that combines pen group Test 1 with the time group Last Eight Hours to
look at data collected on these blocks over the last eight hours.
What Follows
The following sections describe the steps to define a chart group:

Defining a Chart Group

Modifying a Chart Group

Each section contains step-by-step instructions to create each element of a display chart. As you work
through each step, define the elements of the display chart according to your own application.
Defining a Chart Group
To create a chart for the first time, on the Utilities menu, click Define Chart Groups. The Define Chart
Groups dialog box appears. The Define Chart Groups dialog box displays information about the
existing chart groups. If you have not created a chart group, it only displays information on the Default
chart group that is provided with the software. The Default chart group is a sample setup that you can
use as a template.
Fields and Buttons for Define Chart Groups Dialog Box
The Define Chart Groups dialog box contains the following fields and buttons:
Chart list box displays a list of charts. Default is the first chart in the list. You cannot delete the
Default chart.
Pen Group field shows the pen group for the selected chart.
Time Group field shows the time group for the selected chart.
Add button adds a new chart.
Modify button modifies a selected chart.
Delete button deletes a selected chart.

853

iFIX with FIX Desktop

OK button confirms changes made to a chart and exits the Define Chart Groups dialog box.
Adding a Chart Group
To create a new chart in the Define Chart Groups dialog box, select the Add button to display the Add
Chart Group dialog box.
NOTE: The chart selected in the Define Chart Groups dialog box determines the settings in the Add
Chart Group dialog box. You can use these as sample settings when creating a new chart.
In the Add Chart Group dialog box you:

Name the display chart and define the chart's attributes.

Select an existing pen group or add a new pen group to the chart.

Select an existing time group or add a new time group to the chart.

Select the default pen and time groups if you are creating these groups for the first time.
Fields and Buttons for Add Chart Group Dialog Box
The Add Chart Group dialog box has the following fields and buttons:
Chart Group field assigns a name to the chart. The chart name appears on the title bar of the
chart.
Attributes button displays the Chart Details dialog box where you define chart area colors,
select a primary or alternate legend, and create a chart header.
Pen Group list box displays a list of defined pen groups. You define these pens by selecting the
Define Pen Groups button.
Time Group list box displays a list of defined time groups. You define times by selecting the
Define Time Groups button.
Define Pen Groups button displays the Define Pen Groups dialog box for defining pens.
Define Time Groups button displays the Define Time Groups dialog box for defining time
groups.
OK button saves the setup of the chart group to disk, including the Chart Group name and the
Pen and Time groups selected for the chart.
Cancel button cancels all changes made in the dialog box.
Modifying a Chart Group
If you want to modify a chart group, on the Utilities menu, click Define Chart Groups. When the
Define Chart Groups dialog box appears, select the chart group you want to modify, and then either
double-click on it or select the Modify button. At this point you can modify the chart group using the
same functions that were available when you created it.

854

iFIX with FIX Desktop

Defining Chart Details


You can define the following details for each chart group:

Colors for the Trend Area, X-Axis Labels, Background, and Grid.

Legend information.

Header details.

To define how your chart appears, select the Attributes button on the Add Chart Group dialog box. The
Chart Details dialog box appears.
Fields and Buttons
The Chart Details dialog box contains the following fields and buttons:
Color buttons allow you to select colors for the Trend Area, X-Axis Labels, Background, and
Grid.
Primary, Alternate, No Legendbuttons allow you to select a Primary, an Alternate, or No
Legend for the chart.
Legend icon allows you to define Primary or Alternate Legend details by displaying the Define
Legend Configuration dialog box.
Header area allows you to create a Header for the chart. See the Creating a Chart Header
section for information on the buttons and fields in this area.
Defining Chart Colors
To choose the colors for your chart areas, simply select the color button beside each field. A color
palette opens from which you select a color. When you select a color, the color palette closes and the
color button beside the field changes to the color you selected.
TIP: For best results, when printing to a black and white printer, change the chart's background and
trend area colors to white. See the Printing a Chart section for instructions on printing charts.
Defining the Chart Legend
What is a Legend?
The legend is similar to a map legend; it lets you know what you are looking at in the display. The
legend appears at the bottom of the display chart and provides collection and error information for each
trended tagname. Each tagname's legend displays in the pen color assigned to the tagname. You define
a legend for each chart group.
To define the chart legend:
1.

Select either the Primary Legend or Alternate Legend button. The Primary Legend is the
default when the chart displays. Use the Alternate Legend to display information that does not
Creating a Chart Headerfit in the Primary Legend. If you do not want to use a legend, select

855

iFIX with FIX Desktop

No Legend.
2.

Select the Legend icon to display the Define Primary/Alternate Legend dialog box.

Selecting What Appears in the Legend


The Define Primary/Alternate Legend dialog box contains check boxes that you select to display
information in the legend. The following legend items are the default selections.
Tagname shows the tagname being trended.
Descriptor shows descriptive information assigned to the block in the database. If an error
occurred in retrieving data for the tagname, an error message is displayed in this field.
Tag value shows the value for the tagname at the point where the time cursor is located. If you
attempt to display data for a tagname for which data was not collected at the times specified
in the chart, NO DATA is displayed in this field. If an error occurred in retrieving data for
the tagname, ERROR is displayed in this field and an error message is displayed in the
Descriptor field.
TIP: To see the Tag Value in the legend, decrease the Maximum Length for the Descriptor or change
the order of the items. A total maximum length of 8 characters can be displayed on each line of the
legend.
Select the remaining check boxes to display the following information in the legend:
Value over chart range, High, Low, Average shows the high, low, or average of all the values
retrieved for the tagname in the time span specified in the chart.
Mode shows the display mode selected for the tagname: Sample, Average, High, or Low.
High Limit shows the high limit value defined for the tagname in the database.
Low Limit shows the low limit value defined for the tagname in the database.
Collection Interval shows the time interval between samples taken from the historical
collection data file selected for the tagname.
Deadband shows the limit value selected for data collection on the tagname in Historical
Assign.
Maximum Length Fields show the maximum display length for each field. If there is not
enough room in the legend when you display the chart, you can shorten any field in the
maximum length box.
Order of Items List Box every item selected for the chart legend appears in this list box. The
order of items in this list box determines the order that the items display in the legend. The
first item in this list is the first item in the legend, and so on. You can change the item order
by selecting the item in this list box and then using either the up or down button to the right
of the list box. The item you selected moves through the list according to how many times
you select the up and down buttons.

856

iFIX with FIX Desktop

Creating a Chart Header


You can add descriptive information to your display by creating a chart header. The chart header
appears at the top of the display chart. There are several items you can display on the chart header,
including the:

Chart group name.

Pen group name.

Time group name.

Start time of the chart.

Start date of the chart.

End time of the chart.

End date of the chart.

Duration of the chart.

Number of days before today for which the chart is displaying data.

Amount of time before the current time for which the chart is displaying data.

You can also add up to ten user-defined header items. You specify a location, and optionally a label,
for these items using the Header Item Configuration dialog box and then submit values to display for
these items using command line parameters.
Chart Header Controls
To create a chart header for a display chart, select the Attributes button on the Add Chart Group dialog
box. The Attributes button displays the Chart Details dialog box.
Fields and Buttons
The Header area of the dialog box contains the following fields and buttons:
Visible check box check this box to display header information on the chart.
Border check box check this box to display a rectangular border around the header information.
Foreground color button select on this button to choose a color for the information you add to
the header.
Background color button select on this button to choose a color for the background of the chart
header area.
Items List box this box contains the items configured for the header including: the Label, the
Chart Header Item, the Row, Column, and the Length allocated to the item. The maximum
number of items you can add to a chart header is 16.
Add button select this button to access the Header Item Configuration dialog box to configure a
new header item.

857

iFIX with FIX Desktop

Modify button select this button to access the Header Item Configuration dialog box to modify
the highlighted header item.
Delete button select this button to delete the selected item in the Header Item display box.
Adding a Header Item
To add a header item to a display chart, select the Add button on the Chart Details dialog box to access
the Header Item Configuration dialog box shown.
Fields and Buttons
The Header Item Configuration dialog box contains the following fields and buttons:
Label field enter a descriptive label for the item you select in the Item field. This field is
optional.
Item field specify the item you want to appear on the chart header. Click the browse (...) button
to display the Header Items dialog box which contains a list of the items you can display in
the chart header.
Maximum Length field enter the maximum character length for the item you specified in the
Item field. The default is 39 which is also the maximum.
Row field enter the row number where you want the header item to display. The maximum is
10.
Column field enter the column number where you want the header item to display. The
maximum is 132.
OK button saves the configuration of the header item.
Cancel button cancels the configuration of the header item.
Add Procedure
To add an item to a chart header:

858

1.

Enter a label for the item in the Label field. This field is optional.

2.

Specify the item you want to add to the chart header in the Item field. To display a list of the
items available, click the browse (...) button. Select one of the following items:

The item

Displays

CHART_GROUP

The name of the chart group.

PEN_GROUP

The name of the pen group.

iFIX with FIX Desktop

The item

Displays

TIME_GROUP

The name of the time group.

START_TIME

The start time of the display chart.

START_DATE

The start date of the display chart.

END_TIME

The end time of the chart.

END_DATE

The end date of the chart.

DURATION

The duration of the chart.

DAYS_BEFORE

The number of days before today for which the chart is displaying data.

TIME_BEFORE

The amount of time before the current time for which the chart is displaying
data.

-1 through -10

Up to 10 user-defined descriptive items. Values are submitted using the UserDefined Header Item command line parameters and are used in conjunction
with the Label field.

3.

Specify the maximum display length for the item in the Maximum Length field. The default is
39 which is also the maximum.

4.

Enter a number, 1 through 10, in the Row field to indicate the row location for the item.

5.

Enter a number, 1 through 132, in the Column field to indicate the column location for the
item.

6.

Select OK to add the item to the list box and return to the Chart Details dialog box.
NOTE: The larger you make the chart header area, the smaller the chart display area
becomes.

Example
The following figure shows an example of a header added to a display chart.

859

iFIX with FIX Desktop

Chart Header Example


Header Configuration
The table below shows how the header items in the previous figure (Chart Header Example) are
configured. The Chart Details dialog box also provides this information.
Label

Item

Row

Col.

Length

Start Time:

START_TIME

# of Days Ago:

DAYS_BEFORE

29

Operator:

-1

16

39

Batch Run:

-2

16

39

User-Defined Parameter Values


Only the placement (row and column location) and the labels for User-Defined Header Items are
defined in the Header Item Configuration dialog box. You must use command line parameters to

860

iFIX with FIX Desktop

display a value for these items.


In the example shown in the previous figure (Chart Header Example), the values for the Operator and
Batch Run, REG and 224 respectively, were submitted using the User-Defined Header Item command
line parameters -1 and -2.
For more information on using command line parameters, refer to the Displaying Historical Data
section.

Defining a Pen Group


A pen group is a group of database tagnames selected for trending. You define a pen for each tagname
selected. Pens show historical process data or lab data as trend lines in the display charts.
NOTE: For information on displaying lab data in charts, refer to the Importing and Displaying Lab
Data section.
In a pen group you define:

A pen for each tagname or lab data variable that you want to trend.

A unique pen color and an optional marker for each block's historical data.

The high and low process limits for each block.

The display mode that determines how to select and display data for a tagname.

Y axis details for each pen with the option to display Y axis labels for each pen.

Task Summary
To define a pen group:
1.

Enter a name for the pen group.

2.

Select Historical or Lab to indicate the type of pen you are defining.

3.

Enter a pen defining the tagname.

4.

Select a mode that specifies how to process and display historical data for the selected pen.

5.

Specify if you want to show Y axis labels for the selected pen.

6.

Enter the low and high limits for the tagname.

7.

Choose a color for the selected pen's trend line.

8.

Choose a line style for the selected pen. For historical pens, you must either show the trend
line, use a marker, or both. For lab data pens, you can disable both line style options.

9.

Choose a lab marker if you are defining a lab data pen.

10. Enter Y axis details for the pen group including the number of tick marks and labels on the Y
axis.
11. Choose whether to display a horizontal grid.
12. Save the pen group definitions to disk.

861

iFIX with FIX Desktop

Procedure
To define a pen group:
1.

Select the Define Pen Groups button from the Add Chart Group dialog box, or on the Utilities
menu, click Define Pen Groups. The Define Pen Groups dialog box appears.

2.

Select a pen group from the Pens list box. A pre-defined pen group, called Default, is
provided with the software to use as a template when adding a new pen group. To do so,
select the Default pen group and select the Add button to display the Add Pen Group dialog
box (see below for illustration).'
NOTE: The iFIX local node alias feature is supported in the Historical Display (HTD)
application when using Classic Historian. With this feature, you can share historical
collection groups across nodes without changing the node name. To do this, you substitute a
placeholder, THISNODE, for the node portion of a tagname. For more information, refer to
the Local Node Alias Support for HTD section.

Fields and Buttons


The Define Pen Group dialog box has the following fields and buttons:
Pens list box displays a list of pen groups.
Add button displays the Add Pen Group dialog box for defining a new pen group.
Modify button displays the Modify Pen Group dialog box for modifying the selected pen group.
Delete button deletes the selected pen group.
Select a pen group from the Pens list box. A pre-defined pen group, called Default, is provided with
the software to use as a template when adding a new pen group. To do so, select the Default pen group
and select the Add button to display the Add Pen Group dialog box.
The Add Pen Group dialog contains the following fields and buttons:
Pen Group Area
Pen Group field identifies the name assigned to the pen group.
Pens list box displays a list of all pens in the group. Collection and display details for the
selected pen appear at the bottom of the dialog box in the Pen Definitions area.
Add, Modify, and Delete buttons after first selecting a pen, and then defining the pen in the
Pen Definitions box, use the Add or Modify button to apply the change. To delete a pen,
select the pen and then select the Delete button.
Pen Definitions Area
Tagname field displays the tagname selected in the Pens field. You define a pen for each
tagname you enter. Enter the tag you want to trend in NODE:TAG.FIELD format. If you
enter a node name in this field, the browse (...) button retrieves a list of tagnames for the

862

iFIX with FIX Desktop

node that were assigned for trending in Historical Assign.


Show Y-Axis Label check box when checked, the Y axis displays labels for the selected pen.
The labels for each pen are based on the process limits selected for the pen. See the Low
Limit and High Limit fields below.
Low Limit and High Limit field displays the low and high limit values you want trended in the
display. To retrieve the low and high limit values assigned to the tagname in the database,
press the Fetch Limits button at the bottom of the dialog box.
Fetch Limits button automatically retrieves the low and high limits assigned to the tagname in
the database.
Pen Color button displays a color palette to choose a color for the selected pen. This color is
also used for the tagname's Y axis labels and legend.
Historical radio button select this button when you are defining a historical pen.
Lab radio button select this button when you are defining a lab data pen.
Line Style button displays the Line Style dialog box where you define whether the trend line
will be visible, whether you want to use a marker, or both.
Lab Marker button displays the Lab Data Marker dialog box where you define a marker for
the lab data pen. These markers display at the actual date and time of the imported lab data
value.
Mode buttons determines how to select and display data. Available modes are Sample,
Average, High, or Low.
Y Axis button displays the Y Axis dialog box where you define the number of tick marks and
labels, whether to display a horizontal grid, and whether to display labels for more than one
tagname on the Y axis.
Save button saves the pen definitions to disk.
Cancel button selecting this button cancels all pen definitions and closes the dialog box.
The following sections provide detailed information on how to complete the fields listed in the Add
Pen Group dialog box:

Entering a Pen Group Name

Defining a Historical Data Pen

Showing Y Axis Labels for Each Tagname

Entering Low and High Limit Values for Trending

Selecting a Pen Color and Style

Selecting a Display Mode

Defining Y Axis Details

863

iFIX with FIX Desktop

Saving a Pen Group

Modifying a Pen Group

Entering a Pen Group Name


In the Pen Group field on the Add Pen Group dialog box, enter a name for the pen group you are
defining. The name of the pen group must be unique. If you are adding a pen group, you must assign a
Pen Group name before exiting the dialog box, or you will get the following message:
Please enter a group name.

Defining a Historical Data Pen


You define a pen for each tagname you want to trend. You can define up to eight pens in a pen group.
You can define pens from tagnames on different nodes in the pen group. You can also define pens for
data that was collected on remote nodes.
The Pens list box shows the tagnames selected for trending that display in the chart. When you select a
pen in the Pens list box, the definitions for the pen appear in the Pen Definitions area, shown in the
following figure.

Pen Definitions Area


Defining a Pen
To define a historical pen:
1.

Select the Historical radio button. (If you are defining a lab data pen, select the Lab radio
button and refer to the Displaying Lab Data in a Chart section for further instructions).

2.

Enter the tagname you want to trend in the Tagname field. If you do not know the tagname,
you can display a list of the tagnames that were assigned for trending in the Historical Assign
program. To do so, enter the name of the node that contains the tagnames you want to trend.
Then select the browse (...) button next to the Tagname field to display a list of the tagnames
selected for historical trending on that node.
NOTE: The tagname query scans files created within the last 4 hours. If no data was
collected in this time period, the following message appears: No current data collect files
available to query for this node.
When the query is complete, the Available Tags dialog box appears.

864

iFIX with FIX Desktop

3.

Select the tagname you want to trend from the list and double-click or select OK. The dialog
box closes and the tag you selected appears in the Tagname field.

4.

Enter collection and display information for the tagname in the Pen Definitions area.
Instructions for completing the Pen Definitions area are in the following sections:

Showing Y Axis Labels for Each Tagname

Entering Low and High Limit Values for Trending

Selecting a Pen Color and Style

Selecting a Display Mode

Defining Y Axis Details

5.

Select the Add button. The new tagname is added to the Pens list.

6.

Select the Save button to save the pen definitions and exit the Add Pen Group dialog box.

Modifying a Pen
To modify a pen:
1.

Select a tagname from the Pens list box.

2.

Enter new collection and display definitions in the Pen Definitions area. Instructions for
completing the Pen Definitions area are in the following sections:

Showing Y Axis Labels for Each Tagname

Entering Low and High Limit Values for Trending

Selecting a Pen Color and Style

Selecting a Display Mode

Defining Y Axis Details

3.

Select the Modify button when you complete the changes. The modified tagname is displayed
in the Pens list box, in place of the previous tagname.

4.

Select the Save button to save the new pen definitions and to exit the Add Pen Group dialog
box.
NOTE: When you finish defining each pen, you must select either the Add or Modify button to
add the new or modified pen to the Pens list.

Showing Y Axis Labels for Each Tagname


If your EGU process limits differ among tagnames, you may want to set up your chart to display Y
axis labels for each tagname based on their individual low and high EGU limits. You can also choose
not to display Y axis labels for a selected tagname.
To display Y axis labels for the selected tagname, check the Show Y-Axis Labels button on the Add
Pen Group dialog box (as shown in the Defining a Historical Data Pen section).
If Multiple EGU Labels is enabled in the Y Axis dialog box, labels will display for each tagname that
you checked the Show Y-Axis Labels check box.
When you display a chart, you can control the display of Y axis labels by selecting tagnames in the

865

iFIX with FIX Desktop

legend area of the chart. For more information, see the Manipulating Y Axis Labels section.
NOTE: If you show Y axis labels for several tagnames in a pen group and the Multiple EGU Labels
check box is enabled in the Y Axis dialog box, the labels may overlap. If your labels do overlap,
decrease the number of labels displayed. See the Manipulating Y Axis Labels section for information
on defining the number of labels.
Entering Low and High Limit Values for Trending
In the Low Limit and High Limit fields, enter the low and high limit values you want to trend for the
selected tagname in the display. You can enter any low and high limits you want to display.
To retrieve the limit range assigned to the tagname in the database, select the Fetch Limits button at the
bottom of the screen.
For lab data pens, the Fetch Limits button retrieves the limit range defined in the Data Dictionary. For
more information on lab data, refer to Importing and Displaying Lab Data.
The decimal precision for the Low and High Limits is determined by the High Limit entry. For
example, if you specify:

Low Limit = 2

High Limit = 250.00

In this example, the process limits shown on the Y axis are precise to the hundredth position.
Selecting a Pen Color and Style
To choose a color for the selected pen:
1.

Select the Pen color button.


A color palette opens on the screen.

2.

Select a color for the pen.


The color palette closes and the pen changes to the color you selected.

NOTE: The color you select for the pen also applies to the tagname's Y axis labels and legend.
To select a style for the pen, select the Line Style button. The the Line Style dialog box appears.
Line Style Buttons
The Line Style dialog box contains the following buttons:
Show Line check box check the Show Line box to display a trend line for the selected tagname.
Use Marker check box check the Use Marker box to show a marker for the selected tagname.

866

The marker is a character that is placed on the trend line. You can specify a marker when you
want to print out a chart and need to distinguish between trend lines in a black and white
printout, or for trend lines that overlap in the display. The marker choices are: Rectangle Oval

iFIX with FIX Desktop

Any alphanumeric keyboard character


NOTE: If you deselect the Show Line box, the Use Marker box is selected to indicate you must use
either a line or a marker to show the trend.
Lab Data
The Lab Marker button displays the Lab Data Marker dialog box that is used to define markers which
display at the actual date and time of the imported lab data variable value. For more information on
configuring lab data markers, see the Importing and Displaying Lab Data section.
Selecting a Display Mode
The Mode field determines how the system selects data for a tagname, and what each displayed value
represents. The display modes are directly related to the Fixed Interval and the Duration set for the
time group. The Fixed Interval determines the range of data that the display mode uses to calculate the
point of data that is trended.
Sample Mode
If a pen is configured to display in Sample mode, the last valid value found, up to and including the
start of the interval, is trended. For example, assume that the following data is available for a pen and
the Fixed Interval is set to 10 minutes.
Time

Data Value

12:00:00

0.0

12:01:00

1.00

12:02:00

2.00

12:03:00

3.00

12:04:00

4.00

12:05:00

5.00

12:06:00

6.00

12:07:00

7.00

12:08:00

8.00

12:09:00

9.00

867

iFIX with FIX Desktop

The value, 0.0 at 12:00:00 (the start of the interval), is trended for the duration of the interval, from
12:00:00 up to 12:01:00. If 0.0 is not a valid data point, then the last valid value found prior to the start
of the interval is trended.
Average Mode
If a pen is configured to display in Average mode, the average of all valid data found during the
interval is trended starting at the beginning of the interval, 12:00:00. In this case, 4.5 is trended from
12:00:00 to 12:10:00.
High Mode
If a pen is configured to display in High mode, the highest valid data point value found during the
interval is trended starting at the beginning of the interval, 12:00:00. In this case, 9.0 is trended from
12:00:00 to 12:10:00.
Low Mode
If a pen is configured to display in Low mode, the lowest valid data point found during the interval is
trended starting at the beginning of the interval, 12:00:00. In this case, 0.0 is trended from 12:00:00 to
12:10:00.
NOTES:

Sample mode is the fastest mode for displaying historical data. However, the other modes,
average, high, and low, may provide more detailed data samples for your application.

You can enter a tagname more than once to display data in different modes. For example, if
you trend an Analog Input block, you can enter the block twice in the Pens list box: once in
Sample mode, and again in Average mode.

Defining Y Axis Details


Select the Y Axis button at the bottom of the Add Pen Group dialog box to display the Y Axis dialog
box.
Fields and Buttons
The Y Axis dialog box has the following fields and buttons:
Number of Tick Marks field enter the number of tick marks to place on the Y axis including
the point where the Y and X axis meet.
Number of Labels field enter the number of labels to place on the Y axis. The values for the Y
axis labels are determined by the high and low limit ranges chosen for each tagname.
Horizontal Gridcheck box check this box if you want horizontal grid lines drawn at the tick
marks on the Y axis. The horizontal grid marks are useful for reading and interpreting the
data displayed in the chart.
Multiple EGU Labelscheck box check this box if you want to display Y axis labels for each

868

iFIX with FIX Desktop

tagname that has the Show Y Axis Labels check box enabled in the Define Pens dialog box.
This is useful when you want to display tagnames that have different EGU low and high
limits.
When you finish entering data in the dialog box, select the OK button to return to the Add Pen Group
dialog box.
Saving a Pen Group
Remember, when you finish defining each pen in the Pen Definitions area, you must select either the
Add or Modify button to add the new or modified pen to the Pens list.
When you have finished defining the pen group, select the Save button. The Add Pen Group dialog
box closes.
Modifying a Pen Group
After you have defined a pen group, you can go back and modify any pen in the group. To modify a
pen group, on the Utilities menu, click Define Pen Groups.
When the Define Pen Groups dialog box appears, select the pen group you want to modify, and then
select the Modify button. To modify the pen group you can use the same functions used to create the
pen group.

Defining a Time Group


A time group defines the start date, time, and duration for a chart. To define a time group:
1.

Select a time period for which you want to display collected process data.

2.

Choose the X axis display details (the number of tick marks, labels, and vertical grid).

Task Summary
The following is a summary of the tasks to define a time group:
1.

Enter a name for the time group.

2.

Enter a start date, start time, and duration for collection.

3.

Specify the fixed interval between samples retrieved from the historical collection data file, if
using other than the default setting.

4.

Enter the number of tick marks and labels to place on the X axis.

5.

Select an optional vertical grid pattern at the tick marks on the X axis to help locate data in the
chart.

6.

Specify whether the X axis labels display the date.

7.

Save the time group definitions to disk.

The following sections explain how to complete each step to create a time group.

869

iFIX with FIX Desktop

Time Group Procedure


To add a time group:
1.

Select the Define Time Groups button from the Add Chart Group dialog box. Or, on the
Utilities menu, click Define Time Groups. The Define Time Groups dialog box appears.

2.

Select a time group from the Define Time Groups dialog box. If you are defining a time group
for the first time, the only time group available is the Default.

3.

Select the Add button. The Add Time Group dialog box opens (see below).

Fields and Buttons


The Define Time Groups dialog box contains the following fields and buttons:
Time list box displays a list of time groups.
Add button displays the Add Time Group dialog box for defining a new time group.
Modify button displays the Modify Time Group dialog box for modifying an existing time
group.
Delete button deletes the selected time group.
Adding a Time Group
The values shown in the Add Time Groups dialog box are the values for the time group you selected in
the Define Time Groups dialog box. You can use these values as a basis when creating a new time
group.
Fields and Buttons
The Add Time Group dialog box has the following fields and buttons:
Time Group field enter the name you want to assign to the time group.
Start Date fields and buttons enter the starting date for the trend display; either a specific date
or a date in relation to the current date. The format is MM/DD/YY (Month/Day/Year).
Start Time fields and buttons enter the starting time for the trend display, either a specific
time, or a time in relation to the current time. The format is HH:MM:SS
(Hour:Minute:Second).
Duration field- enter the length of time for the display. The format is DD:HH:MM:SS
(Day:Hour:Minute:Second).
Fixed Interval field enter the time interval between samples retrieved from the historical data
file.
X Axis button accesses the X Axis dialog box where you define X axis details.

870

iFIX with FIX Desktop

Save button saves all time group values to disk.


Cancel button cancels all time definitions made and closes the dialog box.
The following sections provide detailed information on how to complete the fields listed in the Add
Time Group dialog box:

Entering a Time Group Name

Defining the Start Date, Start Time, and Time Span

Defining X Axis Details

Saving a Time Group

Modifying a Time Group

Entering a Time Group Name


In the Time Group field, enter a name for the time group you are defining.
Defining the Start Date, Start Time, and Time Span
Start Date
In the Start Date fields, enter the starting date for the trend display. Select one of the options:
Fixed Date enter a specific date on which to start the display. The format is MM/DD/YY
(Month/Day/Year).
Days Before Today enter the number of days prior to today to start the display. For example, if
you want to define a time group to display data collected two days before the current date,
enter 2.
NOTE: Enter 0 days before today if you want to display data collected today.
Start Time
In the Start Time fields, enter the time you want data to start displaying in the chart. The Start Time is
the left-most process time displayed in the chart. The format is HH:MM:SS. Select one of the options:
Fixed Time enter a specific time to begin the display based on a 24 hour clock. For example,
enter 14:00:00 for a starting time of 2PM.
Time Before Now enter the length of time before the current time. For example, if you want to
define a time group to display data collected one hour before now, enter 01:00:00.
Time Span
In the Time Span fields, enter the duration for the display and a fixed interval between the points of
data that are trended.
Duration enter the duration for the display. The duration entered determines how much data to

871

iFIX with FIX Desktop

display on the X axis. The format is DD:HH:MM:SS. The minimum duration for a display
is 1 seconds.
Fixed Interval enter a time interval between the samples taken from the historical collection
data file. The format is HH:MM:SS and cannot be greater than half of the Duration value.
When the Fixed Interval is 0, the time interval between data samplings is determined
automatically.
The values you enter in the Duration and Fixed Interval fields determine the number of intervals from
which data samples are plotted on the chart. The number of intervals equals the Duration (in seconds)
divided by the Fixed Interval (in seconds); the number of data samples plotted equals the number of
intervals.
For example, if the starting time for a chart is set to 12:00:00, the Duration of the chart is one hour, and
the Fixed Interval is set to 10 minutes, the number of intervals is 6 and the number of data samples that
are trended is 6. This is calculated as follows:

Intervals: 3600 seconds/60 data points = 6

Samples: 6 intervals = 6

The intervals will begin at 12:00:00, 12:10:00, 12:20:00, 12:30:00, 12:40:00, and 12:50:00. The last
interval will end at 13:00:00.
NOTE: If the fixed interval is set to :: (the default), the interval between data points is based on a
maximum of 500 samples to be trended.
Examples of Time Group Definition
To set up a time group to look at yesterday's process data between 4PM and 6PM (a duration of two
hours), enter the following:
Time Group Field

Enter...

Days before today

Starting Time Fixed time, based on a 24 hour clock (HH:MM:SS)

16:00:00

Duration (DD:HH:MM:SS)

00:02:00:00

To set up a time group to look at the previous six hours of process data, enter the following:

872

Time Group Field

Enter...

Days before today

Starting Time Fixed time, based on a 24 hour clock (HH:MM:SS)

06:00:00

iFIX with FIX Desktop

Time Group Field

Enter...

Duration (DD:HH:MM:SS)

00:06:00:00

Defining X Axis Details


To define X axis details, select the X Axis button. The X Axis dialog box shown appears.
Fields and Buttons
The X axis dialog box contains the following fields and buttons:
Number of Tick Marks field specifies the number of marks to place on the X, or time axis
including the point where the X and Y axis meet.
Number of Labels field specifies the number of labels to place on the X axis. The labels show
the time and optionally the date.
Vertical Grid check box when checked, vertical grid lines are drawn at the tick marks on the X
axis.
Display Date check box when checked, date labels display. If cleared, only the time labels
display to allow more room in the trend area.
NOTE: If the labels overlap on your screen when you display the chart, you can reduce the number of
labels displayed. The space for the X axis labels is limited by the width of the display screen.
Saving a Time Group
When you have finished defining a time group, select the Save button. All values you entered are
saved to disk and the Add Time Group dialog box closes.
If you try to save time group values without specifying a Time Group name, you will get the following
message:
Please enter a group name.

Modifying a Time Group


After you have defined a time group, you can go back and modify it. To modify a time group, on the
Utilities menu, click Define Time Groups. When the Define Time Groups dialog box appears, select
the time group you want to modify, and then select the Modify button. You can modify the time group
using the same functions that you used to create the time group.

Saving a Chart Group


You have finished defining a chart group when you have assigned a chart name, defined pen and time

873

iFIX with FIX Desktop

groups, and attributes for the chart.


To save the chart, select the OK button from the Add Chart Group dialog box. The chart is saved to
disk and is displayed in the list of charts in the Define Chart Groups dialog box.

Displaying Historical Data


This chapter describes how to view historical process data in display charts. This chapter is primarily
for engineers and operators who want to examine collected data. With the Historical Display (HTD)
program you can:

Display historical data while your iFIX with FIX Desktop software is collecting data.
Automatic display updating is available for displaying current data trends.

Display historical data collected on remote nodes on the network in the same display chart.

Display lab data that has been imported into Historical Display. You can display lab data in
the same chart as historical data.

Display customized charts using command line parameters allowing you to display or print
any combination of chart, pen, and time groups.

Display up to eight different tagnames on a value versus time axis display. Tagnames display
in unique pen colors.

Select individual tagnames for trending.

Select specific process limit display ranges for each tagname in the display. You can focus on
a specific limit range for a particular tagname. You can also scale the ranges of dissimilar
process loops on the same chart.

Select a starting date, time, and duration for the initial display chart. You can then use the
Time Shift buttons or Zoom command to adjust the display range to examine data.

Print charts.

You can use HTD with either Classic Historian or Proficy Historian data. Typically, however, you
would use HTD with Classic Historian data. For more information on using HTD with Proficy
Historian, and for a description of the limitations, refer to the Proficy Historian Support in the HTD
Application section.
This chapter explains how to:

874

Open display charts and look at process data. Refer to the Starting the Historical Display
Program section for more details.

Use command line parameters to display and print charts. Refer to the Displaying Charts
Using Command Line Parameters section for more details.

Adjust the display to examine data. You can adjust the display to:
o

Zoom in or enlarge an area of the chart to look at process data.

Locate the exact value for a point of data.

Look at different time periods in historical data.

Automatically update the chart with current data.

Compare different charts to look at process data for a specific time period.

iFIX with FIX Desktop

Add grid lines to help you locate data.

Add information to the chart legend.

Refer to the Examining Data in the Display section for more details.

Modify the pen group, time group, or attributes in a chart. Refer to the Modifying a Chart
Display section for more details.

Print, copy, or export display charts. Refer to the Printing a Chart, Copying or Exporting a
Chart, and Exiting the Historical Display Program sections for more details.

Starting the Historical Display Program


To start the Historical Display application from Draw, on the Apps menu, click Historical Display. The
Historical Display window appears.
TIP: To increase the area for the trend display, double-click on the title bar. Also, the initial size of the
Historical Display window can be configured in the HTD.INI file. See the Configuring HTD.INI
section for more information.
The Historical Display window allows you to create, and later modify, display charts. When you first
enter the Historical Display window, the following functions are available:
File menu opens new or existing files, imports and exports data, and prints charts.
Utilities menu allows you to create permanent display charts, SQL queries, and pen and time
groups for charts. The Utilities menu commands are available to you if you have
unrestricted access. Consult your system administrator if you need to create charts, and you
do not have access to this menu.
Font! menu displays the standard Font dialog box to define font type, point size, and font style.
Help menu- contains commands for getting on-line help.
NOTE: In the Historical Display program, you can open as many charts as your system memory
allows, up to a maximum of nine charts.
Configuring HTD.INI
By default, the HTD.INI file is located in the LOCAL path and contains the following configurable
settings:

Initial size of the HTD window

Text appearance

Time cursor appearance

Exit Key definition

SQL Query definition

875

iFIX with FIX Desktop

Changing the Initial Window Size


The HTD.INI file contains TOP, LEFT, BOTTOM, and RIGHT keywords to specify the pixel location
for the initial HTD window. By default, each keyword is set to zero so that the initial Historical
Display window is maximized. The possible range of values for each keyword is as follows:
The range for the keyword...

Is...

TOP

0 to 300

LEFT

0 to 300

BOTTOM

300 to 1024

RIGHT

400 to 1280

Shown below is a sample of the keywords that control the window size.
[HTD]
TOP=50
LEFT=10
BOTTOM=575
RIGHT=675

Controlling Printed Text


The parameter UseOldPrint lets you control the way the text appears when you print a chart.
When you set the parameter to 1, Historical Display compacts the text font. This is the way text printed
in previous versions of the product. Setting the parameter to 0 stretches the font and enables the font to
appear more like it does on the screen. The default value of this parameter is 0.
Time Cursor
The parameter PrintTimeCursor lets you control whether the time cursor and the time associated with
the cursor appear on the chart you print.
When you set the parameter to 1, the time and the time cursor are printed on the chart. When the
parameter is set to 0, the time and time cursor are not printed on the chart. The default value of this
parameter is 0.
NOTE: To use the PrintTimeCursor parameter, you must set the UseOldPrint parameter to 0.
For more information on SQL queries, refer to Retrieving and Displaying SQL Data. For more
information on the Exit Key, refer to the Exiting the Historical Display Program section.
Historical Display reads the settings in the HTD.INI file on startup. If you want to change these preset

876

iFIX with FIX Desktop

defaults, you can edit the file with a text editor and restart Historical Display. This reloads your new
settings.
Opening a Chart
To display a chart, on the File menu, click Open. The Select Chart dialog box appears.
The Select Chart dialog box displays a list of defined charts. Select a chart from the list and then select
OK.
NOTE: The time it takes to retrieve and display historical data in the chart varies depending on the
amount of historical data you are trying to retrieve.

Displaying Charts Using Command Line Parameters


You can use command line parameters to display and print charts by combining existing chart groups,
pen groups, and time groups. Furthermore, if a time group does not contain the variables you want to
use, you can specify new time parameters to use with existing chart and pen groups.
Typical uses for Historical Display command line parameters include:

Displaying a chart automatically when you start the Historical Display program.

Displaying a chart from the View application.

Printing a chart using the HTDPRINT background task program.

Invoking Command Line Parameters


The command line parameters discussed in this section can be invoked:

Using the RUNTASK command in a Command Language script.

Using the RUNTASK command in a Program block.

As a startup task in the Configured Task List in the SCU.

By setting the Historical Display or HTDPRINT program properties using the Properties
command.

Using the Run command.

Accessing the Command Line


You can invoke command line parameters by selecting the Run or Properties command. For instance,
the command line might be:
"C:\Program Files\Proficy\Proficy iFIX\HTD" - CG 'Chart Group1'

NOTE: For more information on how to access and use the command line, please refer to your
window manager documentation.

877

iFIX with FIX Desktop

Using RUNTASK
You can start the Historical Display program, display, and print a chart using the RUNTASK
command. The RUNTASK command can be executed using a Command Language script or in a
Program block. For example, using a Command Language script in Draw, you can create a push button
link on a View screen that will display or print a specific Historical Display chart.
For instructions on using the View and Draw applications, refer to the Draw Manual and View
Manual. For information on using the RUNTASK command, refer to the Command Language Manual.
In the SCU
You can add a startup task to the SCU Task Configuration list to start Historical Display and open a
chart automatically when you start your iFIX software. For information on configuring SCU startup
tasks, refer to the Configuring iFIX Using the SCU section in the Setting Up the Environment manual.
Parameter Syntax and Rules
The following table lists the syntax for each Historical Display command line parameter with
examples.

878

Parameter Name

Syntax

Examples

Command File

-CF 'filespec'

-CF
'C:\FIX32\LOCAL\ARG.TXT'

Chart Group

-CG 'chart group name'

-CG 'Chart One'

If you do not specify a chart


group in combination with other
command line parameters, the
Default chart group is used.

Chart group name can


be up to 39 characters
long and must be
enclosed in single quotes

Pen Group

-PG 'pen group name'

If specified, this pen group


overrides the pen group
associated with the chart group.

Pen group name can be


up to 39 characters long
and must be enclosed in
single quotes

Time Group

-TG 'time group name'

If specified, this time group


overrides the time group
associated with the chart group.

Time group name can be


up to 39 characters long
and must be enclosed in
single quotes

-PG 'Temp Pens'

-TG 'Yesterday'

iFIX with FIX Desktop

Parameter Name

Syntax

Examples

Start Time

-ST
mm/dd/yy@hh:mm:ss
-ST mm/dd/yy
-ST hh:mm:ss

-ET 03/16/93@10:30:00
-ET 03/16/93
-ET 10:30:00

If specified, this start time


overrides the start time specified
in the time group.

Use the date format set


for your system
Duration

-DU dd:hh:mm:ss

If specified, this duration


overrides the duration specified
in the time group.

Maximum: 99:23:59:59
Minimim: 00:00:00:10

Monitor Tag

/Ttagname

If specified, this parameter lets


HTC set a digital block to
CLOSED if HTC stops because
of an error. This parameter
cannot be used with any other
parameter.

Tagname can be any


valid digital block.

Active Tag

/Atagname

If specified, this parameter sets a


digital block to 1 every 60
seconds. This parameter is often
used in conjunction with the /D
parameter to specify a period of
time other than 60 seconds.

Tagname can be any


valid digital block.

Duration

/Dtime

Determines how often the active


tag is set to 1. This parameter
must follow an active tag.

Time can be from 15


seconds to 32767
seconds. Any time
below 15 is ignored.

Days Before Today

-DB number of days

If specified, this value overrides


the start date specified in the time
group.

Valid values for number


of days range from 0-99.

Time Before Now

-TB hh:mm:ss

If specified, this value overrides


the start time specified in the
time group.

Maximum: 23:59:59
Minimum: 00:00:10

-DU 00:00:10:00

/TD01

/AD01
or
/AD01 /D30

/AD01 /D30

-DB 2

-TB 00:05:00

879

iFIX with FIX Desktop

Parameter Name

Syntax

Examples

User-Defined Chart Header Items

-1 'user-defined-value'
...
-10 'user-defined value'

-1 '246'
...
-10 'Heating Process'

If specified, provides a static


value that displays in a chart
header. Placement of the item
must be predefined using the
Header Item Configuration
dialog box.

User-defined value must


be enclosed in single
quotes.

Rules
Consider the following rules when submitting the command line parameters listed in the previous
table:

Command line parameters are not case-sensitive.

Values for the chart group, pen group, time group, and user-defined items must be enclosed in
single quotes. This is because spaces are allowed in these parameters.

Command line parameters can be passed in any order.

The date format used in the Start Time and End Time parameters must be in the date format
set up for your system.

If both an End Time and a Duration are specified, the Duration value is ignored.

If both a Start Time and Days Before Now are specified, the Days Before Now value is
ignored.

If both a Start Time and Time Before Now are specified, the Time Before Now value is
ignored.

In the Command File (-CF) carriage returns and line feeds are ignored.

The chart group name will appear exactly as you type it on the command line.

When submitting parameters using the RUNTASK command in a Command Language script,
the list of parameters must be enclosed in double quotes. For example:
RUNTASK HTD -CG 'Chart Group One'

Using Command Line Parameters


This section presents examples of different ways you can combine command line parameters to start
Historical Display and display customized charts.
NOTE: Each of the following examples can also be used to print charts. To do so, substitute HTD with
HTDPRINT.
Display a Chart
To display a chart without changing its pen group or time group, submit the following:
HTD -CG 'Chart One'

880

iFIX with FIX Desktop

This command displays Chart One with its assigned pen and time groups.
Change the Pen Group
To display a chart group with different pens, specify the pen group you want to use as a substitute, for
example:
HTD -CG 'Chart One' -PG 'Temp Pens'

This command displays Chart One with its assigned time group and replaces its assigned pen group
with Temp Pens.
Change the Time Group
To display a chart with different pens and a different time group, specify the pen and time groups to
use as substitutes. For example:
HTD -CG 'Chart One' -PG 'Temp Pens' -TG 'Yesterday'

This command displays Chart One and replaces its pen and time groups with Temp Pens and
Yesterday.
NOTE: Any changes or customization you make from the command line are temporary and only apply
to the displayed chart.
Customize a Time Group
You can use the Start Time, End Time, Duration, Days Before Today, and Time Before Now
parameters to customize a time group to submit with a chart and pen group. Examples of each
parameter follow.

To specify a start and end time for a display, enter the times you want to use. For example:
HTD -CG 'Chart One' -ST 03/21/05@20:30:00 -ET 03/21/05@21:00:00

This command displays Chart One with its assigned pen group and modifies its time group to
start on 3/21/05 at 8:30 PM and end on 3/21/05 at 9:00 PM.

To specify a duration for the display, submit the following: HTD -CG 'Chart One' -PG 'Temp
Pens' -DU 00:00:10:00
This command displays Chart One with the Temp Pens pen group and changes its time
group's duration to 10 minutes.

To display historical data collected two days ago, submit the following:
HTD -CG 'Chart One' -DB 2

This command displays Chart One and changes its time group's starting date to two days
before today.

To display historical data collected six hours and 30 minutes before now, specify the
following:
HTD -CG 'Chart One' -TB 06:30:00

This command displays Chart One using its assigned pen group and changes the starting time

881

iFIX with FIX Desktop

of the time group to six hours and 30 minutes before the current time.
Chart Header Items
You can place as many as 1 user-defined descriptive items on the chart header using the Header Item
Configuration dialog box. (See the Creating a Chart Header section.) You enter values for these items
from the command line using the User-Defined Header Item parameters (-1 through -10). For example,
if the chart header contains header item -1 showing the operator's ID and you want to display REG as
the operator's ID, enter:
-1 'REG'

The value you submit, in this case REG, displays in the chart header in the predefined location
specified by the -1 item using the Header Item Configuration dialog box. If the header item has a label,
it places the value to the right of the item's label. You cannot overwrite the label from the command
line. To see an example of a chart header, see the Example in the Creating a Chart Header section.
NOTE: The values that you submit will display on the initial chart that you open and each chart
thereafter if the header for each subsequent chart has been configured for the items that were specified
on the command line.
Using Command Line Parameters to Print
You can also use Historical Display command line parameters to print a chart. The print function is
executed by a background task called HTDPRINT.
To print a chart from the command line, invoke the HTDPRINT task and specify the parameters to use.
For example:
HTDPRINT -CG 'Chart Group'

The HTDPRINT task accepts all of the command line parameters that Historical Display accepts,
enabling you to print customized charts. See the Using Command Line Parameters section for
examples on how to use command line parameters to customize a chart.
Creating a Command Line Parameter File
If you have a long series of commands you want to invoke, or if you have a set of parameters you plan
to invoke on a regular basis, you can create an ASCII file containing these command line parameters
and invoke the file using the Command File (-CF) parameter.
The -CF parameter executes each command line parameter listed within the command file as if they
were passed directly from the command line.
Sample File Statements
This sample shows a file containing parameter statements to do the following:

882

Display the Default chart group with the Tank Temps pen group.

Set the starting time to three hours before the current time.

Set the duration for the display to 10 minutes.

iFIX with FIX Desktop


-PG 'Tank Temps'
-TB 3:00:00
-DU 00:00:10:00

Create and Save the File


Create and save the file in ASCII format. Give the file a meaningful name. For example, you might
want to name the above sample file TANKTEMP.TXT.
TIP: If you save your command files to the iFIX Local path, you don't need to specify the path location
for the command file.
Invoke the File
Invoke the Command File parameter in the same manner as the other parameters. For example:
HTD -CF 'TANKTEMP.TXT'

If the command file does not reside in the iFIX Local path, specify the path in which the command file
resides. For example:
HTD -CF 'C:\FIX32\FILES\TANKTEMP.TXT'

Examining Data in the Display


After bringing up a chart, you can fine tune the display to examine historical process data. Below is a
description of some of the adjustments you can make to help you interpret data. You can:

Display the process limit labels for each tagname trended.

Use the time cursor to locate the exact value at any point on the trend line.

Shift the chart time forward or backward to look at additional data.

Zoom in to examine data in a selected area of the chart.

Update the chart automatically with current data.

Display grid lines to locate data in the display.

Synchronize time between charts to compare process data.

Add collection and display information to the chart legend.

The following sections explain how to adjust the display:

Understanding the Areas of a Chart

Manipulating Y Axis Labels

Determining the Time Value for a Point of Data

Using the Time Shift Buttons

Using Zoom to Examine Data

883

iFIX with FIX Desktop

Updating a Chart with Current Data

Comparing Charts with Synchronize Time

Linking to an Anchored Chart

Arranging Charts on the Screen

Adding Grid Lines to a Chart

Adding or Removing the Legend

Closing a Chart

Understanding the Areas of a Chart


The display chart allows you to view the historical data and lab data you want and provides you with a
powerful tool to help analyze the performance of your process. The following figure illustrates the
different chart areas.

Example Display Chart


The following table describes the different areas in the display chart.

884

iFIX with FIX Desktop

Name

Description

Chart Name

The name assigned to the chart.

Chart Header Area

Contains descriptive information you can add to the chart.

Trend area

The display area of the chart.

Trend line

Shows tagname values in colored lines.

Trend line markers

Marks the trend line to help distinguish between trend lines.

Lab data markers

Marks lab data points at the actual time and location of the imported data
value.

Y Axis

Shows the process limits assigned to each tagname for the trend display.

Y Axis Labels

Displays the EGU process values. You can display labels for multiple
tagnames at one time if Multiple EGU labels is enabled.

X Axis

The far left point on the X axis represents the starting time, and the far
right point represents the ending time (starting time plus duration).

Tick Marks

Marks the time and value increments on both the X and Y axes.

X Axis Time/Date
Labels

Displays the time and date for the trended data.

Moveable Time
Cursor

Determines the exact time value at a data point on a trend line. You can
move this cursor by selecting it and moving it with your mouse or by
pressing the right or left arrow keys.

Time Cursor Readout

Shows the time for the time cursor.

Time Shift Buttons

Shifts the time values along the X axis to look at different points in time.

Using the Time Shift


ButtonsLegend

Displays collection and error information for each tagname being


trended. Each tagname has a different legend line and shows in the color
that corresponds to the trend line in the display.

Grid Lines

Helps to locate process data in the chart.

Background area

The area outside the trend area.

885

iFIX with FIX Desktop

Manipulating Y Axis Labels


When you define a tagname for a pen group, you indicate whether you want to display the EGU
process labels for the tagname on the Y axis. You also define whether you want multiple Y axis labels
to display at once. When you display a chart, you can control the display of Y axis labels using the
legend area of the chart.
To display Y axis labels for a tagname, use a mouse or keyboard as follows:
When
using...

Do the following...

A mouse

Click on the tagname, located in the legend, to display its labels.

The keyboard

Press the up and down arrow keys to the display labels by paging through the
tagnames in the legend.

If several Y axis labels are displayed when you select a tagname in the legend, the other Y axis labels
disappear leaving only the label for the selected tagname.
Determining the Time Value for a Point of Data
The time cursor is the vertical line that intersects the X axis. This moveable time cursor helps you
locate the exact time value for a point of data on a trend line. The readout for the time cursor displays
below the X axis labels on the chart.
To move the time cursor and display the time value for a data point, use a mouse or keyboard as
follows:
When using...

Do the following...

A mouse

Select the time cursor and drag it to the point of data.

The keyboard

Press the right or left arrow keys.

When you release the mouse button or arrow keys, the time value displays in the time cursor readout.
Using the Time Shift Buttons
The time shift buttons allow you to quickly move the chart time forward or backward to look at
additional process data. The default shift settings are as follows:

886

Button

Shift the time display...

<

Backward by one half the time duration of the chart. (Example: if the duration is five
minutes, pressing the < button shifts the time display backward by 2 1/2 minutes.)

iFIX with FIX Desktop

Button

Shift the time display...

<<

Backward by one times the duration of the chart. (Example: If the duration is five
minutes, pressing the << button will shift the chart time backward by 5 minutes.)

>

Forward by one half the duration of the chart.

>>

Forward by one times the duration of the chart.

Keyboard
If you are using a keyboard, use the <tab> key to move among the time shift buttons. Then press
<enter> to shift the chart time.
Chart Shift Example
If a chart starts at 18:00:00 and has a duration of 4 minutes, an X axis with three labels looks as
follows:

Pressing the < key moves the chart display back in time by one half the duration of the chart, and the X
axis shifts backward by two minutes:

Pressing the > key moves the chart display back to its original starting time. Pressing the >key again
moves the chart time forward by two minutes:

When you use the time shift buttons, the time display changes, but the duration of the display does not
change. For example, if you are looking at a chart with a one hour duration and then shift time forward
or backward, the time display changes, but you are still looking at one hour of data in the display.
You can change the settings for the time shift buttons to shift the time span forward or backward by
larger or smaller increments. On the Actions menu, click Define Time Default. The Define Time
Defaults dialog appears.
Enter the new settings for the time shift buttons and select OK. Note that the new settings for the time
shift buttons apply to all charts you display until you exit the Historical Display program.
To restore a chart to its original settings, on the Actions menu, click Reset to Original.

887

iFIX with FIX Desktop

Using Zoom to Examine Data


With the Zoom command, you can select an area of the chart and enlarge it to look at process data.
Using a Keyboard
To select an area of the chart to zoom in on using the keyboard:

On the Actions menu, click Select Region. The cursor changes to a cross.

Position the cursor in the area that contains both the time and limit values you want to zoom
in on, and press ENTER. Then use the arrow keys to outline the area, and press ENTER again to
end the selection.

Press CTRL+Y. The chart redraws based on the time and limit range you selected for zooming.
The labels on the Y and X axes change to reflect the selected area.

Using a Mouse
To zoom in on an area of the chart using the mouse:
1.

Position the cursor in the area that contains both the time and limit values you want to zoom,
and click the left mouse button. Then drag the mouse to outline the area, and release the
button.

2.

On the Actions menu, click Zoom.


The chart redraws based on the time and limit range you selected for zooming. The labels on
the Y and X axes change to reflect the selected area of the chart.

Outline an Area
The following figure shows an area of a chart selected with the Zoom command. The area is outlined
with a rectangular box.

888

iFIX with FIX Desktop

Chart Before Zooming


Zoom In
The following figure shows the selected area of the chart enlarged. The limit labels on the Y axis and
the time labels on the X axis change to reflect the selected area.

889

iFIX with FIX Desktop

Chart After Zooming


NOTE: You can continue to use Zoom to enlarge an area of the chart. Each zoom works off the
previously zoomed screen.
To restore a chart to its original settings, on the Actions menu, click Reset to Original.
Updating a Chart with Current Data
You can update a chart to look at current data.
To update a chart:
1.

On the Actions menu, click Set to Current Time. The ending time reflects the current time.
Note that the time duration of the chart remains the same.

2.

On the Options menu, click either a 1, 2, or 5 Minute Auto Update, depending on how often
you want to refresh the data. The menu item is checked to indicate it is in effect.
When the automatic update completes, the time labels on the X axis change to reflect the
updated chart time.

3.

To save the Automatic Update Rates, on the File menu, click Save. When HTD is restarted, it
detects the previously saved update rate and restores it when the chart re-opens.
If an Auto Update rate has been selected and saved previously, the corresponding auto update
icon is visible at the upper right hand corner of the chart, and the chart updates at that rate.

890

iFIX with FIX Desktop

NOTES:

If you are using the on-line help system while using the Auto-update feature, Historical
Display may not paint the screen correctly if an update occurs while the help dialog box is
open. When you close the dialog box, the screen will repaint correctly on the next autoupdate.

When displaying data that was collected on a remote node while using the auto-update
feature (1, 2, or 5 minute update), the updated information will drift away from the current
time if the chart is left active for long periods of time, resulting in a blank chart.

Comparing Charts with Synchronize Time


You can compare process data in different charts by synchronizing the time between the charts. For
example, suppose you have two charts defined to look at different processes. An event occurs, and you
want to later go back and compare a record of the two processes in a specific time period.
To synchronize chart times:
1.

Open the charts that you want to compare.

2.

Select the chart that has the time period you want to use as the basis for comparison.

3.

On the Actions menu, click Anchor Time. An anchor icon is placed in the upper right corner
of the chart.

4.

Select the chart you want to compare with the anchored chart.

5.

On the Actions menu, click Synchronize Time.


The chart's labels change to synchronize with the X axis labels of the anchored chart and the
two charts display data for the same time period.

Unanchoring a Chart
To unanchor a chart, on the Actions menu, click Unanchor Time.
Linking to an Anchored Chart
You can link charts to an anchored chart so that when the time configuration on the anchored chart
changes, the same time changes are automatically duplicated on each linked chart. For example:

Setting the anchored chart to current time also sets each linked chart to current time.

Placing the anchored chart in Auto-Update mode also places each linked chart in Auto-Update
mode.

Shifting the anchored chart's time using the shift buttons also shifts the time on each linked
chart.

Re-configuring the anchored chart's time group also re-configures the time configurations for
each linked chart.

Resetting the anchored chart to its original configuration also resets linked charts to their
original configuration.

Executing the Undo command from the Edit menu on the Anchored chart also undoes the last

891

iFIX with FIX Desktop

change made to each linked chart.

You can link up to eight charts to an anchored chart.

NOTE: Any time changes made to a non-anchored chart do not affect other linked charts or the
anchored chart.
To link charts to an anchored chart:
1.

Open the chart you want to use as the anchor, and on the Actions menu, click Anchor Time.

2.

Open the chart(s) that you want to link to the anchored chart.

3.

On the Actions menu, click Link Window for each non-anchored chart. The Link Window
command is only available if anchoring is enabled and more than one chart is open.

A link icon (three links forming a chain) appears on each linked chart.
To disable a linked chart, on the Actions menu, click Unlink Window. The Unlink Window command
is only available when a linked chart is selected.
TIP: To remove all links to an anchored chart at one time, unanchor the anchored chart.
Arranging Charts on the Screen
If you have more than one chart open, you can arrange the charts on your screen with the Cascade
command on the Window menu. This command overlaps the windows so that each chart's title bar is
visible.
Adding Grid Lines to a Chart
If the chart does not display any grid lines, you can add them to help you locate specific points of data.
To add grid lines to the display chart, on the Options menu, click Horizontal or Vertical Grid Lines.
You can also add or delete grid lines by changing the number of tick marks on the Y or X axes.
To change the number of tick marks on the Y axis:
1.

Select Pen from the Configure Menu, or double-click the Y axis. The Define Pens dialog box
appears.

2.

Select the Y Axis button at the bottom of the window to display the Y Axis dialog box.

3.

Enter the new number of tick marks for the Y axis in the Number of Tick Marks field.

4.

Enter the corresponding number of labels for the Y axis in the Number of Labels field. The
chart redraws with the new grid lines at the tick marks.

To change the number of tick marks on the X axis:

892

1.

On the Configure menu, click Time, or double-click the X axis. The Define Time X Axis
dialog box appears.

2.

Select the X Axis button at the bottom of the window to display the X Axis dialog box.

iFIX with FIX Desktop

3.

Enter the new number of tick marks for the X axis in the Number of Tick Marks field.

4.

Enter the corresponding number of labels for the X axis in the Number of Labels field. The
chart redraws with the new grid lines at the tick marks.

Adding or Removing the Legend


You can toggle between the Primary legend and Alternate legend, or remove the legend from the chart
display. To do so, on the Options menu, click the legend you want to display.
TIP: You can remove the legend to allow more room for the trend area of the chart. To do this, on the
Options menu, click No Legend.
Closing a Chart
When you want to close the open chart, on the File menu, click Close. The chart then closes.

Modifying a Chart Display


You can modify a chart at any time to look at data in different ways. For example, you can:

Combine different pen and time groups to display in a chart.

Modify the pen group in a chart by: Adding or removing an individual block tagname.
Changing the process limits displayed for a tagname on the Y axis. Changing the display
mode for a tagname. Changing the tick marks or labels on the Y axis. Changing the color of a
pen, or the trend or background area colors of the chart.

Modify the time group in a chart by: Entering a different starting date and time. Changing the
duration of the display. Changing the number of tick marks or labels on the X axis. Selecting
time labels or time and date labels. Changing the color of the X axis labels.

Modify the attributes for a chart.

NOTE: You can also use command line parameters to modify display charts. See the Displaying
Charts Using Command Line Parameters section for information on using command line parameters.
Ways to Modify a Chart
The main ways to modify a chart are using the Configure menu commands or the Toolbox. To display
the Toolbox, select it from the Options menu. The Toolbox is shown in the following figure.

Toolbox

893

iFIX with FIX Desktop

The Toolbox has four icons that you can select to modify the chart, pen, time, or legend. There are
additional ways to modify a chart. The following table provides a complete list of ways you can
modify a chart.
To modify
a...
Chart Group

Pen Group

Time Group

Legend

Select one of the following...

Chart Command

Toolbox Chart icon

Pen command

Toolbox Pen icon

Y axis in the chart by doubleclicking

Time Command

Toolbox Time icon

X axis in the chart by doubleclicking

Legend command

Toolbox Legend icon

Legend line in the chart by


double-clicking

To display the...

Configure Chart dialog box

Define Pens dialog box

Define Time X Axis dialog box.

Define Primary/Alternate Legend


dialog box

NOTES:

The display changes you make in a chart are temporary. That is, they only remain in effect
until you close the display chart.

If you want to save the new parameters you entered for a pen or time group, on the File menu,
click Save. To save the entire chart under a new name, on the File menu, click Save As.

Modifying a Chart
You can modify the currently displayed chart by selecting either one of the following:

Chart from the Configure menu.

The chart icon from the Toolbox.

The Configure Chart dialog box appears. The Configure Chart dialog box displays a list of existing pen
and time groups. You can combine a pen and time group from the list and display them in a chart. You
can also modify a pen group, a time group, or chart details through the Configure Chart dialog box.
When you want to change both the pen and time groups in a chart, using the Configure Chart dialog

894

iFIX with FIX Desktop

box saves time in displaying the new data. The reason for this is that there is only one read of the data
collect files for the adjusted pen and time groups.
Fields, Icons, and Buttons
The Configure Chart dialog box has the following fields, icons, and buttons:
Pen Group box displays a scrollable list of defined pen groups.
Pen icon displays the Define Pens dialog box for the selected pen group. Select the pen icon if
you want to modify the pen group.
Time Group box displays a scrollable list of defined time groups.
Time icon displays the Define Time X Axis dialog box for the selected time group. Select the
time icon if you want to modify the time group.
Attributes button displays the Chart Details dialog box where you can modify chart colors, the
chart legend, and the chart header.
OK button modifies the previously displayed chart, and displays a new chart containing data for
the selected pen and time groups.
Cancel button cancels any selections made and closes the dialog box.
Procedure
To modify the currently displayed chart:
1.

On the Toolbox, click Chart. Or, on the Configure menu, click Chart.

2.

Choose the pen group and a time group that you want to display from the list in the Configure
Chart dialog box. You can select any combination of pen and time groups to display in a
chart.

To modify the selected pen group, select the pen icon to display the Define Pens
dialog box.

To modify the selected time group, select the time icon to display the Define Time
X Axis dialog box.

To modify chart colors, the chart legend, or the chart header, select the Attributes
button to display the Chart Details dialog box.

NOTE: For complete instructions on defining pen groups, time groups, and chart details, see
the Creating Historical Display Charts section.
3.

Select OK. Data from the new pen, time group, and chart attributes temporarily overwrites the
existing chart and the new chart displays on the screen.

The changes you make to the chart are temporary and are not saved when you close the chart window.
To permanently save the modified chart, on the File menu, click Save As. A Save As dialog box
appears. Enter a name for the modified chart and click OK.

895

iFIX with FIX Desktop

NOTE: The original chart group is not deleted when you save the new chart. Both the original chart
and the new chart are shown in the list of chart groups.
To create a new chart group, modify a pen group or time group, or modify the legend, refer to the
following sections:

Creating a New Chart Group

Modifying a Pen Group

Modifying a Time Group

Undoing Changes to a Pen or Time Group

Modifying the Legend

Creating a New Chart Group


To create a new chart, on the File menu, click New. The Configure Chart dialog box appears. You can
choose a pen and time group from the list provided to display in a new chart.
The new chart is labeled Untitled. To save the new chart, on the File menu, click Save As. Enter a
name for the new chart.
Modifying a Pen Group
To modify a pen group, use the Define Pens dialog box. You can access this dialog box by:

Selecting the Pen command from the Configure menu.

Selecting the Pen icon from the Toolbox.

Double-clicking to the left of the Y axis in the chart.

Double-clicking the pen group in the Configure Chart dialog box.

You use the same methods to modify a pen group as creating a pen group. For instructions on
modifying the pen group, see the Creating Historical Display Charts section.
When you have finished modifying the pen group, select OK to close the Define Pens Dialog box and
display the new pen settings in the chart.
Saving Pen Changes
The changes you make to a pen group in a chart remain in effect until you close the chart. If you want
to permanently save the changes to the pen group, on the File menu, click Save. You get the following
message:
Original pen group will be overwritten. Save anyway? Cancel Yes

When you select Yes, the changes you made overwrite the existing pen group and the new pen group is
written to disk. If you select Cancel, the changes are not saved to disk.
Modifying a Time Group
Printing a ChartTo modify a pen group, use the Define Time X Axis dialog box. You can access this

896

iFIX with FIX Desktop

dialog box by selecting any of the following:

Time command from the Configure menu.

Time icon from the Toolbox.

Double-click below the X axis in the chart.

Double-click on the time group in the Configure Display dialog box.

The current configuration for the selected time group is displayed in the Define Time Group dialog
box.
You use the same methods to modify a time group as creating a time group. For instructions on
modifying a time group, see the Creating Historical Display Charts section.
When you have finished modifying the time group, select OK to close the Define Time Group dialog
box and display the new time settings in the chart.
Saving Time Changes
The changes you make to a time group in a chart remain in effect until you close the chart. If you want
to permanently save the changes you made to the time group, on the File menu, click Save. You get the
following message:
Original time group will be overwritten. Save anyway? Cancel Yes

When you select Yes, the existing time group is overwritten with the changes you made, and the new
time group is written to disk. If you select Cancel, the changes are not saved to disk.
Undoing Changes to a Pen or Time Group
You can undo the last change you made to a pen or time group in a chart. To undo the last change you
made, on the Edit menu, click Undo.
If you made changes to a pen group, the trend lines for the chart are redrawn. If you made changes to a
time group, the labels on the time axis change to reflect the previous configuration for the time group.
Modifying the Legend
You can make changes to the legend using the Define Primary/Alternate Legend dialog box. You can
access this dialog box by:

Double-clicking the legend in the chart.

Selecting the Legend command from the Configure menu.

Clicking the Legend icon from the Toolbox.

Clicking the Primary or Alternate Legend buttons, and then clicking the Legend icon in the
Chart Details dialog box.

The current configuration for the chart legend displays.

897

iFIX with FIX Desktop

Printing a Chart
To print a Historical Display chart:

To print the chart that is currently active, on the File menu, click Print. While the chart is sent
to the printer, a dialog box displays the name of the chart being printed.
-Or-

Invoke the HTDPRINT background task program using command line parameters. For
example:
HTDPRINT -CG 'Chart Group 1'

Refer to the Displaying Charts Using Command Line Parameters section for information on
using command line parameters.

TIP: For best results, when printing to a black and white printer, change the chart's background and
trend area colors to white. See the Defining Chart Details section for instructions on defining chart
area colors.

Copying or Exporting a Chart


You can copy or export a chart you see in the Historical Display program depending on the capabilities
of your window manager. The following sections provide information on copying or exporting charts:

Copying a Chart to the Clipboard

Exporting a Chart to an ASCII File

Copying a Chart to the Clipboard


You can copy a chart to the clipboard in bitmap format. Use the following steps to complete this task.
To copy a chart to the clipboard in bitmap format:
1.

Select the chart and then on the Edit menu, click Copy.

2.

Open the clipboard to view its contents and verify that the chart is copied.

Exporting a Chart to an ASCII File


You can export a chart to an ASCII file by specifying a directory path name and a file name.
To copy the data in a chart to an ASCII file:

898

1.

On the File menu, click Export. The standard File Save dialog box opens.

2.

Enter a file name and extension for the file.

3.

Select OK to export the chart to an ASCII file in the path you specified.

iFIX with FIX Desktop

Sample File
Below is an example of an exported chart in ASCII format. The header for the file lists the date, the
node, the tag, the field, and the collection mode for each tagname. The syntax for the data is as
follows:
TIME,DATA VALUE, 0|1

NOTE: A 0 indicates that the data value is valid. A 1 indicates that the data value is not valid.
The first line of data in the example below shows that on 5/10/05 at 9:45:14, the value recorded for
SCADA:TT2.F_CV was 66.66666 and the value recorded for SCADA:TT01.F_CV was 60.00000.
Both are valid data points.
5/10/05, 5/10/05,
SCADA, SCADA,
TT02, TT01, F_CV, F_CV,
SMPL, SMPL,
09:45:14, 66.66666,0, 60.00000,0,
09:45:24, 66.66666,0, 60.00000,0,
09:45:34, 80.00000,0, 29.99924,0,
09:45:44, 80.00000,0, 29.99924,0,
09:45:54, 80.00000,0, 29.99924,0,
09:46:04, 62.50095,0, 60.00000,0,
09:46:14, 62.50095,0, 60.00000,0,
09:46:24, 62.50095,0, 60.00000,0,
09:46:34, 80.00000,0, 29.99924,0,
09:46:44, 80.00000,0, 29.99924,0,
09:46:54, 80.00000,0, 29.99924,0,

Exported Chart in ASCII File Format

Exiting the Historical Display Program


When you want to exit the Historical Display program, on the File menu, click Exit. All chart files
close and the Historical Display window closes.
You can also define a keyboard accelerator for the Exit command by editing the HTD.INI file. By
default, the accelerator is F2. However, you can define the accelerator to be any other function key
from F3 to F9.

899

iFIX with FIX Desktop

Importing and Displaying Lab Data


In your process, you may compile lab data that is not recorded in real time by your iFIX with FIX
Desktop software. The term lab data encompasses any data that you want to display in a chart that
cannot reside in your iFIX database. For example, you may perform quality tests on your products or
processes and record data from these tests.
The Historical Display program allows you to import and view this data (from Classic Historian only)
into display charts. You can import any type of data, including data files created in third-party
applications (such as Excel) as long as the data is in ASCII comma-separated format. Furthermore, you
can view imported lab data with historical data in the same display chart.
IMPORTANT: Be aware if Proficy Historian is configured as your historian, you cannot import or
display lab data into the Historical Display (HTD) program. As such, the steps in this chapter do not
apply if you are using Proficy Historian as your historian.

Lab Data Flow


The following figure shows the flow of lab data from an ASCII file to a Historical Display chart.

Lab Data Flow Diagram

Tasks
This chapter describes how to import lab data into Historical Display and view lab data in display
charts, which includes the following tasks:

900

iFIX with FIX Desktop

Create ASCII files containing lab data.

Create a data dictionary used to provide EGU definitions.

Import lab data files into Historical Display.

Define lab data pens.

Display lab data in charts.

Creating Lab Data Files


Lab data files can be created by exporting data from third-party applications or by manually creating
them using a text editor.
File Location
Lab data files must reside in a subdirectory of the HTRDATA path. You can make your own lab data
subdirectory or use an existing subdirectory that was created by Historical Collect.
Naming Convention
Historical Display does not require any specific naming convention for your lab data files. However,
for easy identification, consider adopting a standard naming convention for your lab data files.
TIP: The default file type that Historical Display searches for when you import your files is *.DAT.
File Format
Lab data files must be in ASCII comma-separated format. Each line of lab data must not exceed 8
characters. There is no limit to the number of lines within a file. Sort the lines of data in chronological
order by increasing date and then by increasing time. Blank lines and lines beginning with semicolons
are ignored.
Each line of lab data must be in the following format and must specify the following information:
DATE, TIME, VARIABLE, VALUE, COMMENT

For example:
1/1/05, 12:00:00, DENSITY, 1000, Below normal

The following table describes the lab data file format.


File
Statement

Description

DATE

Date of the data values. The date string must be in the format set up for your
system. The default is MM/DD/YY

Time

Time of the data value. The time string must be in the format set up for your
system. The default is HH:MM:SS

901

iFIX with FIX Desktop

File
Statement

Description

VARIABLE

A label for the data. This variable name cannot be greater than 10 characters,
and can contain characters A through Z, 0 through 9, the underscore (_), and the
dash (-).

VALUE

The floating-point or integer value of the data. This value can be up to seven
significant digits or in exponential format.

COMMENT

Optional text. For example, a test code or a product ID to describe the lab data.

Creating a Lab File Using a Text Editor


To create lab data file using a standard text editor, enter the information in chronological order in the
format described in the table in the Creating Lab Data Files section. A sample file follows:
;Monday's Lab
05/19/05, 12:30:00, PH_LEVEL, 7.04
05/19/05, 12:35:00, DENSITY, 4.63
05/19/05, 12:40:00, PH_LEVEL, 7.22, Above normal
05/19/05, 12:45:00, DENSITY, 3.78
;Tuesday's Lab
05/20/05, 12:30:00, PH_LEVEL, 7.87, Above normal
05/20/05, 12:35:00, DENSITY, 4.66
05/20/05, 12:40:00, PH_LEVEL, 7.50, Above normal
05/20/05, 12:45:00, DENSITY, 3.71

Sample Lab Data File


Creating Lab Data Files in Excel
When creating lab data files in Excel, each row represents one line of lab data. The data must be
entered in the file format described in the table in the Creating Lab Data Files section (without entering
the commas). Save the Excel file in CSV format. This automatically adds the commas for you.
However, you won't see the commas in the Excel spreadsheet.
To create an Excel lab data file:

902

1.

In the Excel application, on the File menu, click New to open a worksheet.

2.

In cell A1, enter the Date of the data values.

3.

In cell B1, enter the Time of the data value.

iFIX with FIX Desktop

4.

In cell C1, enter the Variable for the data value.

5.

In cell D1, enter the Value for the data value.

6.

Continue to enter as many lines of lab data as necessary starting in cell A2, and so on.

7.

When you have finished entering all lab data, on the File menu, click Save. The File Save As
dialog box appears.

8.

In the Save File as Type field, select CSV as the file type. This adds a .CSV file extension to
the file name.

9.

Save the file in a subdirectory of the HTRDATA path.


NOTE: If you want to enter a blank row you must enter a semicolon in the first cell of that
row. Also, if you want to add header text, enter a semicolon in the first cell of the row that
contains the header text. Remember that a data dictionary must exist in the subdirectory
where you save the Excel file.

Creating a Data Dictionary


The data dictionary provides a single location where you define EGU information for each lab data
variable. Historical Display uses the information defined in the data dictionary to provide EGU high
and low limits and a description for each variable.
File Name and Location
You must name the data dictionary file LABDATA.DEF. A data dictionary must exist in each
subdirectory from which you import lab data files. Therefore, if you have two subdirectories
containing lab data files, there must be a data dictionary located in each subdirectory.
File Format
The data dictionary must be in ASCII format. Each line in the data dictionary file must be in the
following format:
VARIABLE, DESCRIPTION, EGU DESCRIPTION, LOW EGU, HIGH EGU

The following table describes the data dictionary file format.


File Statement

Description

VARIABLE

A label for the data. This variable name cannot be greater than 10 characters,
and can contain characters A through Z, 0 through 9, the underscore (_), and
the dash (-). Retrieved when the browse (...) button is pressed on the Define
Pens dialog box.

DESCRIPTION

A description of the variable. Maximum length is 40 characters. Displayed


in the Legend.

EGU
DESCRIPTOR

The unit name for the EGU. Maximum length is 4 characters.

903

iFIX with FIX Desktop

File Statement

Description

LOW EGU

The numeric value for the low EGU limit. Retrieved when the GETCH
LIMITS button is pressed on the Define Pens dialog box.

HIGH EGU

The numeric value for the high EGU limit. Retrieved when the GETCH
LIMITS button is pressed on the Define Pens dialog box.

Sample File
A sample data dictionary file follows.
PH_LEVEL, PH Level of material, pH, 0, 12.00
DENSITY, Density of material, psi, 3, 15.00

Importing Lab Data


Once you have created your lab data and data dictionary files, you can import the data into Historical
Display. After you have imported the data, you can display the lab data in charts.
To import data:
1.

In the Historical Display, on the File menu, click Import Lab Data. The File Selection dialog
box appears.
IMPORTANT: The Import Lab Data command is not available if Proficy Historian is your
configured historian.

2.

In the File Selection dialog box, specify the lab data file that you want to import and then
select OK to import the data.
While the data is imported, a working dialog appears indicating that the data is being
processed. When the dialog disappears, processing is complete.
NOTE: After you have imported the data, you can delete the ASCII file.

Output Files from Importing Data


When you import data, iFIX compresses the ASCII data into a binary format. The ASCII data file
remains intact and a new Historical Display lab data file is created and placed in the HTRDATA path
where it can be retrieved for display in a chart.
Imported lab data files are named using the same conventions used by Historical Collect. An example
follows:
C:\Program Files\Proficy\Proficy iFIX\HTRDATA\nodename\93042100.L24

NOTE: All lab data files will have L24 as the file extension.

904

iFIX with FIX Desktop

If you import a file that contains data for multiple dates, a file is created for each date listed. For
example, if your ASCII file contains lab data for April 21, April, 22, and April 23, 2005, three files are
created:

05042100.L24

05042200.L24

05042300.L24

Error File
If the import was not successful, the following message appears:
Error(s) encountered on Import. See the error file for messages...

The message also provides the path and file name of the error file. The error file will be in the
subdirectory that contains the data file that you attempted to import. The error file will have the same
name as the lab data file with an .ERR file extension.
Updating and Purging Lab Data Files
When you import lab data files that define new values for variables at times and dates that have
previously been imported, the previously imported variable values are overwritten. Imported lab data
files remain available until they are purged.
Lab data files are automatically purged based on the Number of Days value set on the Group
Configuration dialog box in the Historical Assign program.

Displaying Lab Data in a Chart


Once you have successfully imported lab data, you can display that data in a chart. A pen group can
contain both lab data pens and historical data pens, allowing you to compare lab data results with
historical data.
Generally, the methods you use to create and display lab data in charts are the same as those used to
create and display historical data in charts. This section focuses on the procedures that are unique when
working with lab data. For generic information on the procedures and dialog boxes discussed here,
refer to the Creating Historical Display Charts and Displaying Historical Data sections.
Defining a Lab Data Pen
Procedurally, the differences between defining a lab data pen versus a historical pen are minor; you
need to specify that the pen is a lab data pen and specify a lab marker.
To define a lab data pen:
1.

Display the Define Pens dialog box.

2.

Enter the pen group name in the Pen Group field.

3.

In the Pen Type area at the bottom of the dialog box, select the Lab radio button.

4.

In the Tagname field, enter the lab data variable that you want to display on the chart.

905

iFIX with FIX Desktop

The syntax for lab data tagnames is NODE:TAG. The node represents the HTRDATA
subdirectory in which the lab data is stored. The tag represents the variable name assigned by
the user in the lab data file. To display a list of available lab variables, enter the NODE where
the lab data resides and select the browse (...) button.
5.

To fetch the EGU limits that were defined in the data dictionary, select the Fetch Limits
button.

6.

To define a lab data marker, select the Lab Marker button to display the Lab Data Marker
dialog box. The marker displays at the actual date and time of the lab data point.

7.

To define a line style for the lab data pen, select the Line Style button. Unlike historical data
pens, you can choose not to display a lab data pen by disabling both the Show Line box and
Use Marker box.

8.

Select the Save button to save the lab data pen definitions or select Cancel to cancel all
definitions.

Example
In the following figure, two lab data pens, LABDATA:PH_LEVEL and LABDATA:DENSITY are
defined. Notice that the Lab radio button is selected. The EGU high and low limits were retrieved from
the data dictionary by selecting the Fetch Limits button.

Define Pens Dialog Box Lab Data


Choosing from a List
In this example, PH_LEVEL and DENSITY were selected from a list of available lab data variables.
To display this dialog box, select the browse (...) button on the Define Pens dialog box.

906

iFIX with FIX Desktop

Chart Display
The next figure shows a chart displaying the two lab data pens defined in the example above, and one
historical pen. The lab data pens have rectangle and oval markers that display at the actual date and
time of the lab data values that were imported to Historical Display.

Lab Data Display Chart


Lab Marker Configuration
The next two figures show how the PH_LEVEL lab data pen markers were configured.

907

iFIX with FIX Desktop

Lab Data Marker Dialog Box

Line Style Dialog Box


Alternate Display
When the Show Line and Use Marker check boxes are disabled in the Line Style dialog box, only the
lab data markers display as shown in the following figure.

908

iFIX with FIX Desktop

Lab Data Display Chart, Line Styles Disabled

Retrieving and Displaying SQL Data


In your process, you may decide to store process data in a relational database. Your iFIX with FIX
Desktop software can retrieve data that is stored in a relational database and display the data in a
Historical Display chart. The term SQL data encompasses any data that you want to display in a chart
that is stored in a relational database. For example, you may perform quality tests on your products or
processes and record data from these tests. The Historical Display program lets you view this data in
display charts. You can view numeric data from a relational database provided that the database
supports the ODBC interface.
Before attempting to implement the advanced data retrieval strategy discussed in this chapter, make
sure you have a good understanding of Historical Display. For more information about this application,
refer to the Creating Historical Display Charts section.
NOTE: If you are using Microsoft Access, do not use spaces in your relational database table names.
Your iFIX software cannot query tables with spaces in their names.

Tasks
IMPORTANT:The following tasks apply only to Historical Display (HTD).

909

iFIX with FIX Desktop

This type of advanced data retrieval involves the following tasks:


1.

Create two tables (an SQL data table and an SQL data dictionary table) to store process data
in your relational database.

2.

Design an SQL query that accesses the data stored in your relational database using Historical
Display.

3.

Configure an SQL login account in the System Configuration Utility (SCU).

4.

Define an SQL data pen for each SQL query.

5.

Display the SQL data in a chart.

the following figure illustrates the tasks necessary to retrieve SQL data from a relational database and
display it in a Historical Display chart. The rest of this chapter explains how to accomplish these tasks.
If you experience difficulty accessing a relational database or if access is slow, you may need to
optimize your relational database. For tips on using SQL, refer to the Using SQL manual.

Data Dictionary TableRetrieving and Displaying SQL Data

910

iFIX with FIX Desktop

Creating SQL Tables


For Historical Display to interpret data from a relational database, you need to create a data table to
define the information to be trended. To provide additional information about each pen, you need to
create a data dictionary table. Both types of tables are discussed in the following sections:

Data Table

Data Dictionary Table

Data Table
The data table is a relational database table containing data that you can display using Historical
Display. In order for a point to be successfully trended, the data table must contain columns for the
following:

The date and time of each value.

The data name.

The data value.

The following table describes these columns in more detail.


Column

Description

Date and
Time

Date and time of the data values. The date and time format used depends on the
settings configured in your relational database.

Data Name

A label for the data. The data name is defined in your relational database and is
used by the query statement to retrieve data.

Data Value

The floating-point or integer value of the data. This value can be up to seven
significant digits or in exponential format.

The following figure illustrates a typical data table.

Sample Data Table

911

iFIX with FIX Desktop

Data Dictionary Table


The data dictionary table is a relational database table that defines information about each SQL data
value. The table contains columns for the following data:

The data name.

The data description.

The EGU description.

The low EGU.

The high EGU.

Refer to the following table for more information about these columns.
NOTE: Configure the Data Name column as the index for the data dictionary table.
Column

Description

Data Name

A label for the data. The data name is defined in your relational database and is
used by the query statement to retrieve data.

Data
Description

A description of the data. Maximum length is 40 characters.

EGU
Description

The unit name for the EGU. Maximum length is 4 characters.

Low EGU

The numeric value for the low EGU limit.

High EGU

The numeric value for the high EGU limit.

The following figure illustrates a typical data dictionary table.

Sample Data Dictionary Table

Defining an SQL Query


After you define a data table and a data dictionary table, you are ready to define the SQL queries for
these tables. Up to 250 queries can be created.

912

iFIX with FIX Desktop

To define an SQL query:


1.

Start Historical Display.

2.

On the Utilities menu, click Define SQL Queries. The Define SQL Queries dialog box
appears.
The Define SQL Queries dialog box contains the following fields and buttons:
Query list box displays a list of available SQL queries.
Add button adds a new SQL query by displaying the SQL Query dialog box.
Modify button modifies an existing SQL query by displaying the SQL Query dialog box.
Delete button deletes the selected SQL query.

5.

Click the Add button. The Add SQL Query dialog box appears. This dialog box lets you
define queries to your relational databases. The maximum length of a query is 1024
characters.

6.

Complete the Add SQL Query dialog box using the field descriptions in the following table.
This table also lists which fields in the Add SQL Query dialog box require a table name and a
column name. When completing these fields, use the following format:
tablename.columnname

The following table describes the Add SQL Query dialog box fields.
In the field

Enter the

Query Name

Query name. The query name can be up to 1 alphanumeric characters and


underscores ( _ ).

Time

Data table name and column name containing the date and time of the data you
want to access.

Name

Data table name and column name containing the name of the data you want to
access.

Value

Data table name and column name containing the data you want to access.

Description

Data dictionary table name and column name containing a description of the data
you want to access.

EGU

Data dictionary table name and column name containing the EGU label of the
data you want to access.

EGU Low

Data dictionary table name and column name containing the low EGU limit of
the data you want to access.

913

iFIX with FIX Desktop

In the field

Enter the

EGU High

Data dictionary table name and column name containing the high EGU limit of
the data you want to access.

FROM
Table(s)

Data table and data dictionary table to access. Enter the names of the tables
using the following format:
datatable,dictionarytable

Up to 175 characters can be entered into this field.


WHERE
Condition
Meets

Specific condition to retrieve data for one column name. Enter the condition
using the following format:
datatable.column=dictionarytable.column AND
datatable.column='name'

or
datatable.column=dictionarytable.column AND
datatable.column='number'

Note that you can substitute a table name and column name in place of a data
name as follows:
datatable.column=dictionarytable.column AND
datatable.column=dictionarytable.column

Boolean operators such as AND and OR can also be used. For an exact list of
these operators, refer to your relational database manuals. The maximum length
of the condition is 479 characters.
For example, if you want to retrieve data for the data name TEMP, you might
complete this field as follows:
TABLE1.COL2=TABLE2.COL2 AND TABLE1.COL2=' TEMP'

Modifying SQL Queries


The steps below explain how to modify an SQL query.
To modify a SQL query:
1.

On the Utilities menu, click Define SQL Queries. The Define SQL Queries dialog box
appears.

2.

Select the Modify button. The Modify SQL Query dialog box appears.

3.

Modify the entries in the Modify SQL Query dialog box using the field descriptions in table
in the Defining an SQL Query section as a guide. If you see the following message:
The query name CANNOT be modified

You may have entered an SQL query name in the HTD.INI file in lowercase text. To correct
the problem, change the query name to uppercase text in the HTD.INI file. You cannot
change the name of an SQL query from Historical Display.

914

iFIX with FIX Desktop

Optimizing Data Retrieval


The amount of time needed to retrieve data from a relational database can be considerable, depending
on the amount of information and the size of the database. You can speed the retrieval of data by
storing your relational database information in clusters and creating a cluster index.
Clusters are pre-indexed data that allow faster retrieval of relational database information. To create a
cluster, use a text editor and define the information you want to retrieve. Refer to your relational
database manuals for more information on the exact syntax needed to define a cluster.
The next example illustrates the use of CLUSTER statements to create highly efficient data storage
and dictionary tables on an Oracle server. Similar statements can be used on other relational database
servers.
CREATE CLUSTER HTD_CLUSTER (NAME1 CHAR(10))
CREATE TABLE DATAT
(NAME2 CHAR(10) NOT NULL,
TIME
VAL

DATE

NOT NULL,

NUMBER(5,2) NOT NULL)

CLUSTER HTD_CLUSTER (NAME2)


CREATE TABLE DICTT
(NAME3 CHAR(10) PRIMARY KEY,
VDESC CHAR(40),
EGU

CHAR(4),

LOW_EGU NUMBER(5,2),
HIGH_EGU NUMBER(5,2))
CLUSTER HTD_CLUSTER (NAME3)
CREATE INDEX DICTT_IDX ON CLUSTER HTD_CLUSTER

Cluster Statements to Optimize Data Retrieval


In this example, DATAT is the relational database table containing process data (the data table).
DICTT is the relational database table that contains the EGU high limits, low limits, and a description
of the process data (the data dictionary table). HTD_CLUSTER is the name of the cluster. NAME1,
NAME2, and NAME3 are particular index objects to be used in the cluster index (HTR_CLUSTER).

Editing the SQL Queries in the HTD.INI


Historical Display stores each SQL query you create in the HTD.INI file. You can edit the [SQL]
section of the HTD.INI file, located in the iFIX Local path, with a text editor to define new queries and
modify existing ones. The default SQL query in the HTD.INI file is shown in below. For more
information on the HTD.INI file, refer to the Configuring HTD.INI section.
If you plan on editing your HTD.INI file, back up the file before you make changes to it.

915

iFIX with FIX Desktop


[SQL]
;Syntax for a Query Statement(this is a valid SQL query):
;(field order must be as shown)
;
;Q1=SELECT D2.TIME,D2.NAME,D2.VAL,T2.DESC,T2.EGU,T2.LEGU,T2.HEGU
;FROM D2,T2
;WHERE (D2.NAME='val1')
;AND (D2.NAME=T2.NAME)
;ENDQUERY
;
; Where 'Q1' is the query name (tag size (10 or 30))
;'D2' is the data table name
;'T2' is the dictionary table name
;'TIME', 'NAME', 'VAL','DESC','EGU','LEGU','HEGU' are table column names.
;'val1' is the variable name stored in the relational db
;'ENDQUERY' must follow the last line of the query
;

Default SQL Query in the HTD.INI File


NOTE: Each line in the SQL section of the default HTD.INI file begins with a semicolon (;) to
represent a commented line. Use the default query as a guide to create new queries. Make sure you
remove the leading semicolon from each line of the actual query.
If you define SQL queries by editing the HTD.INI file, make sure each query has a unique name.
Defining multiple queries with the same name may cause unexpected results.
A sample query statement from the HTD.INI file is shown below:
SQLDATA1=SELECT DATAT.TIME, DATAT.NAME, DATAT.VAL,
DICTT.DESC, DICTT.EGU, DICTT.LOW_EGU,
DICTT.HIGH_EGU
FROM DATAT,DICTT
WHERE DATAT.NAME='VAR_NAME_1' AND DATAT.NAME=DICTT.NAME
ENDQUERY

In this example, SQLDATA1 is the name of the query. SQLDATA1 is used in place of a tagname in
the Pen Configuration dialog box. DATAT is the relational database table containing process data (the
data table). DICTT is the relational database table that contains the EGU high limits, low limits, and a
description of the process data (the data dictionary table). VAR_NAME_1 is the name of the data

916

iFIX with FIX Desktop

being retrieved.
Building an SQL Query Manually
The SQL query that you define in the HTD.INI file must use the following format:
SQL_QUERY_NAME=SQL_QUERY_STATEMENT ENDQUERY

where SQL_QUERY_NAME is used in place of the tagname in a Historical Pen Display,


SQL_QUERY_STATEMENT can be a multiple line query, and ENDQUERY indicates the end of the
SQL query. Note that the query name must be entered in uppercase text.
The individual sections of the SQL statement must be kept within the maximum number of characters,
as shown in the following table.
SQL Section

Maximum Number of Characters

Table Names

175

Column Names

240

Condition Length

479

Entire Statement

1024

The SQL query must retrieve fields in the following order:

Date/Time of Data Value

Data Name

Data Value

Data Description

EGU Description

Low EGU Value

High EGU Value

The WHERE clause should contain the condition to retrieve data for one column. For example, to
retrieve data for the data name TEMP, use the following WHERE clause:
WHERE TABLE1.COL2=TABLE2.COL2 AND DATA.NAME=TEMP'

Configuring an SQL Login Account in the SCU


Before Historical Display can retrieve data from a relational database, you must create an SQL login
account in the SCU. This account is referenced during the data retrieval process and includes a
database type, a database identifier, a user name, and a password.

917

iFIX with FIX Desktop

For instructions on how to configure SQL login accounts, refer to the section in the Configuring
Security Features manual.
For instructions on how to configure iFIX for use with a relational database, refer to the Configuring
iFIX for Relational Databases section in the Setting Up the Environment Manual.

Displaying SQL Data in a Chart


Once you have successfully created the two database tables, defined a query, and configured your
relational database information in the SCU, you can display data from your relational database in a
chart. A pen group can contain SQL data pens, lab data pens, and historical data pens, allowing you to
compare SQL data results with historical data and lab data.
Generally, the methods used to create and display SQL data in a chart are the same as those used to
create and display historical data and lab data in charts. This section focuses on the procedures that are
unique when working with SQL data. For more information on the procedures and dialog boxes
discussed here, refer to the Displaying Historical Data section.
Each SQL data pen you create specifies a database identifier (from an SQL login account) and an SQL
query name (from the HTD.INI file). When you open a chart, Historical Display appends two clauses
to each SQL query associated with an SQL data pen. The BETWEEN clause is based on the selected
time group for the chart and limits the data collection to values that fall within the time period
configured for the selected time group. The ORDER BY clause sorts the data by time in ascending
order.
For example, suppose you use the SQL query, SQLDATA1, described in the Editing the SQL Queries
in the HTD.INI section. It is defined as follows:
SQLDATA1=SELECT DATAT.TIME, DATAT.NAME, DATAT.VAL,
DICTT.DESC, DICTT.EGU, DICTT.LOW_EGU,
DICTT.HIGH_EGU
FROM DATAT,DICTT
WHERE DATAT.NAME='VAR_NAME_1' AND DATAT.NAME=DICTT.NAME
ENDQUERY

Using the procedure in the Defining an SQL Data Pen section, you can assign this query to an SQL
data pen called SQLPEN. The selected time group, called SQLTIME, is set up to display data between
the hours of 11:00 and 1:00PM on January 10, 1994. When you open the chart containing this pen,
Historical Display appends the BETWEEN clause and the ORDER BY clause so that the actual SQL
query that executes is the following:
SQLDATA1=SELECT DATAT.TIME, DATAT.NAME, DATAT.VAL,
DICTT.DESC, DICTT.EGU, DICTT.LOW_EGU,
DICTT.HIGH_EGU
FROM DATAT,DICTT
WHERE DATAT.NAME='VAR_NAME_1' AND DATAT.NAME=DICTT.NAME
AND DATA.TIME BETWEEN {ts '1994-01-10 11:00:00'}

918

iFIX with FIX Desktop


AND {ts '1994-01-10 13:00:00'}
ORDER BY DATAT.TIME

When a query is made to a relational database, Historical Display logs into the database to collect the
data. Historical Display keeps the database connection open in order to speed further queries to the
database. When Historical Display closes, it logs out of the relational database. Chart data from a
relational database appears just as data from an iFIX process database does.
NOTE: Charts that reference data from a relational database do not contain deadband values or the
collection interval in the legend.
Defining an SQL Data Pen
Procedurally, the differences between defining an SQL data pen versus a historical pen are minor. You
need to specify that the pen is an SQL data pen, and specify an SQL Database Identifier and an SQL
query name instead of a tagname (NODE:TAG.FIELD).
To define an SQL data pen:
1.

On the Utilities menu, click Define Pen Group. The Define Pens dialog box appears.

2.

Select the Add button. The Add Pen Group dialog box appears.

3.

In the Pen Group field, enter the pen group name.

4.

In the Pen Type area at the bottom of the dialog box, select the SQL Data radio button.

5.

In the Tagname field, enter the SQL database identifier and the SQL query name of the data
name that you want to display.
The database identifier is a reference to the SQL login account configured in the SCU. The
query name is a reference to the SQL query stored in the HTD.INI file. The syntax for an
SQL data tagname is:
DATABASE_IDENTIFIER:QUERY_NAME

6.

Select the Line Style button to define a line style for the SQL data pen.

7.

Type the low and high EGU limits into their respective fields. These limits appear on the Y
axis of the chart.
NOTE: You cannot use the Fetch Limits button or the Tagname browse (...) button when
configuring an SQL data pen. The EGU range of the SQL Data value is defined by the
relational database. This range appears in the chart's legend. To change the EGU range of an
SQL data value, edit the data table or data dictionary table you are querying.

8.

Select the Add button to add the pen to the list displayed by the dialog box.

9.

Select the Save button to save the SQL data pen definitions or select Cancel to cancel all
definitions.

Example
In the previous figure, one SQL data pen, DB_ID:QUERY_NAME, is defined in the pen group. Notice
that the SQL Data radio button is selected.

919

iFIX with FIX Desktop

To display this pen in a chart:


1.

On the File menu, click New. The Configure Chart dialog box appears.

2.

Select the SQL pen group you defined and press the OK button. A new chart appears with the
selected pen group.

Historical Trending System Messages


The following tables contain messages generated in the Historical Assign, Collect, and Display
programs.

Historical Assign Messages

920

Historical Assign Message

Action or Meaning

Can't add group. Disk may be full.


Check disk.

Check disk space and delete unnecessary files.

Cannot save a group with no tags.


Close dialog anyway?

A group that contains no tags cannot be saved.

Configuration file write error.


Disk may be full.

Check disk space and delete unnecessary files.

Enter a nodename.

To use ? support in the tagname field you must first enter a


nodename in the Node field.

Field must be floating point type.

Field must be F_.

Illegal characters in nodename.

Nodename must start with a letter and be less than 9


alphanumeric characters.

Illegal limit value.

Enter a limit value of 0, or greater than 0.

Insufficient disk space to save new


configuration.

Check disk space and delete unnecessary files.

Insufficient disk space to save new


group.

Check disk space and delete unnecessary files.

Invalid autopurge time entered.

Valid autopurge range is from 2-200 days.

iFIX with FIX Desktop

Historical Assign Message

Action or Meaning

Invalid rate value.

Valid collection rates are:

1, 2, 10, 20, 30 seconds

1, 2, 10, 20, 30 minutes

Invalid value entered for phase.

Phase values are in 2 second increments from 0-58 seconds.

Maximum number of groups has


been reached.

Up to 255 collection groups can be defined in Historical


Assign. To add more groups, delete unnecessary groups.

Nodename is not valid. Save


anyway?

The nodename entered is not valid. Establish a session with


the node in the SCU.

Phase must be less than rate.

The Phase value must be less than the Rate value.

This Node:Tag.Field not found.


Use anyway?

Verify that the entry is valid.

This tagname is already assigned


to the group.

The tagname is already entered for this group. You cannot


enter duplicate tagnames.

This qualifier is not a digital point.


Use anyway?

Verifies the qualifier block that you entered. The qualifier is


usually a Digital Input or Digital Output block.
If you are not using a Digital block, a value of 0 stops
collection and a value other than 0 starts collection.

Historical Collect Messages


Historical Collect
Message

Action or Meaning

An overrun has occurred.

An overrun indicates that values for some tagnames in the group are
not collected. Overruns can be prevented by phasing the data
collection rate. See the Assigning Blocks for Trending section for
instructions on setting phasing to prevent overruns.

Existing data file


corrupted.

Run HTC_SCAN from the iFIX base path.

Existing data file read


failure.

Run HTC_SCAN from the iFIX base path.

921

iFIX with FIX Desktop

Historical Collect
Message

Action or Meaning

No groups defined for


collection.

A collection group must be defined in the Historical Assign program


before starting Historical Collect.

System time has been


changed. HTC cannot
continue.

The system date or time has been changed to a time that precedes data
collection for the file. Stop Historical Collect, reset the time or date,
and restart Historical Collect.

This qualifier not found


in database. Use
anyway?

The qualifier block you entered for the collection group in the
Historical Assign program does not exist in the database. If you
choose to use anyway, this operator message is generated by
Historical Collect.

Unable to open
configuration file. Run
HTA.

This message appears if the historical path was changed in the SCU.
Run Historical Assign and modify a tag in each collection group so
that the new configuration can be read.

Error initializing HTC.


Some .DAT files may
have been erased.

This message appears if a historical collection group was deleted out


of the iFIX HTR path by a means other than HTA.

Historical Display Messages

922

Historical Display Message

Action or Meaning

A pen group must contain at


least one pen.

You cannot delete all the pens in the pen group.

Cannot find chart group.

Check if the chart group you entered for the -CG command
line parameter exists.

Cannot find data dictionary.

There is no LABDATA.DEF file in the subdirectory from


where you are importing lab data. A data dictionary file must
exist in each subdirectory from where you import lab data
ASCII files.

Cannot find pen group.

Check if the pen group you entered for the -PG command line
parameter exists.

Cannot find time group.

Check if the time group you entered for the -TG command line
parameter exists.

iFIX with FIX Desktop

Historical Display Message

Action or Meaning

Cannot find variable in


dictionary. Line ignored.

EGU definitions for a variable entered in the lab data ASCII


file are not defined in the LABDATA.DEF file. EGU
definitions must be entered in the LABDATA.DEF file for
each variable you import. Variable names must be entered
identically in both the lab data ASCII file and the
LABDATA.DEF file.

Cannot open lab data file.

The lab data ASCII file you tried to import could not be
opened. Check that the file name and path are valid.

Column must be between 1 and


132.

You must enter a value between 1 and 132 in the Column field
of the Header Item Configuration dialog box.

Could not open all message


files.

Verify that FIXERROR.TOV is in your iFIX NLS path.

Data not in chronological order.


Value ignored.

The entries in the lab data ASCII file are not in chronological
order. Each line of lab data must be sorted by increasing date
and then by increasing time.

Duplicate dictionary entry.


Entry ignored.

In the LABDATA.DEF file, a duplicate entry defining a lab


data variable exists. The first entry's EGU definitions are used;
any duplicate entries are ignored. Remove duplicate entries
from the LABDATA.DEF files.

Duplicate value for variable.


Value ignored.

In the lab data ASCII file you imported, a duplicate value


exists for a variable. The first entry's value is used; all
duplicate values are ignored.

End Time (-ET) time specified.


Duration (-DU) value ignored.

In the -ET command line parameter, you specified an ending


time but you also specified ending time using the -DU
parameter. You cannot use both. The -ET end time takes
precedence.

Enter a node name first.

Enter a node name in the Tagname field before you use the
question mark button to display a list of tagnames for the node.

Errors encountered on Import.


See the error file for messages.

An error occurred while importing a lab data ASCII file.


Check the error(s) listed in the error file that is written to the
subdirectory from where you tried to import.

Error executing HTDPRINT.


Check paths.

Verify that HTDPRINT.EXE is in the iFIX base path.

923

iFIX with FIX Desktop

924

Historical Display Message

Action or Meaning

Error found on command line.

Check the accuracy of your command line syntax.

Error writing to binary file.


Cannot continue.

File may be corrupted.

Exceeded maximum number of


groups. Group not added.

A maximum of 1500 groups can be defined in a chart, pen, or


time group file.

File/Save can only modify an


existing chart.

Since you created the chart using the New command, you can
only save it with a Save As command.

Invalid date@time. Format is


MM/DD/YY@HH:MM:SS.

The value you enter for the start time (-ST) or end time (-ET)
parameter is not valid.

Invalid Days Before Now. Days


Before (-DB) ignored.

The -DB parameter you submitted is not valid. Valid values


range from 0-999.

Invalid dictionary entry.

An invalid entry exists in the LABDATA.DEF file. Check the


file for format errors or invalid characters.

Invalid duration. Format is


DD:HH:MM:SS.

The duration value you entered is invalid. Maximum duration


is 99:23:59:59. Minimum duration is 00:00:00:10. Format is
(Days:Hours:Minutes:Seconds).

Invalid duration. Minimum


duration is 1 seconds.

Change the duration to 10 seconds or greater.

Invalid entry in data file.

In the lab data ASCII file you tried to import, there is an


invalid entry. Check the file for format errors or invalid
characters.

Invalid lab variable name.

A variable name in the lab data ASCII file you are importing is
invalid. Make sure there are no invalid characters in the name.
Valid characters are A through Z, 0 through 9, underscore ( _
), and dash (-).

Invalid Time Before Now. Time


Before (-TB) ignored.

The -TB parameter you submitted is not valid. Format is


HH:MM:SS. Minimum time is 00:00:10. Maximum time is
23:59:59.

Maximum length must be


between 1 and 39.

You must enter a value between 1 and 39 in the Maximum


length field of the Header Item Configuration dialog box.

iFIX with FIX Desktop

Historical Display Message

Action or Meaning

Missing an HGP file. Delete


existing ones or find the missing
ones.

Historical Display requires the CHART.HGP, PEN.HGP, and


TIME.HGP files in order to run. They are located in the iFIX
HTR path. Historical Display creates default files if there are
no HGP files.

Must provide a label and/or


item.

In the Header Item Configuration, both the Label field and


Item field cannot be empty. You must enter a valid value in at
least one of the fields.

Name does not exist in Network


Name Table.

Cannot fetch limits because a session is not established with


the specified node. Establish a session with the node in the
SCU.

No current data collect files


available to query for this node.

The tagname query scans files created in the last 40 hours. No


tagnames are available because no historical data files were
created for the node in that time period.

Start Time (-ST) date is


specified. Days Before (-DB)
value ignored.

In the -ST command line parameter, you specified a starting


date but you also specified starting date using the -DB
parameter. You cannot use both. The -ST start date takes
precedence.

Start Time (-ST) time is


specified. Time Before (-TB)
value ignored.

In the -ST command line parameter, you specified a starting


time but you also specified starting time using the -TB
parameter. You cannot use both. The -ST start time takes
precedence.

The end time is less than the


start time. Values ignored.

Change the -ET command line parameter to be greater than the


-ST value.

Tagname is not defined.

Cannot fetch limits because the tagname is not defined for the
node.

This description already exists.


Please rename.

The group name entered is a duplicate. Enter a unique group


name.

This group is referenced by


Chart _____ and cannot be
deleted.

A pen or time group cannot be deleted if it is part of an


existing chart group. Either delete or redefine the chart group.

Using File Servers


Storing Historical Collect files on a file server (when using Classic Historian) allows multiple copies

925

iFIX with FIX Desktop

of Historical Display to access the same data files. Using a file server to store historical data files
requires a few adjustments:

Third-party file server and re-director software must be loaded on each node accessing the file
server before your iFIX software is loaded. Note that a iFIX node can access a file server, but
cannot be a file server.

Since each node running Historical Collect has a subdirectory named after it (in which it
stores its own historical collect data files), unique node names must be assigned to all nodes
running Historical Collect. Different node names prevent a node running Historical Collect
from overwriting another node's historical data files.

A node running Historical Display must specify the file server directory path it needs to
access in order to display historical data. The directory path is set in the System Configuration
Utility (SCU). Refer to the Configuring Directory Paths section of the Setting Up the
Environment manual for information on setting up directory paths in the SCU.
NOTE: Historical Data cannot be accessed from a file server while that file is open for
collection. If you attempt to do this, Historical Collect may stop and will need to be manually
restarted.

File Servers
In the example above, the paths set to the file server (here defined as F:) are to separate directory paths.
NOTE: File server access is optional and is not required for the Historical Trending software to
operate. If you store historical data files on the node that runs Historical Collect, the system paths are
defined when you install the software.
For information on server configuration in Proficy Historian, refer to the Proficy Historian electronic
books.

926

iFIX with FIX Desktop

Disk Usage
The amount of disk space required to historically trend with Classic Historian process data depends on
how you configure Historical Assign. The sections below some limitations. For information on
Proficy Historian recommendations, refer to the Proficy Historian electronic books.

Increase Limit Value


You can reduce disk space consumption by increasing the value of the Limit field in the Group
Configuration dialog box. When you increase this value, Historical Collect ignores insignificant value
changes in the tagname being trended before writing it to disk. For example, if a limit value for a
specific tagname is 1.000 then a value change of 1.000 or greater is required before Historical Collect
saves the new value. Any new values less than 1.000 are not saved. The default value for the Limit
field is 0.500000; some tagnames do not require such a low limit.

File Size Formula


To obtain an estimate of how much disk space you need to store historical data for a specific number
of collection groups, use the following formula:

File size in bytes = (35 x A) + ((8 x B) x C)

where:
A the number of groups collected for the file.
B the average number of tagnames per collection group.
C the number of writes made to the file for all collection groups.

Example
Historical Assign is configured to collect data on 2 groups at a rate of 1 minute, in 4-hour files. One
group consists of 80 tagnames and the other 20. In this case, the values for A, B, and C are as follows:
Variable

Calculation

2 groups collected per file.

50

Average = (80+20)/2 = 50

480

60 writes/hour x 4 hours x 2 groups = 480

Plug these values into the file size formula to compute an estimate of how much disk space is required
to store the historical data:

(35 x 2) + ((8 x 50) x 480) = 199,000 bytes

927

iFIX with FIX Desktop

Therefore, this configuration uses approximately 2K for every 4-hour file.


NOTE: This formula only provides rough estimates. Depending on your database configuration, your
results may differ.

Historical Display Menu Commands


Click any of the following links for more information about FIX HTD's menu commands:

The File Menu

The Edit Menu

The Configure Menu

The Actions Menu

The Options Menu

The Utilities Menu

The Window Menu

The Font! Menu

The Help Menu

The File Menu


The File menu contains the commands that help you manage your historical display files. To get help
on any of the File menu commands, click on the appropriate command.

New

Open

Save

Save As

Print

Close

Import Lab Data

Export

Exit

File Menu Commands: New


The New command lets you create a new display screen. When creating a new display screen, the
Configure Chart Display dialog box appears. You can go on to define a pen group and time group for
the new screen using the Define Pen Groups and Define Time Groups commands in this dialog box.
NOTE: The New command does not create a new chart, only a new screen. To create a new chart
from a screen, use the Save As command. If you exit without saving your screen with the Save As
command, your screen and its setting will be lost.

928

iFIX with FIX Desktop

File Menu Commands: Open


The Open command lets you open existing historical display charts. Using command line parameters,
Historical Display can be set up so that a chart automatically opens (without using the Open command)
when you start Historical Display.
NOTE: The Historical Display program lets you open as many charts as your system memory allows,
or up to nine charts.
File Menu Commands: Save
The Save command lets you store your historical display charts to disk when you have made changes
using the Configure menu or the Toolbox. After you have saved the file once, use Save to store any
changes you make to the chart. The Historical Display program does not save your changes to a
displayed chart until you select Save.
If you are modifying your display charts, it's a good idea to save your work often. Doing so makes
recovering from mistakes or system troubles easier. On the other hand, you should not save any work
unless you are sure you want to keep the changes. Saving permanently alters the stored historical
display chart. You can never go back to an older version once you save changes.
NOTE: You can adjust a chart for display purposes only and not make any changes permanent. To do
this, use the commands listed in the Configure menu to adjust your chart's pen and time settings and
do not select the Save command before you close the chart. The Save command also stores the current
Auto Update Rate.
File Menu Commands: Save As
The Save As command lets you create duplicate historical display charts under a new name. After you
use the Save As command once, use the Save command to store any changes you make to the chart.
When you use the Save As command to save a historical display chart under a new name, the system
creates a new chart group under the new name. The system also creates new pen and time groups as
well. This lets you make changes to the new chart's pen and time groups without affecting the original
chart's pen or time groups.
NOTE: The Save As command also stores the current Auto Update Rate.
File Menu Commands: Print
The Print command lets you print the currently active chart. The chart prints on the default printer that
was set by the window manager. While the chart prints, the name of the chart being printed displays.
You can also print charts using command line parameters.
File Menu Commands: Close
The Close command lets you close a historical display chart. If you have made changes to the open
display chart and want to save them, use the Save command first and then select Close.
File Menu Commands: Import Lab Data
The Import Lab Data command lets you import data that you want to display in a chart but cannot be

929

iFIX with FIX Desktop

collected in real-time in the FIX process database.


File Menu Commands: Export
The Export command copies the contents of the open historical display chart to an ASCII file. You can
use this ASCII file to:

Keep hardcopy records of historical data on file as a backup.

Compare historical data with other hardcopy records.

Review historical data without accessing the system.

NOTE: Exporting the contents of a historical display chart to an ASCII file does not change any data
in the historical display chart.
File Menu Commands: Exit
The Exit command leaves the Historical Display program at any time.
If you have made changes to a historical display chart since your last save, the system does not ask if
you want to save changes to disk.

The Edit Menu


The Edit menu contains the commands that let you undo the last change you have made to your
historical display chart or copy charts to the window manager's clipboard.
To get help for any of the Edit menu commands, click on the appropriate command.

Undo

Copy

Edit Menu Commands: Undo


The Undo command clears the last change you made to the chart, pen group, or time group in a chart.
To undo the last change you made, select Undo from the Edit menu.
Edit Menu Commands: Copy
The Copy command copies the entire chart to your window manager clipboard in bitmap format.

The Configure Menu


The Configure menu contains the commands that let you modify a chart so you can examine either
additional data or data in a different format.
Commands you select from the Configure Menu only modify historical display charts temporarily; you
can make permanent modifications to your historical display charts using the commands found in the
Utilities Menu, or you can save the historical display chart under a new name using the Save As
command.

930

iFIX with FIX Desktop

NOTE: You can use the Toolbox to modify your historical display chart. The Toolbox, selected from
the Options menu, contains four buttons that allow you to modify the chart, pen, time, or legend.
To get help on any of the Configure menu commands, click on the appropriate command.

Chart

Pen

Time

Legend

Configure Commands: Chart

The Chart command lets you temporarily modify the displayed pen groups, time groups,
and legends and lets you select different pen and time groups to view with the current
chart.

NOTE: Modifications you make to the historical display chart using any Configure Menu commands
are only temporary. Use the Utilities Menu commands to make permanent modifications to your
historical display chart or use the Save As command to save your modifications to a new historical
display chart name.
Configure Commands: Pen

The Pen command lets you modify the pen group including Y axis details for the historical
display chart.

NOTE: Modifications you make to the historical display chart using the Pen command are only
temporary. Use the Utilities Menu Define Pen Group command to make permanent modifications to
your chart's pen group or use the Save As command to make a copy of the chart that you can modify.
Configure Commands: Time

The Time command lets you modify the time group, including X axis details for the
historical display chart.

NOTE: Modifications you make to the historical display chart using the Time command are only
temporary. Use the Utilities Menu Define Time Group command to make permanent modifications to
your chart's time group or use the Save As command to make a copy of the chart that you can modify.
Configure Commands: Legend

The Legend command lets you modify or remove the legend for the historical display
chart.

931

iFIX with FIX Desktop

NOTE: Modifications you make to the historical display chart using the Legend command are only
temporary. Use the Utilities Menu Define Legend command to make permanent modifications to your
chart's legend or use the Save As command to make a copy of the chart that you can modify.

The Actions Menu


The Actions menu contains commands that let you make adjustments to your historical display charts
to help you interpret historical data. Using the commands in the Actions menu, you can:

Select a region of the chart to zoom.

Zoom in to examine data in a selected area of the chart.

Reset the chart to its original configuration before any changes were made to it.

Update the chart with current data.

Anchor and synchronize time between charts to compare process data.

Link multiple charts to an anchored chart so that any changes you make to the time
configuration on the anchored chart are automatically duplicated on each linked chart.

Define the Time Defaults to shift the chart time forward or backward to look at additional
data.

To get help on any of the Actions menu commands, click on the appropriate command:

Select Region

Zoom

Reset to Original

Set to Current Time

Anchor Time

Unanchor Time

Link Window

Unlink Window

Synchronize Time

Define Time Default

Actions Menu Commands: Select Region


The Select Region command works with the Zoom command to let you zoom in on data currently
displayed on the chart. The Select Region command lets you draw a box around an area that you want
zoomed.
Actions Menu Commands: Zoom
The Zoom command enlarges data outlined in the chart or selected by the Select Region command.
NOTE: You can continue to use Zoom to further enlarge an area of the chart. Each Zoom works off
the previously zoomed area.

932

iFIX with FIX Desktop

To restore the chart to its original display configuration, select the Reset to Original command from the
Actions menu.
Actions Menu Commands: Reset to Original
The Reset to Original command lets you reset a chart to its original display configuration. You can use
this command to undo a zoom function, pen, or time change.
Actions Menu Commands: Set to Current Time
The Set to Current Time command updates the current historical display chart with the most recent
data collected. The chart's ending time will reflect the current time, if Historical Collect is running.
However, the time duration for the chart will remain the same.
The Set to Current Time command can work with the 1, 2, and 5 Minute Auto Update commands
under the Options menu and Anchor Time under the Actions menu.
Actions Menu Commands: Anchor/Unanchor Time
The Anchor Time command lets you set one chart as the reference point in time. This command works
with the Synchronize Time command and the Link Windows command to help you compare data
between charts. The Unanchor command lets you unanchor an anchored chart. This menu item appears
only if an anchored chart is selected.
Actions Menu Commands: Link/Unlink Time
The Link Window command works with the Anchor Time command. When you link charts to an
anchored chart, any changes that you make to the time configuration on the anchored chart are
duplicated on each linked chart. The Unlink command lets you remove the link between an anchored
and a linked chart. This menu item appears only if a linked chart is selected.
Actions Menu Commands: Synchronize Time
The Synchronize Time command lets you synchronize the time configuration between two charts. The
chart that you want to synchronize time with must be anchored.
Actions Menu Commands: Define Time Default
The Define Time Default command lets you set the default for the time shift buttons that appear in the
chart's legend. These buttons let you shift the time on the chart either forward or backward in time.

The Options Menu


The Options menu lets you fine tune your historical display charts for analyzing process data. The
Options menu allows you to:

Change the chart group, pen group, time group, or legend using the Toolbox.

Display grid lines to help pinpoint data in the chart.

Update the chart automatically with current data.

933

iFIX with FIX Desktop

Determine whether the chart should display a Primary or Alternate Legend or no legend at all.

To get help on any of the Options menu commands, click on the appropriate command.

Toolbox

Horizontal Grid

Vertical Grid

1 Minute Auto Update

2 Minute Auto Update

5 Minute Auto Update

No Legend

Primary Legend

Alternate Legend

Options Menu Commands: Toolbox

The Toolbox contains buttons that let you modify a


chart so you can examine either additional data or
data in a different format.

The Toolbox buttons only let you modify historical display charts temporarily; you can make
permanent modifications to your historical display charts using the commands found in the Utilities
Menu, or you can save the historical display chart under a new name using the Save As command.
Options Menu Commands: Horizontal Grid
The Horizontal Grid command places horizontal grid lines along the chart's Y axis. The number of tick
marks you define for the chart in the Y Axis dialog box determines the number of horizontal grid lines
that appear on the chart. The chart places a horizontal grid line at the top and bottom of the chart.
Therefore, all but two of the defined grid lines appear in the chart.
The check next to the Horizontal Grid command identifies that the grid command is active.
Options Menu Commands: Vertical Grid
The Vertical Grid command places vertical grid lines along the chart's X axis. The number of tick
marks you define for the chart in the Define Time - X Axis dialog box determines the number of
vertical grid lines that appear on the chart. The chart places a vertical grid line at the far right and left
edges of the chart so all but two of the defined grid lines appear in the chart.
The check next to the Vertical Grid command identifies that the grid command is active.
Options Menu Commands: 1 Minute Auto Update
The 1 Minute Auto Update command lets your system automatically refresh the chart with updated
data every minute.

934

iFIX with FIX Desktop

Options Menu Commands: 2 Minute Auto Update


The 2 Minute Auto Update command lets your system automatically refresh the chart with updated
data every two minutes.
Options Menu Commands: 5 Minute Auto Update
The 5 Minute Auto Update command lets your system automatically refresh the chart with updated
data every five minutes.
Options Menu Commands: No Legend

The No Legend command removes the legend at the base of the chart to give more room to
the chart's trend area. To remove the legend, select No Legend from the Options menu.

Options Menu Commands: Primary Legend

The Primary Legend is the main chart legend and appears directly below the chart. Display
the primary legend by selecting either the Primary Legend command from the Options
menu. To remove the legend and provide more room to the trend area of the chart select the
No Legend command from the Options menu.

Options Menu Commands: Alternate Legend

The Alternate Legend is the secondary chart legend. It displays additional information that
could not fit in the display area for the Primary Legend. If an alternate legend has been
defined for the chart, you can display the legend by selecting the Alternate Legend
command from the Options menu. To remove the legend and provide more room to the
trend area of the chart select the No Legend from the Options menu.

The Utilities Menu


The Utilities menu lets you add, modify, and delete chart groups, pen groups, time groups, queries to
an ODBC SQL relational database, and define legends. The first three commands listed in the Utilities
menu are the only commands that allow you to add charts, pen, and time groups, other than using the
Save As command.
To get help on any of the Utilities menu commands, click on the appropriate command.

Define Chart Groups

Define Pen Groups

Define Time Groups

Define SQL Queries

Define Remote Paths

935

iFIX with FIX Desktop

Utilities Menu Commands: Define Chart Groups

The Define Chart Groups command lets you add, modify, and delete chart groups and
define attributes for these chart groups.

Use this command if you want to permanently save your chart group's settings.
Utilities Menu Commands: Define Pen Groups

The Define Pen Groups command lets you add, modify, and delete pen groups including Y
axis details.

Use this command if you want to permanently save your pen group's settings.
Utilities Menu Commands: Define Time Groups

The Define Time Groups command lets you add, modify, and delete time groups including
X axis details.

Use this command if you want to permanently save your time group's settings.
Utilities Menu Commands: Define SQL Queries
The Define SQL Queries command lets you add, modify, and delete a query to an ODBC relational
database.
Utilities Menu Commands: Define Remote Paths
The Define Remote Paths command lets you add, modify, and delete remote historical data paths.

The Window Menu


The Window menu helps you select an open historical display chart. If you have more than one chart
open, the Window menu commands let you choose specific charts for viewing and allows you to tile
all open charts in a cascade.
To get help on any of the Window menu commands, click on the appropriate command.

Cascade

Document 1

Window Menu Commands: Cascade


The Cascade command lets you tile all open charts. The order for the tiling is:

936

iFIX with FIX Desktop

Down and to the right of the screen.

Back to front in the order that the charts were opened (with the first chart placed in the back).

The Cascade command is useful when you want to see what charts are open.
Window Menu Commands: Document 1
The Window menu lists open charts in the order in which they were opened. If you opened a chart
called PROCESS1 and then opened PEAKLOAD, the chart names would appear as follows:

1 PROCESS1

2 PEAKLOAD

A check appears next to the chart that is currently displayed. To switch to a different chart, select it
from the Document list.

The Font! Menu


The Font menu lets you select from a variety of fonts, styles, and point sizes that customize display
chart text. To change the appearance of text in a chart, select the appropriate settings from the Font
menu.

The Help Menu


The Help menu gives you access to the Historical Display's help system. Click any of the following
choices to access information on using Historical Display:

Electronic Books

Glossary

About

Help Menu Commands: Electronic Books


Click this topic to open the iFIX electronic books.
Help Menu Commands: Glossary
Click the link below to view the glossary of important terms in Historical Display:

Glossary

Help Menu Commands: About


Click this command to retrieve version information about the FIX Desktop product you have installed
on your computer.

937

iFIX with FIX Desktop

Keyboard
The following keys and keyboard accelerators are available in the Historical Display program to help
you move through the menu bar and dialog boxes.
Movement Keys

The Alt key activates the menu bar.

The left and right arrow keys move between menus.

The up and down arrow keys move through menu commands.

The Enter key selects a command or dialog box button and records a field entry.

The Tab key moves the selection box or cursor through all dialog box fields, list boxes, check
boxes, and buttons.

Keyboard Accelerators

938

Task

Accelerator

Access help for dialog boxes and commands.

F1

Access help for fields and controls.

Alt+F1

Copy data to the clipboard.

Ctrl+C

Exit from Historical Display.

F2

Open a new screen.

Ctrl+N

Open an existing chart.

Ctrl+O

Print the current chart.

Ctrl+P

Save the current chart.

Ctrl+S

Undo the last change.

Ctrl+Z

Zoom in on data.

Ctrl+Y

Historical Display Dialog Boxes


Historical Display includes the following dialog boxes (listed in alphabetical order):

Add/Modify Chart Group Dialog Box

Add/Modify Pen Group Dialog Box

Add/Modify SQL Query Dialog Box

Add/Modify Time Group Dialog Box

Chart Details Dialog Box

Configure Chart Dialog Box

Define Chart Groups Dialog Box

Define Group/SQL Queries Dialog Box

Define Legend Dialog Box

Define Pen Groups Dialog Box

Define Pens Dialog Box

Define Remote Historical Data Paths Dialog Box

Define SQL Queries Dialog Box

Define Time - X Axis Dialog Box

Define Time Defaults Dialog Box

Define Time Groups Dialog Box

Header Item Configuration Dialog Box

Line Style and Lab Data Marker Dialog Boxes

Pen Color Selection Box

Save As Dialog Box

Select Chart Dialog Box

Toolbox Dialog Box

X Axis Dialog Box

Y Axis Dialog Box

Add/Modify Chart Group Dialog Box


The Add/Modify Chart Group dialog box lets you define pen groups, time groups, and attributes for a
new chart group or an existing chart group.
The title bar of this dialog box in Historical Trend Display will differ, depending on whether you are
adding or modifying a chart group.

939

iFIX with FIX Desktop

Chart Group Field


The Chart Group field lets you enter a new name for a chart group. You can enter a name consisting of
up to 39 alphanumeric characters in this field.
NOTE: This field will be blank in the Add Chart Group dialog box.
Attributes
The Attributes button displays the Chart Details dialog box where you define chart area colors, legend
information, and configure the chart header.
Pen Group List Box
The Pen Group list box displays existing pen groups that you can select and modify. Once you select a
pen group and press the corresponding pen button, the Define Pens dialog box appears. In this dialog
box, you can make temporary changes to the selected pen group and Y axis attributes.
Define Pen Groups
The Define Pen Groups button displays the Define Pen Groups dialog box. In this dialog box, you can
create a new pen group, modify, or delete the selected pen group.
Time Group List Box
The Time Group list box displays existing time groups that you can select and modify. Once you
select a time group and press the corresponding time button, the Define Time - X Axis dialog box
appears. In this dialog box, you can make temporary changes to the chart's time group and X axis
details.
Define Time Groups
The Define Time Groups button displays the Define Time Groups dialog box. In this dialog box, you
can create a new time group, modify or delete the selected time group.

Add/Modify Pen Group Dialog Box


The Add/Modify Pen Group dialog box lets you add or modify pens and pen groups. In this dialog box
you can specify the following properties of pen groups:

940

pen group name

pen assignments

pen colors

pen marker style

pen display modes

pen low and high limits

pen Y axis details

iFIX with FIX Desktop

The title bar of this dialog box in Historical Trend Display will differ, depending on whether you are
adding or modifying a pen group.
Pen Group
The Pen Group field displays the name of the pen group. If you are adding a new pen group, specify a
name for the new pen group in this field. If you are modifying an existing pen group, you can change
the pen group name.
Pens List Box
The Pens list box displays the pens in the current pen group. Each pen's tagname, color, and line style
is displayed. If you are adding a new pen group, the pens that are displayed will be the same as the
pens in the pen group that was highlighted in the previous dialog box (the Define Pen Groups dialog
box). You can add, modify, or delete pens in this list.
Add/Modify/Delete Buttons
The Pen buttons let you add, modify, or delete an entry in the Pens list box.
The Add button lets you add a new tagname or lab data variable to the Pens list box. To do this:
1.

In the Tagname field, enter the Node:Tag.Field combination (node name, tagname and field
name).
If you are adding a lab data pen, enter the Node.Tag combination.
You can also select the browse (...) button to select from a list of available tagnames or lab
data variables.

2.

Press the Add button to add the pen to the group.


NOTE: You can assign up to eight Node:Tag.Field combinations to a pen group.

The Modify button enters changes made to the pen assignment. For example, if you change the color
or field name for a pen assignment, click the Modify button to update the selected pen with the new
changes.
The Delete button removes the selected pen assignment from the Pens list box.
Tagname
The Tagname field identifies the tagname assigned to the pen selected in the Pens list box.
Enter the tagname you want to display in the chart. The syntax for the tagname depends on the type of
pen you are defining. If you are defining a:

Historical data pen (collected on the local node), enter the Node:Tag.Field combination.

Lab data pen, enter the Node:Tag combination, where Node is the directory where the lab data
resides and Tag is the variable name.

SQL Data pen, enter the Database Identifier:Query name combination, where the Database
Identifier is a reference to the SQL login account configured in the System Configuration

941

iFIX with FIX Desktop

Utility, and the Query name is the name of an SQL query you have created.
Once you enter a tagname, you must select the Add button to add your selection to the pen list box, or
the Modify button to modify the pens in the pens list box.
EGUs
Show Y-Axis Label
The Show Y Axis labels check box lets you display Y axis labels for the selected pen. The labels for
each pen are determined based on the EGU high and low limits defined for the tagname. If you disable
the Show Y Axis Labels check box, labels will not display for the selected pen.
Low Limit/High Limit
The EGU Low Limit and High Limit fields display the low and high limit values you want trended in
the display. The low and high limit values assigned to the tagname in the database or the lab data
variable in the data dictionary can be retrieved automatically by pressing the Fetch Limits button at the
bottom of the dialog box.
Pen Type
Pen Color
The Pen Color button calls up the color palette from which you can choose a color for the selected pen.
Historical/SQL Data/Lab
The Pen Type buttons specify what type of pen you are defining. If you are defining a pen for:

Historical data, select the Historical button.

SQL data, select the SQL Data button.

Lab data, select the Lab button.

NOTE: You can define both historical and lab data pens in the same pen group.
Line Style/Lab Marker
The Line Style button displays the Line Style dialog box, where you define whether the trend line will
be visible, whether you want to use a line style marker, or both.
The Lab Marker button displays the Lab Data Marker dialog box, where you specify the lab data
marker you want to use for a lab data pen.
Mode
The Mode buttons identify how to display historical data for the selected Node:Tag.Field combination.
The mode you select defines what the display value represents. Available modes are listed below:

942

iFIX with FIX Desktop

Sample mode

Average mode

High mode

Low mode

NOTE: You can enter a Node:Tag.Field combination more than once in the pen group and define a
different display mode for each entry. This lets you examine data for the same tagname in more than
one mode.
Fetch Limits
The Fetch Limits button automatically retrieves the EGU Low and High Limits assigned to the
tagname in the database or the lab data variable in the data dictionary.
Y-Axis
The Y Axis button displays the Y Axis dialog box where you define additional chart details, including
the number of horizontal grid lines and labels that appear on the chart, and whether to display multiple
Y axis labels.

Add/Modify SQL Query Dialog Box


The Add/Modify SQL Query dialog box lets you add or modify an SQL query. Each query you define
contains a query name and the specific data you want to retrieve from an ODBC relational database.
The maximum length of a query is 1024 characters.
NOTE: The query Q1 is provided as a sample query for you to understand SQL syntax. Note that if
you delete the sample query, it is also removed from the HTD.INI file, where all SQL queries are
stored.
The title bar of this dialog box in Historical Trend Display will differ, depending on whether you are
adding or modifying a SQL query.
Query Name
The Query Name field lets you specify a name for an SQL query. You can enter up to 30 characters
for a query name. The following characters can be specified:

Alphanumeric characters

Underscores (_)

Square brackets ([ ])

Angle brackets (< >)

Dashes (-)

Ampersands (&)

Percent signs (%)

Dollar signs ($)

943

iFIX with FIX Desktop

Pound signs (#)

Exclamation points (!)

Forward slashes (/)

Backward slashes (\)

Vertical lines (|)

SELECT Columns
Time
The Time field lets you specify:

The SQL data table name

The name of the column that contains the date and time of the data to be accessed.

Enter the table and column name using the following format:
tablename.columnname

Name
The Name field lets you specify:

The SQL data table name

The name of the column that contains the label for the data you want to access, as defined in
the relational database.

Enter the table and column name using the following format:
tablename.columnname

Value
The Value field lets you specify:

The SQL data table name

The name of SQL data table column containing the data you want to access.

Enter the table and column names using the following format:
tablename.columnname

Desc
The Description field lets you specify:

944

The SQL data dictionary table name

iFIX with FIX Desktop

The name of SQL data dictionary table column containing a description of the data you want
to access.

Enter the table and column name using the following format:
tablename.columnname

EGU
The EGU field lets you specify:

The SQL data dictionary table name

The name of SQL data dictionary table column containing the EGU label for the data you
want to access.

Enter the table and column name using the following format:
tablename.columnname

EGU Low
The EGU Low field lets you specify:

The SQL data dictionary table name

The name of SQL data dictionary table column containing the low EGU limit for the data you
want to access.

Enter the table and column name using the following format:
tablename.columnname

EGU High
The EGU High field lets you specify:

The SQL data dictionary table name

The name of SQL data dictionary table column containing the high EGU limit for the data
you want to access.

Enter the table and column name using the following format:
tablename.columnname

FROM Table(s)
The From Table(s) field lets you specify:

The SQL data table name

An SQL data dictionary table name

945

iFIX with FIX Desktop

Enter the table names (up to 175 characters) using the following format:
datatable,dictionarytable

WHERE Condition Meets


The Where Condition Meets field lets you define the specific condition (up to 479 characters) to
retrieve data for one column name. Data returned from the relational database can include one or more
values.
Use the following format to enter the condition:
datatable.columnname=dictionarytable.columnname AND
datatable.columnname='name'

The following table describes each parameter in the condition:


Parameter

Description

datatable.columnname

The name of the column in the data table that you want to
access.

dictionarytable.columnname

The name of the column in the data dictionary table that


you want to access.

datatable.columnname

The name of the column in the data table that contains the
data you want to match during the SQL query.

'name'

The literal name of the data you want to match during the
SQL query.
NOTE: You can replace this literal name with the name of
a data dictionary table column name. For example:
datadictionary.columnname.

Example
table1.col2=table2.col2 AND table1.col2='TEMP'

NOTE: As shown in the example, Boolean operators such as AND and OR can be used. Refer to your
relational database manuals for an exact list of these operators.

Add/Modify Time Group Dialog Box


The Add/Modify Time Group dialog box lets you define time groups for your charts including:

946

A starting time and date

A fixed interval

iFIX with FIX Desktop

A duration for the chart

The title bar of this dialog box in Historical Trend Display will differ, depending on whether you are
adding or modifying a time group.
Time Group
The Time Group field identifies the name of the time group. If the name in this field is shaded, you
can modify the contents of the time group. If the Time Group field is empty, you can define a new
name for the time group.
Start Date
The Start Date fields determine on what day the system retrieves historical data for the chart. The two
buttons let you select either a:

Fixed date, in MM/DD/YY format.

Days before today, up to 999 days.

Start Time
The Start Time fields determine at what starting time the system retrieves historical data for the chart.
The two buttons let you select either a:

Fixed time, in HH:MM:SS format.

Length of time before now, in HH:MM:SS format.

Time Span
Duration
The Duration field determines the time span for the chart.
In the Duration field, enter the time span for the display. The Duration Time and Starting Time
entered determine how much data is displayed on the time axis in the chart. The format is
DD:HH:MM:SS (Day:Hour:Minute:Second).
Fixed Interval
The Fixed Interval field determines the range of data from which samples are taken from the historical
data file. The sample taken is based on the display mode assigned to the tagname during pen
definition. The format for this field is HH:MM:SS (Hour:Minute:Second).
The default setting for this field is 00:00:00. When the Fixed Interval is 00:00:00, the time interval
between data samplings is determined automatically.
X-Axis
The X Axis button displays the X Axis dialog box where you define X axis details.

947

iFIX with FIX Desktop

Chart Details Dialog Box


The Chart Details dialog box lets you:

Select colors for the trend area, X axis labels, background area, and grid lines.

Select a primary, alternate, or no legend.

Define chart header details.

Chart Color Buttons


The chart color buttons allow you to select colors for the:

Trend Area

Background Area

X-Axis Labels

Horizontal and vertical grid

When you select a color button, the color palette appears. Select the color you want to use. The color
button then changes to the color you selected.
Legend Buttons
The Legend buttons let you select either a primary or alternate legend or no legend for the chart, and
then define details for the legend you have chosen to use. Select the:

Primary Legend radio button to define the main chart legend that appears directly below the
chart.

Alternate Legend radio button to define additional legend information that could not fit in the
display area for the Primary Legend.

No Legend radio button to remove the legend from the display allowing more room for the
display.

Legend icon button to display the Define Primary or Alternate Legend dialog box. In this
dialog box, you select and configure the items that you want to display in the chart's primary
or alternate legend.

Chart Header Display Buttons


The Chart Header Display buttons allow you to specify how the chart header will appear:

948

Check the Visible Check Box to display the header. If you disable this check box, the header
does not display.

Check the Border Check Box to display a border around the header. If you disable this check
box, no border displays.

Select the Foreground Color Button to select a color for the text in the header and the border
surrounding the header.

Select the Background Color Button to select a color for the background area of the chart

iFIX with FIX Desktop

header.
Chart Header List Box
The Chart Header list box displays each chart header item configured for the header, including the:

Label for the chart header item.

Chart header item.

Row and column locations for the chart header item.

Length allocated to the chart header item.

Chart Header Item Buttons


The Chart Header Item buttons let you add, modify, or delete a chart header item in the Header Item
list box.
The Add button displays the Header Item Configuration dialog box. After you configure the item and
select OK, the new header item configuration is displayed in the Header Item list box on the Chart
Details dialog box.
The Modify button displays the Header Item Configuration dialog box. After you make the changes to
the header item and select OK, you are returned to the Chart Details dialog box and the modified
header item is displayed in the Header Item list box.
The Delete button deletes the header item that you selected in the Header Item list box.

Configure Chart Dialog Box


The Configure Chart dialog box lets you temporarily modify the displayed chart, including the:

Pen groups

Time groups

Chart details, including the chart colors, legends, and chart header

NOTE: The Configure Chart dialog box is used primarily to adjust information on an existing chart,
not to make permanent changes to a chart. Use the Utilities menu commands to make permanent
modifications to your display chart. If you elect to define a chart and its pen and time groups through
the Configure menu's Chart command, you can use the Save As command to save your modifications to
a new historical display chart.
Pen Button
The Pen button lets you modify the pen group. When you press the pen button, the Define Pens dialog
box appears. In this dialog box, you can make temporary changes to the pen group definitions and Y
axis details.
Pen Group List Box
The Pen Group list box displays existing pen groups that you can select and modify. Once you select a

949

iFIX with FIX Desktop

pen group and press the corresponding pen button, the Define Pens dialog box appears. In this dialog
box, you can make temporary changes to the selected pen group and Y axis attributes.
Time Button
The Time button displays the Define Time - X Axis dialog box. In this dialog box, you can
temporarily modify the chart's time group.
Time Group List Box
The Time Group list box displays existing time groups that you can select and modify. Once you
select a time group and press the corresponding time button, the Define Time - X Axis dialog box
appears. In this dialog box, you can make temporary changes to the chart's time group and X axis
details.
Attributes
The Attributes button displays the Chart Details dialog box where you define chart area colors, legend
information, and configure the chart header.

Define Chart Groups Dialog Box


The Define Chart Groups dialog box lets you add, modify, or delete chart groups in Historical Trend
Display. For a detailed explanation of the fields and buttons in this dialog box, see the Define
Group/SQL Queries Dialog Box help topic.

Define Group/SQL Queries Dialog Box


The Define Group/SQL Queries dialog box lets you define (add, modify, or delete) chart groups, pen
groups, or time groups. You can also define queries to an ODBC SQL relational database.
The title bar of this dialog box in Historical Trend Display will differ, depending on whether you are
defining chart groups, pen groups, time groups, or SQL queries.
Define Group/SQL Queries List Box
The Define Group/SQL Queries list box displays existing chart groups, pen groups, time groups, or
SQL queries. Chart groups, pen groups, and time groups are listed alphabetically. SQL queries appear
in the order they were created.
When displaying chart groups, time groups, and pen groups, (default) is the first item in the list. This
item displays default values you can use. The default chart group cannot be deleted.
NOTE: When working with the Define SQL Queries dialog box, the query Q1 is provided as a
sample query for you to understand SQL syntax. Note that if you delete the sample query, it is also
removed from the HTD.INI file, where all SQL queries are stored.
Define Group/SQL Queries Dialog Box Buttons
The Define Group/SQL Queries dialog box contains three buttons that let you manage the chart
groups, pen groups, time groups, or SQL queries that are listed in the Define Group/SQL Queries list

950

iFIX with FIX Desktop

box. Each button is described below:


Button

Description

Add

Adds a new group or query. Depending on the contents of the list box, this button
calls up the Add Group dialog box or the SQL Query dialog box.

Modify

Modifies the group or query selected in the list box. Depending on the contents of the
list box, this button calls up the Modify Group dialog box or the SQL Query dialog
box.

Delete

Deletes the group or query selected in the list box.

NOTE: When you delete a query from the Define SQL Queries dialog box, it is also removed from the
HTD.INI file, where all queries are stored.

Define Legend Dialog Box


The Define Legend dialog box applies to both primary and alternate legends. This dialog box lets you
define what information appears in the chart's legend and the order in which the information appears.
In this dialog box there are a series of check boxes and fields that let you define what information
appears in the chart's legend.
Tagname
The Tagname field lets you display the node name, tagname, and field name for all tagnames in the
chart's legend. These tagnames are assigned to trend in the chart's pen group.
Click the Tagname check box to enable this function. The Tagname field defaults to the maximum
number of characters that are allowed in the legend. You can change this number if needed.
Descriptor
The Descriptor field lets you display the description assigned to the tagname in the database in the
chart's legend. Click in the Descriptor check box to enable this function.
The Descriptor field defaults to the maximum number of characters that are allowed in the legend.
You can change this number if needed. If an error occurs when attempting to retrieve data for a
tagname, instead of the tagname description, an error message is displayed in this field.
Tag Value
The Tag Value field lets you display tagname values in the chart's legend. Values for the tagnames
correspond to the position of the time cursor to the trend line on the chart. As you move the time
cursor along the trend line, the tagname values update with the corresponding data.
If you attempt to display data for a tagname for which data was not collected during the time span of
the chart, NO DATA is displayed in this field. If an error occurred in retrieving data for a tagname,

951

iFIX with FIX Desktop

ERROR is displayed in this field and an error message appears in the Descriptor field.
Click in the Tag Value check box to enable this function. The Tag Value field defaults to the
maximum number of characters that are allowed in the legend. You can change this number if needed.
High/Low/Average
The Value Over Chart Range fields let you display a tagname's high, low, or average values retrieved
for the time frame specified in the chart.
Click in the High, Low, or Average check boxes to enable these functions. These fields default to the
maximum number of characters that are allowed in the legend. You can change these numbers if
needed.
Mode
The Mode field lets you display the display mode for each tagname displayed in the chart's legend.
The Mode for the tagname is defined in the pen group. Modes are displayed as Sample mode,
Average mode, High mode, or Low mode.
Click the Mode check box to enable this function. The Mode field defaults to the maximum number of
characters that are allowed in the legend. You can change this number if needed.
High Limit/Low Limit
The High and Low Limit fields let you display the high and low process limits for each tagname
displayed in the chart's legend. The High and Low Limit for each tagname is defined in the pen group.
Click the High and Low Limit check boxes to enable these functions. The High and Low Limit fields
default to the maximum number of characters that are allowed in the legend. You can change these
numbers if needed.
Collection Interval
The Collection Interval field lets you display the Rate setting that was defined for the collection group
in the Historical Assign program.
Click in the Collection Interval check box to enable this function. This field defaults to the maximum
number of characters that are allowed in the legend. You can change these numbers if needed.
Deadband
The Deadband field lets you display the Limit setting that was defined for the tagname in the Historical
Assign program.
Click in the Deadband check box to enable this function. This field defaults to the maximum number
of characters that are allowed in the legend. You can change these numbers if needed.
Order of Items
The Order of Items list box identifies what information appears in the chart's legend and the order in
which the information is listed.

952

iFIX with FIX Desktop

The Order of Items list box is accompanied by two buttons that let you arrange the order in which the
information appears in the chart's legend. To move an item, first select it, and then press either the up
or down arrow button to move the item in the list. You can reorganize the list in any format you want.

Define Pen Groups Dialog Box


The Define Pen Groups dialog box lets you add, modify, or delete pen groups in Historical Trend
Display. For a detailed explanation of the fields and buttons in this dialog box, see the Define
Group/SQL Queries Dialog Box help topic.

Define Pens Dialog Box


The Define Pens dialog box lets you add, modify, or delete the following pen properties in an existing
chart:

assignments

colors

marker style

display modes

low and high limits

Y axis details

The title bar of this dialog box in Historical Trend Display will differ, depending on whether you are
adding or modifying a pen group.
Pen Group
The Pen Group field displays the name of the chart's pen group, to which the listed pens belong. You
cannot edit the Pen Group field.
Pens List Box
The Pens list box displays the pens in the current pen group. Each pen's tagname, color, and line style
is displayed.
Add/Modify/Delete Buttons
The Pen buttons let you add, modify, or delete an entry in the Pens list box.
The Add button lets you add a new tagname or lab data variable to the Pens list box. To do this:
1.

In the Tagname field, enter the Node:Tag.Field combination (node name, tagname and field
name).
If you are adding a lab data pen, enter the Node.Tag combination.
You can also select the browse (...) button to select from a list of available tagnames or lab
data variables.

953

iFIX with FIX Desktop

2.

Press the Add button to add the pen to the group.


NOTE: You can assign up to eight Node:Tag.Field combinations to a pen group.

The Modify button enters changes made to the pen assignment. For example, if you change the color
or field name for a pen assignment, select the Modify button to update the selected pen with the new
changes.
The Delete button removes the selected pen assignment from the Pens list box.
Tagname
The Tagname field identifies the tagname assigned to the pen selected in the Pens list box.
Enter the tagname you want to display in the chart. The syntax for the tagname depends on the type of
pen you are defining. If you are defining a:

Historical data pen (collected on the local node), enter the Node:Tag.Field combination.

Lab data pen, enter the Node:Tag combination, where Node is the directory where the lab data
resides and Tag is the variable name.

SQL Data pen, enter the Database Identifier:Query name combination, where the Database
Identifier is a reference to the SQL login account configured in the System Configuration
Utility, and the Query name is the name of an SQL query you have created.

Once you enter a tagname, you must select the Add button to add your selection to the pen list box, or
the Modify button to modify the pens in the pens list box.
EGUs
Show Y-Axis Label
The Show Y Axis labels check box lets you display Y axis labels for the selected pen. The labels for
each pen are determined based on the EGU high and low limits defined for the tagname. If you disable
the Show Y Axis Labels check box, labels will not display for the selected pen.
Low Limit/High Limit
The EGU Low Limit and High Limit fields display the low and high limit values you want trended in
the display. The low and high limit values assigned to the tagname in the database or the lab data
variable in the data dictionary can be retrieved automatically by pressing the Fetch Limits button at the
bottom of the dialog box.
Pen Type
Pen Color
The Pen Color button calls up the color palette from which you can choose a color for the selected pen.

954

iFIX with FIX Desktop

Historical/SQL Data/Lab
The Pen Type buttons specify what type of pen you are defining. If you are defining a pen for:

Historical data, select the Historical button.

SQL data, select the SQL Data button.

Lab data, select the Lab button.

NOTE: You can define both historical and lab data pens in the same pen group.
Line Style/Lab Marker
The Line Style button displays the Line Style dialog box, where you define whether the trend line will
be visible, whether you want to use a line style marker, or both.
The Lab Marker button displays the Lab Data Marker dialog box, where you specify the lab data
marker you want to use for a lab data pen.
Mode
The Mode buttons identify how to display historical data for the selected Node:Tag.Field combination.
The mode you select defines what the display value represents. Available modes are listed below:

Sample mode

Average mode

High mode

Low mode

NOTE: You can enter a Node:Tag.Field combination more than once in the pen group and define a
different display mode for each entry. This lets you examine data for the same tagname in more than
one mode.
Fetch Limits
The Fetch Limits button automatically retrieves the EGU Low and High Limits assigned to the
tagname in the database or the lab data variable in the data dictionary.
Y-Axis
The Y Axis button displays the Y Axis dialog box where you define additional chart details, including
the number of horizontal grid lines and labels that appear on the chart, and whether to display multiple
Y axis labels.

Define Remote Historical Data Paths Dialog Box


The Define Remote Historical Data Paths dialog box lets you configure remote data path aliases and
remote historical data paths from which you want to retrieve historical data.

955

iFIX with FIX Desktop

Remote Data Path Alias


The Remote Data Path Alias field lets you define an alias for the remote historical data path. The
name that you enter can consist of up to 8 alphanumeric characters and must begin with a letter, which
is the standard FIX node naming convention.
Historical Data Path
The Historical Data Path field lets you define remote historical data paths. The path can be a drive
letter path (C:\FIX32\MYDATA, for example) or a Universal Naming Convention (UNC) path
(\\COMP2\FIX32\MYDATA, for example).
Historical Data Path List Box
The Historical Data Paths list box displays the remote data path aliases and remote historical data paths
that you have already configured. Remote data path aliases are listed alphabetically.
Add/Modify/Delete Buttons
The Define Remote Historical Data Paths dialog box contains three buttons that let you manage the
remote historical data paths that are listed in the Historical Data Paths list box. Each button is
described below:
Button

Description

Add

Adds the remote data path alias and remote historical data path listed in the Remote
Data Path Alias and Historical Data Path fields to the list box.

Modify

Changes the path alias and historical data path selected in the list box to the node name
and path listed in the Remote Data Path Alias and Historical Data Path fields.

Delete

Deletes the remote data path alias and historical data path from the list box.

Define SQL Queries Dialog Box


The Define SQL Queries dialog box lets you add, modify, or delete SQL queries in Historical Trend
Display. For a detailed explanation of the fields and buttons in this dialog box, see the Define
Group/SQL Queries Dialog Box help topic.

Define Time - X Axis Dialog Box


The Define Time - X Axis dialog box lets you define time groups for an existing chart, including:

956

A starting time and date

A fixed interval

A duration for the chart

iFIX with FIX Desktop

Time Group
The Time Group field identifies the name of the time group. If the name in this field is shaded, you
can modify the contents of the time group. If the Time Group field is empty, you can define a new
name for the time group.
Start Date
The Start Date fields determine on what day the system retrieves historical data for the chart. The two
buttons let you select either a:

Fixed date, in MM/DD/YY format.

Days before today, up to 999 days.

Start Time
The Start Time fields determine at what starting time the system retrieves historical data for the chart.
The two buttons let you select either a:

Fixed time, in HH:MM:SS format.

Length of time before now, in HH:MM:SS format.

Time Span
Duration
The Duration field determines the time span for the chart.
In the Duration field, enter the time span for the display. The Duration Time and Starting Time
entered determine how much data is displayed on the time axis in the chart. The format is
DD:HH:MM:SS (Day:Hour:Minute:Second).
Fixed Interval
The Fixed Interval field determines the range of data from which samples are taken from the historical
data file. The sample taken is based on the display mode assigned to the tagname during pen
definition. The format for this field is HH:MM:SS (Hour:Minute:Second).
The default setting for this field is 00:00:00. When the Fixed Interval is 00:00:00, the time interval
between data samplings is determined automatically.
X-Axis
The X Axis button displays the X Axis dialog box where you define X axis details.

Define Time Defaults Dialog Box


The Define Time Defaults dialog box lets you set the time shift increments for the time shift buttons.
The default shift settings are as follows:

957

iFIX with FIX Desktop

Button

Description

< and >

Shifts data backward or forward in time by one half the time duration of the chart. For
example, if the duration is five minutes, pressing the < button shifts the time display
back in time by two and a half minutes.

<< and
>>

Shifts data backward or forward in time by one times the duration of the chart. For
example, if the duration is five minutes, pressing the << button shifts the chart time
back in time by five minutes.

Define Time Groups Dialog Box


The Define Time Groups dialog box lets you add, modify, or delete time groups in Historical Trend
Display. For a detailed explanation of the fields and buttons in this dialog box, see the Define
Group/SQL Queries Dialog Box help topic.

Header Item Configuration Dialog Box


The Header Item Configuration dialog box is where you define each item that you want to add to the
chart header. In this dialog box you specify the item you want to add and where in the header you want
it to display. The maximum number of items you can added to a chart header is 16.
Label
The Label field lets you enter a descriptive label that displays to the left of the header item. For
example, if you add a header item that displays the start time of the chart, you can enter a label such as
Start Time so that when you display the chart the item will appear as:
Start Time 10:15:35

TIP: If you want a space to appear between the label and the item, enter a space after the label in the
Label field.
Item
The Item field lets you enter the item you want to display in the header. Press the browse (...) button to
select from a list of the header items that you can add to a chart.
Maximum Length
The Maximum Length field lets you specify the most space the header item (not including the label)
can occupy. The default is 39 which is also the maximum. You may want to limit the amount of space
for certain items. For example, if you add the START_TIME item to the header and you do not want
the seconds to appear, you can set a Maximum Length of 5 so the seconds truncate. The item (with
Start Time as the label) appears as:
Start Time 10:15

958

iFIX with FIX Desktop

Row/Column
The Row and Column fields let you specify the location of the item in the header. In the Row field,
enter a row number ranging from 1 through 10. The higher the row number; the more display space
the header occupies. In the Column field, enter a column number ranging from 1 through 132. You
may need to try a few different column locations before you find the right spot.

Line Style and Lab Data Marker Dialog Boxes


The Line Style and Lab Data Marker dialog boxes let you define how historical and lab data trend lines
will appear in the display chart.
The Line Style dialog box is where you define whether to show a trend line, use a line style marker, or
both. For historical pens, you cannot disable both the Show Line and Use Marker check boxes.
The Lab Data Marker dialog box applies only to lab data pens. In this dialog box, you can define a lab
data marker. For lab data pens, you can use both a lab data marker and a line style marker.
NOTE: The Show Line check box is not used in the Lab Data Marker dialog box.
Show Line
The Show Line check box , in the Line Style Dialog box, lets you display data as a colored trend line
for the selected tagname in the trend area of the chart. If this box is not checked, and you are defining
a historical pen, the Use Marker check box is automatically enabled and you are required to select a
line style marker. If you are defining a lab data pen, both the Show Line and Use Marker check boxes
can be disabled.
In the Lab Data Marker Dialog box, the Show Line check box is not used.
You can use markers in conjunction with the Show Line function to display data as a line with markers
on it.
Use Marker
In the Line Style dialog box, the Use Marker check box lets you display line style markers. In the Lab
Data Marker dialog box, the Use Marker check box lets you display a lab data marker.
To enable the Marker function, click on the Use Marker check box. This enables the Marker function
and lets you select one of the three available marker buttons:

Rectangle

Oval

Character (enter any keyboard character for your marker in the character field)

The Marker function can work in conjunction with the Show Line function in displaying a solid trend
line with markers.

Pen Color Selection Box


The Pen Color selection box allows you to select a color. Click the color you want to use.

959

iFIX with FIX Desktop

Save As Dialog Box


The Save As dialog box lets you save the chart under a new chart name. The associated pen and time
groups for the chart are saved under the new name as well. Type the new name in the New Group
Name field and click OK to save the chart.
If you have modified a chart using the Configure menu commands, you can save your changes by
saving the chart under a new chart name.

Select Chart Dialog Box


The Select Chart dialog box displays a list of existing display charts. If you have not created a chart
group, it only displays information on the Default chart group that is provided with the software. This
Default chart group is a sample setup that you can examine.
The Select Chart dialog box lets you select a chart from the Select Chart list box to be opened and
displayed.

Toolbox Dialog Box


The Toolbox dialog box provides a convenient way to temporarily modify a chart's time group, pen
group, chart configuration, and legend through the selection of icons.
Select any one of the four buttons (icons) to modify the chart. The buttons in the Toolbox and the
dialog box that they display are listed below:
Button Title

Icon

Displays

Chart

Configure Chart dialog box

Legend

Define Primary or Alternate Legend dialog box

Pen

Define Pens dialog box

Time

Define Time - X Axis dialog box

NOTE: If you want to save your modifications, use the Save As command to save the chart under a
new chart name.
The Toolbox remains open as long as you remain in the currently opened chart. To close the Toolbox,
on the Options menu, click Toolbox.
Chart Button
The Chart button displays the Configure Chart dialog box. From this dialog box, you can temporarily

960

iFIX with FIX Desktop

modify the chart's pen group, time group, and chart attributes, including the chart area colors, the
legend, and the chart header.
Legend Button
The Define Legend button displays the Define Primary or Alternate Legend dialog box. In this dialog
box, you can temporarily modify the chart's primary or alternate legend.
Pen Button
The Pen button lets you modify the pen group. When you press the pen button, the Define Pens dialog
box appears. In this dialog box, you can make temporary changes to the pen group definitions and Y
axis details.
Time Button
The Time button displays the Define Time - X Axis dialog box. In this dialog box, you can
temporarily modify the chart's time group.

X Axis Dialog Box


The X Axis dialog box lets you define X axis details, including:

The number of tick marks that appear on the X axis.

The number of X axis labels.

Whether to display date labels.

Whether to display vertical grid lines.

Number Of Tick Marks


The Number of Tick Marks field determines how many tick marks to place on the axis including the
point where the Y axis and X axis meet.
Number Of Labels
The Number of Labels field determines how many time labels appear on the X axis. These time
intervals appear at even intervals between the starting time and ending time set for the chart.
NOTE: If the labels in the chart overlap, reduce the number of labels for the chart.
Vertical Grid
The Vertical Grid check box enables or disables the vertical grid function for the chart.
Display Date
The Display Date check box lets you display both the time and date in a two line label on the X axis.
When this check box is disabled, only the time is displayed on the X axis. Disabling this function
provides more space for the chart's trend area.

961

iFIX with FIX Desktop

Y Axis Dialog Box


The Y Axis dialog box lets you define Y axis details, including:

The number of tick marks that appear on the Y axis.

The number of Y axis labels.

Whether to display multiple Y axis labels, that is, to display labels for each tagname that has
the Show Y Axis Labels check box enabled.

Whether to display horizontal grid lines.

Number Of Tick Marks


The Number of Tick Marks field determines how many tick marks to place on the axis including the
point where the Y axis and X axis meet.
Number Of Labels
The Number of Labels field determines how many labels appear on the Y axis. These labels appear at
even intervals between the high and low limits set for the currently selected tagname.
NOTE: If the labels in the chart overlap, reduce the number of labels for the chart.
Horizontal Grid
The Horizontal Grid check box enables or disables the horizontal grid function. To display a
horizontal grid, select the check box.
Multiple EGU Labels
The Multiple EGU Labels check box lets you display Y axis labels for each tagname that has the Show
Y Axis Labels check box enabled. This is useful when you display data for tagnames that have
different EGU high and low limits.

962

How Do I...
Click any of the following links for more information about FIX HTD's step-by-step procedures:

Creating Charts

Modifying Charts

Copying, Exporting, and Printing

Examining Data in a Display Chart

Working with Lab Data

Command Line Functions

Working with SQL Data

Working with Remote Data

Creating Charts
Click any of the following links for more information about creating charts:

Adding a User-Defined Item to a Header

Creating a Chart Header

Creating a Display Chart

Defining a Chart Legend

Defining a Historical Pen

Defining a Lab Data Pen

Defining a Pen Group

Defining a Time Group

Adding a User-Defined Item to a Header


To add a user-defined item to a chart header:
1.

In Historical Trend Display, select the Chart icon from the Toolbox to display the Configure
Chart dialog box.
- Or On the Configure menu, click Chart to display the Configure Chart dialog box.
- Or On the Utilities menu, click Define Chart Groups to display the Define Chart Groups dialog
box, and then select the Add or Modify button to display the Add Chart Group dialog box or
Modify Chart Group dialog box.

2.

Select the Attributes button. The Chart Details dialog box appears.

3.

Select the Add button. The Header Item Configuration dialog box appears.

963

iFIX with FIX Desktop

4.

Enter a label for the item in the Label field. This field is optional.

5.

Select a user-defined header item (-1, -2, -3, -4, -5, -6, -7, -8, -9, or -10) in the item field.

6.

In the Maximum length field, enter the maximum amount of space (not including the label)
that you want the item to occupy.

7.

In the Row field, enter the row number where you want the header item to display.

8.

In the Column field, enter the column number where you want the header item to display.

9.

Select OK to add the item to the header and return to the Chart Details dialog box.

10. Using command line parameters, submit the value that you want to display on the header, in
the location you specified in the Header Item Configuration dialog box.
Example
If you want to put an operator's initials on the header, select a user-defined item (in this case -1) as the
header item in the Item field, define the row and column locations for the item, and enter Operator as
the label. Then submit a command line parameter as follows:
HTD -1 'REG'

Each time you display the chart, REG will appear in the header, to the right of the label, at the row and
column location you specified and will look like this:
Operator REG

Creating a Chart Header


To create a chart header:
1.

In Historical Trend Display, select the chart icon from the Toolbox to display the Configure
Chart dialog box;
- Or On the Configure menu click Chart to display the Configure Chart dialog box;
- Or On the Utilities menu, click Define Chart Groups to display the Define Chart Group dialog
box, and then select the Add or Modify button to display the Add Chart Group dialog box or
Modify Chart Group dialog box.

2.

Select the Attributes button. The Chart Details dialog box appears.

3.

Select the Visible check box.

4.

Select the Border check box if you want a border to display around the header.

5.

Select colors for the foreground (the header text) and background header areas using the
Foreground and Background color buttons.

6.

Select the Add button to configure a new item for the header. The Header Item Configuration
dialog box appears.

7.

In the Header Item Configuration dialog box:

964

Enter a label for the item in the Label field. This field is optional.

iFIX with FIX Desktop

Enter the item you want to add to the header in the Item field. Select the browse (...)
button to display a list of the items you can display in the header.

In the Maximum length field, enter the maximum amount of space (not including the
label) that you want the item to occupy.

In the Row field, enter the row number where you want the header item to display.

In the Column field, enter the column number where you want the header item to
display.

Select OK to add the item to the header and return to the Chart Details dialog box.

Creating a Display Chart


To create a functional display chart:
1.

In Historical Trend Display, on the Utilities menu, click Define Chart Groups to define a chart
group. The Define Chart Groups dialog box appears.

2.

Click the Add button. The Add Chart Group dialog box appears.

3.

Define the chart attributes including the chart colors, a legend for the chart, and a chart
header.

4.

Define a pen group for the chart that assigns:

A pen group name.

Collected historical data or imported lab data to the display chart.

Unique pen colors and markers to each tagname or lab data variable.

Low and High limits for each tagname or lab data variable including the option to
show Y Axis labels for each tagname or lab data variable.

The display mode.

Y axis details.

5.

Define a time group for the chart that assigns the starting date, time and duration of the
display, and the X axis details for the chart.

6.

Click OK to return to the Define Chart Groups dialog box, and then click OK again to save
the display chart setup to disk.

Defining a Chart Legend


To define a chart legend:
1.

In Historical Trend Display, on the Utilities menu, click Define Chart Groups. The Define
Chart Groups dialog box appears.

2.

Click the Add button. The Add Chart Group dialog box appears.

3.

Click the Attributes button. The Chart Details dialog box appears.

4.

Select either the Primary Legend or Alternate Legend button. The Primary Legend is the main
legend for the chart. The Alternate Legend is optional and can be used for information that
does not fit in the Primary Legend.

965

iFIX with FIX Desktop

5.

Click the Legend icon to define your selected Legend. The Define Legend dialog box appears.

6.

In the Define Legend dialog box, select the check boxes for the items you want to display in
the legend.

7.

Click OK to save your legend.

Defining a Historical Pen


To define a historical pen:
1.

In Historical Trend Display, on the Utilities menu, select Define Pen Groups. The Define Pen
Groups dialog box appears.

2.

If you want to define a historical pen for a new pen group, click the Add button to display the
Add Pen Group dialog box; then type a name for the new pen group in the Pen Group field
and proceed to step 3.
- Or If you want to define a historical pen for an existing pen group, select the pen group from the
list in the Define Pen Groups dialog box, and then click the Modify button to display the
Modify Pen Group dialog box.

3.

In the Pen Type area at the bottom of the Add/Modify Pen Group dialog box, select the
Historical button.

4.

In the Tagname field, enter the tagname that you want to display in the chart. To display a list
of tagnames that were assigned for trending, enter the name of the node that contains the
tagnames you want to trend, and then select the browse (...) button.

5.

Select the Show Y Axis Label check box if you want to display Y axis labels for the pen.

6.

In the Low and High Limit fields, enter low and high limits for the pen. To retrieve the EGU
high and low limits that were defined for the tagname in the database, select the Fetch Limits
button.

7.

Click the Pen Color button to select a color for the pen's trend line.

8.

Select the Line Style button to display the Line Style dialog box where you specify whether to
display a trend line, or use a line style marker, or both.

9.

Select a display mode for the pen: sample mode, average mode, high mode, or low mode.

10. When you are done setting the historical pen's options, click the Add button. Your new
historical pen will appear in the pen list with the options you selected.
11. Select the Save button save the pen definitions to disk and close the Add/Modify Pen Group
dialog box.
Defining a Lab Data Pen
Once you have successfully imported lab data, you can display that data in a chart. A pen group can
contain both lab data pens and historical pens, allowing you to compare lab data results with historical
data. To display lab data in a chart, during pen definition you need to specify that the pen is a lab data
pen and optionally specify a lab data marker.

966

iFIX with FIX Desktop

To define a lab data pen:


1.

In Historical Trend Display, on the Utilities menu, select Define Pen Groups. The Define Pen
Groups dialog box appears.

2.

If you want to define a lab data pen for a new pen group, click the Add button to display the
Add Pen Group dialog box; then type a name for the new pen group in the Pen Group field
and proceed to step 3.
- Or If you want to define a lab data pen for an existing pen group, select the pen group from the
list in the Define Pen Groups dialog box, and then click the Modify button to display the
Modify Pen Group dialog box.

3.

In the Pen Type area at the bottom of the Add/Modify Pen Group dialog box, select the Lab
button.

4.

In the Tagname field, enter the lab data variable that you want to display in the chart. The
syntax for a lab data variable is Node:Tag. The Node represents the HTRDATA subdirectory
where the lab data file is stored. The Tag represents the variable name assigned by the user in
the lab data file. To select from a list of lab data variables, enter the Node and select the
browse (...) button.

5.

To fetch the EGU high and low limits that were defined in the data dictionary, click the Fetch
Limits button.

6.

To define a lab data marker select the Lab Marker button to display the Lab Data Marker
dialog box.

7.

To display a trend line and a line style marker for the lab data pen, select the Line Style
button. Unlike historical data pens, you can choose not to display a lab data pen by disabling
both the Show Line and Use Marker check boxes.

8.

When you are done setting the lab data pen's options, click the Add button. Your new lab data
pen will appear in the pen list with the options you selected.

9.

Select the Save button to save the lab data pen definitions to disk and close the Add/Modify
Pen Group dialog box.

Defining a Pen Group


To define a pen group:
1.

In Historical Trend Display, from the Utilities menu, select Define Pen Groups. The Define
Pen Groups dialog box appears.

2.

Click the Add button. The Add Pen Group dialog box appears.

3.

In the Pen Group field, enter a name for the pen group.

4.

Select the Y Axis button at the bottom of the dialog box to define Y axis details for the pen
group, including the number of tick marks and labels to display on the Y axis and whether or
not to display a horizontal grid.

5.

Define up to eight pens for the pen group using the remaining fields and buttons.

6.

Select the Save button to save the pen group to disk.

967

iFIX with FIX Desktop

Defining a Time Group


To define a time group:
1.

In Historical Trend Display, from the Utilities menu, select the Define Time Groups button.
The Define Time Groups dialog box appears.

2.

Click the Add button. The Add Time Group dialog box appears.

3.

In the Time Group field, enter a name for the time group.

4.

In the Fixed Date, enter a starting date field, or in the Days Before Today field, enter the
number of days before today for which you want to display data.

5.

In the Fixed Time field enter a starting time, or in the Time Before Now field the amount of
time before now for which you want to display data.

6.

In the Duration field, enter the length of time for which you want to display data.

7.

In the Fixed Interval field, enter a fixed interval.

8.

Select the X Axis button to display the X Axis dialog box, where you can define X axis
details including the number of tick marks and labels and whether to display a vertical grid
and the date. Select OK to return to the Add Time Group dialog box.

9.

Select the Save button to save the time group to disk.

Modifying Charts
Click any of the following links for more information about modifying charts:

Adding Grid Lines to a Chart

Modifying a Chart

Modifying Pen Definitions

Modifying a Time Group

Modifying the Legend

Modifying Chart Colors

Modifying a Chart
To modify a chart:
1.

In Historical Trend Display, on the Configure menu, click Chart; or, from the Toolbox, click
the chart button. The Configure Chart dialog box appears.

2.

Select a time group or a pen group that you want to modify on the list displayed in the
Configure Chart dialog box. Once you have selected a pen group or a time group on the list:

To modify the selected pen group, click the pen icon to display the Define Pens
dialog box.

To modify the selected time group, click the time icon to display the Define Time X Axis dialog box.

To modify the chart colors, the chart legend, or the chart header, select the Attributes button

968

iFIX with FIX Desktop

to display the Chart Details dialog box.


2.

Make the changes you want, and then select OK to return to the Configure Chart dialog box.

3.

Select OK again and the existing chart is temporarily overwritten with data from the new pen
group, time group, and chart attributes.
NOTE: Any changes you make to a chart, pen group, time group, or chart attributes using
any of the commands listed in the Configure menu or the Toolbox buttons are only temporary.
These changes are not saved when you close the chart. To save any modifications you make to
a chart using these commands, you must use the Save As command to save the chart under a
new chart name.

Modifying a Time Group in a Chart


To modify a time group in a chart:
1.

In Historical Trend Display, use any one of the following four methods to display the Define
Time - X Axis dialog box:

Select the Time option from the Configure menu.

Click the Time button in the Toolbox.

Double-click the X axis labels in the chart.

Select the time group and then click the time button in the Configure Chart dialog
box.

2.

The current configuration for the selected time group is displayed when the Define Time - X
Axis dialog box appears. Enter any desired changes to the starting time and starting date, time
span for the display chart, or X Axis details.

3.

When you have finished modifying the time group, click OK to close the Define Time - X
Axis Dialog box and display the new time group for the chart.
NOTE: To permanently save the changes you made to the time group, on the File menu, click
Save. The system asks if you want to overwrite the existing time group; select Yes.

Modifying Chart Colors


To modify chart colors:
1.

In Historical Trend Display, on the Configure menu, click Chart; or, from the Toolbox, click
the chart button. The Configure Chart dialog box appears.

2.

Click the Attributes button. The Chart Details dialog box appears.

3.

In the Chart Details dialog box, use the pen color buttons to modify colors for the:

Trend Area

X-Axis Labels

Background Area

Grid Lines

NOTE: Y axis label colors are defined during pen definition.

969

iFIX with FIX Desktop

4.

Select OK to close the Chart Details dialog box. Select OK again to close the Configure Chart
dialog box; the new colors are then displayed in the chart.
NOTE: To permanently save the changes to the pen group, on the File menu, click Save. The
system asks if you want to overwrite the existing chart group; select Yes.

Modifying Pen Definitions


Use the Define Pens dialog box to make modifications to a pen group. You can display this dialog box
by using any of the following methods in Historical Trend Display:

Selecting the Pen option from the Configure menu

Selecting the Pen button from the Toolbox

Double-clicking on the Y axis labels in the chart

Selecting the pen group and then selecting the pen button in the Configure Chart dialog box

In the Define Pens dialog box:


To delete a pen from the group:
1.

Select the pen in the Pens list box.

2.

Click Delete.

To add a new pen to the group:


1.

Click the Add button.

2.

In the Pen Definitions area of the dialog box, enter the necessary changes for the new
pen selected in the Pens list box.

3.

Select the Modify button to apply the changes to the pen.

To modify a pen in the group:


1.

Select the pen in the Pens list box.

2.

Make any desired changes to the pen's options.

3.

Click Modify to apply the changes to the pen.

When you have finished deleting, adding, or modifying pens within the pen group, select OK to close
the Define Pens Dialog box and display the new pen group definitions for the chart.
NOTE: To permanently save the changes to the pen group, on the File menu, click Save. The system
asks if you want to overwrite the existing pen group; select Yes.
Modifying the Legend
To modify the legend in a chart:
1.

970

In Historical Trend Display, use any of the following four methods to display the Define

iFIX with FIX Desktop

Legend dialog box:

Double-click the legend in the chart.

Select the Legend option from the Configure menu.

Click the Legend button in the Toolbox.

Select Chart from the Configure menu to display the Configure Chart dialog box.
Click the Attributes button to display the Chart Details dialog box, select the Primary
or Alternate Legend button, and then click the Define Legend icon.

The title bar of the Define Legend dialog box will differ, depending on which legend (Primary
or Alternate) has been specified for the chart. In either case, the current configuration for the
chart's legend is displayed when the Define Legend dialog box appears.
2.

Click the check boxes for the items you want to enable or disable for display in the legend.

3.

Modify the Maximum Length fields if necessary.

4.

Change the order of the legend's items by selecting the up and down arrows next to the Order
of Items List box.

5.

Click OK.

Adding Grid Lines to a Chart


If the chart does not display any grid lines, you can add them to help you locate specific points of data.
Adding Horizontal Grid Lines
To add horizontal grid lines to a chart:
1.

In Historical Trend Display, on the Configure menu, click Pen. The Define Pens dialog box
appears.

2.

Click on the Y Axis button. The Y Axis dialog box appears.

3.

In the Number of Tick Marks field, enter the number of horizontal grid lines you want to
appear in the chart. If you enter the number 10 in this field, the system actually displays eight
in the chart, since one is placed at the extreme top and bottom of the chart.

4.

Select OK until you return to the chart. The chart then updates to display the horizontal grid
lines based upon your Tick Marks field entry.

Adding Vertical Grid Lines


To add vertical grid lines to a chart:
1.

In Historical Trend Display, on the Configure menu, click Time. The Define Time - X Axis
dialog box appears.

2.

Select the X Axis button. The X Axis dialog box appears.

3.

In the Number of Tick Marks field, enter the number of vertical grid lines you want to appear
in the chart. If you enter the number 10 in this field, the system actually displays eight in the
chart, since one is placed at the extreme left and right of the chart.

971

iFIX with FIX Desktop

4.

Select OK and the until you return to the chart. The chart then updates to display the vertical
grid lines based upon your Tick Marks field entry.

NOTE: Grid lines added to your chart through the Configure menu commands remain in effect until
you exit the Historical Display program or close the displayed chart. Use the Define Chart Groups
command in the Utilities menu to add permanent grid lines to your charts.

Copying, Exporting, and Printing


Click any of the following links for more information about copying, exporting, and printing:

Exporting a Chart to an ASCII File

Copying a Chart to the Clipboard

Printing a Chart

Copying a Chart to the Clipboard


To copy a chart to the Windows clipboard:
1.

Display the chart in Historical Trend Display.

2.

On the Edit menu, click Copy.

The entire graph is then copied, in bitmap format, to the clipboard.


Exporting a Chart to an ASCII File
To export the contents of a chart to an ASCII file:
1.

In Historical Trend Display, on the File menu, click Export. The standard Windows File Save
dialog box appears.

2.

Enter a file name and extension for the file.

3.

Select OK to export the chart to an ASCII file to the path you specified.

Printing a Chart
To print the currently active display chart:
In Historical Trend Display, on the File menu, click Print. The chart is immediately sent to the default
Windows printer, and a dialog box displays the name of the chart being printed.
You can also print charts using command line parameters by invoking the background task print
program, HTDPRINT.EXE. For example:
HTDPRINT -CG 'Chart Group 1'

972

iFIX with FIX Desktop

Examining Data in a Display Chart


Click any of the following links for more information about examining data in a display chart:

Manipulating Y Axis Labels

Locating Exact Values on the Trend Line

Shifting the Chart Forward or Backward in Time

Zooming in on Data

Updating a Chart with Current Data

Synchronizing the Time Between Charts

Linking Charts to an Anchored Chart

Linking Charts to an Anchored Chart


You can link up to eight charts to an anchored chart so that any changes you make to the time
configuration on the anchored chart are automatically duplicated on each linked chart.
To link charts to an anchored chart:
1.

In Historical Trend Display, open the chart that you want to use as the anchor, and on the
Actions menu, click Anchor Time. The anchor icon appears on the anchored chart.

2.

Open the chart(s) that you want to link to the anchored chart.

3.

On the Actions menu, click Link Window for each non-anchored chart. A link icon appears
on each linked chart.

NOTE: The Link Window command is only available if anchoring is enabled and more than one chart
is open.
To unlink a chart, on the Actions menu, click Unlink Window. The Unlink Window command is only
available when a linked chart is selected. To remove all links to an anchored chart, unanchor the
anchored chart. To do this, on the Actions menu, click Unanchor.
Locating Exact Values on the Trend Line
To locate exact values on the trend line:
In Historical Trend Display, move the vertical time cursor to a point on the horizontal trend line.
Where these two lines intersect identifies the point of data for which you want information.
The time cursor readout is displayed below the X axis labels on the chart. To move the time cursor and
display the time value for a data point on the trend line, either select the time cursor and drag it to the
point of data, or use the keyboard's left and right arrow keys to move the time cursor to the point of
data.
Manipulating Y Axis Labels
In Historical Trend Display, you can control the display of Y axis labels in several ways:

973

iFIX with FIX Desktop

During pen definition, you can choose whether you want the labels for the selected pen to
display on the Y axis using the Show Y Axis Labels check box.

During Y Axis definition in the Y Axis dialog box, you can choose to display multiple Y axis
labels. If you choose to do so, the labels for each pen that has the Show Y Axis Labels check
box enabled will display on the Y axis at the same time.

While viewing the display chart, the process limits on the Y axis can be changed to allow you
to look at the different process limits for each tagname. To look at the different process limits,
click on the tagname in the legend, or use the keyboard's up and down arrow keys to page
through the tagnames in the legend.
The Y axis limit labels and colors change to correspond with the selected tagname.

NOTE: If multiple Y axis labels are being displayed, when you select a tagname in the legend multiple
Y axis labels are disabled and the labels for just the first pen in the legend is displayed.
Shifting the Chart Forward or Backward in Time
To shift the chart forward or backward in time:
In Historical Trend Display, use the time shift buttons that are displayed in the legend to shift your
chart either forward or backward in time. The time shift buttons allow you to quickly move the chart
time forward or backward to look at additional process data. The default time shift settings are
displayed in the following chart:
Button

Description

< and >

Shifts data backward or forward in time by one half the time duration of
the chart. For example, if the duration is five minutes, pressing the <
button shifts the time display back in time by two and a half minutes.

<< and >>

Shifts data backward or forward in time by one times the duration of the
chart. For example, if the duration is five minutes, pressing the <<
button shifts the chart time back in time by five minutes.

NOTE: When you use the time shift buttons, the time display changes, but the duration of the display
does not change. For example, if you are looking at a chart with a one hour duration and then shift
time forward or backward, the time display changes, but you are still looking at one hour of data in the
display.
To restore the chart to its original time configuration, on the Actions menu select Reset to Original.
You can change the settings for the time shift buttons to shift the time span forward or backward by
larger or smaller increments. Select the Define Time Defaults option from the Actions menu to reset
the shift button defaults in the Define Time Defaults dialog box.
Synchronizing the Time Between Charts
In Historical Trend Display, you can compare historical data in different charts by synchronizing the
time between the charts. As an example, suppose you have two charts that display historical data for

974

iFIX with FIX Desktop

different processes. An event occurs and you want to later go back and compare data at that specific
time period.
To synchronize chart times:
1.

In Historical Trend Display, open the charts that you want to compare.

2.

Select the chart that has the time period you want to use as the basis for comparison. On the
Actions menu, click Anchor Time. An anchor icon is placed in the upper right corner of the
chart.

3.

Select the chart you want to compare with the anchored chart. Then, on the Actions menu
click Synchronize Time. The chart's labels and data change to synchronize with the X axis
labels, time, and date in the anchored chart.

4.

To unanchor a chart, on the Actions menu click Unanchor.

Updating a Chart with Current Data


To update a chart with current data:

In Historical Trend Display, on the Actions menu, click Set to Current Time. The ending time
reflects the current time. However, the time duration of the chart remains the same.
- Or -

In Historical Trend Display, on the Options menu, click either the 1, 2, or 5 Minute Auto
Update, depending on how often you want the chart's data refreshed. The Options menu
command remains checked to indicate that it is active.

The cursor changes to an hourglass each time the system retrieves data (every 1, 2, or 5 minutes).
When the automatic update completes, the time labels on the X axis change to reflect the updated chart
time.
To save the Automatic Update Rates, on the File menu, click Save. When Historical Trend Display is
restarted, it detects the previously saved update rate and restores it when the chart re-opens.
If an update occurs before you select Save, or if you change a Time group, Pen group, or Chart group,
you are prompted to save each group that has changed.
If you select...

Then...

Yes

The changes made to the referenced Time, Pen, or Chart group


and the Auto Update Rate are saved.

No

Only the Auto Update Rate is saved. The changes made to the
referenced Time, Pen, or Chart group are not saved.

Cancel

Cancels all save operations. The changes made to the Time, Pen,
or Chart group and the Auto Update Rate are not saved.

975

iFIX with FIX Desktop

Zooming in on Data
To zoom in on a selected area of a chart:
1.

In Historical Trend Display, place the cursor just outside of the chart region that you want
zoomed, click the area (turning the cursor into a crosshair), and draw a box around that data
you want.

2.

On the Actions menu, click Zoom. The chart then zooms in on the data you selected. The
chart's labels on the Y axis and X axis also change to reflect the zoomed data displayed in the
chart.
NOTE: If you do not have a mouse, on the Actions menu, click Select Region to select a
specific region of a chart. You can continue to use Zoom to enlarge an area of the chart. Each
zoom works off the previously zoomed screen.

3.

To restore the original chart, on the Actions menu, click Reset to Original.

Working with Lab Data


Click any of the following links for more information about working with lab data:

Creating Lab Data Files

Creating Lab Data Dictionary Files

Defining a Lab Data Pen

Importing Lab Data

Creating Lab Data Dictionary Files


There are two types of files that you need to create in order to import lab data into Historical Trend
Display: lab data files and data dictionary files.
To create a data dictionary file:
1.

Create the data dictionary file in ASCII format using the syntax below. Each variable entered
in lab data files must be defined in the data dictionary file.
VARIABLE, DESCRIPTION, EGU DESCRIPTOR, LOW EGU, HIGH EGU

2.

Name the data dictionary LABDATA.DEF.

3.

Save the data dictionary in the subdirectory containing the lab data files for which the
information in the data dictionary applies. A data dictionary must exist in each subdirectory
from where you import lab data files. Therefore if you have two subdirectories containing lab
data files, there must be a data dictionary located in each subdirectory.
An example of a data dictionary file follows:
PH_LEVEL, pH level of material, pH, 0, 12.00
DENSITY, Density of Material, psi, 3, 15.00

NOTE: The VARIABLE you enter in the data dictionary file must be identical to the

976

iFIX with FIX Desktop

corresponding variable name entered in the lab data file.


Creating Lab Data Files
There are two types of files that you need to create in order to import lab data into Historical Display:
lab data files and data dictionary files.
To create lab data files:
1.

Export the data that you want to import into Historical Trend Display from a third-party
application (such as Microsoft Excel files in CSV format) or create the file manually using
any standard text editor. Lab data files must be in ASCII standard comma-separated format.
The syntax for lab data files is:
DATE, TIME, VARIABLE, VALUE, COMMENT

2.

Save the lab data files in a subdirectory of the historical data path. You can create your own
lab data subdirectory or use an existing one that was created by Historical Collect.

3.

If a data dictionary file (LABDATA.DEF) does not exist in the subdirectory where the lab
data files reside, create one. Make sure the data dictionary file contains the necessary
information for each lab data variable in the lab data file.
An example of a lab data file follows:
;Monday's Lab
05/27/93, 12:30:00, PH_LEVEL, 7.04, Above normal
05/27/93, 12:30:00, DENSITY, 4.63

NOTE: Each line of lab data must not exceed 80 characters. There is no limit to the number
of lines within a file. Sort the lines of data in chronological order by increasing date and then
by increasing time. Blank lines and lines beginning with semi-colons are ignored.
Defining a Lab Data Pen
Once you have successfully imported lab data, you can display that data in a chart. A pen group can
contain both lab data pens and historical pens, allowing you to compare lab data results with historical
data. To display lab data in a chart, during pen definition you need to specify that the pen is a lab data
pen and optionally specify a lab data marker.
To define a lab data pen:
1.

In Historical Trend Display, on the Utilities menu, select Define Pen Groups. The Define Pen
Groups dialog box appears.

2.

If you want to define a lab data pen for a new pen group, click the Add button to display the
Add Pen Group dialog box; then type a name for the new pen group in the Pen Group field
and proceed to step 3.
- Or If you want to define a lab data pen for an existing pen group, select the pen group from the
list in the Define Pen Groups dialog box, and then click the Modify button to display the

977

iFIX with FIX Desktop

Modify Pen Group dialog box.


3.

In the Pen Type area at the bottom of the Add/Modify Pen Group dialog box, select the Lab
button.

4.

In the Tagname field, enter the lab data variable that you want to display in the chart. The
syntax for a lab data variable is Node:Tag. The Node represents the HTRDATA subdirectory
where the lab data file is stored. The Tag represents the variable name assigned by the user in
the lab data file. To select from a list of lab data variables, enter the Node and select the
browse (...) button.

5.

To fetch the EGU high and low limits that were defined in the data dictionary, click the Fetch
Limits button.

6.

To define a lab data marker select the Lab Marker button to display the Lab Data Marker
dialog box.

7.

To display a trend line and a line style marker for the lab data pen, select the Line Style
button. Unlike historical data pens, you can choose not to display a lab data pen by disabling
both the Show Line and Use Marker check boxes.

8.

When you are done setting the lab data pen's options, click the Add button. Your new lab data
pen will appear in the pen list with the options you selected.

9.

Select the Save button to save the lab data pen definitions to disk and close the Add/Modify
Pen Group dialog box.

Importing Lab Data


You can import data (referred to as lab data) into Historical Display that cannot be collected in realtime in the FIX process database. Once this data is imported you can view the data in display charts.
Furthermore, you can view imported lab data and historical data in the same display chart.
To import lab data:
1.

Create the lab data and data dictionary files that you want to import.

2.

In Historical Trend Display, on the File menu, select Import Lab Data. A dialog box
prompting you to select a Lab Data file appears.

3.

Browse to the lab data file that you want to import and then click OK to import the data.
While the data is imported, a dialog appears indicating that the data is being processed. When
the dialog disappears, processing is complete.
NOTE: If the import is not successful, an error message appears and an error file is created.
When you import lab data, the ASCII files remain intact and a new Historical Display lab data
file is created and placed in the historical data path where it can be retrieved for display in a
chart. Imported lab data files are automatically named using the same conventions used by
Historical Collect. An example follows:
C:\FIX32\HTRDATA\nodename\93052700.L24

NOTE: All imported lab data files will have .L24 as the file extension. If you import a lab
data file that contains data for multiple dates, a file is created for each date listed. Imported
lab data files are automatically purged based on the purge rate defined for all files in
Historical Assign.

978

iFIX with FIX Desktop

Command Line Functions


Click any of the following links for more information about command line functions:

Creating a Command Line Parameter File

Using Command Line Parameters

Creating a Command Line Parameter File


To create a command line parameter file:
1.

Using any standard text editor, create an ASCII file containing the command line parameters
you want to execute in Historical Trend Display. A sample file containing three parameters
follows:
-PG 'Tank Temps'
-TB 03:00:00
-DU 00:00:10:00

2.

Save the file, under any name, in the directory pointed to by the local path. This way you do
not need to specify the path location when you submit the file.

3.

Submit the command line parameter file using the Command File (-CF) command line
parameter. For example:
HTD -CF 'C:/FIX32/FILES/file.txt'

NOTE: The file.txt file is the name of the file containing the set of commands that you want to
invoke.
Using Command Line Parameters
In Historical Trend Display, command line parameters must be submitted using the correct parameter
syntax, and can be invoked in the following ways:

Using the RUNTASK command from the Command Language in a command language script
or in a Program block.

As a startup task in the Configured Task List in the SCU.

Setting the Historical Display program properties using the Windows Properties command.

Using the Windows Run command.

Below are some examples of how you can use command line parameters:

To display Chart One without changing its pen or time group, enter:
HTD -CG 'Chart One'

To display Chart One, substitute its pen and time groups, and submit a user-defined chart
header parameter, enter:
HTD -CG 'Chart One' -PG 'Temp Pens' -TG 'Yesterday' -1 'REG'

979

iFIX with FIX Desktop

To display Chart One group with new a new starting time, enter:
HTD -CG 'Chart One' -ST '03/02/93@20:30:00'

To print Chart One, enter:


HTDPRINT -CG 'Chart One'

To submit a group of parameters, create a command line parameter file and submit it using the
-CF parameter, enter:
HTD -CF 'C:/FIX32/FILES/file.txt'

Working with SQL Data


Click any of the following links for more information about working with SQL data:

Retrieving SQL Data

Defining SQL Queries

Defining an SQL Data Pen

Defining an SQL Data Pen


To define an SQL Data pen:
1.

In Historical Trend Display, on the Utilities menu, click Define Pen Groups. The Define Pen
Groups dialog box appears.

2.

Click Add. The Add Pen Group dialog box appears.

3.

In the Pen Group field, enter a pen group name.

4.

In the Pen Type group box, click SQL Data.

5.

In the Tagname field, enter the SQL data information in the following format:
database_identifier:query_name

Where the database identifier specifies the name of the relational database as defined in the
System Configuration Utility (SCU) and the query name is the name of a SQL query created in
the Add SQL Query dialog box.
6.

To change the line style for the SQL Data pen, click Line Style. The Line Style dialog box
appears.

7.

Type the low and high EGU limits into their respective fields.

8.

Click Add to add the SQL Data pen.

9.

Click OK to finish.

Defining SQL Queries


To define SQL queries:
1.

980

In Historical Trend Display, on the Utilities menu, click Define SQL Queries. The Define
SQL Queries dialog box appears.

iFIX with FIX Desktop

2.

Click Add. The Add SQL Query dialog box appears.

3.

Complete each field in the Add SQL Query dialog box, and click OK when finished.
The Historical Display program saves the query in the HTD.INI and closes the SQL Query
dialog box.
NOTE: The query Q1 is provided as a sample query for you to understand SQL syntax.
Note that if you delete the sample query, it is also removed from the HTD.INI file, where all
SQL queries are stored.

Retrieving SQL Data


To retrieve SQL data from a relational database:
1.

Create an SQL data table and an SQL data dictionary table using your relational database.

2.

In Historical Trend Display, on the Utilities menu, click Define SQL Queries. The Define
SQL Queries dialog box appears.

3.

Add an SQL query to retrieve the data you need.


NOTE: The query Q1 is provided as a sample query for you to understand SQL syntax. Note
that if you delete the sample query, it is also removed from the HTD.INI file, where all SQL
queries are stored.

4.

Configure an SQL login account in the System Configuration Utility (SCU) so that Historical
Display can log into the relational database.

5.

Configure a SQL Data pen in Historical Trend Display.

6.

Assign the SQL Data pen to a chart and display the SQL data you want.

Working with Remote Data


Click any of the following links for more information about working with remote data:

Defining a Remote Historical Data Path

Defining a Remote Historical Data Pen

Defining a Remote Historical Data Path


To define a remote historical data path:
1.

In Historical Trend Display, on the Utilities menu, click Define Remote Paths. The Define
Remote Historical Data Paths dialog box appears.

2.

In the Remote Data Path Alias field, enter a name. The name you enter does not necessarily
have to be a remote FIX node name; it only needs to be a unique name that follows the
standard FIX node naming convention. For example, if you want to define a local historical
data path in addition to default historical data path, you can enter a name such as HTRDATA2.

3.

In the Historical Data Path field, enter the path where the historical data is stored. The path
can be a drive letter path (C:\FIX32\MYDATA, for example) or a Universal Naming
Convention (UNC) path (\\COMP2\FIX32\MYDATA, for example).

981

iFIX with FIX Desktop

4.

Click Add. The name and path appear in the list box.

5.

Click OK to save your changes and close the dialog box.

Defining a Remote Historical Data Pen


To define a remote historical data pen:
1.

In Historical Trend Display, on the Utilities menu, click Define Pen Groups. The Define Pen
Groups dialog box appears.

2.

Click Add. The Add Pen Group dialog box appears.

3.

Under Pen Type, select the Historical option.

4.

In the Tagname field, enter the Remote Data Path Alias and tagname you want to trend. Use
the following syntax:
NAME::NODE:TAG.FIELD

where NAME is the name you defined in the Remote Data Path Alias field and
NODE:TAG.FIELD is the tagname you want to use for the pen.
5.

Enter collection and display information for the tagname in the Pen Definitions area.

6.

Click Add. The new tagname is added to the Pens list box.

7.

In the Pen Group field, enter a group name. Click Save to save your new pen group and click
OK to close the Define Pen Groups dialog box.

NOTE: If you define a path for the local node name (the node where Historical Display is running),
the path overrides the HTRDATA path defined in the SCU. Also, if the NAME portion of the remote
pen syntax is omitted from the Pen configuration, FIX uses the local node name as the NAME. For
example, if Historical Display is running on SCADA1, and you have a pen configured as
SCADA1::NODE:TAG.FIELD and another pen configured as NODE:TAG.FIELD, the data retrieved
is the same.

982

Glossary
You should be familiar with the following special terms used frequently in the Historical Display
program's on-line documentation. Click on any term to display the term's definition.

A-C
Average Mode
Background Area
Chart Group
Chart Header
Command Language
Command Language Script
Command Line Parameters
Command Line Parameter File
Command Line Parameter Syntax

D-K
Display Chart
Display Mode
Data Dictionary
Grid
High Mode
Interval

L-R
Lab Data
Lab Data Marker
Legend
Line Style Marker
Low Mode
Pen Group
Program Block

S
Sample Mode
SQL Data

983

iFIX with FIX Desktop

SQL Data Dictionary Table


SQL Data Table

T
Time Cursor
Time Group
Time Shift Buttons
Trend Area
Trend Line

X-Z
X Axis
Y Axis

A-D
Average Mode
When you choose average mode as the display mode for a tagname, the average of all valid data found
during the interval, starting at the beginning of the interval, is plotted on the display chart.
Background Area
The background area is the area of the chart that surrounds the trend area.
Chart Group
A chart group is a named chart composed of a pen group and a time group.
Chart Header
The chart header is an area at the top of the display chart where you can add descriptive information
about the chart. There are several items you can add to the chart including:

984

Chart group, pen group, and time group names.

Start and end times of the chart.

Duration of the chart.

Number of days before today, and the amount of time before the current time for which the
chart is displaying data.

Up to 10 user-defined items. These items are submitted using command line parameters.

iFIX with FIX Desktop

Command Language Script


A command language script is a set of instructions that contains a series of commands and parameters
built with the Command Language. Scripts can be executed upon request from View through a number
of methods, including keystroke macros and push buttons.
Command Language
The Command Language is a powerful scripting tool that lets display developers automate operator
tasks through a series of instructions that can be executed upon request.
Command Line Parameters
Historical Display has a set of command line parameters that you can use to display a chart
automatically when you start Historical Display, display a chart directly from the View application,
print a chart using the HTDPRINT background task program, and submit user-defined chart header
items. Each parameter must be submitted using the correct parameter syntax as well as adhering to the
following rules:

Command line parameters are not case sensitive.

Command line parameters can be passed in any order.

Dates must be entered in the date format set up for your system.

Command Line Parameter File


A command line parameter file is an ASCII file containing a group of command line parameters that
executes each parameter listed within the file as if they were passed directly from the command line.
Create a command line parameter file if you have a long series of commands or if you have a group of
parameters you plan to invoke on a regular basis.
Command Line Parameter Syntax
Parameter Name

Syntax

Command Line Parameter File

-CF 'filespec'

Chart Group

-CG 'Chart group name'

Pen Group

-PG 'Pen group name'

Time Group

-TG 'Time group name'

Start Time

-ST mm/dd/yy@hh:mm:ss
-ST mm/dd/yy
-ST hh:mm:ss

985

iFIX with FIX Desktop

Parameter Name

Syntax

End Time

-ET mm/dd/yy@hh:mm:ss
-ET mm/dd/yy
-ET hh:mm:ss

Duration

-DU dd:hh:mm:ss

Days Before Today

-DB number of days

Time Before Now

-TB hh:mm:ss

User-Defined Header Item

-1 'user-defined value'

Data Dictionary Table


A data dictionary table is a relational database table that you must create in addition to the data table.
The Data Dictionary Table can contain columns for the following:
Column

Description

Data Name

Used by an SQL query and SQL Data Pen to retrieve data.

Data Description

The description of the data, up to 40 characters.

EGU Description

The unit label for the EGU range, up to 4 characters.

Low EGU

The numeric value for the low EGU range.

High EGU

The numeric value for the high EGU range.

Data Dictionary
A data dictionary is an ASCII file that you import into Historical Display. It provides a single location
where you define EGU high and low limits plus descriptive information for each lab data variable. The
EGU high and low limits are used during pen definition; the variable description is displayed in the
legend.
Data Table
A data table is a required relational database table that contains data you want to display with the
Historical Display application. In order for relational database data to be successfully trended, the table

986

iFIX with FIX Desktop

must contain columns for the following:


Column

Description

Value Date/Time

Format is dependent on relational database settings.

Data Name

Used by an SQL query and SQL Data Pen to retrieve data.

Data Value

The floating-point or integer data value. This value can be up to seven


significant digits or exponential format.

Display Chart
A display chart lets you examine data collected on your process. Each display chart lets you determine
what data appears on the display (using pen groups), the time the data was collected (using time
groups), what information appears at the bottom of the display (using a legend), and what information
appears at the top of the display (using a chart header).
Display Mode
When you assign a tagname to a pen group, you specify the mode in which you want the data to
display. Display modes are used to condense or sample data displayed in a chart. Data sampling is
necessary because in some cases it is not possible to display all data collected, due to the quantity of
data or the amount of display space in the chart. The display modes are sample mode, average mode,
high mode, or low mode.

G-P
Grid
The grid consists of horizontal and vertical grid lines used to help you locate data in the chart.
High Mode
When you choose high mode as the display mode for a tagname, the highest valid data point found
during the interval, starting at the beginning of the interval, is plotted on the display chart.
Interval
The values that you enter in the Duration and Fixed Interval fields, when defining a time group,
determine the number of intervals from which data samples are plotted on the chart. The number of
intervals on a chart equals the Duration (in seconds) divided by the Fixed Interval (in seconds); the
number of data samples plotted on the chart equals the number of intervals. For example, if the starting
time for a chart is 12:00:00, the Duration for the chart is set to 1 hour (3600 seconds), and the Fixed
Interval is set to 10 minutes (600 seconds), the number of intervals equals 6 and the number of data
samples plotted on the chart equals 6:
Intervals: 3600/600 = 6 Intervals

987

iFIX with FIX Desktop

Samples: 6 Intervals = 6
In this example, the intervals will begin at 12:00:00, 12:10:00, 12:20:00, 12:30:00, 12:40:00, and
12:50:00. The last interval will end at 13:00:00.
Lab Data
Lab data is any data that you want to display in a chart but cannot be collected in real-time in the FIX
process database. You import lab data ASCII files into Historical Display. Lab data can be displayed in
the same chart with historical data.
IMPORTANT: Be aware if Proficy Historian is configured as your historian, you cannot import or
display lab data into the Historical Display (HTD) program.
Lab Data Marker
A lab data marker is defined in the Lab Data Marker dialog box and is used only for lab data pens. Lab
data markers display at the actual date and time of the imported lab data value. Lab data pens can use
both a line style marker and a lab data marker.
Legend
The legend is similar to a map legend in that it lets you know what you are looking at in the display.
The legend appears at the bottom of the display chart and provides collection and error information on
the data displayed in the chart. Each tagname or lab data variable has a corresponding legend line and
color at the bottom of the chart.
Display charts can have two types of legends: Primary and Alternate.
Line Style Marker
A line style marker, defined in the Line Style dialog box, displays on the trend line and is used to
distinguish between overlapping trend lines or when printing in black and white. Historical data pens
must either use a line style marker or show a trend line, or both. Lab data pens can use a line style
marker, show a trend line, use both, or use neither. Lab data pens can display an additional marker
called a lab data marker.
Low Mode
When you choose low mode as the display mode for a tagname, the lowest valid data point found
during the interval, starting at the beginning of the interval, is plotted on the display chart.
Pen Group
A pen group is a group of database tagnames selected for trending. You can assign up to eight
tagnames to a group. A pen group can contain historical data, SQL data and lab data pen definitions.
You can assign each tagname's historical data or lab data variable to a unique pen color that appears as
a trend line in the display chart. You can assign a tagname to more than one pen group.

988

iFIX with FIX Desktop

Program Block
A Program block provides a powerful means of running short programs to increase the degree of
automation in your process or to assist in batch control.

S-Z
Sample Mode
When you choose sample mode as the display mode for a tagname, the last valid value found, up to
and including the start of the interval, is plotted on the display chart. Therefore, if the value at the start
of the interval is not valid, the last valid value found prior to the start of the interval is plotted.
SQL Data
SQL data is any data that you want to display in a chart from a relational database. The data is
retrieved using the Open Database Connectivity (ODBC) interface. SQL data can be displayed in the
same chart with historical or lab data.
SQL Login Account
An SQL login account is defined in the System Configuration Utility (SCU) and lets the FIX node
connect to a relational database. This account identifies the following elements:

Database Identifier, or Open Database Connectivity (ODBC) data source, that specifies the
name of the relational database.

User name for login purposes

Password for login purposes

Time Cursor
The time cursor is a moveable, vertical line that intersects the trend lines in the display chart. Where
the time cursor intersects the trend lines, it reports the data value at that point in time for each tagname
or lab data variable in the displayed pen group. The time cursor also reports the time the data was
collected. Both the values and the time are reported in the chart's legend.
Time Group
A time group determines a display chart's default starting date, starting time, and duration. Once you
are viewing historical data in a display chart, you can shift the chart's time forward or backward.
Time Shift Buttons
The time shift buttons allow you to quickly move the chart time forward or backward to look at
additional process data. These buttons appear in the display chart's legend.
Trend Area
The trend area is the area of the chart where the trend lines and grids display.

989

iFIX with FIX Desktop

Trend Line
A trend line displays historical process data collected on a tagname or imported data for a lab data
variable. Each display chart can display up to eight trend lines in different colors. Trend line colors are
assigned in the pen group.
X Axis
The X axis (time axis) is the horizontal line at the bottom of the chart that displays the times and dates
associated with the data displayed in the chart.
The far left point on the X axis represents the starting time, and the far right point represents the ending
time (starting time plus duration).
Y Axis
The Y axis is the vertical line on the left side of the chart. The Y axis has labels that display process
limits assigned to each tagname displayed in the chart.
View Features

990

View Manual
The View Manual covers the following topics:

View Basics

Working with Picture Files

Working with Objects

Working with Information Links

Working with Chart Links

Working with Database Tags and Alarms

Sound Support

Command Line Parameters

View Basics
Welcome to the View program. View is your tool for using the Draw picture files that make up your
operator display station. Someone in your company has used the Draw program to create operator
displays that combine graphics, data, and charts to provide you with the information you need to do
your job.

This chapter includes the following sections:

View Features

Starting View

Exiting View

Using Mice, Keyboards, and Touch Screens

Using the Right Mouse Button

Where to Find Files

Switching to Other iFIX Software Programs

Previewing Pictures in View

Creating a Secure Environment

For many of you, View is the only iFIX software program that you'll use. You might want to keep the
following documentation handy:

Your Microsoft Windows documentation to quickly bring new users up to speed.

Implementing Alarms and Messages manual if you need more detailed information on
working with Alarm Summary links, turn to this manual. This manual provides an integrated
discussion of the alarm features distributed throughout your iFIX system.

991

iFIX with FIX Desktop

View Features
With View you can:

Open up to 10 pictures.

Move pictures around the screen and resize pictures.

Use scroll bars for moving through large pictures.

Zoom in on parts of a picture for a more detailed view.

Zoom out for an overview of a large picture.

Store layouts of pictures for quick set up.

Access View functions with a mouse, keyboard, or touch screen.

Enter data through a variety of convenient dialog boxes.

Temporarily change tagname assignments of charts to monitor different database tags.

Use your command language scripts and macros.

Starting View
Find and select the View icon (shown below) in your Proficy HMI SCADA - iFIX program group.

Once the program starts, the View window opens as shown in the following figure.

992

iFIX with FIX Desktop

View Window
If you attempted to start View, but you are not logged on, the following message box appears.
Unauthorized access attempted

If you log on and still cannot start View, then your system administrator has not assigned you rights to
use the program. To proceed, get in touch with your system administrator.

Exiting View
To leave the View program, on the File menu, click Exit. After you select Exit, View returns to
Windows.

Using Mice, Keyboards, and Touch Screens


Since plant environments can vary drastically, you may not have a choice on the type of input device
you use. View supports mice, keyboards, and touch screens. Here's a summary of the differences:
Mouse for most people, using a mouse is the quickest way to move around in View. In this
manual, the mouse refers to all pointing devices supported by your iFIX with FIX Desktop
software. Pointing devices include mice and track balls. All View features are accessible
with a mouse.
Keyboard you can access most View functions with only a keyboard. The exceptions are
window scroll bars and custom push buttons. You can access the push buttons found in
dialog boxes. The only push buttons not selectable are the custom ones created with the
Push Button link. As with all applications, the keyboard accelerators listed on the pulldown menus do not work once you press the ALT key to activate the menu bar.

993

iFIX with FIX Desktop

Touch Screen you can access all View functions with a touch screen. Some people find using
scroll bars and sliders on a touch screen difficult.
View displays a single-line, double-line, or thick-line box around selectable links. The following table
shows each type of box and when the box appears.
Box Type

Appears
When the mouse pointer is moved over a selectable (and
unselected) object. The box remains visible for two seconds.
If the mouse pointer is not moved for more than two seconds,
the box disappears.

When an object is selected.

When the mouse pointer is over the selected object.

The following table describes how to perform common actions with each of these devices.

994

Action

Mouse

Keyboard

Touch Screen

Position the
pointer

Move the mouse.

Not Available.

Move your finger


where you want the
pointer to be. Press and
release once.

Select an
object

Position the pointer


over the object. Click
once.

Press the up or down


arrow key until the
highlight box is on the
object.

Position the pointer


over the object. Press
and release once.

iFIX with FIX Desktop

Action

Mouse

Keyboard

Touch Screen

Select a menu
command

Position the pointer


over the menu. Click
and drag down.
Position the mouse
pointer over the
desired command.
Release the mouse
button.

Press the ALT key to


activate the menu bar.
Use the left and right
arrow keys to move
between menus. Use the
up and down arrow keys
to select commands.
Press ENTER.

Position the pointer


over the menu name.
Press and release once.
The menu pops down.
Position the pointer
over the command
name. Press and
release once.

Press a dialog
box push
button

Position the pointer


over the object. Click
once.

Press TAB to select the


button. Press ENTER.

Position the pointer


over the object. Press
and release once.

Press a custom
push button

Position the pointer


over the object. Click
once.

Not Available.

Position the pointer


over the object. Press
and release once.

Activate (bring
up a data entry
dialog box or
execute a
command)

Move the pointer


over the object. Click
twice (double-click)
to display a dialog
box. Click once to
execute a command.

Press the up or down


arrow key until the
highlight box is on the
object. Press ENTER.

Position the pointer


over the object. Press
and release twice in
quick succession to
display a dialog box.
Press and release once
to execute a command.

Scroll a
window

Position the pointer


over a scroll arrow.
Click and hold down
the mouse button.

Not Available.

Position the pointer


over the scroll arrow.
Press once and hold.

Scroll a list
box or use a
slider

Position the pointer


over a scroll arrow.
Click and hold down
the mouse button.

Press the arrow key that


corresponds to the scroll
direction.

Position the pointer


over the scroll arrow.
Press once and hold.

Move between
windows

Click anywhere in
the desired window.

Press the right or left


arrow key.

Position the pointer


over the desired
window. Press and
release once.

Using the Right Mouse Button


As an alternative to using the standard pull-down menus to access a command, Draw and View
systems support a right mouse button menu, which can be used as a shortcut to some of these same
commands.

995

iFIX with FIX Desktop

To use the right mouse button menu:


1.

Click the right mouse button from anywhere within Draw or View. A menu of appropriate
commands opens. For additional information on menu item availability, see the Menu Item
Availability section.

2.

Highlight the command you wish to use by positioning the cursor over the command and then
clicking either the left or right mouse button.

3.

Release the mouse button. The command is then executed.

Menu Item Availability


The right mouse button option is available both with and without any objects selected. However, the
menu items that appear are varied based on whether an object is selected, as well as what type of object
is selected.
For example, if an object is selected in Draw and you click on the right mouse button, one of the menu
items listed is Create Dynamo. If, however, a Dynamo is selected in Draw, then the Create Dynamo
menu item will not appear, but the Convert to Objects item will be listed in the menu.

Where to Find Files


View creates layout files that you may want to include in your system backup plans:
File Type

Extension

Default Directory

View Layout Files

.LYT

C:\Program Files\Proficy\Proficy iFIX\PIC

Switching to Other iFIX or FIX Desktop Software Programs


You can leave View running and start another iFIX or FIX Desktop program by using the Applications
menu.
To start another iFIX or FIX Desktop program while View is running:
1.

Pull down the Applications menu.


The menu contains the names of programs that are used on a regular basis.

2.

996

Select the desired program. The table below describes what happens next:

If...

Then iFIX...

You have rights to use the program.

Starts the selected program.

You do not have rights to use the


program.

Displays a message and returns you to the View


program.

iFIX with FIX Desktop

If...

Then iFIX...

The program is not installed on the


node.

Displays a message and returns you to the View


program.

3.

To return to View, use the standard Windows task-switching procedure or close the
application.

Previewing Pictures in View


While you are creating a picture in Draw, you can preview the picture in View. This lets you to test
elements of the picture, such as links and push buttons, as you create them.
To preview the active picture from Draw:
1.

On the Toolbox, click the QuickView button. Or, on View menu or the right mouse button
menu, click QuickView.
The View window opens and displays the picture that is active in Draw. You can now test the
picture. View does not have to be running to use QuickView. QuickView starts View and
ignores any caching, default layout, or picture preloading defined for View. Also note that
when you use QuickView the Undo stack is erased.

2.

From the View application, on the View menu or right click menu, click QuickDraw to return
to Draw. The active picture in View is now displayed in Draw.

This procedure can also begin from View. Start View, open a picture, and then select QuickDraw.
QuickDraw starts Draw and displays the picture that is active in View.
If you open a picture in View and Draw using File Open and then select QuickView, another copy of
the picture is displayed in View. Only pictures that are opened using QuickView will update based on
changes made to the picture in Draw.
NOTES:

Task Switching must be enabled in the Environment Protection settings in the iFIX
WorkSpace (from the User Preferences dialog box) to use the QuickView and QuickDraw
commands.

Any Commands on Opening or Commands on Closing scripts execute in View unless you
specify otherwise in the VIEW.INI file. Refer to the Draw Manual for information on the
VIEW.INI file.

Creating a Secure Environment


Environment protection is used to create a secure environment that prevents unauthorized actions from
being performed. These actions are:

Starting other tasks.

Opening unauthorized pictures.

997

iFIX with FIX Desktop

Switching to unauthorized tasks.

Closing the current picture.

Exiting View.

Restarting the computer using CTRL+ALT+DELETE.

The View package is the base for the secure environment. If environment protection features are
configured in the iFIX WorkSpace, they take effect when View is started.
Security functions are assigned on a user basis. If environment protection is enabled, the functionality
of View may be limited.
If you cannot access a picture or an application, you may not have the necessary security rights.
Contact the person at your site who assigns security rights.
Refer to the Securing the View Environment from the Proficy iFIX WorkSpace section for information
on setting up a secured environment in the iFIX with FIX Desktop environment.

Working with Picture Files


View is the program that turns your computer screen into an operator display station. Picture files
make up the contents of your display. With View, you can have up to 10 picture files open at a time.
The commands that manipulate pictures are all found on the menu bar. This chapter describes all the
commands used to work with picture files. It includes the following sections:

Opening and Closing Pictures

Working with Large Pictures

Zooming Pictures

Switching Between Pictures

Creating Layouts

Creating Default Layouts

Picture Types

Printing Pictures

Opening and Closing Pictures


Use the Open command on the File menu to bring up a picture file.
If the picture has a tag group assigned, you may need to specify a tag group file for the picture to open
properly. A tag group is a symbolic representation of the tag names that your FIX Desktop software
uses to access specific fields in the database. Each tag group defines a set of tagnames.
To open a picture file:
1.

On the File menu, click Open.


The File Open dialog box appears.

998

iFIX with FIX Desktop

NOTE: If a picture has tag groups assigned, a second dialog box appears and prompts you to
enter a file name. Enter the file name of the tag group.
2.

Scroll through the list box and select the desired picture. View automatically looks for the
picture in the directory pointed to by the Picture path.

3.

Select OK.
You may not have the necessary security rights to access some pictures. If this is true, the
following message appears when you try to open the picture:
Unauthorized access attempted

To proceed, get in touch with your system administrator.


The Active Picture
You can have up to 10 pictures open at a time in View; however, View commands can only work with
one picture at a time. The picture that View is currently interacting with is called the active picture.
You can distinguish the active picture by the appearance of the title bar. The title bar of the active
picture will be a different color or shade from the title bars of the other pictures.
When you select the Close command from the File menu, View removes the active picture from the
View window. If you have any other picture files open, they remain open.

Working with Large Pictures


Pictures can be larger than the picture window. In fact, pictures can be up to 32 inches in height and
32 inches wide. When a picture is larger than its window, the picture window acts as a viewport.
You see only the part of the picture that is in the viewport. View provides scroll bars for you to move
the viewport to show different parts of the picture. The following figure illustrates the concept of a
viewport to a large picture.

Viewing Large Pictures

Zooming Pictures
Zooming is the process of magnification, as if you were looking through an adjustable camera lens.
You can enlarge a portion of your picture to study the details (zoom in) or you can reduce the picture

999

iFIX with FIX Desktop

to get an overview (zoom out). To restore your normal view, on the View menu, click Default View.
The following table describes the zoom functions.
Function

Description

Default
View

Restores the view to 100% magnification.

Zoom In

Increases the magnification by increments of 25%.

Zoom Out

Decreases the magnification by increments of 25%.

Zoom To

Allows you to select a screen area. View then proportionally magnifies the area in
the picture window. To use:

Fit in
Window

1.

On the View menu, click Zoom To.

2.

Select the top-left corner of the zoom area and drag until the select box
encloses the area.

3.

Release the mouse button.

Zooms out until the entire picture can fit in the picture window. When you use Fit
in Window, you no longer need scroll bars.

Switching Between Pictures


View provides the following menu commands that help you quickly switch between pictures:
Method

Refer to this section...

Next command

Using the Next and Previous Commands

Previous command

Using the Next and Previous Commands

Last command

Displaying the Last Opened Picture

You can also switch between pictures using the PAGE UP and PAGE DOWN keys. PAGE UP is identical
to selecting the Previous command and PAGE DOWN is identical to selecting the Next command.
Depending on how your pictures are setup, switching between pictures may be available using a push
button. For more information about push buttons, refer to the Using Push Buttons section
Using the Next and Previous Commands
Sometimes it is useful to go through a series of pictures in a predefined order. For example, if you have

1000

iFIX with FIX Desktop

a series of pictures that focus on different parts of an assembly line, you might want to go through
those pictures from the beginning to the end of the assembly line. If your display designer considered
this, then the Previous and Next commands on the File menu are available to you.
To assign next and previous pictures, access the Picture dialog box in Draw. When you select
Previous, View opens the picture that the display designer specified and closes the active picture.
When you select Next, View opens the picture that the display designer specified and closes the active
picture.
Environment Protection
If environment protection is not enabled, the Previous and Next commands can use tag groups. For
example, if a tag group file is assigned to the next and previous picture, when you select the next or
previous picture the tag group files assigned to the picture are called and the picture is opened.
NOTE: View reduces or enlarges the new picture to match the size of the picture that closes.
Refer to the Securing the View Environment from the Proficy iFIX WorkSpace section for information
on setting up a secured environment in the iFIX with FIX Desktop environment.
Displaying the Last Opened Picture
It is possible that your chain of Next and Previous pictures does not follow a linear path.
For example, if the Next picture from Picture A is Picture B, the Previous picture from Picture B does
not have to be Picture A. To go back to the last picture you had open, use the Last command.

Creating Layouts
Since you can have several pictures open in View, you may want to create arrangements of pictures
and save them. A picture arrangement is called a layout. In View, you can save specific combinations
of pictures and their positions on the screen in special layout files. Later, when you open the layout
file, the pictures specified in the layout file open to the positions you saved them in.
The following figure illustrates a layout of small pictures.

Viewing Small Pictures

1001

iFIX with FIX Desktop

To create a layout file:


1.

Close all pictures that are not part of the layout.

2.

Arrange the pictures into the positions you want them.

3.

Resize the pictures to get the best fit.

4.

On the File menu, click Save Layout. The Save Layout dialog box appears.

5.

Type in a new name. View allows you to give the layout a name up to 8 characters long.

6.

Select OK. View adds the .LYT file extension for you and saves the picture layout file in the
directory pointed to by the Picture path. Remember that the last picture opened becomes the
active picture in the layout.

To open a layout file that you created earlier:


1.

On the File menu, click Open Layout.


The Open Layout dialog box appears.

2.

Scroll through the list box and select the desired layout or type the layout name. View
automatically looks for the layout in the Picture path.

3.

Select OK. View closes all picture files that are already open and re-creates the picture layout
you selected.

Creating Default Layouts


When you start View, it looks for a layout file called DEFAULT.LYT. If View finds this file, it opens
the layout immediately. The default layout can contain one display, several displays, or no displays.
To create a default layout file:
1.

Arrange the pictures into the positions you want them.

2.

On the File menu, click Save Layout. The Save Layout dialog box appears.

3.

In the File Name field, enter DEFAULT.

4.

Select OK. View adds the .LYT file extension for you and saves the picture layout file in the
directory pointed to by the Picture path.

After you have created a default layout file for a node, you might want to write-protect the file to
prevent another user from saving a different layout as the default. To write protect the file, use the
standard procedure for your operating system.

Picture Types
FIX Desktop distinguishes among the following types of pictures:

1002

Standard pictures

Subpictures

Pop-up pictures

iFIX with FIX Desktop

Standard Pictures
A standard picture is most commonly used for your full screen displays. Standard pictures can open
other pictures inside them.
Subpictures
The pictures that appear inside of a standard picture are called subpictures . Subpictures can be either
titled or untitled, and are best suited for showing detailed information about an item in a standard
picture. Subpictures can also appear inside other subpictures. This feature makes subpictures a good
choice when you want to show several levels of detail.
The following figure shows an example of a standard picture and a subpicture. For additional
information about standard and subpictures, refer to the Working with Standard Pictures and
Subpictures section.

Sample Standard Pictures and Subpictures


Pop-up Pictures
A pop-up picture is a picture that is always in front of all currently open pictures. For this reason, popup pictures are well suited to show alarm messages, control panels, toolbars, or menus. Pop-up pictures
are also ideal for simulating dialog boxes that appear off your standard pictures.
Pop-up pictures can be moved anywhere on the screen. Moving a pop-up picture does not affect any
other open window.
The following figure shows an example of pop-up pictures. For more information on pop-ups, refer to
the Working with Pop-Up Pictures section.

1003

iFIX with FIX Desktop

Sample System and View Pop-up Pictures


Working with Standard Pictures and Subpictures
When you work with standard pictures and subpictures, you need to understand the behavior of picture
windows. Standard picture windows behave like documents in any other program you may be familiar
with (for example, Word documents or Excel workbooks). Window operations, such as moving, sizing,
or closing a standard picture, do not affect any other open standard picture. If you have more than one
standard picture open, the active picture is always in front of the other standard pictures.
Subpictures behave differently from standard pictures.
Moving Subpictures
A subpicture can be moved within the area of the picture that opened it by dragging the subpictures
title bar. If an operator moves a subpicture beyond the border of the picture that opened it, the
subpicture is clipped. The following figure shows this concept.

1004

iFIX with FIX Desktop

Moving Subpictures Inside a Standard Picture


You can also move a subpicture by dragging the title bar of the picture that opened it. When you move
the picture that opened the subpicture, the subpicture moves with it. The following figure shows this
concept.

Moving Subpictures by Moving its Parent


Closing Subpictures
You can close a subpicture from the File menu or System menu, by clicking Close. You can also close
a subpicture by closing the picture that opened it.

1005

iFIX with FIX Desktop

Alternatively, you can provide a push button to close a subpicture using a command language script
with the CLOSEPIC or REPLACEPIC commands. Refer to the Command Language Manual for more
information on using these commands.
Working with Pop-Up Pictures
Pop-up pictures can be set up in one of two ways. By default, pop-up pictures are always in front of all
currently open FIX Desktop pictures. However, pop-up pictures can also be configured to be always on
top. When this option is selected for a pop-up picture, it remains in front of all open windows from all
applications.
Working with pop-up picture windows is similar to working with standard picture windows. For
example, window operations, such as moving, sizing, or closing a pop-up picture, do not affect any
other open picture. However, unlike standard pictures and subpictures, pop-up picture move
independently from View, as the following figure shows.

Moving Pop-up Pictures


For information on how to open pop-up pictures of the iFIX WorkSpace from View, refer to the Popup Window of the iFIX WorkSpace section.

1006

iFIX with FIX Desktop

Printing Pictures
Use the Print command on the File menu to print the currently active picture. If the picture is larger
than the screen and you want to print the entire picture, select the Zoom Out and Fit in Window
commands from the View menu before you print.
With some printer drivers, a dialog box appears allowing you to cancel the printing.

Working with Objects


When you open a picture for the first time, youll find a display full of text and graphics. Each
different kind of display element is called an object. Your display can include many types of objects.
The following figure shows a picture that contains examples of the different objects.

Objects
The following table provides a brief description of the objects.
Object

Description

See this section...

Graphics

Graphic objects make up the visual display. The objects


can be static or animated.

Using Graphic and


Text Objects

Push buttons

Push buttons execute command scripts to automate


common tasks.

Using Push
Buttons

Information
links

Information links dynamically change to give you realtime data on database tags and system parameters. One
type of information link, Data links, is also used for data
entry.

Working with
Information Links

Chart links

Chart links provide real-time graphical data in a variety


of trend and statistical formats.

Working with
Chart Links

1007

iFIX with FIX Desktop

Object

Description

Alarm
Summary
links

Provides a list box of current alarms. For a detailed


description of this powerful object, refer to the
Implementing Alarms and Messages manual. This
manual contains an overview of the basics

See this section...

Working with
Database Tags
and Alarms

Using Graphic and Text Objects


For the most part, you do not interact with the graphics and text. These objects provide the visual and
textual organization of the picture. Depending on your display design, objects can also move, change
color, change size, appear, and disappear. This animation provides visual cues to guide your eyes to the
appropriate places as you monitor a process.
In some cases, you may be able to activate a graphic or text object to execute a command language
script. For example, activating a pump object might bring up a small picture with data on the pump.
If the Allow Input properties is enabled in Draw, you can change database values by manipulating the
object in View. As you drag the object left, right, up, or down, View writes new values to the database.
NOTE: View stops updating objects on the screen while displaying a note dialog box. Whenever such
a dialog box appears, be sure to select its OK button to remove it from screen and resume screen
updates.

Using Push Buttons


FIX software gives display designers the ability to include custom push buttons in pictures. These push
buttons work like the buttons used throughout your window manager. However, custom push buttons
have some special properties that make them more powerful than normal push buttons.
Push buttons activate command scripts or switch tag groups within a picture. For example, pushing a
button may open a particular picture, or set one or more tags on scan. The title of the button should tell
you the nature of the command script it executes.
Relativity
Using Windows, any object can execute relative command scripts. A relative command script is one
that is not complete on its own. For example, a command script that closes a picture file, but does not
contain a picture file name is relative it needs more information to work. So, relativity is the ability
of one command script to interact with a selected object.
For example, suppose you have two push buttons set up to change a tags mode from automatic to
manual and manual to automatic. The buttons are part of a picture with four Data links to different
Analog Input tags. The push button command scripts do not specify a tagname. In this configuration,
first select the appropriate link and then select one of the buttons. The command language sends the
appropriate message to the selected tag. The following figure illustrates this example.

1008

iFIX with FIX Desktop

Push Buttons with Relative Commands


Alternatively, you could make a graphic object execute a relative command script. For example, the
following figure illustrates the use of a graphic object to execute a command script.

Working with Information Links


An Information link is a dynamic text or number string that displays real-time data from the database
or the system. There are four kinds of information links:

Date link

Time link

System Information link

Data link

The Date and Time links simply display the current time and date. You cannot interact with them. The
sections that follow describe how to use System Information and Data links:

Using Data Links

Using System Information Links

Using Data Links


The Data link is the primary tool for displaying information from the database and for allowing
operators to write information to the database.

1009

iFIX with FIX Desktop

To determine if you can write to the database through a Data link, try to select it. If you cannot, then
the Data link has not been configured to allow data entry. If you can select it, then you can write to the
database, provided that you have the necessary security rights.
Activate a Data link to bring up the associated data entry dialog box. Your display designer had seven
different data entry dialog boxes to choose from for each Data link. The sections that follow describe
how to use each of them:

Using the Data Entry Dialog Box

Using the Numeric Entry Dialog Box

Using the Slider Entry Dialog Box

Using the Selection List Dialog Box

Using the Ramp Value Dialog Box

Using the Push Button Entry Dialog Box

Using the Alphanumeric Keypad Entry Dialog Box

Using the Data Entry Dialog Box


For the Data Entry dialog box, shown in the following figure, simply type in the desired output and
select Enter. The dialog can be used with links that expect numeric values or ASCII text values. Select
Enter to write to the database or Cancel to abort the write.

Data Entry Dialog Box


Using the Numeric Entry Dialog Box
The Numeric Entry dialog box comes with a calculator, as shown in the following figure. This is ideal
for display stations that do not have keyboards or for when your operators need to perform calculations
to arrive at the correct entry. Mouse users can click the keys. Keyboard users can type the
corresponding keyboard keys. Touch screen users can touch the keys.
When you reach the correct value, select Enter to write to the database or Cancel to abort the write. If
you make a calculation, be sure to select the = button before you select Enter.

1010

iFIX with FIX Desktop

Numeric Entry Dialog Box


Using the Slider Entry Dialog Box
To use the Slider Entry dialog box, shown in the following figure, select the box on the scroll bar and
move it along the scale to change the number displayed in the Value field. You can also use the arrow
keys and the PAGE UP and PAGE DOWN keys on your keyboard to move the slider box.
The arrow keys move the slider box in smaller increments than the PAGE UP and PAGE DOWN keys. To
increase the value, press the down arrow key or the PAGE DOWN key. To decrease the value, press the
up arrow key or the PAGE UP key. Select Enter to write to the database or Cancel to abort the write.

Slider Entry Dialog Box


Using the Selection List Dialog Box
With the Data Entry Selection List dialog box, shown in the following figure, choose an output from
the list by selecting it and selecting Enter. Mouse users can double-click a selection to select and enter
the output. Select Cancel to abort the write. You can use the arrow keys on your keyboard to move the
highlight bar.

1011

iFIX with FIX Desktop

Data Entry Selection List Dialog Box


Using the Ramp Value Dialog Box
The Ramp Value dialog box allows you to change a database value by a percentage of the limit range.
Note that the limit range specified by the display designer may not include the full EGU range of the
tag. The dialog box lists the ramp percents specified by the display designer under the Value field. Use
the single arrow buttons for slow ramps. Use the double arrow buttons for fast ramps. Note that ramps
are written immediately to the database you cannot cancel a ramp after you execute it.
To ramp a value, press the button that corresponds to the desired ramp percentage. You can also press
a combination of buttons. Using the example shown in the following figure, you could press the first
up arrow button once and the second up arrow button once to ramp up the value by 15 percent.

Ramp Value Dialog Box


Using the Push Button Entry Dialog Box
The Push Button Entry dialog box, shown in the following figure, is normally for use with digital tags.
The buttons labeled Open and Close send values of 0 and 1 to the tag. The title of the first two buttons
can change to fit your plants standards. Once you press a button, the write is immediate. To abort the
write, press Cancel before pressing one of the buttons.

1012

iFIX with FIX Desktop

Push Button Entry Dialog Box


Using the Alphanumeric Keypad Entry Dialog Box
The Alphanumeric Keypad Entry dialog box, shown in the following figure, is primarily for tags that
require ASCII text entries. This dialog box is ideal for display stations that do not have keyboards.
Mouse users can click the keys. Touch screen users can touch the keys.
After you finish typing, select Enter to write the output or select Cancel to abort the output. Note that
the numeric keypad portion of this dialog box is intended for entering numbers and arithmetic
operators, not for performing calculations.

Alphanumeric Keypad Entry Dialog Box

Using System Information Links


A System Information link can display a number of different system parameters of a particular node.
The following table shows the different parameters.
Parameter...

Displays...

Database name

The name of the database that is running on the target node.

1013

iFIX with FIX Desktop

Parameter...

Number of SAC
overruns

Displays...
The number of times that the Scan, Alarm, and Control (SAC) program
could not execute all requests during a 1 second period. The count begins
from the last time the node started up.

SAC scan status

SAC's status as either RUN or STOP.

SAC output
status

ENABLE or DISABLE to show whether outputs are allowed. If the link


displays DISABLE, then outputs are written to the database but not to
the I/O hardware. This means that if you change a process value while
SAC output is disabled, the change is made in the database but not
displayed on the screen.
To change the SAC output status:

Alarm Priority
Level

1.

Select a System Information link that is monitoring SAC's


output status. If you cannot select the link, then you cannot
modify the SAC output status.

2.

Activate the link. (For mouse users, you can execute step 1 and
2 by double-clicking.)

3.

Type ENABLE to enable outputs to the database to be written to


the I/O hardware and DISABLE to disable outputs to the
hardware.

The target node's alarm priority level as CRITICAL, HIHI, HIGH,


MEDIUM, LOW, LOLO, or INFO.
To change the alarm priority level:
1.

Select a System Information link that is monitoring SAC's


output status. If you cannot select the link, then you cannot
modify the SAC output status.

2.

Activate the link. (For mouse users, you can execute step 1 and
2 by double-clicking.)

3.

Type CRITICAL, HIHI, HIGH, MEDIUM, LOW, LOLO, or


INFO for the priority level.

CAUTION: Increasing a node's priority level means all nodes may


receive fewer alarms from the target node.

1014

iFIX with FIX Desktop

Parameter...

Displays...

Database Serial
Number

The unique number that your iFIX software assigned to a database.

Node Time

The operating system time of a SCADA node.


To change the time on the node:

Node Date

1.

Select a System Information link that is monitoring SAC's


output status. If you cannot select the link, then you cannot
modify the SAC output status.

2.

Activate the link. (For mouse users, you can execute step 1 and
2 by double-clicking.)

3.

Type in the new time.

The operating system date of a SCADA node.


To change the date on the node:
1.

Select a System Information link that is monitoring SAC's


output status. If you cannot select the link, then you cannot
modify the SAC output status.

2.

Activate the link. (For mouse users, you can execute step 1 and
2 by double-clicking.)

3.

Type in the new date.

SAC cycles per


Minute

The number of cycles that SAC executes per minute. Each time SAC
completes a full scan of all applicable database tags, it has completed
one cycle. SAC attempts to execute 1200 cycles per minute. If the count
is less than 1200, SAC may be overloaded.

SAC cycles per


Second.

The number of cycles that SAC executes per second. Each time SAC
completes a full scan of all applicable database tags, it has completed
one cycle. SAC attempts to execute 20 cycles per minute. If the count is
less than 20, SAC may be overloaded.

Total Number of
Tags Processed

The total number of tags that SAC has processed, or scanned, since your
iFIX software started.

1015

iFIX with FIX Desktop

Parameter...

Number of Tags
Processed per
Second

Displays...

The number of tags that SAC has processed, or scanned, during the last
second.

Working with Chart Links


With View, you can work with real-time versions of popular trend and statistical charts. All charts
share the ability to collect data samples from process databases. The charts vary in the way that they
manipulate and display the data.
The set up of the charts takes place in Draw. If the chart was configured so that it is modifiable, you
can temporarily modify an existing chart to monitor a different database tag. This chapter contains
complete instructions for working with modifiable chart links. It includes the following sections:

Working with Tagnames

Working with Trend Charts

Changing Statistical Charts

Changing XY Plots

Changing Histograms

The following figure illustrates many of the terms used throughout the chapter.

Chart Parts

Working with Tagnames


In case you are not familiar with how to access iFIX data, this section presents a brief explanation.
Detailed information can be found in the Building a SCADA System manual.
To access data, your iFIX software needs to know the names of the following:

1016

The SCADA node where the target database resides.

iFIX with FIX Desktop

The target database tag.

The target field in the tag.

Taken together, these three things are called the tagname. The format for a complete tagname is as
follows:
NODE:TAG.FIELD

You enter the complete tagname in a Tagname field. For example:


SCADA01:AO6-1.F_CV

Sometimes, your iFIX software needs only the name of the node and tag. In this case, you enter:
SCADA01:AO6-1

Next to each Tagname field, there is a browse (...) button. When pressed, the Field Select or Tag Select
dialog box appears.
To choose a field:
1.

Click a node name to see a list of legal tags.

2.

Click a tagname to see a list of legal fields.

3.

Click the desired field.

4.

Click OK. View assembles the node, tag, and field information and enters it into the Tagname
field for you.

The Tag Select dialog box works in the same way. The only difference is that you dont have to
specify a field name.
Title Bar
If you select an object that has a tagname, View displays the complete tagname in brackets [] in the
title bar of the picture, as shown in the following figure.

Tagname Display
Since picture files do not have title bars, this feature may not always be available.

Working with Trend Charts


There are two types of trend charts. The following table compares the two types of multi-trend charts.
In general, trends monitor the change in key database values over a prescribed period.

1017

iFIX with FIX Desktop

Name

Description

Multi-Pen

Plots up to eight floating point or Trend tags as continuous lines.

Multi-Bar

Plots up to eight floating point or Trend tags as groups of bars.

Changing Y Axis Labels


It is possible that the pens or bars on your chart have different ranges. For example, pen 1 may have a
limit range of 1 to 100, while pen 2 may have a range of 1 to 200. The labels on the Y axis, when
included on the chart, display the range of pen 1.
NOTE: If you change the range of one pen in the chart, the other pens in the chart are scaled
accordingly. For example, using the previous example, if you change the upper limit of pen 1 to 50, the
upper limit of pen 2 is scaled to 100.
If the chart is modifiable, you can change the labels to show the range of another pen.
To change the labels to show the range of another pen:
1.

Activate the chart. The Change Pens dialog box appears.

2.

Select the pen you want in the Pen Selection list box.

3.

Click OK. The chart now displays the range of the selected pen.

Changing Tagnames
If the chart is modifiable, you can temporarily change the tagname on one of these trend charts.
To temporarily change the tagname on a trend charts:
1.

Activate the chart.

2.

Select the pen you want to change in the Pen Selection list box.

3.

Enter the new tagname in the Tagname field (NODE:TAG.FIELD) or click the browse (...)
button to use the Field Select dialog box.

4.

Select the Change Pen button.

5.

Select OK.

Zooming
Notice in the figure above that the Change Pens dialog box has two additional fields: Visible Low
Limit and Visible High Limit. With these two fields you can zoom in on part of the tags EGU range:

1018

In the Visible Low Limit field, enter a value equal to or greater than the tags low limit.

In the Visible High Limit field, enter a value equal to or less than the tags high limit.

iFIX with FIX Desktop

Changing Statistical Charts


If the chart is modifiable, you can temporarily change the chart tagname.
To temporarily change the chart tagname:
1.

Activate the chart. The Change Statistical Chart dialog box appears.

2.

Enter the new tagname in the Tagname field (NODE:TAG) or click the browse (...) button to
use the Tag Select dialog box.

3.

To force the Statistical Data tag to recalculate its limits based on current data, press the Recalc
button.

4.

Select OK.

Changing XY Plots
If the chart is modifiable, you can temporarily change the tagname of an XY Plot chart.
To temporarily change the tagname of an XY Plot chart:
1.

Activate the chart. The Change X vs. Y Plot dialog box appears.

2.

Select the tagname you want to change in the Pen Properties list box.

3.

Enter the new tagname in the Tagname field (NODE:TAG.FIELD) or click the browse (...)
button to use the Field Select dialog box.

4.

Select the Change Pen button.

5.

Enter the new number in the History Points field, if you want to modify the number of points
the chart displays.

6.

Select OK.

Notice in the previous figure that the dialog box has two additional fields: Visible Low Limit and
Visible High Limit. With these two fields you can zoom in on part of the tags EGU range:

In the Visible Low Limit field, enter a value equal to or greater than the tags low limit.

In the Visible High Limit field, enter a value equal to or less than the tags high limit.

Changing Histograms
If the chart is modifiable, you can temporarily change the chart tagname.
To temporarily change the chart tagname:
1.

Activate the chart. The Change Histogram dialog box appears.

2.

Enter the new tagname in the Tagname field (NODE:TAG) or click the browse (...) button to
use the Tag Select dialog box.

3.

Select OK.

1019

iFIX with FIX Desktop

Working with Database Tags and Alarms


Most View users interact with database alarms, and some users also have the ability to interact with
database tags. View provides several features to help you work with database alarms and tags. Using
these features, you have the ability to:

Enable or disable alarm functions.

Acknowledge alarms.

Display a real-time list of alarm messages with the Alarm Summary link.

Change a tag from automatic to manual mode.

Place a tag on or off scan.

Access pictures that display configuration and status summaries of individual database tags.

The following sections describe these features:

Enabling and Disabling Alarms

Acknowledging Alarms

Using Alarm Summary Links

Horn Control

Switching Between Auto and Manual Mode

Taking a Chain On and Off Scan

Using Tag Status Pictures in View

Copying Link Information in Windows

Enabling and Disabling Alarms


You may be able to start or stop the alarming functions of a tag. This ability depends on:

The setup of the database tag.

Your security rights.

Whether the link is setup to accept operator input.

To enable or disable tag alarming functions:


1.

Select a link.

2.

On the Alarms menu, click Enable/Disable Alarms. View toggles the current state of the
alarming functions.

Acknowledging Alarms
If your job is monitoring a process, then it probably includes keeping track of alarms. Your pictures
include visual cues to alert you of alarm conditions as they occur in database tags. Whether those
visual alarms are changing colors or blinking objects, the visual cues persist until you respond to them.

1020

iFIX with FIX Desktop

To respond to a single alarm:


1.

Select the link or object that is in alarm.

2.

On the Alarms menu, click Acknowledge One.


On the next scan cycle, SAC responds to your request.

You can also acknowledge all alarms for database tags that have links in the active picture.
To acknowledge all alarms:

On the Alarms menu, click Acknowledge All.

This command also acknowledges all alarms currently displayed in an Alarm Summary link. On the
next scan cycle of the database, SAC responds to your request.

Using Alarm Summary Links


You can find complete information on using Alarm Summary links in the Implementing Alarms and
Messages maunal. This section provides a brief overview on how to work with the link.
The Alarm Summary link creates a list box of alarm messages in a View picture. In general, a View
operator can encounter two versions of the link: either a simple list box of alarms or a list box with
controls. The following figure shows an example of the link that includes the optional controls. The
alarms listed in the list box depend upon how the list box was set up in Draw. An alarm that shows up
in the list box stays there until you acknowledge it and the database tag returns to normal (no alarm
state exists).
NOTE: Use only one Alarm Summary link per picture.

Sample Alarm Summary Link

1021

iFIX with FIX Desktop

Acknowledging Alarms
The procedure below shows you how to acknowledge a single alarm.
To acknowledge a single alarm:
1.

Select the Alarm Summary link.

2.

Press the space bar until View highlights the desired alarm. On the Commands menu, click
Acknowledge One. Or, Double-click the desired alarm using the mouse.

To acknowledge all alarms shown in the list box:

On the Commands menu, click Acknowledge All.

Using a Keyboard
The following table describes the additional keyboard accelerators that work with Alarm Summary
links. Before any of the keyboard accelerators can work, an Alarm Summary link must be selected.
Keyboard Accelerator

Function

F3

Scroll right to show the right part of the list box.

F4

Scroll left to show the left part of the list box.

F5

Scroll one line up.

F6

Scroll one line down.

F7

Scroll one page up.

F8

Scroll one page down.

Space Bar

Select an alarm.

F9

Deselect an alarm.

Display the Filter By dialog box.

Display the Sort Control dialog box.

Display the Column Format dialog box.

Delete all alarms.

1022

iFIX with FIX Desktop

Horn Control
You can control the alarm horn with the Silence Horn and Enable/Disable Horn commands. The
Silence Horn command silences the horn until a new alarm occurs.
NOTE: Selecting this item does not acknowledge alarms.
The Enable/Disable Horn commands change depending on the current state of the horn. If the horn is
currently active, then the Alarm menu displays the Disable Horn command; if the horn is currently
disabled then the menu displays the Enable Horn command.
The Enable/Disable Horn commands operate independently of the original setup in the SCU. Once the
Disable Horn command is selected, the horn is silenced until the Enable Horn command is selected or
your iFIX software is restarted.

Switching Between Auto and Manual Mode


You can switch your database tags between automatic and manual modes by interacting with Data
links or controllable objects. When the tag is in automatic, the tag accepts data only from the poll table
or other tags. When the tag is in manual, it accepts input from the user. You may be able to change a
database tags mode. This ability depends on:

The setup of the database tag.

Your security rights.

Whether the Data link or object is set up to be controllable.

To change the mode:

Select a Data link. On the Commands menu, click Auto Mode or Manual Mode. On the next
scan cycle, the tag will change modes accordingly.

Taking a Chain On and Off Scan


You can turn your database chains on or off scan by interacting with Data links or controllable objects.
When the tag (and therefore the chain) is on scan, the Scan, Alarm, and Control (SAC) program
processes the chain every scan cycle. When the tag is off scan, SAC ignores the chain. You may be
able to change the scan status of a database tag. This ability depends on:

The setup of the database tag.

Your security rights.

Whether the View object is setup to accept operator commands.

To change the scan status:

Select an object. On the Commands menu, click On Scan or Off Scan. On the next scan cycle,
Copying Link Information in Windowsthe tag changes scan status accordingly.

1023

iFIX with FIX Desktop

Using Tag Status Pictures in View


When you want more information about the configuration or status of a particular database tag, select
an object. On the Commands menu, click Tag Status. The picture that comes up displays the values of
key tag fields as well as real-time information. The following figure shows a sample of the Analog
Input tag status picture.

Analog Input Tag Status Picture


You can also open a tag status picture by typing in a tagname.
To open a tag status picture by typing in a tagname:
1.

With no object selected, on the Commands menu, click Tag Status. The Tag Status dialog box
appears.

2.

Enter the tag in the Tagname field (NODE:TAG) or click the browse (...) button to use the
Tag Select dialog box.

3.

Click OK.

To close a tag status display, press the Close button in the picture. Or, on the File menu, click Close.
NOTE: When accessing tags in a v2.x database, remove the security section of the tag status picture.
This can be done in Draw by editing the *.BDF file.

1024

iFIX with FIX Desktop

Copying Link Information in Windows


The Copy Link command on the Commands menu in your iFIX with FIX Desktop software for
Windows copies the tagname (NODE:TAG.FIELD) associated with a selected object and places it on
the window manager clipboard. This feature is a convenience for users of data exchange software. For
example, to paste tagname information into a Microsoft Excel worksheet use the following steps.
To paste tagname information into an Excel worksheet:
1.

Select the link in View.

2.

On the Commands menu, click Copy Link.

3.

Open the Excel worksheet and select the cell you want to paste the information into.

4.

If you are using Excel 5.0 or greater, on the Edit menu, click Paste Special. If you are using
Excel 4.0, on the Edit menu, click Paste Link.

5.

If you are using Excel 5.0 or greater, the Paste Special dialog appears. In this dialog, select the
Paste Link radio button and select SYLK as the type and select OK.

NOTE: This function is not for selecting links or portions of a display and copying them to other
pictures or graphics packages.

Sound Support
View has sound support to provide important operator feedback. When enabled, sound can play
different tones for different alarm levels, add vocal messages to items that need immediate attention,
and play a different sound for various pieces of equipment that are running.
Sound is also used in View as an option for Click and Stick. The following configurable sounds are
available for Click and Stick:
This
Sound...

Signals that...

Click
Sound

The mouse has moved over a selectable object.

Stick
Sound

An object has been selected.

Vanish
Sound

The highlight around an object has automatically disappeared. This is used when a
display has a Highlight Timeout period assigned to it. If a selected object is left
unattended for a set period of time, the highlight disappears. This period of time is
the Hightlight Timeout period.
The Highlight Timeout period is measured in ticks, where one tick equals one-tenth
of a second. The default is 2.5 seconds.

1025

iFIX with FIX Desktop

Understanding Sound Support


The PLAYSOUND command is used in the Program block and in the command language. The syntax
is:
PLAYSOUND filename.WAV

The path for sound files is the directory pointed by the Picture path, but the command line parameter
can accept path information. The command begins the sound and continues executing the command
script. The command does not wait for the WAV file to play until completion.
All WAV files are interruptive, meaning that whenever a sound plays, a second sound will interrupt
and terminate the first sound.
NOTE: The default beep sound that is defined under Windows sound support will override the defined
stick sound in View.

Using Sound Support


Before you use sound support, verify that your hardware and sound card are Microsoft compatible.
To use sound support:
1.

Open the Notepad program or other text editor.

2.

Open the VIEW.INI file in the directory pointed to by Local path.

3.

If your path is different, change the ClickSound, StickSound, and VanishSound to reflect the
current drive, path, and filename.

For example, one VIEW.INI file might look like the example below:
[Highlight]
VanishSnd=C:\FIX32\LOCAL\VANISH.WAV
ClickSnd=C:\FIX32\LOCAL\CLICK.WAV
StickSnd=C:\FIX32\LOCAL\STICK.WAV

In this example, the settings are read from the VIEW.INI file when VIEW is started. When you start
View, the Sound command is enabled by default. To toggle the sound on and off, on the Options menu,
click Sound.
NOTE: Several other View settings are defined in the VIEW.INI file. Refer to the Draw Manual for
more information on the VIEW.INI file.

Command Line Parameters


View provides support for using command line parameters. You can specify command line parameters
in the Task Configuration dialog box of the System Configuration Utility (SCU). This dialog box
enables you to configure which programs your iFIX software automatically starts. Refer to the
Configuring Startup Tasks section of the Setting Up the Environment manual for more information on

1026

iFIX with FIX Desktop

this dialog box.


You can also specify command line parameters using either the command languages RUNTASK
command or the Program blocks RUNTASK command. For more information, refer to the Command
Language Manual and the Database Manager on-line help.
Under Windows, a command line parameter can be specified using the Run command or the Program
Item Properties dialog box. To learn how to use this command or dialog box, refer to your Windows
manual.
The sections that follow describe the available command line parameters:

Open Picture Parameter

Suppression Parameter

Open Tag Group File Parameter

Open Picture Parameter


Syntax
-f picture
Description
The Open Picture parameter allows you to specify the .ODF file you want to open when View starts.
Using this parameter is similar to using a default layout (Creating Default Layouts) except you can
only specify one picture to open on startup.
Example
-f mypic

Suppression Parameter
Syntax
-snumber
Description
The Suppression parameter allows you to suppress the error messages in the following table.
Message...

Occurs when a...

1750

Link in the picture being opened that references a tag that does not exist in the
database.

1027

iFIX with FIX Desktop

Message...

Occurs when a...

1914

Session is not established with a remote node.

Example
-s175

Open Tag Group File Parameter


Syntax
-t tag_group_file
Description
The Open Tag Group File parameter allows you to specify the tag group (.TGE) file you want to open
when View starts. Using this parameter prevents View from prompting the operator for a tag group file
on startup.
NOTE: The Open Tag Group File parameter requires you to use the Open Picture parameter (-f).
Example
-t mygroup

View Menu Commands


Click the appropriate link below for information about menu commands:

The File Menu

The View Menu

The Alarms Menu

The Commands Menu

The Applications Menu

The Options Menu

The Help Menu

The Window Menu

Keyboard

The File Menu


The File menu contains many commands that let you manage the pictures displayed in View. To get

1028

iFIX with FIX Desktop

help for any of the File menu commands, select the appropriate command:

Open

Close

Next

Previous

Last

Open Layout

Save Layout

Print

Exit

File Menu Commands: Open


The Open command brings up a picture on your display. When you select Open, the standard File
Open dialog box appears. Choose the desired picture and select OK.
NOTE: You may not have the necessary security rights to access some pictures. If this is true, a
message appears when you try to open the picture. To continue, contact the person at your site who
assigns security privileges.
Your FIX software distinguishes among the following types of pictures:

Standard pictures

Subpictures

Pop-up pictures

You can have up to 10 pictures open at a time in View. However, even though 10 pictures can be open,
View commands can only work with one particular picture at a time. When you have multiple pictures
open, a command that you select from the View menu bar executes on the active picture.
File Menu Commands: Close
The Close command removes the active picture from the View window. If you have any other picture
files open, they remain open.
File Menu Commands: Next
The Next command lets you view a series of pictures in a predefined order, provided your display
designer implemented this feature in Draw.
When you select Next, View opens the picture that your display designer specified and closes the
active picture.
File Menu Commands: Previous
The Previous command lets you view a series of pictures in a predefined order, provided your display

1029

iFIX with FIX Desktop

designer implemented this feature in Draw.


When you select Previous, View opens the picture that your display designer specified and closes the
active picture.
File Menu Commands: Last
The Last command lets you go back to the last picture you had open in a series of pictures. To use this
command, the standard pictures must be linked by either the Previous or Next Picture feature. Your
display designer implements these features in Draw.
For example, if the Next picture from Picture A is Picture B, the previous picture for Picture B does
not have to be Picture A. To go back to the last picture you had open, use the Last command.
File Menu Commands: Open Layout
The Open Layout command lets you open a picture layout. When you select Open Layout, the File
Open dialog box appears. Choose the desired picture layout file and select Open.
File Menu Commands: Save Layout
The Save Layout command lets you save a new picture layout. When you select Save Layout, the File
Save dialog box appears. Type a name for the picture layout and select Save.
File Menu Commands: Print
The Print command lets you print the currently active picture. While the picture is printing, a dialog
box appears that allows you to cancel the printing.
File Menu Commands: Exit
The Exit command exits View and returns to the window manager.

The View Menu


The View menu contains the commands you need to organize what you see in the View window. For
example, you can enlarge a portion of your picture to study the details (zoom in) or you can reduce the
picture to get an overview (zoom out).
To get help for any of the View menu commands, select the appropriate command:

1030

QuickDraw

Zoom In

Zoom Out

Zoom To

Fit In Window

Default View

iFIX with FIX Desktop

View Menu Commands: QuickDraw


The QuickDraw command lets you return to Draw from View.
Select QuickDraw from the View menu when you finish previewing a picture. Task switching must be
enabled in the Environment Protection dialog box and the VIEW.INI file to use the QuickDraw
command.
View Menu Commands: Zoom In
The Zoom In command lets you enlarge your picture in increments of 25% so that you can examine its
details.
To enlarge the picture, select Zoom In from the View menu. To restore your normal view, select
Default View from the View menu.
View Menu Commands: Zoom Out
The Zoom Out command lets you reduce your picture in increments of 25% so that you can examine
its overall structure.
To reduce the picture, select Zoom Out from the View menu. To restore your normal view, select
Default View from the View menu.
View Menu Commands: Zoom To
The Zoom To command lets you select an area of your picture and enlarge it to fill the entire window.
NOTE: Using the Zoom To command does not permanently change the size of the objects contained in
the picture. To restore your normal view, select Default View from the View menu.
View Menu Commands: Fit In Window
The Fit in Window command lets you view your entire picture within the View window by reducing
the picture until it can fit in the picture window. When you use the Fit in Window command, you no
longer need scroll bars.
To view your entire picture, select Fit in Window from the View menu. To restore your normal view,
select the Default View command.
View Menu Commands: Default View
The Default View command lets you restore the picture view to 100% magnification from any other
View menu command such as Zoom In or Zoom Out.

The Alarms Menu


The Alarms menu contains the commands you need to enable, disable, and acknowledge alarms and to
control the alarm horn. To get help for any of the Alarms menu commands, select the appropriate
command:

Acknowledge All

1031

iFIX with FIX Desktop

Acknowledge One

Enable/Disable Alarms

Silence Horn

Enable/Disable Horn

Alarms Menu Commands: Acknowledge All


The Acknowledge All command lets you acknowledge all alarms in the active picture, including those
currently displayed in an Alarm Summary link.
Alarms Menu Commands: Acknowledge One
The Acknowledge One command lets you acknowledge an alarm in the active picture or Alarm
Summary link.
Alarms Menu Commands: Enable/Disable Alarms
The Enable/Disable Alarms command lets you start or stop the alarming functions of a selected
database tag in the active picture. This command toggles the current status of alarming functions
between enabled and disabled.
NOTE: The ability to use this command depends on the setup of the database, your security rights, and
whether the link is controllable.
Alarms Menu Commands: Silence Horn
The Silence Horn command lets you silence the horn for the current alarm in the active picture.
NOTE: This is only a temporary method of silencing the horn. Whenever a new alarm occurs, the horn
will sound. To disable the horn entirely for the active picture, use the Enable/Disable Horn command.
Alarms Menu Commands: Enable/Disable Horn
The Enable/Disable Horn command lets you start or stop the horn function for the active picture. This
command toggles the current status of the horn between enabled and disabled.
NOTE: The Disable Horn command will disable all alarms for the active picture. If you only want to
silence the horn for the current alarm, use the Silence Horn command.

The Commands Menu


The Commands menu contains the commands you need to interact with the database tags in the active
picture. To get help for any of the Commands menu commands, select the appropriate command:

1032

Tag Status

Manual Mode

Auto Mode

On Scan

iFIX with FIX Desktop

Off Scan

Copy Link

Commands Menu Commands: Tag Status


The Tag Status command lets you view information about the configuration or status of a database tag
through a tag status picture.
Commands Menu Commands: Manual Mode
The Manual Mode command lets you change a selected database tag from automatic mode to manual
mode.
NOTE: The ability to use this command depends on the setup of the database, your security rights, and
whether the link is controllable.
Commands Menu Commands: Auto Mode
The Auto Mode command lets you change a selected database tag from manual mode to automatic
mode.
NOTE: The ability to use this command depends on the setup of the database, your security rights, and
whether the link is controllable.
Commands Menu Commands: On Scan
The On Scan command lets you change a selected database tag from an off scan to an on scan status.
NOTE: The ability to use this command depends on the setup of the database, your security rights, and
whether the link is controllable.
Commands Menu Commands: Off Scan
The Off Scan command lets you change a selected database tag from an on scan to an off scan status.
NOTE: The ability to use this command depends on the setup of the database, your security rights, and
whether the link is controllable.
Commands Menu Commands: Copy Link
The Copy Link command lets you copy the tagname (node:tag.field) associated with a selected object
to the window manager clipboard.
This feature is a convenience for users of data exchange software. For example, once the tagname
information is in the clipboard, you could switch to your spreadsheet application and paste the
information into a cell.
NOTE: This function is not for selecting links or portions of a display and copying them to other
pictures or graphics packages.

1033

iFIX with FIX Desktop

The Applications Menu


The Applications Menu contains the commands that let you access other FIX applications. To get help
for any of the Applications menu commands, select the appropriate command:

Historical Display

Database Manager

Login

Applications Menu Commands: Historical Display


The Historical Display command lets you start the Historical Display application from within View,
provided you have the necessary security rights.
Applications Menu Commands: Database Manager
The Database Manager command lets you start the iFIX Database Manager application from within
View, provided you have the necessary security rights.
Applications Menu Commands: Login
The Login command lets you start the Login application from within View, provided you have the
necessary security rights.

The Options Menu


The Options menu contains the command to enable sound support. To get help for this command,
select the following:

Sound

Options Menu Command: Sound


The Sound command lets you enable sound support. Sound support is configured in the VIEW.INI file.
For more information on configuring sound support, refer to the Draw Manual.

The Window Menu


The Window menu lets you arrange and organize the open windows. Use one of the following
commands to get started using the menu:

Cascade

Tile

Window Menu Command: Cascade


The Cascade command lets you arrange the open standard pictures so that each window is staggered
slightly to the right and each title bar is completely visible.

1034

iFIX with FIX Desktop

NOTE: The Cascade command does not affect titleless standard pictures or pop-up pictures.
Subpictures are moved with the standard picture that opened them and may be clipped by the edge of
the screen.
Window Menu Command: Tile
The Tile command lets you arrange the open standard pictures so that no picture overlaps any other
picture and resizes the window as needed.
NOTE: The Tile command does not affect titleless standard pictures, pop-up pictures, or standard
pictures that cannot be resized. Subpictures are moved with the standard picture that opened them and
may be clipped when the window is resized.

The Help Menu


The Help menu gives you access to View's help system. Click any of the following choices to access
information on using View:

Electronic Books

Glossary

About

Help Menu Commands: Electronic Books


Click this topic to open the iFIX electronic books.
Help Menu Commands: Glossary
Click the link below to view the glossary of important terms in View:

Glossary

Help Menu Commands: About


Click this command to retrieve version information about the FIX Desktop product you have installed
on your computer.

Keyboard
The following keyboard accelerators are available in View to help you move through the menu bar,
dialog boxes, and objects in pictures.
In addition, the procedures listed in the Related Topics section at the end of the table provide
instructions on using a mouse, keyboard, or touch screen in View.
Task

Accelerator

Access help for dialog boxes and commands.

F1

1035

iFIX with FIX Desktop

Task

Accelerator

Access help for fields and controls.

Alt+F1

Acknowledge an alarm for a selected link.

Ctrl+K

Close a picture.

Ctrl+C

Enable or disable the alarm function for a selected link.

Ctrl+E

Enable or disable the alarm horn

Ctrl+R

Enlarge a selected area of a picture.

Ctrl+Y

Open a picture.

Ctrl+O

Open the next picture in a series of pictures.

Ctrl+N

Open the previous picture in a series of pictures.

Ctrl+P

Place a selected database tag in automatic mode.

Ctrl+A

Place a selected database tag in manual mode.

Ctrl+M

Place a selected database tag off scan.

Ctrl+F

Place a selected database tag on scan.

Ctrl+S

Print a picture

Ctrl+I

Restore the picture view to 100% magnification.

Ctrl+D

Return to Draw from View

Ctrl+Q

Switch between two pictures.

Ctrl+L

Temporarily silence the alarm horn

Ctrl+H

View a tag status picture.

Ctrl+T

1036

iFIX with FIX Desktop

View Dialog Boxes


The FIX Desktop View application includes the following dialog boxes (listed in alphabetical order):

Change Histogram Dialog Box

Change Pens Dialog Box

Change Statistical Chart Dialog Box

Change X vs Y Plot Dialog Box

Column Format Dialog Box

Field Select Dialog Box

Filter By Dialog Box

Sort Control Dialog Box

Sort Keys Dialog Box

Tag Select Dialog Box

Tag Status Dialog Box

Change Histogram Dialog Box


Use the Change Histogram dialog box to change the information that View displays in a Histogram
chart.
Tagname
The Tagname field displays the name of the pen selected for this chart.

Change Pens Dialog Box


Use the Change Pens dialog box to change the information that View displays in a Multi-Pen or MultiBar Trend chart. View lets you change the:

Pen that the chart uses for the Y Axis label.

Tagname of the tags that the chart displays.

Range of values that the chart displays for a selected pen.

Pen Selection List Box


The Pen Selection list box displays the pens that are configured for this Multi-Pen or Multi-Bar Trend
chart.
To change the pen that the chart uses for the Y Axis label, select the pen and select OK.
Visible Low and High Limit
The Visible Low and High Limit fields let you change the displayed value range for this chart.

1037

iFIX with FIX Desktop

Tagname
The Tagname field displays the name of the pen selected for this chart.
Change Pen
The Change Pen Button lets you change a selected pen to a new tagname that you have specified in the
Tagname field.
To temporarily monitor a different tag, select the pen and type the new tagname in the Tagname field
or press the browse (...) button to use the Field Select dialog box to select a tagname. Select the
Change Pen button to change the selected pen to the new tagname.

Change Statistical Chart Dialog Box


Use the Change Statistical Chart dialog box to change the information that View displays in a
Statistical chart.
Tagname
The Tagname field displays the name of the pen selected for this chart.
Recalc
The Recalc button forces the tag to recalculate its alarm limits based on current data.

Change X vs Y Plot Dialog Box


Use the Change X vs. Y Plot dialog box to temporarily change the tagnames of an XY Plot chart.
Pen Properties List Box
The Pen Properties list box displays the pens that are configured for this XY Plot chart.
To temporarily monitor different tagnames, select the pen you want to change and type the new
tagname in the Tagname field or press the browse (...) button to use the Tag Select dialog box to select
a tagname. Select the Change Tagname button to change the selected pen to the new tagname.
Tagname
The Tagname field displays the name of the pen selected for this chart.
Visible Low and High Limit
The Visible Low and High Limit fields let you change the displayed value range for this chart.
Change Pen
The Change Pen Button lets you change a selected pen to a new tagname that you have specified in the
Tagname field.

1038

iFIX with FIX Desktop

To temporarily monitor different tagnames, select the pen you want to change and type the new
tagname in the Tagname field or press the browse (...) button to use the Tag Select dialog box to select
a tagname. Select the Change Tagname button to change the selected pen to the new tagname.
History Points
The History Points field displays the number of points, from 1 to 500 points, that the XY Plot chart
displays. A point is the intersection of the values of the X and Y tags as recorded in a display scan
period. For example, entering 500 would give you the intersections of the X and Y tags for the last
500 scan periods.
The chart displays only the latest values. For example, if you enter 10 in this field, when View fetches
the eleventh value, the first value is thrown out and the chart displays points 2 through 11. After the
next scan period, the chart displays points 3 through 12, and so on.

Column Format Dialog Box


Use the Column Format dialog box to control the amount of information that is displayed in this Alarm
Summary link. This dialog box lets you:

Specify the columns that appear in the Alarm Summary link.

Specify the length of each column.

Define custom columns by specifying individual field names that you want to display.

Define the order of the displayed columns.

Columns Area
The Columns Area lets you specify the columns View displays in this Alarm Summary link, including
the maximum length of each column. To display a column, check the associated box and type the
maximum length in the Length field.
The columns available for the Alarm Summary link are described below:
Column

Description

Date In

Displays the date of the first occurrence of a tag alarm.

Time In

Displays the time of the first occurrence of a tag alarm.

Date Last

Displays the date of the last change of state of an existing alarm entry.

Time Last

Displays the time of the last change of state of an existing alarm entry.

Node

Displays the name of the node that produced the alarm.

Tagname

Displays the tagname that generated the alarm.

1039

iFIX with FIX Desktop

Column

Description

Status

Displays the most severe unacknowledged alarm.

Value

Displays the current value of the tag.

Description

Displays the contents of the Descriptor field from the tag that generated the alarm
message.

Area

Displays the alarm area of the tag that produced the alarm.

Priority

Displays the alarm priority, either INFO, LOLO, LOW, MEDIUM, HIGH, HIHI, or
CRITICAL.

User Definable Columns


The User Definable Columns area lets you specify the field name and length of up to two custom
columns for this Alarm Summary link. Note that only ASCII fields (that is, those that start with A_)
can be used.
Field Name Check Box
Select the Field Check Box to specify a custom column.
Field Name
Specify a field name for the custom column. Only ASCII fields (starting with A_) can be used.
Right Arrow Button
Click the right arrow button to add a custom column to the Column Order list box.
Length
Specify the maximum length of the custom column.
Column Order List Box
Displays the order in which the selected columns will be displayed in the Alarm Summary link. Use
the up and down arrows to rearrange columns into the desired display order.

Field Select Dialog Box


The Field Select dialog box lets you select a node, tag, and field combination. To select a node and tag,
you can use one of three methods:

1040

iFIX with FIX Desktop

Select a node from the Node Selection list box, a tag from the Tag Selection list box, a field
from the Field Selection list box, and click OK.

Type a node, tag, and field combination in the Selection field using the node:tag.field format.
Be aware that you cannot enter tag groups in the Selection field; you must use the
node:tag.field format. If you want to specify a tag group (for example: ?tag), you must use the
Text Editing box on the main screen, and not the Field Select dialog box. Refer to the Recipe
Operations and Development Windows topic in the Creating Recipes ebook (RCP.chm) for
information on where to find the Text Editing box on the main screen.

Use the asterisk wildcard character to filter through the network for a specific node, tag, and
field combination.

NOTE: Only nodes configured in the System Configuration Utility (SCU) appear in the Node Selection
list box.
Filter Field
The Filter field lets you search for a specific tagname in the Node Select, Tag Select, and Field Select
dialog boxes.
Use the asterisk wildcard character in combination with the Filter button to search for a specific
selection quickly and easily. To search for a tagname, type the search specification in the Filter field
and select the Filter button.
Node Selection List Box
The Node Selection list box displays the names of all nodes configured in the System Configuration
Utility (SCU). If you filter the list, the list box displays all the nodes that match the specified filter.
Tag Selection List Box
The Tag Selection list box displays the names of all tags configured on the selected node. If you filter
the list, the list box displays all the tags that match the specified filter.
Selection
The Selection field displays the name of the selected tagname in the Node Select, Tag Select, and Field
Select dialog boxes. To select a specific tagname without using the Filter field or Filter button, type the
name in the Selection field and click OK.
You can enter a node, tag, and field combination in the Selection field using the node:tag.field format.
Be aware that you cannot enter tag groups in the Selection field; you must use the node:tag.field
format. If you want to specify a tag group (for example: ?tag), you must use the Text Editing box on
the main screen, and not the Field Select dialog box.
Filter Button
The Filter button lets you search for a specific tagname in the Node Select, Tag Select, and Field Select
dialog boxes.
Use the asterisk wildcard character in combination with the Filter field to search for a specific tagname
quickly and easily. To search for a tagname, type the search specification in the Filter field and select

1041

iFIX with FIX Desktop

the Filter button.

Filter By Dialog Box


Use the Filter By dialog box to filter the alarm messages that View displays in this Alarm Summary
link, so that only the pertinent alarms are displayed. The filtering options let you:

Filter out alarm areas and alarm priority levels that do not need to appear in this Alarm
Summary link.

Specify the name of a single node that you want to receive alarms from, consequently filtering
out alarms from all other nodes.

NOTE: If you do not select the Filter Enable check box and choose filtering options, View displays all
alarms by default.
Filter Enable
The Filter Enable check box enables or disables the Alarm Summary link's filtering options. These
options let you filter out alarm areas and alarm priority levels that do not need to appear in this Alarm
Summary link. You can also specify the name of a single node that you want to receive alarms from,
consequently filtering out alarms from all other nodes.
NOTE: If you do not select the Filter Enable check box and choose filtering options, View displays all
alarms by default.
Alarm Areas
The Alarm Area check boxes specify the alarm areas that this Alarm Summary link displays messages
from.
NOTE: The Alarm Area check box must be checked to enable alarm area filtering.
Priority
The Priority check boxes specify the alarm priority of the alarm messages that this Alarm Summary
link displays.
NOTE: The Priority check box must be checked to enable alarm priority filtering.
The Alarm Priority buttons are described below:
Alarm Priority

Description

INFO

Displays INFO alarm messages.

LOLO

Displays LOLO alarm messages.

LOW

Displays LOW alarm messages.

1042

iFIX with FIX Desktop

Alarm Priority

Description

MEDIUM

Displays MEDIUM priority alarm messages.

HIGH

Displays HIGH priority alarm messages.

HIHI

Displays HIHI priority alarm messages.

CRITICAL

Displays CRITICAL priority alarm messages.

Node:Tag
The Node field specifies the name of the node whose alarm messages are displayed in this Alarm
Summary link. An entry in this field filters out alarm messages from all other nodes.
NOTE: The Alarm Area check box must be checked to enable node filtering.
To edit this field, type the name of the appropriate node or select the browse (...) button to access the
Nodes dialog box.

Sort Control Dialog Box


Use the Sort Control dialog box to define the order that View uses to display alarm messages in this
Alarm Summary link.
Key
Displays the sort key currently in use. You can type in a different sort key, or click the browse (...)
button to choose a sort key from a list.
Ascending/Descending
Choose the direction in which you want sort key data to be sorted.

Sort Keys Dialog Box


Use the Sort Keys dialog box to define how View displays alarm messages in this Alarm Summary
link. You can sort alarms in ascending or descending order based upon eight sort keys. These keys are
described below:
Sort Key

Description

Time In

Sorts alarms according to when the alarm was first generated by the tag.

Type

Sorts alarms according to the tag type.

1043

iFIX with FIX Desktop

Sort Key

Description

Tag

Sorts alarms according to the alarm area of the tags (A-P).

Priority

Sorts alarms according to the alarm priority, as defined for each tag in the Database
Manager (INFO, LOLO, LOW, MEDIUM, HIGH, HIHI, or CRITICAL).

Node

Sorts alarms according to the node where the alarm originated.

Ack/Time

Sorts alarms by acknowledgment and then by time in. When sorting alarms,
unacknowledged alarms have a greater priority than acknowledged alarms.

Ack/Priority

Sorts alarms by acknowledgment and then by priority. When sorting alarms,


unacknowledged alarms have a greater priority than acknowledged alarms.

Tag Select Dialog Box


Use the Tag Select dialog box to select a node and tag combination. To select a node and tag, you can
use one of three methods:

Select a node from the Node Selection list box, a tag from the Tag Selection list box, and
click OK.

Type a node and tag combination in the Selection field.

Use the asterisk wildcard character to search through the network for a specific node and tag
combination.

NOTE: Only nodes configured in the System Configuration Utility (SCU) appear in the Node Selection
list box.
Filter Field
The Filter field lets you search for a specific tagname in the Node Select and Tag Select dialog boxes.
Use the asterisk wildcard character in combination with the Filter button to search for a specific
selection quickly and easily. To search for a tagname, type the search specification in the Filter field
and select the Filter button.
Node Selection List Box
The Node Selection list box displays the names of all nodes configured in the System Configuration
Utility (SCU). If you filter the list, the list box displays all the nodes that match the specified filter.
Tag Selection List Box
The Tag Selection list box displays the names of all tags configured on the selected node. If you filter
the list, the list box displays all the tags that match the specified filter.

1044

iFIX with FIX Desktop

Selection
The Selection field displays the name of the selected tagname in the Node Select and Tag Select dialog
boxes. To select a specific tagname without using the Filter field or Filter button, type the name in the
Selection field and click OK.
Filter Button
The Filter button lets you search for a specific tagname in the Node Select and Tag Select dialog
boxes.
Use the asterisk wildcard character in combination with the Filter field to search for a specific tagname
quickly and easily. To search for a tagname, type the search specification in the Filter field and select
the Filter button.

Tag Status Dialog Box


Use the Tag Status dialog box to specify the name of the tag that you want to display in a tag status
picture. This dialog box appears when you select the Tag Status command from the Commands menu
and no object is currently selected.

1045

How Do I...
Click the appropriate link below for information about View's step-by-step procedures:

View Basics

Working with Picture Files

Managing Alarms

Using the Alarm Summary Link

Modifying Links

Using Basic View Functions


Click the appropriate link below for more information on View basics:

Starting Other FIX Applications

Using the Keyboard in View

Using a Mouse in View

Using a Touch Screen in View

Using Right-Click

Starting Other FIX Applications


To leave View running and start another FIX application:
1.

In FIX Desktop View, on the Applications menu, click the program you want to start. The
menu contains the names of FIX programs that are used on a regular basis.

If...

Then...

You have rights to use the program.

Your FIX software starts the selected program.

You do not have rights to use the


program.

Your FIX software displays a message and returns


you to the View program.

The program is not installed on this


node.

Your FIX software ignores the request.

2.

To return to View, use the standard task-switching procedure for your window manager or
close the application.

Using the Keyboard in View


If you are using the keyboard, the following table can assist you in performing the most common View
tasks:

1047

iFIX with FIX Desktop

Task

Action Required

Activate, or access a dialog box

Press the up or down arrow key until the highlight


box is on the object. Press Enter.

Execute a command

Press the up or down arrow key until the highlight


box is on the object. Press Enter.

Move between windows

Press the right or left arrow key.

Press a custom push button

Not available.

Press a dialog box push button

Press Tab to select the button. Press Enter.

Scroll a window

Not available.

Scroll in a list box

Press the arrow key that corresponds to the scroll


direction.

Select an alarm in an Alarm Summary


link

Press the spacebar.

Select a menu command

Press the Alt key to activate the menu bar. Use the
left and right arrow keys to move between menus.
Use the up and down arrows to select commands.
Press Enter.

Select an object

Press the up or down arrow key until the highlight


box is on the object.

Using a Mouse in View


If you are using a mouse, the following table can assist you in performing the most common View
tasks:
Task

Action Required

Position the pointer

Move the mouse.

Activate, or access a dialog box

Position the pointer over the object. Click twice


(double-click).
NOTE: You do not double-click buttons.

1048

iFIX with FIX Desktop

Task

Action Required

Execute a command

Position the pointer over the object. Click once.

Move between windows

Click anywhere in the desired window.

Press a custom push button

Position the pointer over the object. Click once.

Press a dialog box push button

Position the pointer over the object. Click once.

Scroll a window

Position the pointer over a scroll arrow. Click and


hold down the mouse button.

Scroll in a list box

Position the pointer over a scroll arrow. Click and


hold down the mouse button.

Select a menu command

Position the pointer over the menu. Click and drag


down. Move the mouse pointer over the desired
command. Release the mouse button.
Once a menu is displayed, you can also select a
command by double-clicking.

Select an object

Position the pointer over the object. Click once.

Using a Touch Screen in View


If you are using a touch screen, the following table can assist you in performing the most common
View tasks:
Task

Action Required

Position the pointer

Move your finger where you want the pointer to be.


Press and release once.

Activate, or access a dialog box

Position the pointer over the object. Press and release


twice in quick succession.

Execute a command

Position the pointer over the object. Press and release


once.

Move between windows

Position the pointer over the desired window. Press


and release once.

1049

iFIX with FIX Desktop

Task

Action Required

Press a custom push button

Position the pointer over the object. Press and release


once.

Press a dialog box push button

Position the pointer over the button. Press and release


once.

Scroll a window

Position the pointer over the scroll arrow. Press once


and hold.

Scroll in a list box

Position the pointer over the scroll arrow. Press once


and hold.

Select a menu command

Position the pointer over the menu name. Press and


release once. The menu pops down. Position the
pointer over the command name. Press and release
once.

Select an object

Position the pointer over the object. Press and release


once.

Using Right-Click
As an alternative to using the pull-down menus to access a command, FIX Desktop View lets you
right-click to display a menu, which can be used as a shortcut to some of these same commands.
To use the right mouse button:
1.

Right-click anywhere within the Fix Desktop View window. A menu of commands appears.
The exact commands that appear depends on whether an object is selected and what type of
object is selected.

2.

Highlight the command you want to use by positioning the cursor over the command and then
clicking either the left or right mouse button. When you release the button, the command
executes.

Working with Picture Files


Click the appropriate link below for more information on working with picture files:

1050

Creating a Default Picture Layout

Creating a Picture Layout

Displaying Tag Status Pictures

Enlarging a Selected Area of a Picture

Opening and Closing Pictures

iFIX with FIX Desktop

Printing Pictures

Saving a New Picture Layout

Creating a Default Picture Layout


To create a default picture layout:
1.

In FIX Desktop View, open the pictures that you want to be part of the default layout.
NOTE: The last picture you open becomes the active picture each time View opens the layout.
If you open a picture that has tag group files assigned, a second dialog box appears and
prompts you to enter a tag group file name.

2.

Arrange the pictures into the positions you want them.

3.

Resize the pictures to get the best fit.

4.

On the File menu, click Save Layout. The File Save dialog box appears.

5.

Name your layout DEFAULT.

6.

Select Save. View adds the .LYT file extension for you and saves the default picture layout
file.

7.

If appropriate, write-protect the file to prevent another user from saving a different layout as
the default. To write protect the file, use the standard procedure for your operating system.

Creating a Picture Layout


To create a picture layout:
1.

In FIX Desktop View, open the pictures that you want to be part of the layout.
NOTE: The last picture you open becomes the active picture each time you open the layout. If
you open a picture that has tag group files assigned, a second dialog box appears and
prompts you to enter a tag group file name.

2.

Arrange the pictures into the positions you want them.

3.

Resize the pictures to get the best fit.

4.

On the File menu, click Save Layout. The File Save dialog box appears.

5.

Type in a new name, up to 8 characters.

6.

Select Save. View adds the .LYT file extension for you and saves the picture layout file in the
picture path.

Displaying Tag Status Pictures


When you want more information about the configuration or status of a database tag, you can use the
Tag Status command to display a tag status picture.
To display a tag status picture for an object in a picture:
1.

In FIX Desktop View, select a controllable link or object.

1051

iFIX with FIX Desktop

2.

On the Commands menu, click Tag Status to display the tag status picture. The Tag Status
dialog box appears.
NOTE: To close a tag status picture, select the Close button within the tag status picture, or
on the File menu click Close.

To display a tag status picture for any database tag:


1.

With no object or link selected in FIX Desktop View, on the Commands menu, click Tag
Status. The Tag Status dialog box appears.
NOTE: To deselect all objects, click any empty portion of the picture.

2.

Type in the NODE:TAG of the target database tag or click the browse (...) button to use the
Tag Select dialog box.

3.

Select OK.
NOTE: To close a tag status picture, select the Close button within the tag status picture, or
on the File menu click Close.

Enlarging a Selected Area of a Picture


To enlarge a selected area of your picture:
1.

In FIX Desktop View, on the View menu, click Zoom To.

2.

Select the top-left corner of the zoom area and drag until the select box encloses the area.

3.

Release the mouse button.

4.

To restore your normal view, on the View menu, click Default View.

Opening and Closing Pictures


To open a picture:
1.

In FIX Desktop View, on the File menu, click Open. The standard Windows File Open dialog
box appears.
NOTE: If a picture has tag group files assigned, a second dialog box appears and prompts
you to enter a tag group file name.

2.

Select the file you want to open, and click OK.


To close a picture, on the File menu, click Close. View closes the active picture. All other
pictures remain open until you close them.

Printing Pictures
To print the currently active picture:

1052

In FIX Desktop View, on the File menu, click Print. If the picture is larger than the screen and
you want to print the entire picture, on the View menu, click Zoom Out or Fit in Window
before you print.

iFIX with FIX Desktop

With some printer drivers, a dialog box appears that allows you to cancel the printing.
Saving a New Picture Layout
To save a new picture layout:
1.

In FIX Desktop View, on the File menu, click Save Layout. The File Save dialog box appears.

2.

Type in a new name up to 8 characters long.

3.

Select Save. View adds the .LYT file extension for you and saves the picture layout file in the
picture path.

Managing Alarms
Click the appropriate link below for more information on managing alarms:

Acknowledging a Single Alarm

Acknowledging All Alarms

Enabling and Disabling Alarms

Enabling and Disabling the Alarm Horn

Silencing the Alarm Horn

Acknowledging a Single Alarm


If your job is monitoring a process, then it probably includes keeping track of alarms. Your pictures
may include visual cues to alert you of alarm conditions as they occur in database tags. These cues
persist until you respond to alarms.
To a single alarm in the active picture:
1.

In FIX Desktop View, select the alarm in the Alarm Summary link, or the object that is in
alarm.
NOTE: If you are using a keyboard, press the spacebar once to select the first alarm in the
list. To move down the list of alarms, press the spacebar each time you want to select the next
alarm.

2.

On the Alarms menu, click Acknowledge One, or double-click the alarm.


The ACK column shows a check mark next to the alarm to indicate it is acknowledged. On the
next scan cycle, SAC receives your response.

Acknowledging All Alarms


If your job is monitoring a process, then it probably includes keeping track of alarms. Your pictures
include visual cues to alert you of alarm conditions as they occur in database tags. These cues persist
until you respond to alarms.

1053

iFIX with FIX Desktop

To respond to all alarms in the active picture:


In FIX Desktop View, on the Alarms menu, click Acknowledge All. On the next scan cycle, SAC
receives your response.
NOTE: This will acknowledge all alarms, including all alarms currently displayed in an Alarm
Summary link.
Enabling and Disabling Alarms
To enable or disable the alarming functions of a selected database tag in the active
picture:
NOTE: The ability to use this command depends on the setup of the database, your security
rights, and whether the link or object is controllable.
1.

In FIX Desktop View, select a controllable link or object.

2.

On the Alarms menu, click Enable/Disable Alarms.

Enabling and Disabling the Alarm Horn


To enable and disable the alarm horn in FIX Desktop View:
1.

To start the alarm horn for the active picture, on the Alarms menu, click Enable Horn.

2.

To stop the alarm horn for all alarms for the active picture, on the alarms menu, click Disable
Horn.

Silencing the Alarm Horn


To silence the alarm horn in FIX Desktop View:

To temporarily silence the alarm for the current alarm in the active picture, on the Alarms
menu, click Silence Horn. When the next alarm is received, the horn sounds again.

Using the Alarm Summary Link


Click the appropriate link below for more information on using the Alarm Summary link:

1054

Defining Alarm Summary Link Columns

Deleting Alarms Manually

Deleting all Filtered Alarms

Filtering Alarm Summary Messages

Selecting a Sort Order for Alarm Summary Messages

Using the Keyboard with the Alarm Summary Link

iFIX with FIX Desktop

Defining Alarm Summary Link Columns


To specify the contents and width of the columns that appear in an Alarm Summary
link:
1.

In FIX Desktop View, select the Alarm Summary link.

2.

Click the Columns button or press the C key. The Column Format dialog box appears.

3.

Select the columns that you want to appear in the Alarm Summary by checking the
appropriate boxes and specifying the length of each column in the corresponding Length field.

4.

If appropriate, specify the field name and width of up to two User Definable Columns.
For example, to display a custom column for the current alarm in addition to the default
latched alarm, you can:

Select the Field Name check box.

Type A_CUALM as the field name.

Select the right arrow button to add the column to the Column Order list box.

NOTE: Only ASCII fields, A_, can be used in the Field Name fields.
5.

Define the order of the columns for the Alarm Summary, from left to right. Change the
column order by selecting a column in the Column Order list box and selecting either the up
or down arrow button to move your selection.

Deleting Alarms Manually


In FIX Desktop View, you can manually delete alarms from the Alarm Summary link if your node has
the manual alarm deletion support enabled in the SCU. If it does, use one of the following methods to
manually delete alarms:

Double-click the alarm you want to delete in the Alarm Summary link.
- Or -

Select the alarm you want to delete, and then on the Alarms menu or from the right-click
menu, click Acknowledge One.

Deleting all Filtered Alarms


If this feature is enabled, View lets you delete all filtered alarms that appear in an Alarm Summary
link.
To delete all filtered alarms:
1.

In FIX Desktop View, select the Alarm Summary link.

2.

Click Delete All or press the D key.

1055

iFIX with FIX Desktop

Filtering Alarm Summary Messages


To filter the alarm messages displayed in an Alarm Summary link, so that only the
pertinent alarms appear:
1.

In FIX Desktop View, select the Alarm Summary link.

2.

Click Filter, or press the F key. The Filter By dialog box appears.

3.

Select the Filter Enable check box to use the filtering options.

4.

If appropriate, select the Alarm Area check box to enable alarm areas filtering.

5.

Select the alarm areas that this Alarm Summary link should display messages from.

6.

If appropriate, select the Priority check box to enable alarm priority filtering.

7.

Select the alarm priority of the messages that this Alarm Summary link should display.
NOTE: Alarm priority filtering filters out all the alarms below the selected priority level. For
example, selecting High displays only HIGH priority alarms, selecting Medium displays
MEDIUM priority alarms, and selecting Low displays LOW alarm priorities.

8.

If appropriate, select the Node check box to enable node filtering.

9.

Type the name of the node whose alarm messages should be displayed in this Alarm
Summary link or select the browse (...) button to select a node from the Nodes dialog box.

Selecting a Sort Order for Alarm Summary Messages


To select a sort order for messages that appear in an Alarm Summary link:
1.

In FIX Desktop View, select the Alarm Summary link.

2.

Click Sort or press the S key. The Sort Control dialog box appears.

3.

Click the browse (...) button in the Key field to select the sort key you want to use. The Sort
Keys dialog box appears.

4.

Choose the sort key you want to use and select OK to return to the Sort Control dialog box.

5.

Choose either the Ascending or Descending button to define the order of the messages.

6.

Select OK to save the sort order and return to the View window.

Using the Keyboard with the Alarm Summary Link


If you are using a keyboard, the following keys are active when you select an Alarm Summary link:
Key

Description

F3

Scrolls right to see the right part of the Alarm Summary link.

F4

Scrolls left to see the left part of the Alarm Summary link.

1056

iFIX with FIX Desktop

Key

Description

F5

Scrolls the Alarm Summary link one line up.

F6

Scrolls the Alarm Summary link one line down.

F7

Scrolls the Alarm Summary link one page up.

F8

Scrolls the Alarm Summary link one page down.

Space Bar

Selects an alarm in the Alarm Summary link.

F9

Deselects an alarm in the Alarm Summary link.

Displays the Filter By dialog box.

Displays the Sort Control dialog box.

Displays the Column Format dialog box.

Deletes all filtered alarms in the Alarm Summary link.

Modifying Links
Click the appropriate link below for more information on modifying links:

Changing a Histogram Chart Tagname

Changing a Statistical Chart Tagname

Changing a Trend Chart Tagname

Changing an XY Plot Chart Tagname

Changing the Displayed Range on a Trend Chart

Changing the Displayed Range on an XY Plot Chart

Changing the Y Axis Label on a Trend Chart

Switching Tags Between Automatic and Manual Modes

Taking a Database Chain On and Off Scan

Changing a Histogram Chart Tagname


If a histogram chart is configured to be modifiable, you can change the tagname the chart displays so
that it temporarily monitors a different Histogram tag.

1057

iFIX with FIX Desktop

To change a histogram chart tagname:


1.

In FIX Desktop View, double-click the histogram chart you want to change. The Change
Histogram dialog box appears.

2.

In the Tagname field, type the new tagname, or click the browse (...) button to use the Tag
Select dialog box to select a tagname.

3.

Select OK to return to the active picture and view the chart.

Changing a Statistical Chart Tagname


If a statistical chart is configured to be modifiable, you can change the tagname the chart displays so
that it temporarily monitors a different Statistical Data tag.
To change a statistical chart tagname:
1.

In FIX Desktop View, double-click the statistical chart you want to change. The Change
Statistical Chart dialog box appears.

2.

In the Tagname field, type the new tagname, or click the browse (...) button to use the Tag
Select dialog box to select a tagname.

3.

To force the Statistical Data tag to recalculate its alarm limits based on current data, click
Recalc.

4.

Select OK to return to the active picture and view the chart.

Changing a Trend Chart Tagname


If a Multi-Pen or Multi-Bar Trend chart is configured to be modifiable, you can change one or all of
the tagnames the chart displays so that it temporarily monitors a different tag.
To change a trend chart tagname:
1.

In FIX Desktop View, double-click the chart you want to change. The Change Pens dialog
box appears.

2.

Select the pen you want to change in the Pen Selection list box.

3.

Type node:tag.field for the new tagname in the Tagname field or click the browse (...) button
to use the Field Select dialog box to select a tagname.

4.

Select the Change Pen button.

5.

Select OK to return to the active picture and view the chart.

Changing an XY Plot Chart Tagname


If an XY Plot chart is configured to be modifiable, you can change the tagname the chart displays so
that it temporarily monitors the intersection between different database values.
To change an XY Plot chart tagname:
1.

1058

In FIX Desktop View, double-click the XY Plot chart you want to change. The Change X vs.

iFIX with FIX Desktop

Y Plot dialog box appears.


2.

In the Pen Properties list box, select the pen you want to change.

3.

In the Tagname field, type the new tagname, or click the browse (...) button to use the Tag
Select dialog box to select a tagname.

4.

Click Change Tagname.

5.

If appropriate, enter the number of points you want the chart to display in the History Points
field.

6.

Select OK to return to the active picture and view the chart.

Changing the Displayed Value Range on a Trend Chart


If a Multi-Pen or Multi-Bar Trend chart is configured to be modifiable, you can change the value range
that the chart displays.
To change the displayed value range on a Trend chart:
1.

In FIX Desktop View, double-click the chart you want to change. The Change Pens dialog
box appears.

2.

In the Visible Low Limit and Visible High Limit fields, enter the new value range.
NOTE: To zoom in on the range, enter a value greater than the tag's low limit and less than
the tag's high limit.

3.

Select the Change Pen button.

4.

Select OK to return to the active picture and view the chart.

Changing the Displayed Value Range on an XY Plot Chart


If an XY Plot chart is configured to be modifiable, you can change the value range that the chart
displays.
To change the displayed value range on an XY Plot chart:
1.

In FIX Desktop View, double-click the chart you want to change. The Change X vs. Y Plot
dialog box appears.

2.

In the Visible Low Limit and Visible High Limit fields, enter the new value range.
NOTE: To zoom in on the range, enter a value greater than the tag's low limit and less than
the tag's high limit.

3.

Click Change Tagname .

4.

Select OK to return to the active picture and view the chart.

Changing the Y Axis Label on a Trend Chart


If a Multi-Pen or Multi-Bar Trend chart is configured to be modifiable, you can change the Y axis
label so that the chart monitors any one of the eight floating points or Trend tag values.

1059

iFIX with FIX Desktop

To change the Y axis label on a Trend chart:


1.

In FIX Desktop View, double-click the chart you want to change. The Change Pens dialog
box appears.

2.

Select the pen you want to display in the Y axis label from the Pen Selection list box.

3.

Select OK to return to the active picture and view the chart.

Switching Tags Between Automatic and Manual Modes


To change a selected tag to automatic mode or manual modes:
NOTE: The ability to use this command depends on the setup of the database, your security
rights, and whether the link or object is controllable.
1.

In FIX Desktop View, select a controllable link or object.

2.

If the tag is in Auto Mode, on the Commands menu, click Manual Mode to switch the tag to
manual mode during the next scan cycle. Change the value of the link, if appropriate.
-OrIf the tag is in Manual Mode, on the Commands menu, click Auto Mode to switch the tag to
automatic mode during the next scan cycle.

Taking a Database Chain On and Off Scan


To change the status of a selected tag, and therefore its chain, to on scan or off scan
status:
NOTE: The ability to use this command depends on the setup of the database, your security
rights, and whether the link or object is controllable.
1.

In FIX Desktop View, select a controllable link or object.

2.

On the Commands menu, click Off Scan to take the tag and its chain off scan during the next
scan cycle.
-OrOn the Commands menu, click On Scan to place the tag and its chain on scan during the next
scan cycle.

1060

Glossary
You should be familiar with the following special terms used frequently in View. Select any term to
display the term's definition.

A-B
Active Picture
Alarm Areas
Alarm Priority
Asterisk Wildcard Character
Automatic Mode

C-L
Chart Links
Clipboard
Default Picture Layout
EGU
Environment Protection
Histogram Chart
Information Links
Latched Alarm

M-O
Manual Mode
Multi-Bar Trend Chart
Multi-Pen Trend Chart
Node
ODF
Off Scan Status
On Scan Status

P-S
Pen
Picture Layout
Pop-up Picture
SCADA Node

1061

iFIX with FIX Desktop

Special Purpose Links


Standard Picture
Statistical Chart
Subpicture
Substitution

T-Z
Tag Group
Tag Group Symbol
Tag Status Picture
Tick Marks
View Node
VIEW.INI file
Y Axis Label
XY Plot Chart

A-B
Active Picture
The active picture is the picture that View is currently interacting with. You can distinguish the active
picture by the appearance of the title bar. The title bar of the active picture will be a different color or
shade from the title bars of the other pictures.
NOTE: For pictures without a title bar, the picture border is highlighted.
Alarm Area
An alarm area identifies a physical or functional division of a plant that acts as a routing label for
alarms and messages.
Alarm Priority
An alarm priority provides a means of screening or highlighting alarm messages. iFIX provides these
alarm priorities: INFO, LOLO, LOW, MEDIUM, HIGH, HIHI, or CRITICAL. Alarm priorities are
defined for database tags in the Database Manager and for SCADA nodes in a System Information
link.
Asterisk Wildcard Character
The asterisk (*) wildcard character is a substitute for a node, tag, or field name. You can use the
asterisk to quickly find specific tagnames. For example:

1062

iFIX with FIX Desktop

Example

Description

N*

Search for all node names that begin with N.

F_*

Search for all field entries that begin with F_.

Automatic Mode
Automatic mode is a database tag mode in which the tag is scanned by the Scan, Alarm, and Control
(SAC) program. In this mode, the tag accepts data only from the poll table or other tags.

C-L
Chart Links
Links that display a graph of real-time data in View.
Clipboard
Your window manager comes with a special data area called the clipboard. View uses the clipboard for
temporarily holding data.
Default Picture Layout
A default picture layout contains specific combinations of pictures, their positions on the screen, their
assigned tag group files, and any nickname information that are saved as the default picture
arrangement. When you start View, it looks for a layout file called DEFAULT.LYT. If View finds this
file, it opens the layout immediately.
View stores the default picture layout file in the picture path defined in the System Configuration
Utility (SCU).
EGU
Engineering units. The value limits of a database tag.
Environment Protection
Environment protection, enabled in Draw, is used to create a secure View environment that prevents
the operator from performing unauthorized actions, including:

Starting other tasks.

Opening unauthorized pictures.

Switching to unauthorized tasks.

Closing the current picture.

Exiting View.

1063

iFIX with FIX Desktop

Rebooting the system using Ctrl+Alt+Del.

Histogram Chart
The Histogram chart displays a frequency distribution chart.
Information Links
Links that display text or numerical data from the database or system.
Latched Alarm
The highest priority unacknowledged alarm.

M-O
Manual Mode
Manual mode is a database tag mode in which operators can manually change the value of a tag
through links in View.
Multi-Bar Trend Chart
A Multi-Bar Trend chart plots up to eight floating point or Trend tag values as groups of bars. This
chart monitors the change in key database tag values over a prescribed duration.
Multi-Pen Trend Chart
A Multi-Pen Trend chart plots up to eight floating point or Trend tag values as continuous lines. This
chart monitors the change in key database tag values over a prescribed duration.
Nickname
A nickname is a user-defined, generic picture name that lets you control the opening and closing of
multiple pictures without concern for which picture is currently displayed.
Node
A computer running iFIX or FIX software.
ODF
The .ODF file extension is for FIX Desktop Draw picture files. ODF stands for object definition file.

Off Scan Status


A tag with an off scan status is not processed by the Scan, Alarm, and Control (SAC) program. When a
tag is off scan, its associated database chain is also off scan.

1064

iFIX with FIX Desktop

On Scan Status
A tag with an on scan status is being processed by the Scan, Alarm, and Control (SAC) program every
scan cycle. When a tag is on scan, its associated database chain is also on scan.

P-S
Pen
A pen represents a floating point value or tag that is displayed in a chart link.
Picture Layout
A picture layout contains specific combinations of pictures, their positions on the screen, their assigned
tag group files, and any nickname information that are saved as a picture arrangement. View adds a
.LYT extension to all picture layout files and stores them in the picture path defined in the System
Configuration Utility (SCU).
Pop-up Picture
A pop-up picture is a picture that is always in front of all currently open pictures. Pop-up pictures can
also be configured to be always on top. When this option is selected for a pop-up picture, it remains
in front of all open windows. Pop-up pictures also move independently from View.
SCADA Node
A computer that contains the SCADA process database.
Special Purpose Links
The Push Button and Alarm Summary links.
Standard Picture
A standard picture is most commonly used for your full screen displays.
Statistical Chart
A statistical chart monitors a specified value in a Statistical Data tag. These values can include:

The real-time average value (X-Bar).

The real-time average range (R-Bar).

The real-time average standard deviation (S-Bar).

Subpicture
A subpicture is a picture that appears inside another picture. Subpictures are best suited for showing
detailed information about an item in another picture.

1065

iFIX with FIX Desktop

Substitution
A substitution is the replacement text for a tag group symbol. The replacement text can be any text up
to 95 characters long.

T-Z
Tag Group Symbol
A tag group symbol is a label defined in the Tag Group Editor that, when entered into an application
that supports tag group files, allows the substitution of associated information. The symbol must begin
with a question mark (?), followed by up to a 30 character string. For example:
?TANK1

Tag Group File


A tag group file is a group of tag group symbols and the replacement text (substitutions) that define
each symbol. Tag group files have an .TGE extension and are stored in the picture path. If many of
your pictures are identical except for the tagnames they reference, you can create one generic picture
that uses multiple tag groups.
Tag Status Picture
A tag status picture is a predefined picture that displays real-time information, including the values of
key database tag fields.
Tick Marks
Lines on the side of bar graphs and charts that help the user interpret the graph or chart.
View Node
A computer that is used as an operator display station - also known as an iClient.
VIEW.INI File
The VIEW.INI file is an ASCII file that contains configuration information for:

Input Dynamics

Click and Stick

Configurable Blink Speed

View Title bar

Picture Caching

Environment Protection

Sound Support

You can edit the VIEW.INI file, located in the local path, using the Notepad program or another text

1066

iFIX with FIX Desktop

editor.
For more information on the VIEW.INI file, refer to the Defining the View Environment chapter of the
Draw manual.
XY Plot Chart
An XY Plot chart displays the real-time intersection of values from two database tags.
Y Axis Label
The Y axis label on a Multi-Pen or Multi-Bar Trend chart displays the limit range associated with one
of the eight pens displayed in the link.
For example, pen 1 may have a limit range of 1 to 100, while pen 2 may have a range of 1 to 120. The
label on the Y axis, when included in the chart, displays the limit range of pen 1 when pen 1 is
selected.

1067

Index
#

Adding

#CMDSTATUS ...................... 285, 519, 569, 600

Alarm Summary Link .................................171

Command Scripts .........................................84

.DXF files ....................................................... 390

Data Link ....................................................160

Dynamic Properties ....................................212

= 1056

Grid Lines ...................................................892

Historgram Chart Link................................188

1 Minute Auto Update command ................... 934

Macro..........................................................510

Push Button Link ........................................175

2 Minute Auto Update command ................... 935

Script Commands .......................................151

SQL Startup Scripts ......................................85

5 Minute Auto Update command ................... 935

System Information Link ............................173

Time............................................................171

About Recipes

Trend Link ..................................................177

Learning ..................................................... 812


Accelerators

X-Bar ..........................................................184
XY Plot Chart Link.....................................191

Assigning .................................................... 644

adding a macro ...............................................617

Access Commands ......................................... 757

adding grid lines .............................................971

Accessing

adding links ....................................................456

Files ............................................................ 661

adding, list box to iFIX picture .........................44

Macro Editor............................................... 505

ADF File

Relational Database ...................................... 75

Creating ......................................................204

SQL Command Configurator ..................... 670

Importing ....................................................210

accessing SQL Command Configurator ......... 237

ADF files ........................................................487

accessing the SQL Command Configurator ... 620

alarm areas

accessing WSPROXY ........................................9

defined ........................................................487

Acknowledge All command ......................... 1032

alarm areas ............................................625, 1062

Acknowledge One command........................ 1032

alarm counter fields ........................................487

Acknowledging

alarm counters ................................................483

Alarms ...................................................... 1020

Alarm Counters ................................................74

Actions menu .................................................. 932

Alarm History menu option ............................347

active picture ................................................ 1062

alarm horn .....................................................1054

Add Point menu option ................................... 342

alarm messages .............................................1056

1069

iFIX with FIX Desktop

Alarm Priorities
Displaying .................................................. 174
alarm priority ................................................ 1062

Alternate Legend command ............................935


Anchor command ...........................................933
Anchored Chart

Alarm Priority................................................. 488

Linking .......................................................891

alarm states ..................................................... 356

APPEND.........................................................762

Alarm Summary ................................... 353, 1055

APPEND command ................ 247, 314, 520, 573

Alarm Summary link ...................................... 233

Appendix ........................................................779

Alarm Summary Link

application control commands ........................560

Adding ........................................................ 171


ALARMACK ................................................. 715
ALARMACK command ........ 246, 294, 519, 558
ALARMACKALL ......................................... 716
ALARMACKALL command . 246, 294, 520, 558
Alarming

Application Control commands ......................310


application feature
defined ........................................................488
application feature names
changed .........................................................51
Applications

Commands .................................................. 715

Controlling ..................................................753

Alarming commands .............................. 293, 558

Applications menu ........................................1034

alarms ........................................................... 1053

Applying

Alarms

Dynamic Movement ...........................142, 143

Acknowledging ........................................ 1020

Dynamic Rotation .......................................147

Blinking ...................................................... 229

Dynamic Scaling.........................................145

Alarms .......................................................... 1020

Dynamic Visibility .....................................151

Alarms dialog box .......................................... 356

Fonts ...........................................................123

Alarms menu ................................................ 1031

Horizontal ...................................................150

alias.....................................................................9

Tag Group Automatically .............................73

Align Commands
Using .......................................................... 117
Align menu option .......................................... 340
Aligning
Objects ........................................................ 116

Apps menu ......................................................345


Areas
Understanding.............................................884
Arrange menu .................................................338
Arranging

aligning objects............................................... 357

Charts..........................................................892

Alignment dialog box ..................................... 357

Toolbox Buttons ...........................................95

Allowing
Data Entry................................................... 163
Alphanumeric Data Entry
Configuring ................................................ 166
Alphanumeric Keypad Entry Dialog Box
Using ........................................................ 1013

1070

Assigning
Accelerators ................................................644
Blocks .........................................................834
Keyboard Accelerators .................................84
Assigning a tag group to a picture ..................824
Assigning a tag group to a recipe ...................825

iFIX with FIX Desktop

Associating

Between Picture Windows


Switching ......................................................88

Macros ........................................................ 509


asterisk .......................................... 488, 826, 1062

Between Pictures
Switching ..................................................1000

ATTRIB command ................. 247, 314, 520, 573


attribute........................................................... 628

Bitmap Graphics
Manipulating...............................................211

authorization commands ................................. 562


Authorization commands................................ 309

Bitmaps
Exporting ....................................................212

Authorization Commands ............................... 749


Auto mode command ................................... 1033

Bitmaps through
Importing ....................................................211

AUTO/MANL commands ...................... 295, 559


AUTO/MANL Mode Commands ................... 719

Blinking

AutoCAD DXF import ..................................... 49

Alarms ........................................................229

automatic alarm deletion .............................. 1055

Thresholds ..................................................138

automatic mode ............................................ 1063

Block Scanning commands.....................296, 564

automation interfaces

Block Scanning Commands ............................722

FixDrawApp object ...................................... 29

Block Tagnames
Selecting .....................................................843

FixHtdApp object ......................................... 30


FixViewApp object ...................................... 29

Blocks

overview ....................................................... 28

Assigning ....................................................834

average mode .................................................. 984

Blocks Processed ............................................175

axis ................................................................. 357

Bring to Front command .................................495

Axis Configuration dialog box ....................... 357

Bring to Front menu option ............................339

browsing for tags

background area ............................................. 984


Background Color

Proficy Historian............................................ 7
Building

Setting........................................................... 83

SQL Commands .........................................670

Backup Files ..................................................... 79

SQL Query Manually .................................917

backwards compatibility ................................... 53

Bar Graphs

C format specification ....................................625

Creating ...................................................... 150

Cache Picture Count

Bars................................................................. 391

Modifying ...................................................226

BASEPIC ....................................................... 739

caching............................................................496

BASEPIC command ............... 247, 305, 521, 587

cascade command .........................................1034

Before You Use Tag Groups .......................... 795

Cascade command ..........................................936

Between Auto

Cascade menu option ......................................345

Switching .................................................. 1023

cascading windows .......................................1034


chain .............................................................1060

1071

iFIX with FIX Desktop

Chain On
Taking....................................................... 1023
Change Pens dialog box ............................... 1037
Change X vs Y Plot dialog box .................... 1038
Changing
Default Colors .............................................. 98
Default Settings .......................................... 106

Saving .........................................................873
chart header ....................................................963
Chart Header
Creating ......................................................857
Chart Legend
Defining ......................................................855
chart link

Histograms................................................ 1019

defined ........................................................489

Links ........................................................... 158

chart link .........................................................489

Picture Size ................................................... 81

Chart Links ...................................................1016

Statistical Charts ....................................... 1019

Chart Modifiable

Text Object ................................................. 122

Making........................................ 186, 190, 194

Undoing ...................................................... 897

CHECKRIGHTS command.... 248, 309, 521, 563

XY Plots ................................................... 1019

CHFILE ..........................................................765

character offset ............................................... 625

CHFILE command ................. 248, 315, 522, 575

chart .............................................................. 1058

ChildBringToFront method ..............................32

Chart

ChildClose method ...........................................32

Arranging ................................................... 892

ChildGetTitle method .......................................33

Closing ....................................................... 893

ChildOpen method ............................................34

Comparing .................................................. 891

ChildReplace method .......................................38

Copying ...................................................... 898

ChildSetPosition method ..................................39

Exporting .................................................... 898

ChildSetSize method ........................................37

Modifying ................................................... 894

ChildSetTitle method ........................................41

Opening ...................................................... 877

Classic Historian ................................................ 5

Printing ....................................................... 898

ClearHistory method.........................................41

Updating ..................................................... 890

Click

Chart ............................... 884, 892, 893, 905, 918


Chart Area Colors

Disabling.....................................................220
Click and Stick

Defining ...................................... 186, 189, 193

defined ........................................................490

Chart command .............................................. 931

clipboard .........................................................490

Chart Details

Clipboard ...................................... 211, 898, 1063

Defining ...................................................... 855

Close command ....................................929, 1029

Chart Details dialog box ................................. 948

Close menu option ..........................................329

chart group ...................................................... 984

Close Set menu option ....................................345

Chart Group

CLOSEDIG ....................................................725

Defining ...................................................... 853

CLOSEDIG command ............ 249, 298, 522, 570

Modifying ................................................... 854

CLOSEPIC .....................................................731

1072

iFIX with FIX Desktop

CLOSEPIC command ...... 16, 249, 301, 522, 583

Color Threshold Definition dialog box ...........362

Closing

Color Threshold Settings ................................139

Chart ........................................................... 893


Pictures ......................................................... 80
closing pictures ............................................. 1052

Color Thresholds
Understanding.............................................134
Coloring

Closing Pictures .............................................. 998

Modifying ...................................................137

CMDSTATUS ................................................ 692

Objects ........................................................105

Collection

Text .............................................................124

Stopping ..................................................... 849


Collection Group
Create ......................................................... 837

Coloring ............................................................98
coloring objects ..............................................450
colors

Defining ...................................................... 838

default .........................................................450

Deleting ...................................................... 846

colors ..............................................................969

Modifying ................................................... 846

column ..........................................................1055

Suspending ................................................. 845

column format ................................................364

Color Box

Column Format dialog box ...................364, 1039

Moving ......................................................... 99

comma separated file ......................................826

Using ............................................................ 97

Command Buttons

Color Box ....................................................... 490

Using ..........................................................663

Color Box menu option .................................. 334

command language .................................632, 985

color by alarm................................................. 474

Command Language

Color By Alarm
Understanding ............................................ 135
Color by Alarm dialog box ............................. 359
Color By Alarm Threshold

Introducing .................................................639
Command Language .................................71, 810
Command Language Editor
Using ..........................................................662

Modifying ................................................... 137

Command Language Editor ................9, 236, 514

color by value ................................................. 475

Command Language Editor buttons ...............515

Color by Value dialog box ............................. 360

Command Language Manual ..........................639

color palette

command language script

defined ........................................................ 490

defined ........................................................490

color palette .................................................... 454

command language script ....... 474, 620, 826, 985

color settings

Command Language Script

Alarm Summary ......................................... 356

Creating ......................................................668

Color Settings dialog box ............................... 361

Editing ........................................................668

color threshold

command line .................................................... 9

defined ........................................................ 490

command line parameter.................................626

color threshold ................................................ 474

command line parameter file ..................626, 985

1073

iFIX with FIX Desktop

Command Line Parameter File

configurable blink speed

Creating ...................................................... 882

blink speed ..................................................491

command line parameter syntax ..................... 985

Configure Chart Display dialog box ...............949

command line parameters ............................... 985

Configure menu ..............................................930

Command Line Parameters

Configuring

Invoking ..................................................... 877

Alphanumeric Data Entry ...........................166

Command Line Parameters .................. 789, 1026

Command Script Execution ........................224

Command Listing ........................................... 788

Histogram Pens ...........................................190

Command Listing Full Syntax ........................ 785

HTD.INI .....................................................875

Command Listing Purposes ............................ 779

Input Dynamics ..........................................218

Command Parameters

Legend ........................................ 180, 190, 194

Selecting ..................................................... 671


Command Script Execution
Configuring ................................................ 224
command scripts
using in FIX Desktop Draw ............................7
Command Scripts

Multiple Item Selection Data Entry ............167


Numeric Data Entry ....................................163
Pens ............................................................181
Picture Fit ...................................................222
Push Button Data Entry ..............................166
QuickView ..................................................223

Adding .......................................................... 84

Ramp Value Data Entry ..............................169

Command Scripts ........................................... 199

Slider Data Entry ........................................164

Command Syntax Conventions ...................... 677

SQL Login Account....................................917

command syntax list ............................... 243, 516

Statistical Pens ............................................186

Command Syntax Rules ................................. 680

Trend Line Markers ....................................183

commands ..................................................... 1028

View Color Palette......................................223

Commands

View Initialization File ...............................217

Alarming ..................................................... 715

View Title Bar ............................................221

Debugging .................................................. 707

X 179, 185, 188, 192

Logging ...................................................... 748

XY Plot Pens ..............................................194

Messaging ................................................... 744

Confirmation

Commands ...................................................... 816

Requiring ....................................................170

Commands menu .......................................... 1032

Context-sensitive Help ...................................668

Commands menu option ................................. 327

Control Recipes ..............................................812

Comparing

Controlling

Charts ......................................................... 891


Complex Objects
Creating ...................................................... 110
Compression mode
defined ........................................................ 491

1074

Applications ................................................753
Database Blocks .........................................714
Script Execution Speed ...............................660
conversion commands ....................................565
Conversion commands ...................................286

iFIX with FIX Desktop

Conversion Commands .................................. 691

Dynamo ......................................................196

Convert to Objects menu option ..................... 344

Dynamo Sets ...............................................196

Converting

Historical Display Charts ............................849

Dynamic Position Objects into Bitmaps ..... 228

Information Links .......................................159

Dynamos ..................................................... 201

Lab Data Files.....................................901, 902

COPY ............................................................. 763

Lab File Using ............................................902

Copy Bitmap menu option.............................. 332

Layouts .....................................................1001

Copy command ............................................... 930

Links ...........................................................156

COPY command..................... 250, 314, 523, 574

New Chart Group........................................896

Copy Link command .................................... 1033

New Macro .................................................506

Copy menu option .......................................... 331

New Pictures .................................................77

copy to ASCII file .......................................... 972

New Tag Group File ...................................796

copy to clipboard ............................................ 972

Objects ........................................................103

Copying

Picture Reports .............................................86

Chart ........................................................... 898

Picture Templates .........................................77

Link Information ...................................... 1025

Secure Environment ...................................997

COUNTROWS ............................................... 771

Special Purpose Links ................................171

COUNTROWS command ...... 250, 317, 523, 588

SQL Startup Script......................................674

create dynamo ................................................. 367

SQL Tables .................................................911

Create Dynamo dialog box ............................. 367

Statistical Chart Links ................................183

Create Dynamo menu option .......................... 344

Text Object .................................................122

Create Object Scripts ...................................... 655

Trend Chart Links .......................................177

Creating

Variable ......................................................648

ADF File ..................................................... 204

View Layouts..............................................229

Bar Graphs.................................................. 150

XY Plot Charts ...........................................191

Chart Header............................................... 857

creating a chart ...............................................965

Collection Group ........................................ 837

creating a chart header ....................................964

Command Language Script ........................ 668

creating a command line parameter file ..........979

Command Line Parameter File ................... 882

creating a legend .............................................965

Complex Objects ........................................ 110

creating lab data files ......................................977

Custom Color Palette.................................. 100

CRITICAL ......................................................714

Data Dictionary .......................................... 903

CRITICAL command ............. 251, 293, 524, 578

Default Layout ............................................ 231

Cross-hair cursor

Default Layouts ........................................ 1002

defined ........................................................491

Detail Picture .............................................. 655

CSV file ..........................................................826

Display Chart .............................................. 852

Current Data ...................................................890

Dynamic Color Assignments ...................... 136

1075

iFIX with FIX Desktop

Cursor Position

Database

Displaying .................................................. 102

Builder ..........................................................53

Cursor Position menu option .......................... 334

Manager ........................................................53

cursors ............................................................ 491


Custom Color Palette
Creating ...................................................... 100
Customized Palette
Restoring .................................................... 101
Customizing

Database Blocks
Controlling ..................................................714
database chain ...............................................1060
Database Information
Displaying...................................................173
Database Manager ................................792, 1047

Toolbox ........................................................ 94

Database Manager command ........................1034

Cut command ................................................. 448

Database Manager command line


parameters...................................................626

Cut menu option ............................................. 331

Database Manager menu option .....................346

D
Data
Examining .................................................. 883
Justifying .................................................... 162
Point ........................................................... 886
data dictionary ................................................ 976
Data Dictionary
Creating ...................................................... 903
data dictionary table ....................................... 986
Data Dictionary Table .................................... 912
Data Entry
Allowing ..................................................... 163
Data Entry Dialog Box
Using ........................................................ 1010
Data Link
Adding ........................................................ 160
Naming ....................................................... 170
Data Link dialog box ...................................... 368
data manipulation commands ......................... 566
Data Manipulation commands ........................ 299
Data Retrieval
Optimizing .................................................. 915
data table ........................................................ 986
Data Table ...................................................... 911

Database Tag
Entering ......................................................160
Database Tag ................................................1020
Date ................................................................174
Date link .........................................................234
Date Links ......................................................171
debug ..............................................................627
debugging commands .....................................291
Debugging commands ....................................568
DEBUGOFF ...................................................708
DEBUGOFF command .......... 251, 291, 524, 568
DEBUGON.....................................................708
DEBUGON command ............ 251, 291, 525, 568
DECLARE command ............. 252, 285, 525, 569
Declaring
Table Variables ...........................................648
Variables .....................................................654
default colors ..................................................450
Default Colors
Changing.......................................................98
Default command ...........................................933
default fill .......................................................450
Default Layout
Creating ......................................................231

1076

iFIX with FIX Desktop

Default Layouts

Number .......................................................192

Creating .................................................... 1002

Pen Group ...................................................861

default line style. ............................................ 450

Previous ........................................................85

default macro .......................................... 495, 627

SQL Data Pen .............................................919

Default Macro Files ........................................ 511

SQL Query..................................................912

default picture layout .................................... 1063

Start Date ....................................................871

default Proficy Historian server ..........................5

Substitutions ...............................................800

Default Settings

Symbols ......................................................800

Changing .................................................... 106

Tag Group ...................................................799

Default View command ................................ 1031

Tag Name Ranges .......................................181

Default View menu option ............................. 338

Time Duration ............................................179

Define Chart Group dialog box ...................... 939

Time Group ................................................869

Define Chart Groups command ...................... 936

Variable Scope............................................650

Define Group/Queries dialog box................... 950

View Environment ......................................213

Define Legend dialog box .............................. 951

X Axis Details ............................................873

Define Pen Groups command ......................... 936

Y Axis Details ............................................868

Define Pens dialog box .......................................7

defining a historical pen .................................966

Define Remote Historical Data Paths dialog


box .............................................................. 955

Defining a tag group .......................................823

Define Remote Paths command ..................... 936


Define SQL Queries command....................... 936
Define Time Defaults dialog box ................... 957
Define Time Groups command ...................... 936
Defining
Chart Area Colors ....................... 186, 189, 193
Chart Colors ............................................... 855
Chart Details ............................................... 855
Chart Group ................................................ 853
Chart Legend .............................................. 855
Collection Group ........................................ 838
Configurable Blink Speed .......................... 220
Descriptions ................................................ 801
Dynamo Prompts ........................................ 196
Historical Data Pen ..................................... 864
Keystroke Assignment................................ 507
Lab Data Pen .............................................. 905
Macros ........................................................ 504

defining a time group ......................................968


defining an SQL data pen ...............................980
defining pen group ..........................................967
defining SQL queries ......................................980
definition commands ......................................568
Definition commands .....................................284
delete ....................................................619, 1055
DELETE .........................................................772
Delete command ............................. 526, 574, 817
DELETE command ................................253, 318
Delete menu option .........................................331
Delete Point menu option ...............................342
Delete row command ......................................818
Deleting
Collection Group ........................................846
Macro..........................................................511
Macro File ..................................................511
Pictures .........................................................80
Tag Group File ...........................................803

1077

iFIX with FIX Desktop

Thresholds .................................................. 139

Display............................................................883

Deleting .......................................................... 116

display chart....................................................987

deleting alarms ............................................. 1055

Display Chart

Deleting rows ................................................. 823

Create..........................................................852

description ...................................................... 827

display mode ...................................................987

Description dialog box ................................... 610

Display Mode

Descriptions
Defining ...................................................... 801

Selecting .....................................................867
Displaying

DESCTABLE ................................................. 773

Alarm Priorities ..........................................174

DESCTABLE command ........ 254, 319, 527, 590

Charts Using Command Line Parameters ...877

deselecting objects .......................................... 451

Cursor Position ...........................................102

Designing

Database Information .................................173

Command Language Scripts ....................... 646

Historical Data ............................................874

Pictures ......................................................... 63

Lab Data .....................................................905

Detail Picture
Create ......................................................... 655
Determining
Time Value ................................................. 886
Developing

Last Opened Picture..................................1001


Node Time ..................................................174
Number ...............................................174, 175
Relational Database Data ............................675
Relational Database Value ..........................675

Hierarchy ...................................................... 63

SAC Status Information..............................174

Large Pictures ............................................... 65

SQL Data ....................................................918

Layout........................................................... 66

displaying lab data ..................................966, 977

Script Execution Strategy ........................... 640

Displays ....................................................63, 806

differences, FIX v7 and iFIX with FIX


Desktop......................................................... 49

Document command .......................................937

Different File Name ........................................ 509


Different Ranges............................................. 182
Digital Block commands ........................ 297, 570
disable........................................................... 1054
DISABLEALARM ......................................... 717
DISABLEALARM command 254, 294, 527, 558
Disabling
Click ........................................................... 220
System Menu ................................................ 84
Title Bar........................................................ 84
Tooltips......................................................... 97
Disk Usage ..................................................... 926

1078

documentation ..................................................56
download ........................................................827
Draw
Exiting ..........................................................77
Maximizing...................................................76
Starting .........................................................75
Draw .................................................................. 3
Draw Application
Introduction ..................................................59
Draw Cursors
Using ............................................................89
Draw Features ...................................................60
Draw Manual ....................................................59

iFIX with FIX Desktop

Draw Security

Dynamo
create ..........................................................467

Understanding .............................................. 62

creating .......................................................469

Draw Tools

Creating ......................................................196

Using ............................................................ 92

importing ....................................................473

DRAW.INI file
defined ........................................................ 491

modifying ...................................................469

Duplicate menu option ................................... 332

prompts .......................................................433

DXF file.......................................................... 492

properties ....................................................495

DXF files ........................................................ 465

Dynamo ..........................................................467

dynamic endpoints .......................................... 375

Dynamo prompts
defined ........................................................492

Dynamic Movement
Applying ............................................. 142, 143
Dynamic Movement Properties ...................... 140

Dynamo prompts ............................................496


Dynamo Prompts
Defining ......................................................196

Dynamic Objects
Grouping..................................................... 229
Dynamic Position Objects into Bitmaps
Converting .................................................. 228

Dynamo set .....................................................405


Dynamo sets ...................................................469
Dynamo Sets

dynamic properties

Creating ......................................................196

defined ........................................................ 491


dynamic properties ......................... 463, 627, 827

Maintaining.................................................202
Dynamos

Dynamic Properties

Converting ..................................................201

Adding ........................................................ 212

defined ........................................................492

Dynamic Properties ........................ 130, 131, 808

Importing ....................................................204

Dynamic Properties dialog box ...................... 371

Dynamos .................................................195, 487

Dynamic Properties menu option ................... 332

Dynamos into Pictures

Dynamic Rotation

Pasting ........................................................200

Applying ..................................................... 147

Dynamos menu ...............................................343

Understanding ............................................ 146

Dynamic Scaling

Each Tagname ................................................865

Applying ..................................................... 145

EDA and HDA programs..................................53

Understanding ............................................ 144

Edge ................................................................106

Dynamic Visibility
Applying ..................................................... 151
Dynamically Filling Groups ........................... 153

Edit Commands ..............................................762


Edit menu................................ 330, 606, 818, 930
Editing

Dynamically Filling Objects........................... 148

Command Language Script ........................668

Dynamically Rotating Objects........................ 146

Group Objects .............................................122

Dynamically Scaling Objects ......................... 144

SQL Queries ...............................................915

1079

iFIX with FIX Desktop

Tag Group File ........................................... 801

Environment protection ................................1063

Text............................................................. 124

Environment Protection

Editing a cell ................................................... 823

Implementing ..............................................213

editing bitmaps ............................................... 463

Environment Protection ..................................231

editing links .................................................... 482

Error Handling

editing text ...................................................... 462

Understanding.............................................674

EGU limits ..........................................................5

Error-Handling ...............................................653

EGU Tag Limits

Examine Data

Fetching ...................................................... 131


enable ........................................................... 1054
Enable/Disable Alarms command ................ 1032
Enable/Disable Horn command .................... 1032

Using Zoom ................................................888


Examining
Data ............................................................883
example

ENABLEALARM .......................................... 718

opening FIX Desktop picture from iFIX ......21

ENABLEALARM command . 254, 295, 528, 559

opening iFIX picture from FIX Desktop


View .......................................................... 7

Endpoint
Line............................................................. 143
endpoints
moving ........................................................ 478
Entering
Data Collection Rate................................... 840
Database Tag .............................................. 160
Deadband Limit .......................................... 843
Low............................................................. 866
Pen Group Name ........................................ 864
Qualifier Block ........................................... 839
Symbols into Recipe Builder ...................... 815
Tag Name ................................................... 187
Time Group Name ...................................... 871
Undefined Tagnames .................................. 125

Excel ...............................................................902
executable .......................................................628
EXECUTE .............................. 255, 528, 561, 753
Existing Command Language Scripts
Importing ....................................................669
Exit command ............... 528, 561, 818, 930, 1030
EXIT command ......................................255, 310
Exit method ......................................................42
Exiting
Draw .............................................................77
Historical Assign Program..........................846
Historical Display Program ........................899
Macro Editor...............................................509
Tag Group Editor ........................................798
View ...........................................................993

Entering tag group symbols in Draw and


Recipe ......................................................... 824

Export command.............................................930

Environment menu option .............................. 333

Exporting

environment protection

Bitmaps .......................................................212

changes, described ........................................ 50

Chart ...........................................................898

message box, Draw....................................... 50

Exporting Bitmaps ..........................................211

tab in User Preferences ................................. 50

expression .......................................................630

environment protection ........................... 492, 627

Expressions .....................................................687

1080

iFIX with FIX Desktop

filter ..............................................................1056

failover

Filter By dialog box ......................................1042

changes described ......................................... 50


Fetching

Find Files ..........................................................62


FINDLINK .....................................................742

EGU Tag Limits ......................................... 131

FINDLINK command ............. 258, 306, 531, 582

Field Select dialog box ................................. 1040

Fit In Window command ..............................1031

field selection ................................................. 380

fit to window...................................................497

file................................................................... 627

FIX

file access commands ..................................... 571

commands ...................................................... 9

File Access commands ................................... 312

nickname........................................................ 9

file attribute .................................................... 628

FIX..................................................................... 9

file edit commands ......................................... 573

FIX Desktop Software Programs ....................996

File Edit commands ........................................ 313

FIX32

file handle ....................................................... 628

EDA and HDA programs..............................53

file information commands ............................. 574

electronic book .............................................56

File Information commands............................ 315

Tutorial Mode ...............................................49

File menu ...................... 327, 605, 816, 928, 1028

unavailable features ......................................49

File Select dialog box ..................................... 380

FIXAppTitle property .......................................30

FILECLOSE command .......... 255, 312, 529, 571

FixDrawApp object ..........................................29

FILELIST ....................................................... 766

FixHtdApp object .............................................30

FILELIST command .............. 256, 316, 529, 575

FixViewApp object...........................................29

FILEOPEN ..................................................... 758

Flip Horizontal command ...............................493

FILEOPEN command ............ 256, 312, 530, 572

Flip Horizontal menu option ...........................341

FILEPRINT .................................................... 767

Flip Vertical command ...................................493

FILEPRINT command ........... 256, 316, 530, 576

Flip Vertical menu option ...............................341

FILEREAD command ............ 257, 312, 530, 572

flipping

Files

defined ........................................................493

Accessing ................................................... 661

Flipping...........................................................114

Manipulating .............................................. 757

Flow Control commands ........................291, 576

Files into Draw


Importing .................................................... 210

Flow Control Commands ................................709


font

FILEWRITE ................................................... 761

defined ........................................................493

FILEWRITE command .......... 257, 313, 531, 572

font..................................................................497

fill ................................................................... 476

Font menu .......................................................347

Fill Patterns..................................................... 106

Font! menu..............................................818, 937

fill style ........................................................... 450

Font! Menu .....................................................607

Fill Style menu option .................................... 334

fonts ................................................................462

1081

iFIX with FIX Desktop

Fonts

grouped objects
defined ........................................................493

Applying ..................................................... 123


Formatting

Grouped Objects
Rotating ......................................................147

Line Properties ........................................... 187


Numeric Data ............................................. 161

Grouping

Text Data .................................................... 162

Dynamic Objects ........................................229

Trend Lines................................................. 182

Links ...........................................................158

Full menu option ............................................ 338

Objects ........................................................120

Functions ........................................................ 685

Groups ....................................................124, 212

Group's Node
Replacing ....................................................132

GetHistory method ........................................... 43


GETVAL ........................................................ 727

guidelines

GETVAL command ............... 258, 299, 531, 566

estimating window percentages ....................13

glossary......................................... 623, 983, 1061

WSPROXY, using ......................................... 9

Glossary .......................................................... 825

Glossary menu option ..................................... 485

handle .............................................................628

GOTO ............................................................. 710

handles

GOTO command .................... 259, 292, 532, 577

defined ........................................................493

Graphic Objects .............................................. 102

header .............................................................984

grid

Header Item Configuration dialog box ...........958

defined ........................................................ 493

help ............................................... 607, 937, 1035

grid ......................................................... 382, 987

Help menu .................... 347, 607, 818, 937, 1035

Grid

Help topics menu option .................................347

Using .......................................................... 116


Grid dialog box............................................... 382
Grid Lines

Hierarchy
Developing ...................................................63
High Limit Values

Adding ........................................................ 892

Trending .....................................................866

Grid menu option............................................ 343

high mode .......................................................987

Grid Settings ................................................... 117

Histogram chart ............................................1057

Group command ............................................. 493

Histogram Chart Configuration dialog box ....384

Group Functions

Histogram Chart Link ..................... 188, 189, 190

Using .......................................................... 121


Group menu option ......................................... 340
Group Objects
Editing ........................................................ 122
Grouped Data Links
Moving ....................................................... 159

1082

Histogram charts .............................................384


Histogram Pens
Configuring.................................................190
Histograms
Changing...................................................1019

iFIX with FIX Desktop

Historgram Chart Link


Adding ........................................................ 188
Historical Assign

horizontal grid ................................................987


Horizontal Grid command ..............................934
horizontal position ..........................................388

Starting ....................................................... 837

Horizontal Position dialog box .......................388

Historical Assign menu option ....................... 346

Horizontal Spacing menu option ....................341

Historical Assign Program

Horn Control .................................................1023

Exiting ........................................................ 846


Historical Collect
Starting ....................................................... 847
Historical Data
Displaying .................................................. 874
Historical Data Pen
Defining ...................................................... 864
Historical Display

HTD ................................................................... 3
I
I-Beam ............................................................493
identifier column.............................................827
IF 711
IF command ............................ 259, 292, 532, 577
IF expression ..................................................630
iFIX

Starting ....................................................... 851

program group ............................................... 3

Historical Display ................................. 789, 1047

WorkSpace Tree ............................................ 3

Historical Display Charts

Implementing

Creating ...................................................... 849

Environment Protection ..............................213

Historical Display command ........................ 1034

Import Lab Data command .............................929

Historical Display command line parameters . 629

Import Lab Data option ..................................... 5

Historical Display menu option ...................... 346

Import Wizard

Historical Display Program

Using ..........................................................210

Exiting ........................................................ 899

Import Wizard ................................................330

Starting ....................................................... 875

importing

Historical Files
Purging ....................................................... 845

Proficy Historian toolbar ............................... 6


Importing

historical pen .................................................. 966

ADF File .....................................................210

Historical Trending

Bitmaps through .........................................211

Example ...................................................... 831

Dynamos .....................................................204

Introducing ................................................. 829

Existing Command Language Scripts.........669

Historical Trending Works ............................. 829

Files into Draw ...........................................210

History Points ................................................. 192

Lab Data .....................................................904

Horizontal

Importing ........................................................904

Applying ..................................................... 150

Importing Data ................................................904

Using .......................................................... 119

importing graphics ..........................................465

horizontal fill .................................................. 386

importing lab data ...........................................978

Horizontal Fill dialog box .............................. 386

1083

iFIX with FIX Desktop

Incorporating
Security Features ........................................ 747

keyboard ....................................... 607, 938, 1047


Keyboard

Tag Groups ................................................. 658

Using ........................................................1022

Index ............................................................... 649

Keyboard ........................................................819

Information Commands .................................. 765

Keyboard menu option ...................................348

information link

keyboard shortcuts ........................................1035

defined ........................................................ 494

Keystroke Assignment
Defining ......................................................507

Information Links
Creating ...................................................... 159

Information Links ......................................... 1009

lab data........................................................5, 976

input dynamics

Lab Data

defined ........................................................ 494


Input Dynamics

Displaying...................................................905
Importing ....................................................904

Configuring ................................................ 218

Lab Data .........................................................904

input properties ............................................... 478

lab data files ....................................................977

INSERT .......................................................... 774

Lab Data Files

Insert command .............................................. 606

Creating ..............................................901, 902

INSERT command ................................. 260, 319

lab data marker ...............................................988

Insertion cursor

Lab Data Marker dialog box ...........................959

defined ........................................................ 494


Integration Toolkit programs ............................ 53
interval ............................................................ 987
Introducing
Command Language ................................... 639
Historical Trending ..................................... 829

lab data pen .............................................966, 977


Lab Data Pen
Defining ......................................................905
Lab File Using
Creating ......................................................902
Large Pictures

Macro Editor............................................... 503

Developing ...................................................65

Tag Group Editor........................................ 793

Large Pictures .................................................999

Introduction
Draw Application ......................................... 59
Link Types .................................................. 154
Invoking
Command Line Parameters ........................ 877

Last command ..............................................1030


Last Opened Picture
Displaying.................................................1001
layout ..............................................................827
Layout

Item Availability............................................. 996

Developing ...................................................66

Item Selection Configuration dialog box........ 390

layout file ......................................................1051

item selection data entry ................................. 390

Learning

About Recipes ............................................812

Key Selected dialog box ................................. 610

Basics............................................................75

1084

iFIX with FIX Desktop

legend ............................................................. 988

LISTTABLES.................................................774

Legend

LISTTABLES command ........ 261, 321, 534, 592

Configuring ................................ 180, 190, 194

Loading

Modifying ................................................... 897

Tag Groups into Recipes ............................815

Removing ................................................... 893

LOADKMX ....................................................735

Legend command ........................................... 932

LOADKMX command ........... 262, 303, 535, 585

line .................................................................. 447

locating values ................................................973

Line

Logging

Endpoint ..................................................... 143

Commands ..................................................748

Line menu option............................................ 335

logging commands ..........................................579

Line Properties

Logging commands ........................................308

Formatting .................................................. 187

logical node name .............................................50

line style ......................................................... 450

Login ............................................................1047

Line Style dialog box...................................... 959

LOGIN ............................................................775

line style marker ............................................. 988

login account

Line Style menu option .................................. 335

SQL ....................................................634, 989

Line Styles ...................................................... 106

Login command ............................................1034

Link command ................................................ 933

LOGIN command ................... 263, 321, 536, 592

Link Controllable

Login menu option..........................................347

Making ....................................................... 160


Link Information
Copying .................................................... 1025

LOGOUT ........................................................776
LOGOUT command ............... 264, 322, 537, 593
Low

Link menu option ........................................... 336


Link Types
Introduction ................................................ 154
link variables .................................................. 600

Entering ......................................................866
low mode ........................................................988
M
macro

linking charts to an anchored chart ................. 973

defined ........................................................494

links ........................................................ 456, 827

macro ......................................................618, 827

Links

Macro Editor

Anchored Chart .......................................... 891

Accessing....................................................505

Changing .................................................... 158

Exiting ........................................................509

Grouping..................................................... 158

Introducing .................................................503

Manipulating .............................................. 158

Macro Editor Manual......................................503

Understanding ............................................ 154

Macro Editor menu option ..............................346

Links ....................................... 156, 158, 652, 808

macro file

listbox, example................................................ 44

defined ........................................................495

ListOpenChildren method ................................ 44

macro file ........................................................617

1085

iFIX with FIX Desktop

Macro File

manual alarm deletion ..................................1055

Deleting ...................................................... 511

manual mode ................................................1064

Macro File ...................................................... 510

Manual Mode................................................1023

Macro Types

Manual mode command ...............................1033

Understanding ............................................ 503


Macros

marker .............................................................988
Masking ..........................................................112

Adding ........................................................ 510

Master .............................................................812

Associating ................................................. 509

mathematic expression ...................................630

Defining ...................................................... 504

Maximize method .............................................45

Deleting ...................................................... 511

Maximizing

Managing .................................................... 510

Draw .............................................................76

Saving ......................................................... 508

MENU ............................................................751

Macros Under
Saving ......................................................... 509
Making

menu bar .........................................................637


MENU command .................... 264, 309, 537, 563
menu commands ...........................................1050

Chart Modifiable ................ 181, 186, 190, 194

menu commands, differences ...........................55

Link Controllable ....................................... 160

MESSAGE command ............. 265, 307, 538, 580

Object Controllable .................................... 132

messages .......................................................1056

Objects Appear ........................................... 151

Messaging

managing

Commands ..................................................744

FIX Desktop displays from iFIX .................. 20

messaging commands .....................................580

iFIX pictures from View ................................7

Messaging commands.....................................306

Managing

methods

Command Language Scripts ....................... 707

ChildBringToFront .......................................32

Macros ........................................................ 510

ChildClose ....................................................32

Operator Displays ....................................... 730

ChildGetTitle ................................................33

Manipulating

ChildOpen.....................................................34

Bitmap Graphics ......................................... 211

ChildReplace ................................................38

Files ............................................................ 757

ChildSetPosition ...........................................39

Links ........................................................... 158

ChildSetSize .................................................40

Objects ........................................................ 113

ChildSetTitle.................................................41

Polygons ..................................................... 107

ClearHistory .................................................41

Push Buttons ............................................... 176

Exit ...............................................................42

Y Axis Labels ............................................. 886

GetHistory ....................................................43

manipulating Y axis labels ............................. 973

ListOpenChildren .........................................44

Manipulation Commands

Maximize ......................................................45

String .......................................................... 698

1086

Minimize.......................................................45

iFIX with FIX Desktop

Restore .......................................................... 46

Multi-Bar Trend link ......................................235

SetPosition .................................................... 46

Multi-Pen chart ...............................................396

SetSize .......................................................... 47

Multi-Pen Chart - Pen Configuration dialog


box ..............................................................396

migration
historical data .................................................6
Minimize method ............................................. 45
Mission Control menu option ......................... 347
modify chart ................................................... 968

Multi-Pen Chart Configuration dialog box .....398


Multi-Pen Trend chart ..................................1058
Multi-Pen Trend link ......................................235
Multiple Item Selection Data Entry
Configuring.................................................167

modify chart colors ......................................... 969


modify legend ................................................. 970
modify time .................................................... 969
Modifying
Cache Picture Count ................................... 226

multiple picture search and replace ................401


Multiple Picture Search and Replace dialog
box ..............................................................401
multiple pictures ................................................ 9
Multiple Properties

Chart ........................................................... 894


Chart Display.............................................. 893
Chart Group ................................................ 854
Collection Group ........................................ 846
Color ........................................................... 137
Color By Alarm Threshold ......................... 137
Legend ........................................................ 897
Pen Group ................................................... 896
Picture Templates ......................................... 78
SQL Queries ............................................... 914
Time Group ................................................ 873
Ways ........................................................... 893
modifying pen................................................. 970
mouse ........................................................... 1048
move ............................................................... 478
Moving
Color Box ..................................................... 99
Grouped Data Links ................................... 159
Toolbox ........................................................ 95
Multi-Bar chart ............................................... 391
Multi-Bar Chart - Pen Configuration dialog
box .............................................................. 391
Multi-Bar Chart Configuration dialog box ..... 393
Multi-Bar Trend chart................................... 1058

Using One Prompt ......................................198


N
Naming
Data Link ....................................................170
Object .........................................................131
New Chart Group
Creating ......................................................896
New command ................................ 605, 817, 928
New dialog box...............................................402
new file ...........................................................402
New Macro
Creating ......................................................506
New menu option............................................327
new picture .....................................................455
New Pictures
Creating ........................................................77
New Tag Group File
Creating ......................................................796
Next
Using ........................................................1000
Next command..............................................1029
Next Pictures ....................................................85
nickname...............................................631, 1064
nickname in FIX ................................................ 9

1087

iFIX with FIX Desktop

No Legend command ..................................... 935

node

Object

tag ............................................................... 631

Naming .......................................................131

tag.field ....................................................... 631

Object .............................................................142

Node Select dialog box................................... 403

object movement commands ..........................582

node selection ................................................. 403

Object Movement commands .........................306

Node Time

Object Movement Commands ........................742

Displaying .................................................. 174


Node1
Selecting ..................................................... 839
NOTE ............................................................. 745

object name .....................................................631


Object-Oriented Graphics
Understanding...............................................61
objects

NOTE command ..................... 265, 307, 538, 580

creating .......................................................447

nudging

filling ..........................................................476

defined ........................................................ 495

handles ........................................................493

Nudging .......................................................... 114

manipulating ...............................................449

Number

moving ........................................................479

Defining ...................................................... 192

nudging .......................................................495

Displaying .......................................... 174, 175

rotating ........................................................480

Numeric Configuration dialog box ................. 404

scaling .........................................................481

numeric data ................................................... 404

selecting ......................................................451

Numeric Data

visibility ......................................................477

Formatting .................................................. 161

Objects

numeric data entry .......................................... 404

Aligning ......................................................116

Numeric Data Entry

Coloring ......................................................105

Configuring ................................................ 163

Creating ......................................................103

Numeric Data Format dialog box ................... 404

Grouping .....................................................120

Numeric Entry Dialog Box

Manipulating...............................................113

Using ........................................................ 1010

Selecting .....................................................108

Numeric Manipulation commands ......... 287, 581

Objects ............................ 98, 151, 201, 644, 1007

Numeric Manipulation Commands ................ 697

off scan .........................................................1060

Numeric Substitution ...................................... 652

Off Scan ........................................................1023

numeric value ................................................. 636

Off Scan command .......................................1033

numeric variable ............................................. 631

off scan status ...............................................1064

NUMTOSTR .......................................... 691, 692

OFFSCAN ......................................................722

NUMTOSTR (#CMDSTATUS Only)


command ............................ 266, 286, 539, 565

OFFSCAN command ............. 266, 297, 539, 564

NUMTOSTR command ......... 265, 286, 539, 565

1088

offset ...............................................................625
OLE client application ....................................... 7

iFIX with FIX Desktop

on scan .......................................................... 1060

Original Palette
Resetting .....................................................101

On Scan command ........................................ 1033


on scan status ................................................ 1065

Other Applications
Switching ......................................................88

On/Off Collection State .................................. 839


ONSCAN ....................................................... 723

Other iFIX

ONSCAN command ............... 266, 297, 540, 564

Switching ....................................................996

Open command..................... 605, 817, 928, 1029

Output Files ....................................................904

Open Dynamo Set dialog box......................... 405

oval .................................................................447

Open Layout command ................................ 1030

Overruns
Preventing ...................................................849

Open menu option .......................................... 328


Open Picture Files command .......................... 345

Open Picture Parameter ................................ 1027

Palettes

Open Set menu option .................................... 344

Saving .........................................................102

Open Tag Group File Parameter ................... 1028

PAN ................................................................740

OPENBDF command ............. 267, 302, 540, 585

PAN command ....................... 269, 305, 542, 587

OPENDIG ...................................................... 725

Paradym-31.......................................................49

OPENDIG command .............. 267, 298, 540, 570

Parameter Replacement Conventions .............678

opening

Parameter Replacement Guidelines ................679

FIX Desktop picture from iFIX, example..... 21

Parameter Syntax ............................................878

iFIX picture from FIX Desktop View,


example ......................................................7

parameters.......................................................985

Opening
Chart ........................................................... 877
Pictures ................................................... 73, 78
opening pictures ........................................... 1052
OPENLYT ...................................................... 737
OPENLYT command ............. 267, 304, 541, 586
OPENPIC command ......... 10, 268, 301, 541, 583
Operator Displays
Managing .................................................... 730
Operator Environment
Securing ........................................................ 62
Optimizing
Data Retrieval ............................................. 915
Picture Performance ................................... 224
Options menu ....................................... 933, 1034

partial substitution
defined ........................................................496
Paste Bitmap menu option ..............................332
Paste command ...............................................448
Paste From Set menu option ...........................344
Paste menu option ...........................................331
Pasting
Dynamos into Pictures ................................200
Pasting ............................................................115
pasting Dynamos ............................................468
path .................................................................981
pattern .............................................................631
PAUSE ...........................................................713
PAUSE command ................... 269, 293, 543, 578
pause, scan cycle...............................................55
pen ........................................................982, 1065

1089

iFIX with FIX Desktop

pen color

picture management commands

Multi-Bar chart ........................................... 391

FIX Desktop .................................................. 9

Multi-Pen chart ........................................... 396

iFIX automation interfaces ...........................28

Statistical charts .......................................... 405

iFIX subroutines ...........................................22

XY Plot chart .............................................. 441

picture management commands ...............22, 582

pen color ......................................................... 382

Picture Management commands .....................300

Pen Color

Picture Management Commands ............659, 731

Selecting ..................................................... 866

Picture menu option ........................................332

Pen Color selection box .................................. 959

picture movement commands .........................587

Pen command ................................................. 931

Picture Movement commands ........................304

Pen dialog box ................................................ 940

Picture Movement Commands .......................739

pen group ........................................................ 967

picture name ...................................................632

Pen Group

picture properties ............................................456

Defining ...................................................... 861

Picture Properties............................................809

Modifying ................................................... 896

Picture Refresh Rate

Saving ......................................................... 869


Pen Group Name
Entering ...................................................... 864
Pens
Selecting ..................................................... 182

Reducing .....................................................228
picture report
defined ........................................................497
picture reports .................................................456
Picture Reports

Trending ..................................................... 182

Creating ........................................................86

Pens ................................................................ 897

Picture Scripts .................................................641

picture

Picture Sizing

new ............................................................. 455

Changing.......................................................81

picture ........................................... 401, 618, 1062

Picture Sizing..................................................231

Picture............................................................... 84

picture templates

picture caching
defined ........................................................ 496

default ...........................................................54
Picture Templates

Picture command ............................................ 456

Creating ........................................................77

Picture dialog box ........................................... 407

Modifying .....................................................78

Picture File Types

Picture Types

Understanding .............................................. 77

Understanding...............................................66

Picture Files .................................................... 998

Picture Types ................................................1002

Picture Fit

picture variables ..............................................601

Configuring ................................................ 222

Pictures

Picture Fit to Window .................................... 497

Closing..........................................................80

picture layout ................................................ 1051

Deleting ........................................................80

1090

iFIX with FIX Desktop

Designing ..................................................... 63
Opening .................................................. 73, 78
Previewing .................................................... 80
Printing ..................................................... 1007
Properties ...................................................... 71
Refreshing .................................................... 88
Resolving .................................................... 227

preload pictures
defined ........................................................498
Preparing
Prebuilt Tag Pictures ..................................215
Preventing
Overruns .....................................................849
Previewing

Saving ........................................................... 78

Pictures .........................................................80

Zooming ....................................................... 87

previewing pictures.........................................457

Pictures ..................................................... 71, 509


pitch

Previous
Defining ........................................................85

defined ........................................................ 497

Previous command .......................................1029

place holder .................................................... 632

Previous Commands .....................................1000

plant ........................................................ 499, 633

Primary Legend command ..............................935

PLAYSOUND ................................................ 755

Print

PLAYSOUND command ....... 270, 310, 543, 561


point
defined ........................................................ 497
Point
Data ............................................................ 886
polygon

Using Command Line Parameters ..............882


Print command ......................................929, 1030
Print menu option ...........................................329
Printing
Chart ...........................................................898
Pictures .....................................................1007

defined ........................................................ 498

printing a chart ................................................972

polygon ........................................................... 447

printing pictures ....................................458, 1052

Polygon menu option ...................................... 336

PROCEDURE ................................................777

Polygons

PROCEDURE command ........ 270, 322, 543, 593

Manipulating .............................................. 107


polyline

Proficy Historian
browsing for tags ........................................... 7

defined ........................................................ 498

configuring as historian ................................. 6

polyline ........................................................... 447

HTD support .................................................. 5

Polyline menu option ...................................... 336

toolbar import ................................................ 6

Polylines ......................................................... 107

Proficy iFIX WorkSpace ................................214

Pop-Up Pictures ............................................ 1006

program block .................................................989

pop-up window ................................................. 19

program group ................................................... 3

Prebuilt Tag Pictures

PROMPT ........................................................746

Preparing .................................................... 215

PROMPT command ............... 271, 307, 544, 580

predefined variable ......................................... 632

prompts ...........................................................433

Predefined Variables ...................................... 703

1091

iFIX with FIX Desktop

properties

R-Bar ...................................... 184, 185, 186, 405

defined ........................................................ 498

R-BAR link .....................................................235

properties ................................................ 491, 627

recipe ..............................................................827

Properties

Recipe .............................................................791

Pictures ......................................................... 71

Recipe Builder ................................................813

property, FixAppTitle ....................................... 30

Recipe command line parameters ...................632

Purging

Recipe menu option ........................................346

Historical Files ........................................... 845

Recipes ...........................................................812

Purging Lab Data Files ................................... 905

rectangle .........................................................447

Push Button Configuration dialog box ........... 411

Rectangle menu option ...................................335

Push Button data entry.................................... 411

Reducing

Push Button Data Entry


Configuring ................................................ 166
Push Button Entry Dialog Box

Picture Refresh Rate ...................................228


Reference
Tagname .....................................................653

Using ........................................................ 1012

Refresh menu option .......................................338

Push Button link ............................................. 235

refresh rate ......................................................499

Push Button Link Configuration dialog box ... 411

Refreshing

Push Button Scripts ........................................ 641


Push Buttons
Manipulating .............................................. 176
Q

Pictures .........................................................88
Regions ...........................................................229
Relational Database
Accessing......................................................75

Qualifier Block
Entering ...................................................... 839
quick database tools .......................................... 53

Relational Database Data


Displaying...................................................675
Relational Database Value

QuickDraw command ................................... 1031

Displaying...................................................675

QuickView menu option................................. 337

relative command ...........................................633

quotes with WSPROXY .....................................7

Relative Command Syntax .............................788

Relative Commands ........................................680

RAMP............................................................. 728

remote historical display .................................981

RAMP command .................... 271, 299, 544, 567

remote historical paths ....................................... 5

Ramp Value Configuration dialog box ........... 412

Remote Nodes ................................................681

Ramp Value data entry ................................... 412

Replace

Ramp Value Data Entry


Configuring ................................................ 169
Ramp Value Dialog Box

Group's Node ..............................................132


Tagname .....................................................658
Replace ...............................................90, 91, 666

Using ........................................................ 1012

REPLACEPIC command . 17, 272, 302, 545, 584

range ............................................................. 1059

Replacing Substitutions ..................................802

1092

iFIX with FIX Desktop

Replacing Tagnames ........................................ 90

report ...................................................... 456, 828

SAC Cycles ....................................................174

Report command ............................................ 606

SAC Status Information

Report Generator ................................................5

Displaying...................................................174

Report menu option ........................................ 329

Sample Design Strategy..................................654

Reporting ........................................................ 824

Sample Import File .........................................205

Requiring

sample mode ...................................................989

Confirmation .............................................. 170

Save as command ...........................................817

reserved variables ........................................... 600

Save As command ..................................606, 929

Reset command .............................................. 933

Save As dialog box .........................................960

Resetting

Save As menu option ......................................328

Original Palette ........................................... 101

Save command ................................ 605, 817, 929

Reshape menu option ..................................... 342

Save Layout command .................................1030

resolve

Save menu option ...........................................328

defined ........................................................ 499

Saving

resolve ............................................................ 413

Chart Group ................................................873

Resolve dialog box ......................................... 413

Macros ........................................................508

RESOLVEVARS ........... 272, 286, 545, 570, 690

Macros Under .............................................509

resolving pictures ........................................... 458

Palettes........................................................102

Restore method ................................................. 46

Pen Group ...................................................869

Restoring

Pictures .........................................................78

Customized Palette ..................................... 101

Tag Group File ...........................................802

right mouse button .......................................... 452

Time Group ................................................873

Right Mouse Button

saving files ..............................................328, 619

Using .......................................................... 995

S-Bar ...............................................................405

right-click ..................................................... 1050

S-Bar Charts ................................... 184, 185, 186

rotate ............................................................... 480

scale ................................................................481

Rotating

Scale dialog box..............................................416

Grouped Objects ......................................... 147

scan cycle..........................................................55

Rotation dialog box ........................................ 414

scope ...............................................................636

ROUND .......................................................... 697

Screen .............................................................892

ROUND command ................. 272, 287, 546, 581

screen variables...............................................601

Rules ............................................................... 878

script

running iFIX and FIX Desktop applications ......3

defined ........................................................490

RUNTASK ..................................................... 756

script ............................................... 243, 625, 826

RUNTASK command ........ 7, 273, 311, 546, 562

Script Commands
Adding ........................................................151

1093

iFIX with FIX Desktop

Script Execution Strategy

Pen Color ....................................................866

Developing ................................................. 640

Window Properties .......................................71

scripts ............................................................. 474

selecting objects..............................................493

SCU ............................................................ 9, 917

Selection List Dialog Box

Search ............................................................. 666

Using ........................................................1011

Search & Replace menu option ...................... 333

Selector menu option ......................................335

search and replace........................................... 418

Send to Back command ..................................495

Search and replace substitutions ..................... 824

Send to Back menu option ..............................339

search and replace tagnames........................... 452

Set Current command .....................................933

search and replace tagnames in multiple


pictures ....................................................... 460

SETAUTO command ............. 275, 295, 549, 560

Securing
Operator Environment .................................. 62
View Environment...................................... 214
View Environment Using ........................... 215
Securing .......................................................... 215
Security Application ....................................... 215
security area .................................................... 633
Security Area, defined .................................... 499
security configuration
changes described ......................................... 51
Security Configurator ..................................... 215
Security Features
Incorporating .............................................. 747
security variables ............................................ 602
SELECT ......................................................... 778
Select All menu option ................................... 332
Select Chart dialog box .................................. 960
Select command ............................................. 932
SELECT command ................. 274, 323, 547, 594
Selecting
Block Tagnames ......................................... 843
Command Parameters ................................. 671
Display Mode ............................................. 867
Node1 ......................................................... 839
Objects ........................................................ 108
Pen .............................................................. 182

1094

SetDrawToFront subroutine .............................27


SetHtdToFront subroutine ................................28
SETMANL .....................................................720
SETMANL command ............. 276, 296, 549, 560
SETNICKNAME............................................734
SETNICKNAME command ... 276, 303, 549, 584
SetPosition method ...........................................46
SetSize method .................................................47
Setting
Background Color.........................................83
Historical Data File Length ........................844
Refresh Rate .................................................83
Width ............................................................82
Settings .............................................................81
SETVAL .........................................................729
SETVAL command ................ 276, 300, 550, 567
SetViewToFront subroutine..............................27
shadow ............................................................633
Shift Key Macros ............................................508
shifting chart data ...........................................974
Showing
Y Axis Labels .............................................865
Silence Horn command ................................1032
sizing pictures ...................................................13
Slider Configuration dialog box .....................421
Slider data entry ..............................................421

iFIX with FIX Desktop

Slider Data Entry


Configuring ................................................ 164
Slider Entry Dialog Box
Using ........................................................ 1011
Snap To Grid menu option ............................. 343

SQL Login Account


Configuring.................................................917
SQL pen ..........................................................980
SQL queries ....................................................980
SQL Queries

sort ................................................................ 1056

Editing ........................................................915

Sort Control dialog box ................................ 1043

Modifying ...................................................914

Sort Keys dialog box ............................ 421, 1043

SQL Query

sorting alarms ................................................. 421

Defining ......................................................912

Sound command ........................................... 1034

SQL Query dialog box ....................................943

sound file ........................................................ 634

SQL Query Manually

Sound Support
Understanding .......................................... 1026
Sound Support .............................................. 1025
special purpose link
defined ........................................................ 499
Special Purpose Links
Creating ...................................................... 171
Specifying

Building ......................................................917
SQL Startup Script
Creating ......................................................674
SQL Startup Scripts
Adding ..........................................................85
SQL Tables
Creating ......................................................911
stacking

Picture Type ................................................. 70

defined ........................................................499

Tag Names .................................................. 181

Stacking ..........................................................110

Which Palette ............................................. 101

Stamper

SQL ........................................................ 482, 634

defined ........................................................500

SQL Command Configurator ................. 237, 620

Standard Pictures ..........................................1004

SQL Command Syntax

Start Date

Understanding ............................................ 681

Defining ......................................................871

SQL Command Syntax ................................... 682

Start Time .......................................................871

SQL commands ...................................... 317, 588

Starting

SQL Commands

Draw .............................................................75

Building ...................................................... 670

Historical Assign ........................................837

SQL Commands ............................................. 770

Historical Collect ........................................847

SQL data ......................................................... 981

Historical Display .......................................851

SQL Data

Historical Display Program ........................875

Displaying .................................................. 918


SQL Data Pen
Defining ...................................................... 919

View ...........................................................992
statistical chart ..............................................1058
Statistical Chart Configuration dialog box .....426

SQL login account .................................. 634, 989

1095

iFIX with FIX Desktop

Statistical Chart Links


Creating ...................................................... 183

Subpictures .......................................................68
subroutines

Statistical charts .............................................. 426

described .......................................................22

Statistical Charts

SetDrawToFront ...........................................27

Changing .................................................. 1019

SetHtdToFront ..............................................28

Statistical Pen Configuration dialog box ........ 405

SetViewToFront ...........................................27

Statistical Pens

ViewCLOSEPIC...........................................26

Configuring ................................................ 186

ViewOPENPIC .............................................22

Statistical Pens ................................................ 187

ViewREPLACEPIC......................................25

Stick ................................................................ 219

subroutines ........................................................25

Stick Sound Support ....................................... 220

substitution

Stopping

defined ........................................................500

Collection ................................................... 849

substitution .............................................635, 828

Stopping Collection ........................................ 846

Substitution ...................................................1066

stored procedure ............................................. 634

Substitutions

STRCAT......................................................... 698

Defining ......................................................800

STRCAT command ................ 277, 288, 550, 597

Suppression Parameter .................................1027

STRCMP ........................................................ 699

Suspending

STRCMP command................ 277, 289, 551, 597


Stretching

Collection Group ........................................845


Switching

Text Object ................................................. 123

Between Auto ...........................................1023

Stretching ....................................................... 114

Between Picture Windows ............................88

string ............................................................... 625

Between Pictures ......................................1000

String

Other Applications ........................................88

Manipulation Commands ........................... 698

Other iFIX ..................................................996

string manipulation commands ....................... 597

SWITCHKMX ...............................................736

String Manipulation commands...................... 288

SWITCHKMX command ....... 280, 304, 553, 586

string variable ................................................. 634

symbol ....................................................636, 828

STRLEN ......................................................... 700

Symbols into Recipe Builder

STRLEN command ................ 278, 289, 551, 598

Entering ......................................................815

STRSTR command ................. 278, 290, 552, 598

Synchronize command ...................................933

STRTOK ........................................................ 702

Synchronize Time ...........................................891

STRTOK command ................ 279, 290, 552, 599

synchronizing charts .......................................974

STRTONUM .................................................. 693

syntax..............................................................985

STRTONUM command ......... 279, 287, 553, 566

System Configurator menu option ..................346

Style ................................................................ 866

System Information Link

Styling Objects ............................................... 104

1096

Adding ........................................................173

iFIX with FIX Desktop

System Information Link dialog box .............. 428

Tag Groups

System menu .................................................. 500

Incorporating ..............................................658

System Menu

Understanding...............................................72

Disabling ...................................................... 84
system variables ............................................. 602

Tag Groups into Recipes


Loading .......................................................815

Tag Name Does Not Exist message box ...........53

table variable .................................................. 635

Tag Name Ranges

Table Variable ................................................ 649


Table Variables

Defining ......................................................181
Tag Names

Declaring .................................................... 648

Entering ......................................................187

Table Variables............................................... 661

Specifying ...................................................181

tag ................................................................. 1064

Tag Select dialog box ...........................431, 1044

tag group

tag selection ....................................................431

defined ........................................................ 500

Tag Status command ....................................1033

tag group ....................................... 458, 828, 1066

Tag Status dialog box ...................................1045

Tag Group

tag status picture ...................................636, 1051

Defining ...................................................... 799


Tag Group Automatically
Applying ....................................................... 73
Tag Group Editor

tagname......................................... 452, 828, 1058


Tagname
Reference ....................................................653
Replacing ....................................................658

Exiting ........................................................ 798

Tagnames ......................................................1016

Introducing ................................................. 793

tags

Using .......................................................... 796

browsing, Proficy Historian ........................... 7

Tag Group Editor Layout ............................... 797

scripts, in.......................................................55

Tag Group Editor Manual .............................. 793


Tag Group Editor menu option ....................... 346
tag group file .................................................. 636
Tag Group File

Taking
Chain On ...................................................1023
template
defined ........................................................501

Deleting ...................................................... 803

template ..........................................................455

Editing ........................................................ 801

testing pictures ................................................457

Saving ......................................................... 802

text

tag group report .............................................. 828

adding .........................................................462

Tag Group Reports ......................................... 803

editing .........................................................462

tag group symbol

fonts ............................................................462

defined ........................................................ 500

stretching ....................................................463

tag group symbol .......................... 636, 828, 1066

text ..................................................................493

1097

iFIX with FIX Desktop

Text
Coloring ...................................................... 124

time shift buttons ............................................989


Time Shift Buttons

Editing ........................................................ 124

Using ..........................................................886

Text................................................................. 122

Time Span .......................................................871

Text Data

Time Value

Formatting .................................................. 162

Determining ................................................886

Text Editor...................................................... 902

time variables..................................................603

text format ...................................................... 431

Timed Basis

Text Format dialog box .................................. 431

Using Values ..............................................676

Text menu option............................................ 336

tips, sizing pictures ...........................................13

Text Object

Title Bar

Changing .................................................... 122

Disabling.......................................................84

Creating ...................................................... 122

TOGGLEALARM ..........................................718

Stretching ................................................... 123

TOGGLEALM command ....... 280, 295, 554, 559

Text Objects ................................................. 1008

TOGGLEDIG .................................................726

Text Parameters .............................................. 658

TOGGLEDIG command ........ 281, 298, 554, 571

The Histogram Chart - Pen Configuration


Dialog Box ................................................. 382

TOGGLEMANL ............................................721

threshold ......................................................... 474


Thresholds
Blinking ...................................................... 138
Deleting ...................................................... 139
tile command ................................................ 1035
tiling windows .............................................. 1035
Time
Adding ........................................................ 171
Time command ............................................... 931
time cursor ...................................................... 989
time group....................................................... 968
Time Group
Defining ...................................................... 869
Modifying ................................................... 873
Saving ......................................................... 873
Time Group .................................................... 897
Time Group dialog box .................................. 946
Time Group Name
Entering ...................................................... 871

1098

TOGGLEMANL command .... 281, 296, 554, 560


TOGGLESCAN .............................................724
TOGGLESCAN command ..... 281, 297, 555, 564
Tool Box
defined ........................................................501
setup ............................................................432
Tool Box .........................................................453
Tool Box Configuration dialog box ................432
Tool Box menu option ....................................334
Tool Box Setup menu option ..........................336
Toolbox
Customizing ..................................................94
Moving .........................................................95
Using ............................................................93
Toolbox Buttons
Arranging ......................................................95
Toolbox command ..........................................934
Toolbox dialog box.........................................960
Tools menu .....................................................333

iFIX with FIX Desktop

Tooltips

Dynamic Movement ...................................141

Disabling ...................................................... 97

Dynamic Rotation .......................................146

ToolTips ......................................................... 501

Dynamic Scaling.........................................144

touch screen .................................................. 1049

Error Handling ............................................674

Touch Screens ................................................ 993

Input Properties ..........................................142

trend area ........................................................ 989

Links ...........................................................154

Trend chart ..................................................... 393

Macro Types ...............................................503

Trend Chart Links

Object-Oriented Graphics .............................61

Creating ...................................................... 177

Picture File Types .........................................77

Trend Charts ................................................. 1017

Picture Types ................................................66

trend line ......................................................... 990

Sound Support ..........................................1026

Trend Line Markers

SQL Command Syntax ...............................681

Configuring ................................................ 183


Trend Lines
Formatting .................................................. 182
Trend Link
Adding ........................................................ 177
Trending

Tag Groups ...................................................72


Undo command ..............................................930
Undo menu option ..........................................331
Undoing
Changes ......................................................897
Undoing ..........................................................114

High Limit Values ...................................... 866

Ungroup command .........................................493

Pens ............................................................ 182

Ungroup menu option .....................................340

Trending ................................................. 834, 843

Unlink command ............................................933

type ................................................................. 462

UPDATE ........................................................778

Typical Dynamo Scenario .............................. 202

UPDATE command ................ 282, 324, 555, 595

Updating

Unanchor command........................................ 933


unavailable
FIX32 features .............................................. 49
Undefined Tagnames
Entering ...................................................... 125
Understanding

Chart ...........................................................890
updating a chart ..............................................975
Use Predefined Variables ...............................658
User Defined Macros ......................................504
User Preferences, Environment Protection .......50
user prompts ...................................................433

Areas........................................................... 884

User Prompts for the Dynamo dialog box ......433

Color By Alarm .......................................... 135

user-defined header item.................................963

Color By Current Value.............................. 134

user-defined macro .................................495, 618

Color Thresholds ........................................ 134

Using

Command Syntax ....................................... 677

Align Commands ........................................117

Draw Security ............................................... 62

Alphanumeric Keypad Entry Dialog Box .1013

Dynamic Filling .......................................... 148

Color Box .....................................................97

1099

iFIX with FIX Desktop

Command Buttons ...................................... 663

Using Graphic ...............................................1008

Command Language Editor ........................ 662

Using Literal Strings .......................................687

Data Entry Dialog Box ............................. 1010

Using Macros....................................................71

Draw Cursors ................................................ 89

Using Mathematic Expressions ......................685

Draw Tools ................................................... 92

Using Mice .....................................................993

Grid............................................................. 116

Using Numeric................................................661

Group Functions ......................................... 121

Using One Prompt

Horizontal ................................................... 119

Multiple Properties .....................................198

Import Wizard ............................................ 210

Using Partial Substitution ...............................199

Keyboard .................................................. 1022

Using Picture Caching ....................................225

Next .......................................................... 1000

Using Predefined Variables ............................657

Numeric Entry Dialog Box ....................... 1010

Using Push Buttons ......................................1008

Push Button Entry Dialog Box ................. 1012

Using Relative Commands .............................646

Ramp Value Dialog Box .......................... 1012

Using Search ...............................................90, 91

Right Mouse Button ................................... 995

Using Sound Support ....................................1026

Selection List Dialog Box ........................ 1011

Using System Information Links ..................1013

Send ............................................................ 111

Using Tag Groups .. 130, 156, 659, 806, 807, 808,


809, 810, 812, 813

Slider Entry Dialog Box ........................... 1011


Tag Group Editor........................................ 796
Time Shift Buttons ..................................... 886
Toolbox ........................................................ 93
Variable ...................................................... 649
Using .............................................................. 651

Using Tag Status Pictures .............................1024


Using Templates ...............................................64
Using Text Objects .........................................124
using the Import Wizard .................................464
Using Values
Timed Basis ................................................676

Using Bitmaps ................................................ 212


Using C Language Format Specifications ...... 693
Using Click ..................................................... 219
Using Command Line Parameters

using variables ................................................459


Using Variables ...................... 131, 156, 647, 652
Using Zoom
Examine Data .............................................888

Print ............................................................ 882


Using Command Line Parameters .................. 880
Using Data Links .......................................... 1009
Using Dynamic Coloring ................................ 162
Using Dynamic Properties .............. 130, 152, 158
Using Dynamo Prompts ................................. 200
Using Environment Protection ....................... 215
Using Exception-Based Processing ................ 229
Using Fast Update Designs .............................. 65
Using File Servers .......................................... 925

1100

Utilities menu .................................................935


V
Valid Operators ..............................................685
value ...............................................................636
Value Threshold .............................................137
variable ................................... 285, 519, 569, 600
Variable
Creating ......................................................648
Using ..........................................................649

iFIX with FIX Desktop

Variable .................................................. 652, 653

View Layouts
Creating ......................................................229

variable scope ................................................. 636


Variable Scope

View Manual ..................................................991

Defining ...................................................... 650

View menu....................................................1030

variables ................................................. 459, 600

View menu bar commands .............................637

Variables

View menu option ..........................................336

Declare ....................................................... 654

View Title Bar


Configuring.................................................221

Variables................................................. 680, 687


variables and WSPROXY ..................................9

VIEW.INI file

VBA ................................................................. 20

defined ........................................................502

vertical fill ...................................................... 435

VIEW.INI file ...............................................1066

Vertical Fill dialog box ................................... 435

ViewCLOSEPIC subroutine .............................26

Vertical Fills ................................................... 150

ViewOPENPIC subroutine ...............................22

vertical grid..................................................... 987

ViewREPLACEPIC subroutine ........................25

Vertical Grid command .................................. 934

visibility ..........................................................477

vertical position .............................................. 437

Visibility dialog box .......................................439

Vertical Position dialog box ........................... 437

Vertical Spacing Commands .......................... 119

Ways

Vertical Spacing menu option ........................ 341


View

Modify ........................................................893
what's new in iFIX with FIX Desktop ............... 3

Exiting ........................................................ 993

wildcard ........................................ 488, 826, 1062

Starting ....................................................... 992

Wildcard ...........................................................91

View ..................................... 3, 73, 792, 809, 997

Window ..........................................................222

View Basics .................................................... 991

Window menu .............................. 345, 936, 1034

View Color Palette

Window Properties

Configuring ................................................ 223

Selecting .......................................................71

VIEW command ..................... 283, 317, 556, 576

WindowName property ..................................... 9

View command line parameters ..................... 637

Windows .......................................................1025

View Environment

Windows XP ...................................................... 4

Defining ...................................................... 213


Securing ...................................................... 214
View Environment Using
Securing ...................................................... 215

Working
With ............................................................124
WorkSpace tree.................................................. 3
WSPROXY

View Environment Using ............................... 215

CLOSEPIC command ...................................16

View Features ................................................. 992

described ........................................................ 7

View Initialization File

guidelines ....................................................... 9

Configuring ................................................ 217

OPENPIC command .....................................10

1101

iFIX with FIX Desktop

REPLACEPIC command ............................. 17

sizing pictures ............................................... 13

Y axis ............................................ 357, 990, 1059

sizing pictures example ................................ 15

Y Axis ..................................... 179, 185, 188, 192

Y Axis Details

Defining ......................................................868
Configuring ........................ 179, 185, 188, 192

Y Axis dialog box ...........................................962

X 179

Y axis label ...................................................1067

X axis...................................................... 357, 990

Y axis labels ...................................................973

X Axis Details

Y Axis Labels

Defining ...................................................... 873

Manipulating...............................................886

X Axis dialog box........................................... 961

Showing ......................................................865

X vs. Y Chart - Pen Configuration dialog


box .............................................................. 441
X vs. Y Chart Configuration dialog box ......... 443
X-Bar
Adding ........................................................ 184
R-Bar
S-Bar....................................................... 426
X-Bar .............................................. 185, 186, 405
XY Plot chart ........................................ 441, 1058
XY Plot Chart Link
Adding ........................................................ 191
XY Plot Charts
Creating ...................................................... 191
XY Plot Pens
Configuring ................................................ 194
XY Plots
Changing .................................................. 1019

1102

Z
zoom ...............................................................976
ZOOM ............................................................743
Zoom command ..............................................932
ZOOM command .................... 283, 306, 557, 582
Zoom In command........................................1031
Zoom In menu option .....................................337
Zoom Out command .....................................1031
Zoom Out menu option...................................337
Zoom To command ......................................1052
Zoom To menu option
asking
defined ....................................................495
Zoom To menu option ....................................337
Zooming
Pictures .........................................................87

Vous aimerez peut-être aussi