Académique Documents
Professionnel Documents
Culture Documents
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.
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
iv
vi
vii
viii
ix
xi
xii
xiii
xiv
xv
xvi
xvii
xviii
xix
xx
xxi
xxii
xxiii
xxiv
xxv
xxvi
xxvii
xxviii
xxix
xxx
xxxi
Additionally, if you have the FIX Desktop option installed, you can access the following manuals:
Draw 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.
Use iFIX Supported Operating Systems with Draw, View, and HTD
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.
For detailed instructions on configuring LAN Redundancy in iFIX, refer to the LAN Redundancy ebook in the iFIX Electronic Books.
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.
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.
Start iFIX.
2.
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.
Start iFIX.
2.
3.
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.
6.
Click OK.
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.
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.
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:
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"
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
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
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
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"
13
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
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.
15
16
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"
17
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
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"
19
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.
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
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.
21
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
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
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
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
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
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
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
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.
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.
6.
7.
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
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
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
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
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
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
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
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
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
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
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
iYPos
34
Part
Description
iWidth
iHeight
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 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
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
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.
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
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
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
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
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
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
bstrChildName
String. The file name or nickname of the child that you want to resize. An
asterisk (*) indicates the currently active child.
iWidth
iHeight
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
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
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
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
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
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
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
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
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
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
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
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
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
Example
The following example opens a chart in the HTD application and then minimizes the HTD window.
Private Sub CommandButton1_Click()
45
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
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
Part
Description
object
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
iWidth
47
Part
Description
iHeight
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
49
50
Disable <Ctrl><Alt><Del>
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.
51
52
Database Builder,
Database Create
Database Manager
Draw
WorkSpace Configure
View
WorkSpace Runtime
Enable Ctrl-Alt-Del
CDA Feature 1 - 54
EDA Feature 1- 54
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 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
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.
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
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.
2.
This changes the default template to one optimized for SVGA monitors.
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.
55
Draw 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
Basics Manual
Understanding iFIX
Networking Manual
Security Manual
Recipe Manual
Creating Recipes
Using SQL
Using SQL
57
Draw Manual
The Draw Manual covers the following topics:
Designing Pictures
Understanding Links
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
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
Access to any point in any iFIX database on the network including the ability to add, modify,
and delete database tags directly from Draw.
Ability to quickly view and test your pictures in View from the Draw application.
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.
Custom push buttons that execute command language scripts (Push Button link object).
Multi-Pen Trend
Multi-Bar Trend
X-Bar
R-Bar
S-Bar
XY Plot
Histogram
Ability to convert simple shapes and application scripts into higher level re-usable graphic
wizards called Dynamo Objects.
Dynamic scale.
Dynamic rotate.
Dynamic visibility.
Pre-built and modifiable tag summary pictures, one for each tag type.
61
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.
Extension
Backup Extension
Default Directory
.ODF
.^DF
Pic
Template Files
.ODT
.^DT
Pic
Dynamo Sets
.SBL
.^BL
Pic
Custom Palettes
.PLT
.^LT
Pic
62
Exiting View.
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:
Using Templates
Using Dynamos
Developing a Layout
Alarm Counters
Using Variables
63
Directory
Plant-wide overview
System status
Alarm summary
Trend display
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
The Draw template feature lets you create a picture containing the elements that you want to appear on
64
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.
65
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.
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
67
68
69
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
Subpicture
Pop-up picture
To create a
Select the
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.
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.
71
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.
Depending on how the system and display development incorporates the command language, script
execution can come from a variety of sources:
Keystroke.
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.
72
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.
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.
Command language scripts. Refer to the Command Language Manual for more information.
73
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
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
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
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.
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.
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.
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
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.
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.
5.
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.
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.
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
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:
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.
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
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.
81
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
Screen Resolution
Default
No Menu Bar
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.
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.
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
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
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.
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.
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
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.
Picture-specific properties:
o
Name
Width
Height
Background color
Refresh rate
Key macro
Security area
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
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...
000
Black
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
Zoom in
Zoom Out
87
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.
2.
Select the top left corner of the zoom area and drag until the select box
encloses the area.
3.
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.
Database Manager
Macro Editor
Historical Assign
Historical Display
Recipe
Login
Alarm History
Mission Control
To start an application from Draw, select the application from the Apps menu or select the equivalent
88
Toolbox button.
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
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
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.
Example
The following example illustrates how to change all the Node1 tags in the picture from AI1 to AI2:
90
1.
2.
3.
4.
5.
Select Replace.
6.
Wildcard
Meaning
Search For
*:*
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
Node:*
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
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
92
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
Default Toolbox
2.
Disabling Tooltips
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.
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.
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.
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.
95
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
ToolboxVisible=FALSE
TopEdge=n
LeftEdge=n
RightEdge=n
BottomEdge=n
ToolTipsEnabled=TRUE
ToolTipsEnabled=FALSE
ButtonOrder=code_id
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
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.
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.
97
To color an object:
1.
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.
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.
2.
Click either the foreground, background, or edge color button on the color box.
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.
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.
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 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
2.
Change the statement values as required. Refer to the following table for a description of the
statements.
Statement
Description
ColorboxVisible=TRUE
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
RightEdge=n
BottomEdge=n
100
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.
2.
3.
2.
Select the customized palette file (.PLT) you want to use and click OK.
101
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.
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.
102
following sections:
Creating Objects
Selecting 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.
2.
Click and drag the mouse until the line is the desired length.
3.
1.
2.
3.
4.
1.
2.
3.
4.
103
To create
a...
Do this...
Polyline
1.
2.
3.
Polylines can be closed or open. Polylines do not have fill properties. For
example: Click at these points to draw this:
Polygon
1.
2.
3.
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:
Foreground color
Background color
Edge color
Edge style
Fill style
The following figure shows the color and style properties of an object.
104
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:
Background color button to change the background color of the object. The
background color only appears if you select a fill pattern.
105
4.
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.
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.
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.
106
1.
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.
2.
On the Toolbox, click Add Point. Or, on the Arrange menu, click Add Point.
3.
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.
2.
On the Toolbox, click Delete Point. Or, on the Arrange menu, click Delete Point.
3.
2.
On the Toolbox, click Reshape. Or, on the Arrange menu, click Reshape.
3.
107
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
Do this...
1.
Click empty space above and to the left of the objects and
hold down the mouse button.
2.
3.
4.
Use the Select All command on the Toolbox or from the Edit
menu
109
To...
Do this...
Hold down SHIFT and click the object you want to deselect.
Stacking
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.
110
Directions
1.
2.
After
111
Task
Directions
1.
2.
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
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
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
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
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.
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
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:
Grid Settings
116
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.
On the Arrange menu, make certain the Snap to Grid option is disabled.
117
2.
On the Toolbox, click the Align button. Or, on the Arrange menu, click Align. The Alignment
dialog box appears.
3.
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
Alignment
Description
Horizontal Center
Vertical Center
Vertical Spacing
The following figure shows an example of horizontal spacing.
119
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.
4.
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.
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
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.
You can have several layers of groups. The following figure displays four ovals.
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
Editing Text
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.
4.
Type the new text. Use BACKSPACE to erase text you just typed. Use ENTER to start a new
line.
122
Cut, copy, paste, delete, and duplicate the entire text object.
Change the design (font) of all the text characters in the object.
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.
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.
123
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.
2.
3.
4.
5.
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.
124
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.
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?
125
Dynamic Properties
126
Dynamic
Property
Description
See Section
Foreground
Color
Dynamically
Changing Object
Colors
Edge Color
Dynamically
Changing Object
Colors
Dynamic
Property
Description
See Section
Background
Color
Dynamically
Changing Object
Colors
Horizontal
Position
Dynamic
Movement
Properties
Vertical
Position
Dynamic
Movement
Properties
Endpoint 1
Position
Dynamic
Movement
Properties
Endpoint 2
Position
Dynamic
Movement
Properties
Scale
Dynamically
Scaling Objects
Rotate
Dynamically
Rotating Objects
Horizontal Fill
Percentage
Dynamically
Filling Objects
Vertical Fill
Percentage
Dynamically
Filling Objects
Commands on
Down
Adding Script
Commands to
Objects
127
Dynamic
Property
Description
See Section
Commands
While Down
Adding Script
Commands to
Objects
Commands on
Up
Adding Script
Commands to
Objects
Visible
Making Objects
Appear and
Disappear
Rectangle/Polygon
Oval
Foreground
Color
Edge Color
Background
Color
Horizontal
Position
Vertical Position
Text
Bitmap
Endpoint
Position
128
Line/Poyline
(line only)
Scale
Rotate
Dynamic
Property
Rectangle/Polygon
Oval
Line/Poyline
Text
Bitmap
Horizontal Fill
Vertical Fill
Visible
Commands on
Down
Commands
While Down
Commands On
Up
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
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
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.
4.
130
Color Threshold Definitions. Refer to the Dynamically Changing Object Colors section.
Horizontal and Vertical Positioning. Refer to the Dynamic Movement Properties 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:
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.
131
2.
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
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
SCADA:AR14.F_CV
132
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.
2.
Foreground Color
2.
Background Color
3.
Edge Color
4.
Horizontal Fill
5.
Vertical Fill
6.
Horizontal Position
7.
Vertical Position
8.
9.
133
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:
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
1000
Blue
9000
Green
Value
Color
10000
Red
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
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
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
Tag
Alarm
Color
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.
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:
Blinking Thresholds
Deleting Thresholds
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
Blinking when selected, the object alternates between the selected threshold color
and the object's foreground or background color.
4.
5.
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
Blinking when selected, the object alternates between the selected threshold color
and the object's foreground or background color.
4.
5.
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.
138
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.
2.
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
Communications
The I/O driver records a communications error that does not fit a defined
category (usually a cable problem).
Deviation
139
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
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
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
140
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.
3.
4.
5.
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
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.
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.
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
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.
Example
View fetches the tag's current value.
Current Value
150
2.
144
Step
3.
Example
View calculates the current value's percent
of the limit range.
4.
5.
View scales the object from the center point, as shown in the following figure.
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
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.
Example
View fetches the tag's current value.
Current Value
150
2.
3.
4.
5.
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
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
Do not assign the rotation property to any of the individual objects in a group.
Example
View fetches the tag's current value
Current Value
150
2.
3.
4.
5.
You can experiment by using different fill directions and by combining the two properties. The
following tables summarize the results.
148
Example
Example
149
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.
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.
150
Creating graphic representations of various process devices and assigning scripts that open
pictures containing detailed data on the objects.
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.
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
4.
Choose the desired logical comparison by clicking the appropriate button in the Conditions
group:
Condition
<
>
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).
Group
Member
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
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
153
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).
154
Link
Description
See Section
Data
Adding a Data
Link
Time
Date
Link
Description
See Section
Alarm
Summary
Adding an Alarm
Summary Link
System
Information
Adding a System
Information Link
Push Button
Adding a Push
Button Link
Multi-Pen
Trend
Adding a Trend
Link
Multi-Bar
Trend
Adding a Trend
Link
X-Bar
R-Bar
S-Bar
Histogram
Adding a
Historgram Chart
Link
XY Plot
Adding an XY
Plot Chart Link
155
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.
Data link
Histogram link
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
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.
Move the link outline to the appropriate position in your picture and click. The corresponding
link dialog box appears.
2.
3.
Replace the default name in the Object Name field with a unique name to help you identify
the link later.
4.
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
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
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
Data Link
159
Access to node, tag, and field information through the Field Select dialog box (press the
browse (...) button).
Dynamic coloring.
Access to SQL relational database information using an SQL startup command language
script.
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.
160
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.
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
Select either Left or Right justification, as described in the Justifying Data section.
2.
161
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
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.
162
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
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.
164
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.
165
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.
166
Example
The following figure shows an example of what the operator sees in View.
167
2.
Click Add to add the selection to the list of allowable operator entries. You can add up to 100
items to the list.
2.
3.
Click Modify.
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
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
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.
170
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.
171
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.
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
Stretch
Action
Procedure
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.
4.
Click OK.
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
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.
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.
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
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.
Manipulate files.
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
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.
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.
Place the cursor in the center of the button and, hold down the mouse button and drag the push
button to the new location.
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
text.
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.
177
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:
Enter a tagname.
Format the trend lines and configure markers (for Multi-Pen trend charts only).
178
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.
179
Rate...
G_DATA
(Scan time of the chain) * (Compress ration for the Trend tag)
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.
Check the Display Tagname check box to include the names of the trended tags in the legend.
2.
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.
If you want operators to be able to modify the chart in View, check the Modifiable check box.
180
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.
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
Chart Effect
0 (zero).
0 (zero).
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.
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.
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.
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.
183
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
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:
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
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.
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.
186
X-Bar
X-Bar-Bar
Range (R)
R-Bar
S-Bar
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.
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.
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:
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
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.
188
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.
189
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.
Check the Display Tagname check box to include the tagname of Histogram tag in the legend.
2.
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.
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.
Chart Features
The following figure shows an example of an XY Plot chart.
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:
191
192
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.
193
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.
Check the Display Tagname check box to include the names of the tags in the legend.
2.
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.
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
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.
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.
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
Importing Dynamos
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.
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.
196
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
ECOLOR
BCOLOR
197
Property
Code
Description
XPOS
YPOS
ROTATE
Dynamic Rotate.
HFILL
VFILL
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
CMD
Command in the Command Language script. See Command Scripts for more
information.
TEXT
198
1.
2.
Position the cursor in the User Prompt field where you want to copy the prompt text and press
CTRL+V.
Dynamo Prompt
SCADA01:TL01.F_CV
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.
199
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.
200
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.
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.
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.
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.
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
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.
202
203
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
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.
205
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)
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
206
Required
Keywords
Description
Syntax
NAME
NAME(dynamoname)
Required
Keywords
Description
Syntax
LOC
LOC(x,y)
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
SET("setname")
207
Optional
Keywords
Description
Syntax
FCOL
FCOL(r,g,b)
BCOL
ECOL
BCOL(r,g,b)
ECOL(r,g,b)
EDGE
0 None
1 Thinnest
2 Thinner
3 Thin
4 Normal
5 Thick
6 Thicker
7 Thickest
EDGE(index)
208
PROPERTY("search_string","property")
Optional
Keywords
Description
Syntax
PAT
PAT(pindex)
0 Transparent
1 Opaque (default)
2 Horizontal hatch
3 Vertical hatch
6 Cross-hatch
7 Diagonal Cross-hatch
PROMPT("prompt1","prompt2")
ROT
ROT(degree)
SCALE
SCALE(percent)
SUB
SUB("node1:tag1","node2:tag2")
SUB("node1:*","node2:*")
SUB("*:tag1","*:tag2")
SUB("*:*","node2:tag2")
209
Exporting Bitmaps
NOTE: In iFIX with FIX Desktop, Draw does NOT support the import of AutoCAD .DXF files.
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:
If...
Then...
5.
2.
3.
Switch to Draw.
4.
211
Stretch
Move
Group
You cannot:
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
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.
Exiting View.
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:
213
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.
3.
4.
Disable <Ctrl><Alt><Delete>
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>
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
Exiting View.
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.
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
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.
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
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
Input Dynamics
217
Picture Caching
Sound Support
Color Palette
QuickView
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
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.
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.
If...
Then...
Shadow=True
Shadow=False
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
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:
Rate:
10
Example
For example, one VIEW.INI file might look like the example below:
[Miscellaneous]
BlinkRate=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
Open the VIEW.INI file in the Local path. The example below shows the default contents of
this file.
[Miscellaneous]
FitToWindow=FALSE
2.
If...
Then...
FitToWindow=FALSE
FitToWindow=TRUE
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
Open the VIEW.INI file in the Local path. The example below shows the default contents of
this file.
[Color]
PaletteName=
2.
If...
Then...
PaletteName=
PaletteName=filename.plt
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.
If...
Then...
PerformOpenCommands=TRUE
PerformOpenCommands=FALSE
PerformCloseCommands=TRUE
PerformCloseCommands=FALSE
223
Open the VIEW.INI file in the Local path. The example below shows the default contents of
this file.
[Scripts]
Timeslice=TRUE
2.
If...
Then...
Timeslice=TRUE
Timeslice=FALSE
OPENDIG
TOGGLEALARM
DISABLEALARM
PAUSE
TOGGLEDIG
ENABLEALARM
RAMP
TOGGLESCAN
GOTO
SETVAL
TOGGLEMANL
ONSCAN
SETAUTO
OFFSCAN
SETMANL
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.
Opening Pictures
To optimize the speed at which View initially displays pictures:
Updating Pictures
To optimize the speed at which View dynamically updates pictures, based on changes in process
conditions:
Design your pictures so that dynamically changing objects are grouped into regions on the
screen.
Resolving Pictures
Blinking Alarms
225
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
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:
227
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.
2.
3.
Paste the bitmap (from the Draw clipboard) back into your display.
4.
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
229
2.
3.
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.
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
2.
On the File menu, click Save Layout. The Save Layout dialog box appears.
3.
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.
Default
No Menu Bar
640 x 480
4.170
4.330
4.530
231
Screen Resolution
Default
No Menu Bar
800 x 600
5.370
5.550
5.730
1024 x 768
7.05
7.23
7.430
Information Links
Chart Links
232
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
Data Link
The Data link is a flexible tool for displaying text and values from databases on
your network.
Quick access to node, tag, and field information through the Field Select dialog box (press the
browse (...) button).
Dynamic coloring.
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
234
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.
The System Information link displays numeric or text data on system parameters,
such as SAC output status or alarm priority level.
235
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.
236
Controlling Applications
Manipulating Files
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.
237
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.
To execute...
A stored procedure
Click the Use Stored Procedure button and type the procedure
name in the Procedure Name field.
An SQL command
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.
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:
238
Alarming Commands
AUTO/MANL Commands
Logging Commands
Authorization Commands
Debugging Commands
Messaging Commands
Manipulating Files
The following links contain information about manipulating files:
239
240
Alarm State
Triggered when...
Change of State
Communications
Deviation
Device Failure
High
High High
I/O Failure
Low
Low Low
OK
Rate of Change
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
Chart Links
241
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
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
Predefined Variables
243
244
245
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
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
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...
Is set to 1.0
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
If...
Then...
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
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
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
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:
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
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'"
253
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
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
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
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
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
numeric variable
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.
Syntax
IF expression
259
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
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"
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:
261
table specifies the name of the table(s) to list. This parameter supports the following SQL
wildcards:
#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
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 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:
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
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
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
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
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
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
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
Parameters
value specifies the value that represents the amount of time the script should pause, in integer
seconds.
269
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
#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
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
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
UP
BK
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
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
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'"
Parameters
node:tag specifies the node:tag name of the block that should be set to automatic mode.
275
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
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...
1.0
277
When...
String 1 = String 2
0.0
-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
If the search...
Then...
Is successful
Is not successful
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
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
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
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
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
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'"
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
Definition commands
Conversion commands
Debugging commands
Alarming commands
Messaging commands
Logging commands
Authorization commands
SQL commands
Definition Commands
Definition commands include:
284
#CMDSTATUS
DECLARE
RESOLVEVARS
#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:
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
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
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
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
DN
UP
BK
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
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...
1.0
String 1 = String 2
0.0
-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
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
Is not successful
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
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
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.
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
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
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
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
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
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
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
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...
numeric variable
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
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
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
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
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
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
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
305
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
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
LOGIN
LOGOUT
LOGIN Command
Purpose
The LOGIN command:
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:
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
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...
Is set to 1.0
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
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
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
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
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
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
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...
315
If...
Then...
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
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
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
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'"
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
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"
320
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:
table specifies the name of the table(s) to list. This parameter supports the following SQL
wildcards:
#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
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
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
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'"
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
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
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'"
325
New
Open
Save
Save As
Close
Report
Resolve
Delete
Exit
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
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
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.
The Global Search and Replace command lets you automatically change the tagnames
specified in link and dynamic property dialog boxes for multiple pictures.
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
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.
330
Undo
Cut
Copy
Paste
Delete
Duplicate
Select All
Copy Bitmap
Paste Bitmap
Picture
Dynamic Properties
Environment
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.
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
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.
332
The Search and Replace command lets you automatically change the tagnames specified in
link and dynamic property dialog boxes.
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.
Tool Box
Color Box
Cursor Position
Fill Style
Line Style
Selector
Rectangle
Oval
Line
Polyline
Polygon
Text
333
Link
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.
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
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:
The Rectangle command lets you draw a rectangle. When you select this command the
cursor changes to the Cross-Hair cursor.
Click and drag the cursor until the rectangle is the desired shape.
2.
The Oval command lets you draw an oval. When you select this command, the cursor
changes to the Cross-Hair cursor.
Click and drag the cursor until the oval is the desired shape.
2.
The Line command lets you draw a line. When you select this command the cursor changes
to the Cross-Hair cursor.
Click and drag the cursor until the line is the desired length.
2.
335
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.
2.
The Polygon command lets you draw a polygon. When you select this command, the cursor
changes to the Cross-Hair cursor.
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.
The Text command changes the cursor to the I-Beam cursor so that you can type or edit a
text object.
336
QuickView
Zoom In
Zoom Out
Zoom To
Default View
Fit in Window
Refresh
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.
The Zoom In command lets you enlarge your picture in increments of 25% so that you can
work on its details.
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
2.
Click the top-left corner of the zoom area, and drag until the select box encloses the area.
3.
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.
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.
Stack objects.
Group objects.
Align objects.
Stretch an object.
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
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
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.
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
Select an object.
2.
Click the Bring to Front button on the Tool Box, or on the Arrange menu click Bring to Front.
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.
2.
Click the Ungroup button on the Tool Box, or on the Arrange menu click Ungroup.
340
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
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.
2.
Click the Reshape button on the Tool Box, or on the Arrange menu click Reshape.
3.
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.
2.
Click the Add a Point button on the Tool Box, or on the Arrange menu click Add a Point.
3.
4.
You can use the Reshape command to move the new point.
The Delete Point command is used to remove a point from 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.
The point disappears and Draw connects the points on either side of the deleted point.
342
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.
Create Dynamos by storing custom-built objects and application scripts in Dynamo sets.
To get help for any of the Dynamos menu commands, click the appropriate command.
Create Dynamo
Convert to Objects
Open Set
Close Set
343
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.
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.
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.
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.
The Close Set command closes the active Dynamo set. Draw prompts you to saves any
changes made to the Dynamo set.
344
Cascade
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.
Database Manager
Macro Editor
Historical Assign
Historical Display
Recipe
System Configuration
Login
Alarm History
Mission Control
345
Select the Database Manager command to launch the iFIX Database Manager application.
Select the Tag Group Editor command to launch the Tag Group Editor application.
Select the Macro Editor command to launch the Macro Editor application.
Select the Historical Assign command to launch the Historical Assign application.
Select the Historical Display command to launch the Historical Display application.
Select the System Configuration command to launch the System Configuration Utility (SCU)
application.
346
Select the Alarm History command to launch the Alarm History application.
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.
Electronic Books
Glossary
About
Glossary
347
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 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
F1
Alt+F1
F2
Ctrl+A
Ctrl+F
Copy an object.
Ctrl+C
Ctrl+N
Ctrl+X
F3
DELETE
Duplicate an object.
Ctrl+D
Ctrl+Y
Task
Accelerator
Ctrl+G
Ctrl+O
Ctrl+V
Ctrl+Q
Ctrl+S
Ctrl+B
Ctrl+Z
Ctrl+R
349
A-B
D-G
H-L
351
N-O
P-R
352
T-Z
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
Description
INFO
LOLO
LOW
MEDIUM
HIGH
HIHI
CRITICAL
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
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
Time In
Type
Tag
Area
Priority
The alarm priority, as defined for each tag in the Database Manager (INFO,
LOLO, LOW, MEDIUM, HIGH, HIHI, or CRITICAL).
Node
Ack/Time
Acknowledgment and then time in. When sorting alarms, unacknowledged alarms
have a greater priority than acknowledged alarms.
Ack/Priority
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
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
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
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
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
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.
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.
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.
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.
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
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
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
361
Then...
Not Selected
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.
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
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
NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:
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.
Define custom columns by specifying individual field names that you want to display.
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
The columns available for the Alarm Summary link are described below:
Column
Displays...
Date In
Time In
Date Last
Time Last
Node
Tag
Status
The most severe unacknowledged alarm, including when the tag is in more than one
alarm state (latched alarm).
Value
Description
The contents of the Descriptor field from the tag that generated the alarm message.
Area
Priority
The alarm priority (INFO, LOLO, LOW, MEDIUM, HIGH, HIHI, or CRITICAL).
365
Example
To display a custom column for the current alarm in addition to the default latched alarm, follow the
steps below:
1.
2.
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
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
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.
Button
Description
Export
Invokes the Export function, which is facilitated through a standard File Save
dialog box.
Errors
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.
367
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:
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
369
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:
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
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
Item
Icon
Description
Vertical (Y)
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.
Icon
Description
Endpoint
1
Endpoint
2
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.
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)
Vertical
(Up/Down)
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
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:
INSERT
DELETE
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
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:
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
NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:
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
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:
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
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:
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
379
NOTE: If the tag does not exist, Draw immediately prompts you to add the tag to database.
Where:
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
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
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
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:
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
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
Grid
Bars
X axis
Legend
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.
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
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:
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
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
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:
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
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
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...
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
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
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:
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
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
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
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.
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
394
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
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
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
Rectangle
Oval
Character
Marks the selected pen with the alphanumeric character that you enter in the
Character field.
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
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
Trend line or
bar
Shows the real-time trend of a database tag. You can configure color, low limit,
high limit, and markers.
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.
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
399
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.
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
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
Original
Tag
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
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
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.
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
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.
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
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
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:
Alternatively, click the browse (...) button to access the Tag Select dialog box and search through the
network for a particular tagname.
Example
405
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:
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
Oval
Character
Marks the selected pen with the ASCII alphanumeric character that you enter in the
Character field.
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
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
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
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
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.
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
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.
412
413
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:
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
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
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:
Alternatively, click the browse (...) button to access the Field Select dialog box and search through the
network for a particular tagname.
416
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
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:
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
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
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
Original
Tag
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
420
Original
Tag
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
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
Time In
Type
421
Key
Tag
Area
Priority
The alarm priority, as defined for each tag in the Database Manager (INFO,
LOLO, LOW, MEDIUM, HIGH, HIHI, or CRITICAL).
Node
Ack/Time
Acknowledgment and then time in. When sorting alarms, unacknowledged alarms
have a greater priority than acknowledged alarms.
Ack/Priority
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.
Reads the SQL login account information from the local node.
Logs into the relational database specified in the Database Identifier field.
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
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.
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
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
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
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
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
425
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
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
Pen
X axis
The X axis displays time. You can configure the color, tick marks, and options.
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.
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
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.
Button
Description
SAC Output
Status
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
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.
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.
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
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.
Use the asterisk wildcard character to search through the network for a specific node and tag
combination.
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
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:
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
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
ECOLOR
BCOLOR
XPOS
433
Code
Description
YPOS
ROTATE
Dynamic rotate
HFILL
VFILL
ENDPT1X
ENDPT2X
ENDPT1Y
ENDPT2Y
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
CMD
TEXT
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
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...
{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
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
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:
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
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
Where:
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
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
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:
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...
<
>
=
(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.
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:
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
Where:
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
Oval
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
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.
443
The tagnames and styles of the real-time lines, bars, or points on a chart link.
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.
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
Editing Links
Manipulating Objects
Coloring Objects
447
To create a...
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.
2.
point.
1.
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.
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.
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.
2.
Stretching
To stretch an object:
1.
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
Coloring Objects
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.
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.
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.
450
1.
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
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...
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.
451
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.
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.
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.
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.
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.
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
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.
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.
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.
Creating Templates
Printing Pictures
Resolving Pictures
Using Variables
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
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.
3.
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.
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.
2.
456
Attached to the Stamper cursor is an outline of the link you selected. Move the link outline to
the appropriate position in your picture and click. The corresponding link dialog box appears.
3.
4.
Click OK.
The new link is now visible in the picture.
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
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.
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:
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
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
2.
3.
4.
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 the Command Language Editor in Draw, create a numeric or string variable.
2.
3.
4.
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
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.
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.
460
In Draw, on the File menu, click Global Search and Replace. The Multiple Picture Search and
Replace dialog box appears.
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.
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.
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
4.
To use the number of lines and characters specified in the database, click the Get Format
button.
5.
Changing Fonts
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.
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.
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.
462
Change the size of the all the text characters in the object.
2.
3.
Release the mouse button. Draw changes the font size to the largest font size that will fit in
the stretch area.
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
Use the Dynamic Properties dialog box to assign horizontal or vertical position, scale,
command, or visibility dynamic properties.
3.
Click OK.
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...
By default, the wizard imports all files into one .ODF file.
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
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.
5.
465
Arcs
Polylines
Boundary Hatches
Ellipses
Rectangle
5-point polyline
Oval
Text
Text object
Solids
Polygon
Polyline
Polylines
Closed polygon
Polyline
Blocks
A group of objects
Grouped polylines
Double lines
A group of polylines
Donuts
Points
Not imported
466
1.
In Draw, on the File menu, click Import Wizard. The Welcome dialog box of the Import
Wizard appears.
2.
3.
2.
3.
Switch to Draw.
4.
Creating Dynamos
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
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.
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.
468
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.
3.
Delete Dynamos. First select the Dynamo you want to delete, and then select the
Delete command.
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.
Use the following order for the keywords in your ADF files:
1.
SET
2.
NAME
3.
LOC or FIT
4.
Optional keywords
Description
NAME
Syntax
NAME ("dynamoname")
469
470
Required Keywords
Description
LOC
LOC (x,y)
FIT
FIT (x1,y1,x2,y2)
Optional
Keywords
Description
SET
Syntax
Syntax
SET ("setname")
Optional
Keywords
Description
FCOL
BCOL
ECOL
Syntax
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
0 None
1 Thinnest (default)
2 Thinner
3 Thin
4 Normal
5 Thick
6 Thicker
7 Thickest
EDGE (number)
471
Optional
Keywords
Description
PAT
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
Syntax
PAT (number)
ROT (degree)
472
SCALE
SCALE (percent)
SUB
SUB("node1:tag1","node2:tag2")
SUB("node1:*","node2:*")
SUB("*:tag1","*:tag2")
SUB("*:*","node2:tag2")
Optional
Keywords
Description
Syntax
PROMPT
PROMPT ("prompt1","prompt2")
PROPERTY
PROPERTY ("searchstring",
"property")
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.
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.
473
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.
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
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.
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.
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
8.
If necessary, click the color button to change the color of the threshold.
9.
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.
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.
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.
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
<
>
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
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
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.
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
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.
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
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.
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
6.
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.
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
2.
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
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
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
Alarm Area
An alarm area identifies a physical or functional division of a plant that acts as a routing label for
alarms and messages.
487
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.
Description
*:*
N*
*:PUMP*
You can also use the asterisk(*) wildcard when you are searching and replacing tagnames. For
example:
488
Field
Example
Description
Search For
*:*
Search For
N*:*
Search For
NODE*:*
Search For
*:TAG
Search For
NODE:*
Replace With
*:TAG
Field
Example
Description
Replace With
N*:*
Replace With
NODE*:*
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:
XY Plot Link
XBAR Link
RBAR Link
SBAR Link
Histogram Link
489
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.
490
The properties of a picture, so that the script executes when an operator opens or closes the
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.
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
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
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
Exiting View.
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
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
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 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
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
ECOLOR
BCOLOR
XPOS
YPOS
ROTATE
Dynamic rotate
HFILL
ENDPT1X
495
Code
Description
ENDPT2X
TEXT
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
CMD
VFILL
ENDPT1Y
ENDPT2Y
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
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 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
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
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
Background color
Edge color
Line style
Fill style
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.
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
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.
500
NODE:TAG.G_XBAR
NODE:TAG.G_SBAR
NODE:TAG.G_RBAR
NODE:TAG.G_DATA
Histogram link
NODE:TAG.F_ field
NODE:TAG.B_CUALM
NODE:TAG.B_LAALM
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
VIEW.INI File
The VIEW.INI file is an ASCII file that contains configuration information for:
Input Dynamics
Picture Caching
Environment Protection
Sound Support
Color Palette
QuickView
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
Defining Macros
Managing Macros
Manipulate files.
Default macros
User-defined macros
The type of macro you choose to create determines its availability within operator displays. For
example:
503
Then...
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.
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
the macro are identical. This chapter provides the instructions you need to complete this task. It
includes the following sections:
Saving Macros
Macro Editor
Column Definitions
The Macro Editor has three columns: Function Key, Command(s), and Description. These are defined
below:
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
Option
Function
File
New
Open...
Save
Save As...
Delete...
Exit
Insert
Delete
Edit
Font!
Accesses the Font dialog box for customizing the Macro Editor.
Then...
Create a new
user-defined
macro.
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
Double-click inside a blank Function Key cell. Use the Key Selected dialog box to select the
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.
Guideline
Alphanumeric
<CTRL>
<DELETE>
Function Example
<F6>
507
Key
Guideline
<INSERT>
Movement Example:
<Pg Up>
Punctuation Example:
<,>
<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
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.
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
4.
5.
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.
On the File menu, click Open. The standard File Open dialog box appears.
2.
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.
8.
On the File menu, click Open. The standard File Open dialog box appears.
2.
3.
Highlight any cell of the row that contains the macro you want to delete.
4.
5.
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.
Command
Keys
File
New
CTRL+N
Open
CTRL+O
511
Menu
Edit
View
Arrange
Command
Keys
Save
CTRL+S
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
Menu
Command
Keys
Transform
Add Point
F2
Delete Point
F3
Command
Keys
File
Open
CTRL+O
Close
CTRL+C
Next
Previous
CTRL+P, PAGE UP
Last
CTRL+L, END
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
Menu
Help
Command
Keys
Manual Mode
CTRL+M
Auto Mode
CTRL+A
Off Scan
CTRL+F
On Scan
CTRL+S
F1
Field help
ALT+F1
514
Description
Cut
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
SQL
Import
Export
Errors
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
515
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.
#
#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
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
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
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
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
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...
Is set to 1.0
Is set to 0.0
521
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...
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
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
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
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
525
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
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'"
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
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
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
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
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
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...
Numeric variable
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
When...
Then...
The condition is
true.
The condition is
false.
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
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"
534
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:
table specifies the name of the table(s) to list. This parameter supports the following SQL
wildcards:
#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
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:
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
LOGOUT Command
Purpose
The LOGOUT command:
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
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
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
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
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
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
542
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
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
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
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
UP
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
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
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'"
548
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
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
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...
1.0
String 1 = String 2
0.0
-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
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
Is not successful
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
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
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
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
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
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'"
Parameters
file name specifies the ASCII file to be viewed.
string specifies the text string that appears in the dialog box title bar.
556
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.
Alarming Commands
Authorization Commands
Conversion Commands
Debugging Commands
Definition Commands
Logging Commands
Messaging Commands
SQL Commands
557
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
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
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.
560
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
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
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...
Is set to 1.0
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
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.
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
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
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
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.
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
Numeric variable
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
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
#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
569
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
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
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.
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
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
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.
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
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.
574
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...
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
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.
576
GOTO
IF
PAUSE
CRITICAL
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 condition is
false.
Syntax
IF expression
command
[ELSE]
[command]
ENDIF
Parameters
expression defines the condition, in the form of an IF expression.
577
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
Logging Commands
The following sections provide more information about Logging commands:
LOGIN
LOGOUT
LOGIN Command
Purpose
The LOGIN command:
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:
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
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
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.
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
UP
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
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.
582
CLOSEPIC
OPENPIC
OPENBDF
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
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
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
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
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.
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
Enter a ...
To the left
Negative X offset
To the right
Positive X offset
Up
Negative Y offset
Down
Positive Y offset
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
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
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'"
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
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"
591
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:
table specifies the name of the table(s) to list. This parameter supports the following SQL
wildcards:
#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
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
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
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'"
NOTE: A string variable can replace any one of the command parameters except the cache. When a
595
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'"
596
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.
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
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...
1.0
String 1 = String 2
0.0
-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
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
Is not successful
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
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
#PS_CUR_SHDW
600
Variable Name
Stores the...
#PS_CUR_NODE
#PS_CUR_TAG
#PS_CUR_FIELD
Picture Variables
Predefined picture variables provide information about the current picture. The available picture
variables include the following:
Variable Name
Stores the...
#PS_PICTURE
#PS_PICTURE_WIDTH
#PN_PICTURE_WIDTH
#PS_PICTURE_HEIGHT
#PN_PICTURE_HEIGHT
Screen Variables
Predefined screen variables provide information about the computer screen. The available screen
variables include the following:
601
Variable Name
Stores the...
#GS_SCREEN_WIDTH
#GN_SCREEN_WIDTH
#GS_SCREEN_HEIGHT
#GN_SCREEN_HEIGHT
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
System Variables
Predefined system variables provide information about the local node. The available system variables
include the following:
602
Variable Name
Stores the...
#GS_NODE
#GS_CURRENT_PICTURE
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
#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
#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
603
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
#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
#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
New
Open
Save
Save As
Delete
Report
Exit
605
Insert
Delete
606
Electronic Books
Glossary
About
Glossary
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 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
Keyboard Accelerators
608
Task
Accelerator
F1
Alt+F1
Delete
Ctrl+E
Ctrl+N
Ctrl+O
Ctrl+S
Description
Cut
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
Button
Description
Search/Replace
SQL
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
Errors
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.
610
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.
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.
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
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.
Reads the SQL login account information from the local node.
Logs into the relational database specified in the Database Identifier field.
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
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.
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
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
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
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.
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
615
616
How Do I...
Click the appropriate link below for more information about the FIX Desktop Macro Editor step-bystep procedures:
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.
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
8.
2.
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.
6.
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.
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.
In FIX Macro Editor, on the Edit menu, click Delete. The standard File Delete dialog box
appears.
2.
3.
Click OK. A dialog box appears so you can verify the deletion.
4.
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.
3.
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.
619
SQL Commands
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.
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
To execute...
A stored
procedure
Click the Use Stored Procedure button and type the procedure name in the
Procedure Name field.
To execute...
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.
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.
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
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
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:
The properties, of a picture, so that the script executes when an operator opens or closes the
picture.
The dynamic properties of an object, so that the script executes when an operator selects the
object.
625
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
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:
Exiting View.
627
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
-R
+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
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
H-L
Historical Display Command Line Parameters
The following table describes the Historical Display command line parameters.
Parameter Name
Syntax
-CF 'filespec'
Chart Group
Pen Group
Time Group
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
-TB hh:mm:ss
-1 'user-defined value'
629
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
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
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 -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
Parameter Name
Syntax
DOS Recipe
/ddos_recipe
Error File
/e
/ffilename
Tag Group
/gtag_group_filename
Batch ID
/ibatch_id
Master Recipe
/mmaster_recipe
Download Remarks
/rremarks
/xmaster_text_filename
/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 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
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.
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
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
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
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.
Syntax
Picture
-fpicture
-fpicture -tfilename
Suppression
-snumber
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
Commands
Tag Status, Manual Mode, Auto Mode, On Scan, Off Scan, Copy_Link
Applications
Options
Sound
637
638
Menu
Commands
Window
Cascade, Tile
Help
Controlling Applications
Manipulating Files
Appendices
Manipulate files.
Manage alarming.
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
informatio.
Source
Refer to the
Keystroke
combination
Macro Editor
Manual
Display
opening or
closing
Draw Manual
Push button
selection
Draw Manual
Object
selection
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.
640
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.
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.
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
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.
642
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
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
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.
2.
On the Edit menu, click Dynamic Properties, or double-click the object. The Dynamic
Properties dialog box appears.
3.
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:
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
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.
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.
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
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.
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
647
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
type
scope
Example
DECLARE #RESULT STRING 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
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"
649
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.
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
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:
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
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:
Assign the tagname to the variable using the syntax 'NODE:TAG.F_FIELD'. Note that you
must enclose the tagname in quotation marks.
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
2.
Enter the variable name in the Tagname field in one of the following formats:
String variable
#string_var
Table variable
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.
654
655
656
657
658
Tagnames
Picture names
Object names
File names
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
TANK = LINE1:TANK1.F_CV
?TANK = LINE2:TANK2.F_CV
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
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.
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.
3.
If you plan to use any of the commands in table above, use the following guidelines:
660
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.
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.
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
COPY
DELETE
FILELIST
FILEOPEN
FILEPRINT
PLAYSOUND
VIEW
If you do not specify a path, these commands default to the Picture path.
662
663
664
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...
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
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.
666
If...
Then...
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.
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
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...
Access the Help command from the right mouse button menu and
the cursor is positioned on a valid command word
NOTE: If the cursor is not positioned over a valid command, Help will be unavailable from the right
mouse button menu.
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.
668
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.
Moves the view window down and up within the script and repositions the
cursor.
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.
CTRL+C
CTRL+V
1 IF #VAR1>5
IF #VAR1>5
669
Original 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.
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
5.
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
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 Device=1
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
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
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.
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']
Type the name of the database from which the data should be retrieved in the Database
Identifier field.
2.
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
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
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.
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.
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.
3.
Create a numeric variable to store the completion status of the SQL command, for example:
DECLARE #VAR1 NUMERIC PICTURE
4.
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]
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
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"
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.
5.
676
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.
Purpose
Syntax
Parameters
Example
677
A typical command syntax includes the name of the command and a string of required or optional
parameters, as shown in the following figure.
Convention
Description
Capital letters
Italics
Italics with a
separator (|)
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
Example
Description
GETVAL LINE1:COOKER1.F_CV
#VALUE
GETVAL LINE1:COOKER1.A_DESC
#DESC
GETVAL
=EXCEL|[FILE.XLS]SHEET1!R1C1
#VALUE
Valid Replacement
Literal string
Numeric value
Numeric variable
Node:tag.field
Node:tag
File name
Picture name
Object name
679
Relative Commands
Variables
Remote Nodes
Case-Sensitivity
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.
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:
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
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.
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)
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.
Parameter
Description
SQL
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
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=‘text’col2=‘Low’
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
Parameter
Description
param5
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"
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
Element
Specifies the
math
Name of the numeric variable that will store the result of the mathematical
expression.
expression
685
Operator
Function
Example
param1 +
param2
param1
param2
param1 *
param2
param1 / param2
- param1
param1^exp
ABS()
Absolute value
ABS(param1)
SQRT()
Square root
SQRT(param1)
EXP()
EXP(param1)
LOG()
Natural logarithm
LOG(param1)
LOG10()
Base 10 logarithm
LOG1(param1)
INT()
INT(param1)
SIN()
Sine
SIN(param1)
COS()
Cosine
TAN()
Tangent
ASIN()
Arcsine
ACOS()
Arccosine
ATAN()
Arctangent
NOTE: All parameters must be in radians.
686
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
Use the following guidelines when using an expression to assign a literal string to a string variable:
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.
Define a table, numeric or string variable and specify what command language scripts have
access to it.
Convert an error string associated with a #CMDSTATUS variable to a string or table variable.
Definition Commands
Conversion Commands
687
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
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
689
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
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 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
STRTONUM
NUMTOSTR
Purpose
The NUMTOSTR command converts a number into a string variable.
Syntax
NUMTOSTR num_var "string" string_var
691
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
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
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:
The C Language format specification can contain up to 129 characters and has the following syntax:
%[flags] [width] [.precision] type
693
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
width
precision
Maximum number of characters printed for all or part of the output field.
type
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
694
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 -.
Signed value printed in f or e format, whichever is more compact for the given value and
precision.
Flag Parameter
The following table describes the Flag parameter.
Flag
Description
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 (-).
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
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
A non-negative
decimal integer
prefixed with a zero
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
.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
Precision
Specifies the
.d (With g or G
type)
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
UP
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
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
'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
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...
1.0
String 1 = String 2
0.0
-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
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
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
Is not successful
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
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
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
#GS_CURRENT_PICTURE
#GS_NODE
#GS_TIME
#GS_DATE
Variable Name
Stores the
#GS_HOUR
#GN_HOUR
#GS_MIN
#GN_MIN
#GS_SEC
#GN_SEC
#GS_DAY
#GN_DAY
#GS_MONTH
#GN_MONTH
#GS_YEAR
#GN_YEAR
#GS_SCREEN_WIDTH
#GN_SCREEN_WIDTH
#GS_SCREEN_HEIGHT
705
Variable Name
Stores the
#GN_SCREEN_HEIGHT
Stores the
#PS_CUR_LINK
#PS_CUR_SHDW
#PS_CUR_NODE
#PS_CUR_TAG
706
Variable Name
Stores the
#PS_CUR_FIELD
#PS_PICTURE
#PS_PICTURE_WIDTH
#PN_PICTURE_WIDTH
#PS_PICTURE_HEIGHT
#PN_PICTURE_HEIGHT
The following sections provide detailed information on managing command language scripts:
Debugging 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
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
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
GOTO
IF
PAUSE
CRITICAL
709
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
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 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.
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
Operator
Function
<</TD>
Less than
>
Greater than
<=
>=
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
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
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
714
blocks. This set of commands provides you with the ability to:
Alarming 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
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
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
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
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
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
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
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
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
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
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
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
724
CLOSEDIG
OPENDIG
TOGGLEDIG
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
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
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...
Numeric variable
727
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
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
729
Example
Description
SETVAL LINE1:COOKER1.F_CV
#VALUE
SETVAL #TANK 50
SETVAL
=EXCEL|[FILE.XLS]SHEET1!R1C1 50
Refer to Designing Command Language Scripts, for more information on features such as tag groups.
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
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
731
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.
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
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
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
LINE1
LINE2
LINE3
LINE4
734
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
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
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
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
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.
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.
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
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
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
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
Left arrow
Right arrow
Up arrow
Down arrow
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
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
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
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
The following figure shows a sample note dialog box based on the NOTE example.
746
"string"
[X,Y]
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.
747
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:
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
LOGOUT
Purpose
The LOGOUT command:
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
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...
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
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
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
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:
The Application Control Commands section provide detailed information on controlling applications
from command language scripts.
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
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
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
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
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:
SQL Commands
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
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
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
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
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
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"
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
-R
+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
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
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
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...
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
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
The following figure shows a sample list dialog box based on this example.
767
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
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
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
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
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
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.
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
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
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
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
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
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
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:
779
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
ALARMACKALL
APPEND
Attaches the contents of one file onto the end of another file.
ATTRIB
BASEPIC
CHECKRIGHTS
Verifies that the current user has access to a specified security area, as
defined in the security system.
CHFILE
CLOSEDIG
CLOSEPIC
COPY
COUNTROWS
CRITICAL
DEBUGOFF
DEBUGON
Command
Purpose
DECLARE
DELETE
DELETE (SQL)
DESCTABLE
Retrieves the name and data type of each column from the specified table.
DISABLEALARM
ENABLEALARM
EXECUTE
EXIT
FILECLOSE
FILELIST
Displays a list of files in a list dialog box whenever the command language
script executes.
FILEOPEN
FILEPRINT
FILEREAD
FILEWRITE
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
782
Command
Purpose
GOTO
IF
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
LOGIN (SQL)
LOGOUT
LOGOUT (SQL)
Logs out of the relational database specified in this node's SCU file.
MENU
MESSAGE
NOTE
Specifies a message string that appears in a note dialog box in the current
display whenever the command language script executes.
NUMTOSTR
OFFSCAN
ONSCAN
Command
Purpose
OPENDIG
OPENLYT
Opens the selected layout file in View. Any open pictures are closed prior
to opening the layout file.
OPENPIC
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
PLAYSOUND
Works in conjunction with your FIX Desktop Sound Support to play sound
files within a command language script.
PROCEDURE
PROMPT
Specifies a message string that appears in a prompt dialog box in the current
display whenever the command language script executes.
RAMP
REPLACEPIC
RESOLVEVARS
ROUND
RUNTASK
783
784
Command
Purpose
SELECT
SETAUTO
SETMANL
Sets the specified block to manual mode. If used as a relative command, the
selected block is set to manual mode.
SETNICKNAME
SETVAL
STRCAT
STRCMP
STRLEN
STRSTR
STRTOK
STRTONUM
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.
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
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.
785
#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
787
788
SETAUTO
SETMANL
SETVAL * value|num_var
SWITCHKMX *newmacrofile
TOGGLEALARM
TOGGLEDIG
TOGGLEMANL
TOGGLESCAN
ZOOM OR ZOOM * picture|string_var|taggroup
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
789
Parameter Name
Syntax
Examples
Pen Group
Time Group
Start Time
-ST mm/dd/yy@hh:mm:ss
-ST 03/15/93@08:15:00
-ST mm/dd/yy
-ST 03/15/93
-ST hh:mm:ss
-ST 08:15:00
-TG 'yesterday'
790
End Time
-ET mm/dd/yy@hh:mm:ss
-ET mm/dd/yy
-ET 03/16/93@10:30:00
-ET hh:ss:mm
-ET 03/16/93
-ET 10:30:00
Duration
-DU dd:hh:mm:ss
Maximum: 99:23:59:59
-TB hh:mm:ss
Maximum: 23:59:59
-DU 00:00:10:00
Minimum: 00:00:00:10
Minimum: 00:00:10
-DB 2
-TB 00:05:00
Parameter Name
Syntax
Examples
-1 'user-defined value''
-1 '2.46'
...
-2 '18'
...
Recipe
Refer to the following table for recipe details.
Program
Parameter Name
Syntax
Recipe Download
Batch Size
/bbatch_size
Control Recipe
/ccontrol_recipe
Recipe Builder
DOS Recipe
/ddos_recipe
Error File
/e
/ffilename
Recipe Builder
Tag Group
/gtaggroup_filename
Recipe Download
Batch ID
/ibatch_id
Master Recipe
/mmaster_recipe
Recipe Download
Download Remarks
/rremarks
Recipe Builder
/xmaster_text_file
Recipe Download
Recipe Builder
Recipe Upload
Recipe Upload
Recipe Download
791
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
-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
-D database
-N nodename
-D database
DBBLOAD
792
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
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.
794
Section
Description
OVEN1, OVEN2, and OVEN3 each contain an identical database structure. Only the
tagnames are different.
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 tag group files in the Draw, View, and Recipe applications.
795
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.
796
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.
797
Menu
Option
Function
File
New
Open...
Save
Save As...
Delete...
Exit
Delete Row
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.
798
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 Symbols
Defining Substitutions
Defining Descriptions
799
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.
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.
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.
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
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.
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.
801
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.
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.
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
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.
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.
803
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.
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.
805
Open the tag group file (*.TGE) that you want to report.
2.
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.
Field
Substitution
Links
Tagname
Tagname
Dynamic Properties
Tagname
Tagname
Commands
Picture 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
Entering tag group symbols into the tagname fields of a display (Draw).
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
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
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.
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.
809
Open and Close Picture commands, 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
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
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.
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.
Substitution
Identifier column
812
Master Recipe
Control Recipe
Acts as a template
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.
813
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
815
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.
816
New
Open
Save
Save As
Delete
Exit
817
Delete Row
Electronic Books
Glossary
About
818
Glossary
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 <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
<F1>
<Alt><F1>
<Ctrl><D>
<Ctrl><L>
<Alt><F4>
<Ctrl><O>
<Ctrl><A>
<Ctrl><S>
819
Task
Accelerator
<Ctrl><R>
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
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
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:
Editing a Cell
Deleting Rows
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.
2.
On the Edit menu, click Delete Row. The Tag Group Editor removes the selected cells row
from the spreadsheet.
823
NOTE: You can also delete a row of the spreadsheet by highlighting any cell in the desired row and
pressing the Delete key.
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.
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.
2.
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).
The format for entering a tag group symbol into all of these areas is:
?[SYMBOL]
824
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.
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.
Description
Download
Dynamic Properties
Identifier Column
825
Layout
Links
Macro
Recipe
Substitution
Tag Group
Tagname
TGE
Description
*:*
N*:*
*:PUMP
826
The properties of a picture, so that the script executes when an operator opens or closes the
picture.
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
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.
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
Disk Usage
Maintain equipment.
829
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.
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:
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.
830
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.
831
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.
832
The heater in the tank is defective and cannot maintain the temperature.
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...
Historical Trend
Assign
Historical Trend
Collection
833
Application
Feature
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.
Use Historical Assign to set up the group to collect process data and store it in historical data
files.
834
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.
835
Input values from each tank compared to each tank's output value.
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.
836
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
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.
6.
7.
838
Selecting a Node
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.
839
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?
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.
840
Rate
Time
1s
1 second
2s
2 seconds
10s
10 seconds
30s
30 seconds
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
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
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.
2.
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.
843
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.
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.
844
4 Hour
8 hour
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.
845
2.
On the Group menu, click Deactivate. The Status field for the group changes to Inactive.
Select the group, and then on the Group menu, click select Activate.
Select the Yes button to delete the collection group, or the No button to cancel the deletion.
846
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.
847
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
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.
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
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
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.
A time span for the display chart that can be shifted on demand.
A header for each display chart, explaining what process information is in the display chart.
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.
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.
851
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.
2.
3.
4.
A legend for the chart that provides reference information on the data that is
displayed in the chart.
A chart header.
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.
X axis details.
852
Time Group
Pen Group
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:
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
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:
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
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
No Legend.
2.
Select the Legend icon to display the Define Primary/Alternate Legend dialog box.
856
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
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
PEN_GROUP
The item
Displays
TIME_GROUP
START_TIME
START_DATE
END_TIME
END_DATE
DURATION
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
Item
Row
Col.
Length
Start Time:
START_TIME
# of Days Ago:
DAYS_BEFORE
29
Operator:
-1
16
39
Batch Run:
-2
16
39
860
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 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.
2.
Select Historical or Lab to indicate the type of pen you are defining.
3.
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.
7.
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.
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
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.
862
863
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
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:
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.
2.
Enter new collection and display definitions in the Pen Definitions area. Instructions for
completing the Pen Definitions area are in the following sections:
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.
865
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
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.
2.
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
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
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.
868
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.
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.
2.
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.
7.
The following sections explain how to complete each step to create a time group.
869
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).
870
871
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:
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...
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
Enter...
06:00:00
Enter...
Duration (DD:HH:MM:SS)
00:06:00:00
873
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 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
Compare different charts to look at process data for a specific time period.
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.
Text appearance
875
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
876
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 a chart automatically when you start the Historical Display program.
By setting the Historical Display or HTDPRINT program properties using the Properties
command.
NOTE: For more information on how to access and use the command line, please refer to your
window manager documentation.
877
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
Pen Group
Time Group
-TG 'Yesterday'
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
-DU dd:hh:mm:ss
Maximum: 99:23:59:59
Minimim: 00:00:00:10
Monitor Tag
/Ttagname
Active Tag
/Atagname
Duration
/Dtime
-TB hh:mm:ss
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
Parameter Name
Syntax
Examples
-1 'user-defined-value'
...
-10 'user-defined value'
-1 '246'
...
-10 'Heating Process'
Rules
Consider the following rules when submitting the command line parameters listed in the previous
table:
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.
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'
880
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
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.
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'
Use the time cursor to locate the exact value at any point on the trend line.
883
Closing a Chart
884
Name
Description
Chart Name
Trend area
Trend line
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
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.
Shifts the time values along the X axis to look at different points in time.
Grid Lines
Background area
885
Do the following...
A mouse
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
The keyboard
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
<
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.)
Button
<<
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.)
>
>>
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
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.
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
889
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
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.
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.
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
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.
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.
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.
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.
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
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
Chart Command
Pen command
Time Command
Legend command
To display the...
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:
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
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
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:
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
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:
Clicking the Primary or Alternate Legend buttons, and then clicking the Legend icon in the
Chart Details dialog box.
897
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.
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.
898
1.
On the File menu, click Export. The standard File Save dialog box opens.
2.
3.
Select OK to export the chart to an ASCII file in the path you specified.
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,
899
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
For example:
1/1/05, 12:00:00, DENSITY, 1000, Below normal
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
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.
902
1.
In the Excel application, on the File menu, click New to open a worksheet.
2.
3.
4.
5.
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.
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
EGU
DESCRIPTOR
903
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
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.
NOTE: All lab data files will have L24 as the file extension.
904
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.
2.
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
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.
906
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.
907
908
Tasks
IMPORTANT:The following tasks apply only to Historical Display (HTD).
909
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.
4.
5.
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.
910
Data 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:
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.
911
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
EGU
Description
Low EGU
High EGU
912
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
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
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
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'
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
DATE
NOT NULL,
CHAR(4),
LOW_EGU NUMBER(5,2),
HIGH_EGU NUMBER(5,2))
CLUSTER HTD_CLUSTER (NAME3)
CREATE INDEX DICTT_IDX ON CLUSTER HTD_CLUSTER
915
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
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
Table Names
175
Column Names
240
Condition Length
479
Entire Statement
1024
Data Name
Data Value
Data Description
EGU Description
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'
917
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.
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
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.
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
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.
920
Action or Meaning
Enter a nodename.
Action or Meaning
Action or Meaning
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.
921
Historical Collect
Message
Action or Meaning
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.
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.
922
Action or Meaning
Check if the chart group you entered for the -CG command
line parameter exists.
Check if the pen group you entered for the -PG command line
parameter exists.
Check if the time group you entered for the -TG command line
parameter exists.
Action or Meaning
The lab data ASCII file you tried to import could not be
opened. Check that the file name and path are valid.
You must enter a value between 1 and 132 in the Column field
of the Header Item Configuration dialog box.
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.
Enter a node name in the Tagname field before you use the
question mark button to display a list of tagnames for the node.
923
924
Action or Meaning
Since you created the chart using the New command, you can
only save it with a Save As command.
The value you enter for the start time (-ST) or end time (-ET)
parameter is not valid.
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 (-).
Action or Meaning
Cannot fetch limits because the tagname is not defined for the
node.
925
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
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.
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
50
Average = (80+20)/2 = 50
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:
927
New
Open
Save
Save As
Close
Export
Exit
928
929
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.
Undo
Copy
930
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
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
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.
Reset the chart to its original configuration before any changes were made to it.
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
Anchor Time
Unanchor Time
Link Window
Unlink Window
Synchronize Time
932
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.
Change the chart group, pen group, time group, or legend using the Toolbox.
933
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
No Legend
Primary Legend
Alternate Legend
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
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.
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.
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.
935
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.
Cascade
Document 1
936
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.
Electronic Books
Glossary
About
Glossary
937
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 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
F1
Alt+F1
Ctrl+C
F2
Ctrl+N
Ctrl+O
Ctrl+P
Ctrl+S
Ctrl+Z
Zoom in on data.
Ctrl+Y
939
940
pen assignments
pen colors
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.
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
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:
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
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.
Alphanumeric characters
Underscores (_)
Square brackets ([ ])
Dashes (-)
Ampersands (&)
943
SELECT Columns
Time
The Time field lets you specify:
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 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 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 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 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 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 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:
945
Enter the table names (up to 175 characters) using the following format:
datatable,dictionarytable
Description
datatable.columnname
The name of the column in the data table that you want to
access.
dictionarytable.columnname
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.
946
A fixed interval
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:
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:
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
Select colors for the trend area, X axis labels, background area, and grid lines.
Trend Area
Background Area
X-Axis Labels
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.
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
header.
Chart Header List Box
The Chart Header list box displays each chart header item configured for the header, 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
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.
950
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
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.
951
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
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.
assignments
colors
marker style
display modes
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
2.
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
Historical/SQL Data/Lab
The Pen Type buttons specify what type of pen you are defining. If you are defining a pen for:
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.
955
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.
956
A fixed interval
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:
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:
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.
957
Button
Description
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.
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
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.
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.
959
Icon
Displays
Chart
Legend
Pen
Time
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
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.
961
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.
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
Creating Charts
Click any of the following links for more information about creating charts:
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
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
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.
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.
964
Enter a label for the item in the Label field. This field is optional.
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.
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.
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.
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.
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
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.
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
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.
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.
967
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.
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.
Modifying Charts
Click any of the following links for more information about modifying charts:
Modifying a Chart
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
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.
In Historical Trend Display, use any one of the following four methods to display the Define
Time - X Axis dialog box:
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.
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
969
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.
Selecting the pen group and then selecting the pen button in the Configure Chart dialog box
2.
Click Delete.
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.
2.
3.
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
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.
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.
In Historical Trend Display, on the Configure menu, click Pen. The Define Pens dialog box
appears.
2.
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.
In Historical Trend Display, on the Configure menu, click Time. The Define Time - X Axis
dialog box appears.
2.
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
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.
Printing a Chart
2.
In Historical Trend Display, on the File menu, click Export. The standard Windows File Save
dialog box appears.
2.
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
Zooming in on Data
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
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
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.
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
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.
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
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
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.
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.
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
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
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.
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
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.
Setting the Historical Display program properties using the Windows Properties 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
To display Chart One group with new a new starting time, enter:
HTD -CG 'Chart One' -ST '03/02/93@20:30:00'
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'
In Historical Trend Display, on the Utilities menu, click Define Pen Groups. The Define Pen
Groups dialog box appears.
2.
3.
4.
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.
9.
Click OK to finish.
980
In Historical Trend Display, on the Utilities menu, click Define SQL Queries. The Define
SQL Queries dialog box appears.
2.
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.
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.
4.
Configure an SQL login account in the System Configuration Utility (SCU) so that Historical
Display can log into the relational database.
5.
6.
Assign the SQL Data pen to a chart and display the SQL data you want.
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
4.
Click Add. The name and path appear in the list box.
5.
In Historical Trend Display, on the Utilities menu, click Define Pen Groups. The Define Pen
Groups dialog box appears.
2.
3.
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
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
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.
Dates must be entered in the date format set up for your system.
Syntax
-CF 'filespec'
Chart Group
Pen Group
Time Group
Start Time
-ST mm/dd/yy@hh:mm:ss
-ST mm/dd/yy
-ST hh:mm:ss
985
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
-TB hh:mm:ss
-1 'user-defined value'
Description
Data Name
Data Description
EGU Description
Low EGU
High EGU
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
Description
Value Date/Time
Data Name
Data Value
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
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
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.
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
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
Sound Support
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.
View Features
Starting View
Exiting View
For many of you, View is the only iFIX software program that you'll use. You might want to keep the
following documentation handy:
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
View Features
With View you can:
Open up to 10 pictures.
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
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.
993
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.
The following table describes how to perform common actions with each of these devices.
994
Action
Mouse
Keyboard
Touch Screen
Position the
pointer
Not Available.
Select an
object
Action
Mouse
Keyboard
Touch Screen
Select a menu
command
Press a dialog
box push
button
Press a custom
push button
Not Available.
Activate (bring
up a data entry
dialog box or
execute a
command)
Scroll a
window
Not Available.
Scroll a list
box or use a
slider
Move between
windows
Click anywhere in
the desired window.
995
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.
Extension
Default Directory
.LYT
2.
996
Select the desired program. The table below describes what happens next:
If...
Then iFIX...
If...
Then iFIX...
3.
To return to View, use the standard Windows task-switching procedure or close the
application.
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.
997
Exiting View.
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.
Zooming Pictures
Creating Layouts
Picture Types
Printing Pictures
998
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
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
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
Zoom In
Zoom Out
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.
2.
Select the top-left corner of the zoom area and drag until the select box
encloses the area.
3.
Zooms out until the entire picture can fit in the picture window. When you use Fit
in Window, you no longer need scroll bars.
Next command
Previous command
Last command
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
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.
1001
2.
3.
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.
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.
2.
On the File menu, click Save Layout. The Save Layout dialog box appears.
3.
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
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.
1003
1004
1005
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.
1006
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.
Objects
The following table provides a brief description of the objects.
Object
Description
Graphics
Push buttons
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
Working with
Chart Links
1007
Object
Description
Alarm
Summary
links
Working with
Database Tags
and Alarms
1008
Date link
Time 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:
1009
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:
1010
1011
1012
Displays...
Database name
1013
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 output
status
Alarm Priority
Level
1.
2.
Activate the link. (For mouse users, you can execute step 1 and
2 by double-clicking.)
3.
2.
Activate the link. (For mouse users, you can execute step 1 and
2 by double-clicking.)
3.
1014
Parameter...
Displays...
Database Serial
Number
Node Time
Node Date
1.
2.
Activate the link. (For mouse users, you can execute step 1 and
2 by double-clicking.)
3.
2.
Activate the link. (For mouse users, you can execute step 1 and
2 by double-clicking.)
3.
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.
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
Parameter...
Number of Tags
Processed per
Second
Displays...
The number of tags that SAC has processed, or scanned, during the last
second.
Changing XY Plots
Changing Histograms
The following figure illustrates many of the terms used throughout the chapter.
Chart Parts
1016
Taken together, these three things are called the tagname. The format for a complete tagname is as
follows:
NODE:TAG.FIELD
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.
2.
3.
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.
1017
Name
Description
Multi-Pen
Multi-Bar
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.
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.
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.
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.
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.
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
Acknowledge alarms.
Display a real-time list of alarm messages with the Alarm Summary link.
Access pictures that display configuration and status summaries of individual database tags.
Acknowledging Alarms
Horn Control
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
2.
You can also acknowledge all alarms for database tags that have links in the active picture.
To acknowledge all alarms:
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.
1021
Acknowledging Alarms
The procedure below shows you how to acknowledge a single alarm.
To acknowledge a single alarm:
1.
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.
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
F4
F5
F6
F7
F8
Space Bar
Select an alarm.
F9
Deselect an alarm.
1022
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.
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.
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
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
2.
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
Stick
Sound
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
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.
2.
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.
1026
Suppression Parameter
Suppression Parameter
Syntax
-snumber
Description
The Suppression parameter allows you to suppress the error messages in the following table.
Message...
1750
Link in the picture being opened that references a tag that does not exist in the
database.
1027
Message...
1914
Example
-s175
Keyboard
1028
help for any of the File menu commands, select the appropriate command:
Open
Close
Next
Previous
Last
Open Layout
Save Layout
Exit
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
1030
QuickDraw
Zoom In
Zoom Out
Zoom To
Fit In Window
Default View
Acknowledge All
1031
Acknowledge One
Enable/Disable Alarms
Silence Horn
Enable/Disable Horn
1032
Tag Status
Manual Mode
Auto Mode
On Scan
Off Scan
Copy Link
1033
Historical Display
Database Manager
Login
Sound
Cascade
Tile
1034
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.
Electronic Books
Glossary
About
Glossary
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
F1
1035
Task
Accelerator
Alt+F1
Ctrl+K
Close a picture.
Ctrl+C
Ctrl+E
Ctrl+R
Ctrl+Y
Open a picture.
Ctrl+O
Ctrl+N
Ctrl+P
Ctrl+A
Ctrl+M
Ctrl+F
Ctrl+S
Print a picture
Ctrl+I
Ctrl+D
Ctrl+Q
Ctrl+L
Ctrl+H
Ctrl+T
1036
1037
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.
1038
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.
Define custom columns by specifying individual field names that you want to display.
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
Time In
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
Tagname
1039
Column
Description
Status
Value
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.
1040
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
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
LOLO
LOW
1042
Alarm Priority
Description
MEDIUM
HIGH
HIHI
CRITICAL
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.
Description
Time In
Sorts alarms according to when the alarm was first generated by the tag.
Type
1043
Sort Key
Description
Tag
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
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
Select a node from the Node Selection list box, a tag from the Tag Selection list box, and
click OK.
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
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.
1045
How Do I...
Click the appropriate link below for information about View's step-by-step procedures:
View Basics
Managing Alarms
Modifying Links
Using Right-Click
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...
2.
To return to View, use the standard task-switching procedure for your window manager or
close the application.
1047
Task
Action Required
Execute a command
Not available.
Scroll a window
Not available.
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
Action Required
1048
Task
Action Required
Execute a command
Scroll a window
Select an object
Action Required
Execute a command
1049
Task
Action Required
Scroll a window
Select an object
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.
1050
Printing Pictures
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.
3.
4.
On the File menu, click Save Layout. The File Save dialog box appears.
5.
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.
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.
3.
4.
On the File menu, click Save Layout. The File Save dialog box appears.
5.
6.
Select Save. View adds the .LYT file extension for you and saves the picture layout file in the
picture path.
1051
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.
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.
2.
Select the top-left corner of the zoom area and drag until the select box encloses the area.
3.
4.
To restore your normal view, on the View menu, click Default View.
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.
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.
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.
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:
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.
1053
2.
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.
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.
1054
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 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.
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.
2.
1055
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.
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.
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.
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
Key
Description
F5
F6
F7
F8
Space Bar
F9
Modifying Links
Click the appropriate link below for more information on modifying links:
1057
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.
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.
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.
5.
1058
In FIX Desktop View, double-click the XY Plot chart you want to change. The Change X vs.
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.
5.
If appropriate, enter the number of points you want the chart to display in the History Points
field.
6.
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.
4.
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.
4.
1059
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.
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.
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
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
Example
Description
N*
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:
Exiting View.
1063
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.
1064
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:
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
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
Input Dynamics
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
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
= 1056
Macro..........................................................510
Time............................................................171
About Recipes
X-Bar ..........................................................184
XY Plot Chart Link.....................................191
Accessing
ADF File
Creating ......................................................204
Importing ....................................................210
alarm areas
defined ........................................................487
Acknowledging
1069
Alarm Priorities
Displaying .................................................. 174
alarm priority ................................................ 1062
Linking .......................................................891
APPEND.........................................................762
Appendix ........................................................779
Controlling ..................................................753
Applying
Alarms
Dynamic Scaling.........................................145
Fonts ...........................................................123
Horizontal ...................................................150
alias.....................................................................9
Align Commands
Using .......................................................... 117
Align menu option .......................................... 340
Aligning
Objects ........................................................ 116
Charts..........................................................892
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
Associating
Between Pictures
Switching ..................................................1000
Bitmap Graphics
Manipulating...............................................211
Bitmaps
Exporting ....................................................212
Bitmaps through
Importing ....................................................211
Blinking
Alarms ........................................................229
Thresholds ..................................................138
automation interfaces
Block Tagnames
Selecting .....................................................843
Blocks
overview ....................................................... 28
Assigning ....................................................834
Proficy Historian............................................ 7
Building
Setting........................................................... 83
Bar Graphs
Bars................................................................. 391
Modifying ...................................................226
caching............................................................496
Between Auto
1071
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
Chart Modifiable
CHFILE ..........................................................765
Chart
ClearHistory method.........................................41
Click
Disabling.....................................................220
Click and Stick
defined ........................................................490
clipboard .........................................................490
Chart Details
Chart Group
CLOSEDIG ....................................................725
CLOSEPIC .....................................................731
1072
Closing
Color Thresholds
Understanding.............................................134
Coloring
Modifying ...................................................137
Objects ........................................................105
Collection
Text .............................................................124
Coloring ............................................................98
coloring objects ..............................................450
colors
default .........................................................450
colors ..............................................................969
column ..........................................................1055
Color Box
Moving ......................................................... 99
Using ............................................................ 97
Command Buttons
Using ..........................................................663
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
color palette
defined ........................................................490
color settings
Creating ......................................................668
Editing ........................................................668
color threshold
1073
Configuring
HTD.INI .....................................................875
Command Parameters
Adding .......................................................... 84
Commands
Confirmation
Requiring ....................................................170
Comparing
Controlling
1074
Applications ................................................753
Database Blocks .........................................714
Script Execution Speed ...............................660
conversion commands ....................................565
Conversion commands ...................................286
Dynamo ......................................................196
Converting
Layouts .....................................................1001
Links ...........................................................156
Objects ........................................................103
Copying
Creating
Variable ......................................................648
View Layouts..............................................229
CRITICAL ......................................................714
Cross-hair cursor
defined ........................................................491
1075
Cursor Position
Database
Builder ..........................................................53
Manager ........................................................53
Database Blocks
Controlling ..................................................714
database chain ...............................................1060
Database Information
Displaying...................................................173
Database Manager ................................792, 1047
Toolbox ........................................................ 94
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
Default Layouts
Number .......................................................192
Previous ........................................................85
SQL Query..................................................912
Substitutions ...............................................800
Default Settings
Symbols ......................................................800
Variable Scope............................................650
1077
Display............................................................883
display chart....................................................987
Display Chart
Create..........................................................852
Display Mode
Descriptions
Defining ...................................................... 801
Selecting .....................................................867
Displaying
Designing
Pictures ......................................................... 63
Detail Picture
Create ......................................................... 655
Determining
Time Value ................................................. 886
Developing
Hierarchy ...................................................... 63
Layout........................................................... 66
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
Draw Security
Dynamo
create ..........................................................467
Understanding .............................................. 62
creating .......................................................469
Draw Tools
Creating ......................................................196
Using ............................................................ 92
importing ....................................................473
DRAW.INI file
defined ........................................................ 491
modifying ...................................................469
prompts .......................................................433
properties ....................................................495
Dynamo ..........................................................467
Dynamo prompts
defined ........................................................492
Dynamic Movement
Applying ............................................. 142, 143
Dynamic Movement Properties ...................... 140
Dynamic Objects
Grouping..................................................... 229
Dynamic Position Objects into Bitmaps
Converting .................................................. 228
dynamic properties
Creating ......................................................196
Maintaining.................................................202
Dynamos
Dynamic Properties
Converting ..................................................201
defined ........................................................492
Importing ....................................................204
Dynamic Rotation
Pasting ........................................................200
Dynamic Scaling
Edge ................................................................106
Dynamic Visibility
Applying ..................................................... 151
Dynamically Filling Groups ........................... 153
1079
Text............................................................. 124
Environment Protection
Implementing ..............................................213
Error Handling
Understanding.............................................674
Error-Handling ...............................................653
Examine Data
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
Export command.............................................930
Exporting
environment protection
Bitmaps .......................................................212
Chart ...........................................................898
expression .......................................................630
Expressions .....................................................687
1080
filter ..............................................................1056
failover
fit to window...................................................497
file................................................................... 627
FIX
commands ...................................................... 9
nickname........................................................ 9
FIX..................................................................... 9
FIX32
FixViewApp object...........................................29
flipping
Files
defined ........................................................493
Flipping...........................................................114
defined ........................................................493
font..................................................................497
fonts ................................................................462
1081
Fonts
grouped objects
defined ........................................................493
Grouped Objects
Rotating ......................................................147
Grouping
Links ...........................................................158
Objects ........................................................120
Group's Node
Replacing ....................................................132
guidelines
handle .............................................................628
handles
defined ........................................................493
header .............................................................984
grid
Grid
Hierarchy
Developing ...................................................63
High Limit Values
Trending .....................................................866
Group Functions
1082
HTD ................................................................... 3
I
I-Beam ............................................................493
identifier column.............................................827
IF 711
IF command ............................ 259, 292, 532, 577
IF expression ..................................................630
iFIX
Implementing
Import Wizard
Using ..........................................................210
importing
Historical Files
Purging ....................................................... 845
Historical Trending
Dynamos .....................................................204
Horizontal
Importing ........................................................904
1083
Incorporating
Security Features ........................................ 747
Using ........................................................1022
Keyboard ........................................................819
information link
Keystroke Assignment
Defining ......................................................507
Information Links
Creating ...................................................... 159
input dynamics
Lab Data
Displaying...................................................905
Importing ....................................................904
Insertion cursor
Developing ...................................................65
Introduction
Draw Application ......................................... 59
Link Types .................................................. 154
Invoking
Command Line Parameters ........................ 877
Developing ...................................................66
Learning
Basics............................................................75
1084
LISTTABLES.................................................774
Legend
Loading
LOADKMX ....................................................735
Line
Logging
Commands ..................................................748
Line Properties
Login ............................................................1047
LOGIN ............................................................775
login account
Link Controllable
LOGOUT ........................................................776
LOGOUT command ............... 264, 322, 537, 593
Low
Entering ......................................................866
low mode ........................................................988
M
macro
defined ........................................................494
Links
Macro Editor
Accessing....................................................505
Exiting ........................................................509
Grouping..................................................... 158
Introducing .................................................503
macro file
listbox, example................................................ 44
defined ........................................................495
1085
Macro File
Manual Mode................................................1023
Macro Types
marker .............................................................988
Masking ..........................................................112
Master .............................................................812
Maximizing
Draw .............................................................76
MENU ............................................................751
Macros Under
Saving ......................................................... 509
Making
messages .......................................................1056
Messaging
managing
Commands ..................................................744
Messaging commands.....................................306
Managing
methods
ChildBringToFront .......................................32
ChildClose ....................................................32
ChildGetTitle ................................................33
Manipulating
ChildOpen.....................................................34
ChildReplace ................................................38
ChildSetPosition ...........................................39
ChildSetSize .................................................40
ChildSetTitle.................................................41
ClearHistory .................................................41
Exit ...............................................................42
GetHistory ....................................................43
ListOpenChildren .........................................44
Manipulation Commands
Maximize ......................................................45
1086
Minimize.......................................................45
Restore .......................................................... 46
SetPosition .................................................... 46
SetSize .......................................................... 47
migration
historical data .................................................6
Minimize method ............................................. 45
Mission Control menu option ......................... 347
modify chart ................................................... 968
1087
node
Object
Naming .......................................................131
Object .............................................................142
Node Time
creating .......................................................447
nudging
filling ..........................................................476
handles ........................................................493
manipulating ...............................................449
Number
moving ........................................................479
nudging .......................................................495
rotating ........................................................480
scaling .........................................................481
selecting ......................................................451
Numeric Data
visibility ......................................................477
Objects
Aligning ......................................................116
Coloring ......................................................105
Creating ......................................................103
Grouping .....................................................120
Manipulating...............................................113
Selecting .....................................................108
OFFSCAN ......................................................722
1088
offset ...............................................................625
OLE client application ....................................... 7
Original Palette
Resetting .....................................................101
Other Applications
Switching ......................................................88
Other iFIX
Switching ....................................................996
oval .................................................................447
Overruns
Preventing ...................................................849
Palettes
Saving .........................................................102
PAN ................................................................740
Paradym-31.......................................................49
opening
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
pen color
Pen Color
Pen Group
Picture Properties............................................809
Reducing .....................................................228
picture report
defined ........................................................497
picture reports .................................................456
Picture Reports
Creating ........................................................86
picture
Picture Sizing
Changing.......................................................81
Picture Sizing..................................................231
Picture............................................................... 84
picture templates
picture caching
defined ........................................................ 496
default ...........................................................54
Picture Templates
Creating ........................................................77
Modifying .....................................................78
Picture Types
Understanding .............................................. 77
Understanding...............................................66
Picture Fit
Pictures
Closing..........................................................80
Deleting ........................................................80
1090
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
Previous
Defining ........................................................85
PROCEDURE ................................................777
Polygons
Proficy Historian
browsing for tags ........................................... 7
PROMPT ........................................................746
prompts ...........................................................433
1091
properties
recipe ..............................................................827
Properties
Recipe .............................................................791
Pictures ......................................................... 71
Purging
Recipes ...........................................................812
rectangle .........................................................447
Reducing
Refreshing
Pictures .........................................................88
Regions ...........................................................229
Relational Database
Accessing......................................................75
Qualifier Block
Entering ...................................................... 839
quick database tools .......................................... 53
Displaying...................................................675
RAMP............................................................. 728
Replace
1092
Displaying...................................................174
Requiring
Resetting
resolve
Saving
Macros ........................................................508
Palettes........................................................102
Restoring
Pictures .........................................................78
S-Bar ...............................................................405
scale ................................................................481
Rotating
scan cycle..........................................................55
scope ...............................................................636
Screen .............................................................892
screen variables...............................................601
script
defined ........................................................490
Script Commands
Adding ........................................................151
1093
selecting objects..............................................493
Using ........................................................1011
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
Editing ........................................................915
Modifying ...................................................914
SQL Query
Defining ......................................................912
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
defined ........................................................499
Stacking ..........................................................110
Stamper
defined ........................................................500
Start Date
Defining ......................................................871
Starting
SQL Commands
Draw .............................................................75
SQL Data
View ...........................................................992
statistical chart ..............................................1058
Statistical Chart Configuration dialog box .....426
1095
Subpictures .......................................................68
subroutines
described .......................................................22
Statistical Charts
SetDrawToFront ...........................................27
SetHtdToFront ..............................................28
SetViewToFront ...........................................27
Statistical Pens
ViewCLOSEPIC...........................................26
ViewOPENPIC .............................................22
ViewREPLACEPIC......................................25
subroutines ........................................................25
substitution
Stopping
defined ........................................................500
Substitution ...................................................1066
Substitutions
STRCAT......................................................... 698
Defining ......................................................800
Suspending
String
SWITCHKMX ...............................................736
Entering ......................................................815
syntax..............................................................985
1096
Adding ........................................................173
Tag Groups
Incorporating ..............................................658
System Menu
Understanding...............................................72
Disabling ...................................................... 84
system variables ............................................. 602
Defining ......................................................181
Tag Names
Entering ......................................................187
Specifying ...................................................181
tag group
Tag Group
Tagnames ......................................................1016
tags
scripts, in.......................................................55
Taking
Chain On ...................................................1023
template
defined ........................................................501
template ..........................................................455
text
adding .........................................................462
editing .........................................................462
fonts ............................................................462
stretching ....................................................463
text ..................................................................493
1097
Text
Coloring ...................................................... 124
Using ..........................................................886
Text................................................................. 122
Text Data
Time Value
Determining ................................................886
time variables..................................................603
Timed Basis
Text Object
Title Bar
Disabling.......................................................84
TOGGLEALARM ..........................................718
TOGGLEDIG .................................................726
TOGGLEMANL ............................................721
1098
Tooltips
Disabling ...................................................... 97
Dynamic Scaling.........................................144
Links ...........................................................154
UPDATE ........................................................778
Updating
Chart ...........................................................890
updating a chart ..............................................975
Use Predefined Variables ...............................658
User Defined Macros ......................................504
User Preferences, Environment Protection .......50
user prompts ...................................................433
Areas........................................................... 884
Using
1099
Using Macros....................................................71
Grid............................................................. 116
Using Numeric................................................661
1100
View Layouts
Creating ......................................................229
View menu....................................................1030
Variables
VIEW.INI file
VBA ................................................................. 20
defined ........................................................502
visibility ..........................................................477
Ways
Modify ........................................................893
what's new in iFIX with FIX Desktop ............... 3
Wildcard ...........................................................91
Window ..........................................................222
Window Properties
Selecting .......................................................71
Windows .......................................................1025
View Environment
Windows XP ...................................................... 4
Working
With ............................................................124
WorkSpace tree.................................................. 3
WSPROXY
described ........................................................ 7
guidelines ....................................................... 9
1101
Y Axis Details
Defining ......................................................868
Configuring ........................ 179, 185, 188, 192
X 179
X Axis Details
Y Axis Labels
Manipulating...............................................886
Showing ......................................................865
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