Вы находитесь на странице: 1из 6083

Proficy* HMI/SCADA - iFIX

BUILDING A SCADA SYSTEM

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

Disclaimer of Warranties and Liability

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

Notice

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

Reference Documents ..................................................................................................................1 

Introduction .......................................................................................................................................1 

Database Manager ...................................................................................................................1 

Understanding a Database ...........................................................................................................2 

Understanding Database Blocks ..............................................................................................2 

Understanding Chains ..............................................................................................................3 

Processing the Database .........................................................................................................3 

Using the Process Database ........................................................................................................4 

Trending Process Data .............................................................................................................4 

Creating Scripts and Schedules with Process Data .................................................................5 

Archiving Process Data ............................................................................................................5 

Sample Application .......................................................................................................................5 

Getting Started..................................................................................................................................5 

Starting and Stopping Database Manager ...................................................................................6 

Using the Database Spreadsheet.................................................................................................6 

Understanding Spreadsheet Properties ...................................................................................6 

Working with the Pop-up Menu ................................................................................................7 

Editing the Spreadsheet ...........................................................................................................7 

Working with the Database Manager Ribbon ...............................................................................7 

Setting Database Manager Preferences ......................................................................................8 

Creating a Process Database: Overview .....................................................................................8 

Implementing a Process Database...................................................................................................9 

Sample Process Application .........................................................................................................9 

Designing a Chain ......................................................................................................................10 

Describing the Sample Process Application ...........................................................................11 

iii
Building a SCADA System

Analyzing the Sample Process ............................................................................................... 12

Designing an Automation Strategy for the Sample Process ..................................................13

Writing an Automation Algorithm for the Sample Process .....................................................13

Matching Process Steps to Block Types ................................................................................ 14

Drawing a Flowchart for the Sample Chain ............................................................................ 15

Understanding Chain Designs .................................................................................................... 19

Building Large Databases .......................................................................................................... 19

Saving Large Databases ........................................................................................................ 20

Working with Analog and Digital Blocks ..................................................................................... 20

Working with Database Blocks ....................................................................................................... 21

Block Types and Descriptions .................................................................................................... 21

Understanding Primary Blocks ............................................................................................... 23

Understanding Secondary Blocks .......................................................................................... 24

Understanding Control Blocks ................................................................................................ 25

Understanding Statistical Process Control Blocks ................................................................. 26

Understanding Batch Blocks .................................................................................................. 27

Understanding SQL Blocks .................................................................................................... 27

Understanding Database Dynamos........................................................................................ 27

Database Dynamo Configuration Utility.................................................................................. 30

Block Fields ................................................................................................................................ 32

Locating Block Fields .............................................................................................................. 33

Completing Block Dialog Boxes ............................................................................................. 33

Scan Times ................................................................................................................................. 33

Understanding Time-Based Processing ................................................................................. 34

Understanding Exception-Based Processing ......................................................................... 35

Understanding One Shot Processing ..................................................................................... 38

Phasing ....................................................................................................................................... 38

Assigning Phase Times .......................................................................................................... 39

iv
Building a SCADA System

Overphasing ........................................................................................................................... 40

Block Modes ............................................................................................................................... 40

Understanding PMAN Mode ................................................................................................... 42

Understanding Blocks in PAUT Mode .................................................................................... 43

Placing Blocks On and Off Scan ................................................................................................ 43

Blocks with Long Scan Times ................................................................................................. 44

Example: Placing Blocks with Long Scan Times On Scan.....................................................44

Using the S Parameter ........................................................................................................... 44

I/O Drivers ................................................................................................................................... 45

Using the OPC Client I/O Driver ............................................................................................. 47

Using the Simulation Driver .................................................................................................... 47

Using the Simulation 2 Driver ................................................................................................. 52

Understanding Alarm Statuses ............................................................................................... 57

Connecting to an OPC Server ................................................................................................ 60

Understanding Signal Conditioning ............................................................................................ 60

Understanding EGU Limits ..................................................................................................... 61

Working With the Process Database .............................................................................................. 63

Creating a New Database .......................................................................................................... 63

Opening and Closing a Database............................................................................................... 63

Adding Blocks ............................................................................................................................. 63

Adding Multiple Blocks............................................................................................................ 64

Duplicating Blocks ...................................................................................................................... 67

Copying and Pasting Blocks ....................................................................................................... 67

Moving Blocks............................................................................................................................. 68

Modifying Blocks ......................................................................................................................... 69

Displaying Block Information .................................................................................................. 69

Deleting Blocks ........................................................................................................................... 69

Saving a Database ..................................................................................................................... 70

v
Building a SCADA System

Saving a Database from a Script or a Program Block ............................................................ 70

Locating and Displaying Data ......................................................................................................... 70

Finding Data in a Spreadsheet ................................................................................................... 71

Find Options ........................................................................................................................... 71

Replacing Data ........................................................................................................................... 72

Find Options ........................................................................................................................... 72

Using Go To................................................................................................................................ 72

Updating and Pausing the Spreadsheet ..................................................................................... 72

Customizing the Spreadsheet .................................................................................................... 73

Coloring the Spreadsheet ....................................................................................................... 73

Creating a Non-Scrolling Column ........................................................................................... 73

Defining a Spreadsheet Layout .............................................................................................. 74

Saving and Loading Spreadsheet Layouts ................................................................................. 75

Overriding the Default Layout ..................................................................................................... 75

Troubleshooting Tag Display ...................................................................................................... 76

Querying and Sorting Data ............................................................................................................. 77

Understanding Query Syntax ..................................................................................................... 77

Using Boolean Operators ....................................................................................................... 79

Using Wildcards in a Query .................................................................................................... 79

Grouping Queries ................................................................................................................... 80

Editing a Query ........................................................................................................................... 80

Refining and Expanding a Query................................................................................................ 81

Saving and Loading a Query ...................................................................................................... 82

Overriding the Default Query ...................................................................................................... 82

Understanding Sort Orders ......................................................................................................... 82

How Sort Orders Work............................................................................................................ 82

Saving and Loading a Sort Order ............................................................................................... 83

Changing the Default Sort Order ................................................................................................ 83

vi
Building a SCADA System

Managing Databases ...................................................................................................................... 83

Verifying Databases ................................................................................................................... 84

Correcting Errors .................................................................................................................... 85

Reloading Databases ................................................................................................................. 85

Reloading a Database from a Visual Basic Script .................................................................. 85

Displaying a Database Summary ............................................................................................... 86

Exporting Databases .................................................................................................................. 87

Exporting a Database from the Command Line ..................................................................... 87

Editing the Export File............................................................................................................. 89

Importing Databases .................................................................................................................. 92

Advanced Topics ............................................................................................................................ 93

Changing a Database's Scanning Order .................................................................................... 93

Understanding a Database's Scanning Order ........................................................................ 93

Changing the Order of Solve .................................................................................................. 95

Customizing the Toolbar ............................................................................................................. 95

Customizing the Tools Menu ...................................................................................................... 96

Index ...............................................................................................................................................97

vii
About this Guide
Building a SCADA System is intended for process engineers responsible for designing and building a
process database. This manual shows engineers how to create, modify, and delete blocks and chains. It
also teaches the skills engineers need to sort, query, and optimize iFIX® databases.

Reference Documents
For related information about iFIX, refer to the following documents:

 Understanding iFIX
 Writing Scripts
 Creating Recipes

Introduction
iFIX® provides process information for plant managers, supervisors, and operators in the form of
reports, displays, archived data, alarms, messages, and statistical charts. The sources of this
information are OPC servers or process hardware — the controllers, sensors, motors, switches, and
other devices — required to manufacture your product.

iFIX reads process information from these devices and saves it in one or more process databases
residing on your SCADA servers. The database plays an integral part in your industrial automation
strategy; it is the primary source of process data for most iFIX applications. Whether you collect
historical values or generate shift reports, iFIX enables you to create a database that supports your
specific industrial control and automation needs.

Database Manager
Your main tool for creating and managing process databases is Database Manager. This program lets
you open and configure the database of any SCADA server. You can also:

 Query and sort the database.


 Find and replace database information.
 Import and export a database.
 Generate multiple database blocks automatically.
 Customize your display.

1
Building a SCADA System

Understanding a Database
Every SCADA server loads a process database at start-up. Once loaded, the database:

• Receives values from an I/O driver or OLE for Process Control (OPC) server.
• Manipulates values according to its configuration (a control strategy).
• Compares the values to alarm limits you define.
• Outputs adjusted values to the I/O driver or OPC server.
• Sends alarms to operator displays, printers, files, and network alarm destinations.

The following figure illustrates how values enter a database, travel through a sequence of blocks, and
exit the database as output.

I/O Data and the Database

Understanding Database Blocks


The main components of a process database are blocks. Blocks are capable of:

• Receiving values either from another block, OPC server, or directly from an I/O driver.
• Manipulating values according to its configuration.
• Comparing incoming values against pre-defined limits.
• Scaling process values to a specified range.
• Performing calculations.
• Outputting values back to the I/O driver or OPC server.

iFIX provides different types of blocks, each capable of performing a unique function. For a brief
description of each block, refer to the section Block Types and Descriptions.

By default, when you install iFIX, it creates an empty database for your SCADA server. Using
Database Manager, you can add the blocks you require to this database.

2
Building a SCADA System

Next, you configure the block by entering:

• The block's name.


• How it receives data from an I/O driver, OPC server, or from another block.
• Where it sends information.
• If it manipulates values.
• How it reacts to critical value changes (called alarming).
• How it scales values for operator displays.

Understanding Chains
Blocks by themselves perform specific tasks in the database. By combining two or more blocks
together, you can form chains. Each chain performs the tasks of its component blocks by passing data
from one block to the next. When properly configured, chains can generate alarms, acquire data, and
verify, automate, and maintain a process. In automating large processes involving a number of I/O
devices, a database can contain many chains, each designed to automate and maintain a specific
function or process step.

Each chain can contain up to 30 blocks, with each block configured to perform a specific processing
function. Note that some blocks are designed to work in chains while others are designed to operate on
their own. Specific types of blocks, their functions, and their relationship to one another are
summarized in the section Block Types and Descriptions.

Familiarize yourself with the available blocks. Having a good understanding of the blocks and their
capabilities allows you to quickly design optimum strategies for your application.

Processing the Database


In order for your blocks and chains to function, the Scan, Alarm, and Control program (SAC)
processes them at the time interval you define. SAC processes your blocks and chains by:

• Scanning individual blocks in the chain, reading new I/O values and returning values to the
process hardware.

3
Building a SCADA System

• Alarming on incoming values if they exceed pre-defined limits you specify.


• Controlling the automation process by assuring that each block verifies or manipulates
incoming values according to its configuration and sends values on to the next block in the
chain.

The following figure shows SAC reading process values, sending these values through database
chains, and returning the output values.

SAC Processing I/O Data

Using the Process Database


Once you create a process database, your SCADA server can monitor process conditions and report
alarms. Alarms occur when an incoming value exceeds a pre-defined limit. Using the Proficy iFIX
WorkSpace, you can draw and animate any object by rotating, coloring, or scaling it when an alarm
occurs. These visual cues help operators respond to alarms in a timely fashion. For more information
on reporting alarms, refer to the Implementing Alarms and Messages manual.

For information on trending data, creating scripts and schedules, and archiving data, refer to the
following topics:

• Trending Process Data


• Creating Scripts and Schedules with Process Data
• Archiving Process Data

Trending Process Data


SCADA servers can also trend and display real-time and historical values. Process trends enable you to
record and analyze process-critical values and allow you to:

• Archive process variables to meet federal regulations.


• Monitor the efficiency of products.
• Maintain equipment.
• Analyze post-process data.

4
Building a SCADA System

For more information on collecting historical values, refer to the Trending Historical Data manual. For
more information on trending real-time data for operators, refer to the Creating Pictures manual.

Creating Scripts and Schedules with Process Data


Using Visual Basic for Applications (VBA) or the Scheduler, you can adjust database values, place
blocks on scan or off scan, change a block's mode, or launch a script based on a value change or an
alarm. For example, using a time-based schedule, you could set the values of a dozen blocks prior to
the manufacture of your product or you could automatically ramp a value based on an event (such as a
valve closing). Likewise, you could write a script to monitor the value of a block and, when an alarm
occurs, open a diagnostic picture. For more information on using these features, refer to the Writing
Scripts and Mastering iFIX manuals.

Archiving Process Data


In addition to using scripts and schedules to write values to the process database, you can use a
relational database. Writing values from a relational database is similar to writing values with a script.
In both cases, values are written at a pre-defined time or when an event occurs (such as a contact
opening). However, unlike scripts and schedules, writing data from a relational database requires that
you configure the SQL Trigger and SQL Data blocks in the process database.

These blocks also let you archive data to a relational database. Once the relational database receives
and stores the process data, you can query it to retrieve and analyze any information. For more
information on setting up and using a relational database, refer to your ODBC manuals and the Using
SQL. For more information on process database blocks, refer to the iFIX Database Reference.

IMPORTANT: If you are working in a secure environment and using the Electronic Signature option,
you must be aware of the impact of unsigned writes to the process database. Unsigned writes can
originate from scripts, schedules, and writes from a relational database. Refer to the Implications of
Database Writes With Electronic Signature section of the Using Electronic Signatures manual for
detailed information.

Sample Application
To help you understand how to create process databases for yourself, this manual uses a sample
application for manufacturing fertilizer and monitoring chemical consumption and equipment usage.
The blocks and chains that comprise the application were developed by the Enviro company which
collects sludge generated by municipal sewage plants and converts it into different grades of
agricultural fertilizer in briquette form. The Enviro company's manufacturing process encompasses:

• Continuous control
• Batch control
• Discrete parts

Getting Started
You can begin creating process databases by verifying that your SCADA servers are set up and

5
Building a SCADA System

functioning. Once you set up these computers, follow the steps.

To get started:

1. Install iFIX on each SCADA server.


2. Configure each server with the System Configuration Utility (SCU). Refer to the Setting up
the Environment manual to learn how to enable SCADA support.
3. Set up the alarm area database for each server. This database contains the alarm areas you can
assign to the blocks on the SCADA server. If you want to share an alarm area database across
multiple servers, change the Alarm Area path in the SCU to reference a file server before you
create your process databases.

Starting and Stopping Database Manager


You can start Database Manager by clicking the Database Manager button on the Application toolbar
(Classic view) or by selecting Database Manager, in the Process Database group, on the Applications
tab (Ribbon view). As the program starts up, it prompts you to select the SCADA server you want to
connect to and establishes a connection to the computer you select. Once Database Manager connects
to the selected SCADA server, the program opens the server's current database.

From the Database Manager, you can open databases from SCADA nodes with iFIX 3.0 or greater
installed. You cannot add, modify, or delete blocks in databases from earlier versions of iFIX, such as
iFIX 2.5 or FIX32.

To exit from the program, in Classic view, select Exit from the File menu or in Ribbon view, click the
Database Manager button, and then click Exit.

NOTE: Connections to remote SCADA servers are established with a physical node name, not logical
node names. Logical and physical node names are identical unless you enable SCADA redundancy.
For more information about this feature, refer to the Mastering iFIX manual.

Using the Database Spreadsheet


Each process database you open appears as a spreadsheet in Database Manager. Blocks appear as rows,
and block fields appear as columns. Click to select a row or field. You can also select multiple rows
and columns by clicking and dragging.

The following topics provide more information about the database spreadsheet:

• Understanding Spreadsheet Properties


• Working with the Pop-up Menu
• Editing the Spreadsheet

Understanding Spreadsheet Properties


The database spreadsheet has many properties you can configure. Among these are:

• The sort order.

6
Building a SCADA System

• The default query.


• The display format.
• The color scheme.
• The font properties.

By configuring these properties you can customize the spreadsheet as needed. To learn more about
these properties, refer to the chapters Locating and Displaying Data and Querying and Sorting Data.

Working with the Pop-up Menu


In addition to the properties you can configure, the spreadsheet lets you right-click any row, column, or
cell to display a menu containing a list of frequently-accessed commands. These commands are
identical to commands you can access from the menu bar. For example, Cut on the pop-up menu is
identical to Cut on the Edit menu. Similarly, Add Block on the pop-up menu is identical to Add on the
Blocks menu.

Editing the Spreadsheet


You can edit most spreadsheet cells by selecting them and entering the data you want to display,
allowing you to change individual items quickly. Cells in certain columns, such as the Tagname
column, are read-only and cannot be modified.

To change multiple fields for a particular block, you can double-click the block to display its dialog
box. To change the same field for multiple blocks, you can find and replace data in a spreadsheet
column. Refer to the chapter Locating and Displaying Data to learn more about finding and replacing
data.

Exchanging Data

Database Manager also lets you edit blocks by copying or exporting them. Whenever you complete
these tasks, the program converts the selected blocks into comma separated value (CSV) format,
enabling you to paste or import the data into your favorite text editor or spreadsheet. Once you edit the
data, you can copy or import the data back to Database Manager.

Often a quicker way to convert blocks into CSV format is by holding down the Control key and
dragging and dropping the blocks from Database Manager and into Microsoft® Excel. The blocks you
move appear in CSV format, allowing you to edit them. When you finish, you can drag them back. To
learn more about using Excel with the Database Manager, refer to the section Copying and Pasting
Blocks.

Working with the Database Manager Ribbon


Across the top of the spreadsheet is the Database Manager Ribbon. The Ribbon, shown in the
following figure, provides access to common database operations such as saving a database or adding a
block.

7
Building a SCADA System

Setting Database Manager Preferences


Database Manager provides preferences for printing, saving, displaying, and editing the database.
These preferences let you adjust how Database Manager handles certain operations. The following
table summarizes the preferences you can enable.

Database Manager Preferences

The... Let you...

Printing Print the database while you configure a block or start another iFIX program.
preferences

Saving Save the current spreadsheet settings or the process database when you exit
preferences Database Manager.

Display View or hide:


preferences
• Spreadsheet row numbers
• The status bar
• The Database Manager toolbar
You also have the option to set the automatic refresh rate.

Editing Open block dialog boxes in view or modify mode when you double-click a cell in
preferences the spreadsheet. In view mode, you can examine the block configuration but not
modify it. The block and its chain remain on scan at all times. In modify mode,
you can examine and change the block configuration. The block and its chain are
placed off scan even if you do not modify the block.
You also have the option to place edited blocks and chains on scan automatically
when you finish editing them. By default, this option is disabled and Database
Manager prompts you to place modified blocks on scan.

Creating a Process Database: Overview


You can create a process database by following these steps.

8
Building a SCADA System

To create a process database:

1. Create primary blocks for your I/O points.


2. Create any additional blocks you need and connect them to your primary blocks to form
chains.
3. Verify the database for errors.
4. Correct any errors and fine-tune the database.

To learn how to create database blocks, refer to the section Adding Blocks. For information on using
standard VBA naming conventions when creating tags, refer to VBA Naming Conventions. For
information on verifying and correcting database errors, refer to the section Verifying Databases.

Implementing a Process Database


Implementing a SCADA strategy requires you to collect the following information:

• Flowcharts of your processes.


• A list of I/O driver or OPC server addresses.
• Your alarm requirements.
• The type of signal conditioning and the range of values that your process hardware can
measure. The range of values is called the EGU range.

After you have this data, you are ready to design a database. To help illustrate how to do this, this
chapter walks you through the process of designing a chain for the Enviro company, introduced in the
section Sample Application. Using these examples, you should be able to create your own blocks and
chains for your process database.

As you read this chapter, you may find it helpful to skip ahead and learn how to add a block with
Database Manager so that you can create the sample chains described here. By creating sample chains,
working with Database Manager, and correcting errors, you learn how to avoid mistakes before you
create your actual database.

Sample Process Application


The first step in designing a database is to examine the application that you want to automate. Next,
assign specific processing, maintenance, and monitoring tasks. For example, the Enviro company
identified the following tasks, the specific iFIX features they would use to accomplish them, and the
economic benefits.

The key elements of this application also apply to processes in other industries, such as chemical
processing, food processing, and even discrete parts manufacturing.

9
Building a SCADA System

Automating the Sample Process with iFIX

Production Tasks: iFIX Application: Economic Benefits:

• Schedule Schedule recipes for batch processing. Increase production


production with through scheduling.
• Perform supervisory
sales orders.
control, direct digital • Produce a higher
• Process sludge control, and alarming. quality product.
into fertilizer.
• Download a recipe for • Increase plant
• Produce each grade of fertilizer. availability by
different grades scheduling
• Trend chemical levels
of fertilizer on preventative
and print chemical
demand. maintenance.
usage reports.
• Monitor • Lower operating
• Trend pump/value
chemical usage costs by making
usage and print
and maintain better use of
maintenance reports.
inventory. materials and
• Historically trend the lowering labor
• Maintain
process. cost.
equipment.
• Calculate the total • Increase
• Maintain
product weight responsiveness to
fertilizer count.
according to batch and market conditions
• Archive perform statistical by varying product
processing data. quality control. size, compound,
color, and water
content.
• Increase profit.

Designing a Chain
Once you know the tasks you want to accomplish, you can design the chains for your database. The
easiest and most efficient way to design a functional chain is to use the following design steps:

To design a chain:

1. Analyze your process and make a record of the data you need, including:
• I/O addresses of the device controller (a wiring list)
• Device types
• Signal conditioning
• The EGU range
2. Design an automation strategy that explains how you want your process automated. For
example:
• What types of alarms and alarm limits do you want to establish?

10
Building a SCADA System

• How often do you want the chain processed?


• When do you want operators notified of process events?
• How do you want process disruptions handled?
3. Create an algorithm that combines your process analysis and automation strategy. This
determines how iFIX automates your process and provides the specific processing instructions
you will enter into block dialog boxes.
4. Match the steps in your algorithm to blocks capable of performing these steps.
5. Draw a flowchart listing the block types that perform each step along with the specific
processing instructions for each block.

The example presented in the following subsections illustrates the thought process involved in
designing a simple chain.

• Describing the Sample Process Application


• Analyzing the Sample Process
• Designing an Automation Strategy for the Sample Process
• Writing an Automation Algorithm for the Sample Process
• Matching Process Steps to Block Types
• Drawing a Flowchart for the Sample Chain

Describing the Sample Process Application


One step in the Enviro company's sludge conversion process is neutralizing acids and alkali in the
sludge. The treatment process involves four steps:

1. Adding and mixing water with the sludge.


2. Adjusting the sludge's pH to neutralize any acid or alkali.
3. Adding potassium, nitrogen, and phosphorus to produce different grades of fertilizer.
4. Pumping the prepared sludge to the filter press where excess water is removed to form
fertilizer briquettes.

The remainder of this chapter focuses on the second step: pH adjustment.

Sludge from the collection tank is periodically pumped into a large tank where water is added to make
the sludge easier to mix. A sensor in the tank registers the sludge's pH level. If the sludge is acidic, a
device controller turns on a pump that adds an alkaline solution into the tank to raise the pH; if the
sludge is alkaline, the device controller turns on a pump that adds an acidic solution into the tank to
lower the pH. In either case, the sludge's pH is properly adjusted according to the grade of fertilizer
that is needed before it is pumped to the filter press. The following figure shows the pH adjustment
tank and its equipment.

11
Building a SCADA System

pH Adjustment Tank

The next step is to design a chain that examines and adjusts the sludge's pH by:

• Retrieving information from the pH sensor (data acquisition).


• Sequencing pumps and maintaining pH (Direct digital control).

Once you complete these tasks, you can add blocks to monitor pH fluctuations, chemical usage, pump
usage, down time, and other statistical information. You can also historically trend this information,
print it in reports, and display it to operators.

Analyzing the Sample Process


The first step in automating your process is analyzing how the process works. By developing a detailed
process analysis first, you save time because you isolate the tasks that simple chains can complete and
identify those tasks that require more complex chain designs. For example, a task in the Enviro
company might be "if the pH is greater than 8.5, add the acidic solution until it reaches 7.5."

The steps required to adjust the pH are:

1. Test the pH each hour.


2. If the pH is below 5.5, gradually add an alkali solution; if above 8.5, gradually add an acidic
solution.
3. Stop adding the solution when the pH is between 6.5 and 7.5.

Although this analysis describes how the process works, it lacks important information about your
control devices. You need to add detailed information on I/O driver or OPC server addresses, the type
of controller equipment, signal conditioning, and maximum ranges the equipment can accept. In short,
record all detailed information on how the process equipment operates.

After you obtain this information, you can go on to write a detailed analysis of your process. The
following table presents a sample analysis of the pH monitoring and adjustment process.

Sample Process Analysis

The pH sensor analog address: 1:1:30001

12
Building a SCADA System

Sample Process Analysis

Acid pump's digital address: 1:1:40004:8

Alkali pump's digital address: 1:1:40004:5

Device controller: MB1

Signal conditioning: LIN

EGU range: 0.0 to 14.0

Designing an Automation Strategy for the Sample Process


The next step in designing a database chain is planning a successful automation strategy. This requires
you to determine how you want to automate the steps recorded in your process analysis. The following
steps provide a sample automation strategy for the pH adjustment process.

1. Receive pH information from the sensor at set intervals.


2. Perform alarming. Set HIHI, HI, LO, LOLO, and ROC (rate of change) alarm limits.
3. Sequence pumps to maintain pH.
4. If the pH is below 5.5, turn on the alkaline pump.
5. If the pH is above 8.5, turn on the acid pump.
6. Repeat step 1 through 5 at set intervals.

Notice how this automation strategy incorporates an alarming plan for handling process upsets, such as
extreme pH fluctuations (rate of change). This helps to assure that empty drums of acidic and alkaline
solutions do not go unnoticed and equipment failures do not interrupt your treatment process.

Writing an Automation Algorithm for the Sample Process


The next and most important step in designing the pH adjustment chain is writing an algorithm that
combines both the process analysis and automation strategy. The following figure shows how the
technical specifications outlined in the process analysis are combined with the automation needs listed
in the automation strategy.

13
Building a SCADA System

Creating an Automation Algorithm

The algorithm forms the basis of your chain; it identifies the order in which the process proceeds,
where each step acquires information, and how iFIX gathers, processes, and verifies information.

Matching Process Steps to Block Types


The next step is finding the right database blocks to perform the steps outlined in the algorithm. This
process transforms the algorithm from written steps into a chain schematic. Moreover, this step ensures
that you incorporate iFIX capabilities into your processing plans. Once you complete this design step,
you can enter your designs into your SCADA server's database.

When matching blocks to steps, select a block that can perform the function of a step. In many cases,
one block type can handle more than one step, whereas some steps may include too many functions or
too many complex operations for any one block.

For your pH adjustment process, the following blocks satisfy the algorithm:

1. An Analog Input block can receive analog signals from the pH sensor's address.

14
Building a SCADA System

2. The Analog Input block can also accommodate the alarming requirements, so this task is
assigned to this block.

3. The pumps are turned on or off based upon the value that the Analog Input block receives
from the pH sensor. The block required for this step must be able to monitor an analog input
and, depending on the value of the input, open or close a digital output point.

The digital outputs are sent directly to the acid and alkali pump addresses. The On-Off
Control block can perform this function.

Since the On-Off Control block can turn the pumps on and off without the use of any other
block, this completes step 3.

At this point you've identified the blocks that can perform all the steps in your algorithm.

Drawing a Flowchart for the Sample Chain


The last step is to draw a flowchart showing:

15
Building a SCADA System

• The chained blocks.


• Their names.
• Their I/O addresses.
• Additional instructions on how these blocks handle information.

The flowchart is a visual representation of the chain and shows the instructions you will enter into each
block as you add them to the database. The following figure shows a flowchart for the pH adjustment
process.

Chain Flowchart

Typically, your chain designs are seldom perfect the first time you implement them. With Database
Manager, you can always re-evaluate the design of your chain, add blocks, remove blocks, modify
block configurations, or change block types to those that accommodate more sophisticated automation
functions.

The best approach to re-evaluating the design of your chain is to examine the original automation
algorithm and determine if other blocks provide more flexibility or features over the existing blocks.
For example, after testing the sample chain, Enviro engineers found it works well most of the time, but
every so often the adjustment process exceeds acceptable pH limits by pumping in too much acidic
solution, which lowers the pH beyond acceptable limits. The following figure illustrates this problem.

Sample pH Problem

You want the capability of pumping in acid at short intervals. In the original design, iFIX scans the
chain every four minutes. This allows the acid more time to react with the sludge before more acid
enters the tank. An additional improvement would be to shorten the chain's scan time, providing more
pH sampling to determine which solution needs to be pumped into the tank.

16
Building a SCADA System

By re-examining the automation algorithm, you can determine where to make improvements to the
chain. Reproduced below is the original automation algorithm that called for the On-Off Control block.

• If the pH is below 5.5, turn on the pump to add an alkaline solution. If the pH is above 8.5,
turn on the pump to add an acid solution.
• Acid pump digital address: 1:1:40004:8
• Alkaline pump digital address: 1:1:40004:5
• If the pH is between 5.5 and 8.5, stop all pumps.

What you want to do is modify this algorithm to run the acid pump for shorter intervals, giving the acid
time to decrease the pH before the acid is turned on again. To do this, you need to examine if other
blocks can perform this task.

One block capable of turning a pump on or off is the Program block. You can replace the On-Off
Control block with the Program block. However, the Program block cannot establish direct digital
contact with the acid and alkali pumps. For this you need to use two Digital Output blocks, one for
each pump.

The following figure shows the replacement of the On-Off Control block with the Program block and
the two Digital Output blocks, and represents how information passes from one block to the next.

Chain Modification

NOTE: The figure Chain Modification illustrates how the data flows from one block to another, not
the actual chain structure.

The following figure provides the new programming instructions required to operate the Program and
Digital Output blocks.

17
Building a SCADA System

Modified Flowchart

With this modification and with the Analog Input block's scan time reduced to one minute, the chain
handles pH adjustment more efficiently by allowing the Program block to run short programs that
adjust the pH. The following figure shows how the modified chain handles pH adjustment.

Proper pH Adjustment Trend

With the pH adjustment complete, you might want to consider how to provide more control over the
monitoring process. For example, if your operators need to monitor pH fluctuations, you can use a
chart to provide a real-time trend for operators.

Data trended by a chart is not stored. To store the real-time data use a Trend block. Then with a chart
you can view these values directly on an operator display. The following figure shows the same control
chain with a Trend block added to the chain.

18
Building a SCADA System

Trend Block Insertion

Adding other blocks, such as the Statistical Data block, allows you to display statistical data in a graph.

Understanding Chain Designs


The chain shown from the sample application performs data acquisition and control. These types of
chains usually receive inputs from an I/O driver or OPC server through an input block, manipulate the
inputs with secondary blocks, and return an adjusted value to the I/O driver or OPC server through an
Analog Output, Digital Output, or On-Off Control block, as the following figure shows.

Sample Data Acquisition and Control Chain

You can also create chains that collect data for monitoring purposes. These types of chains usually
receive inputs from an I/O driver or OPC server through an input block but may not return the inputs,
since no process adjustment is required. The following figure shows a sample monitoring chain design.

Sample Monitoring Chain

The number of chains you can construct is limited only by memory.

Building Large Databases


With Database Manager you can create very large databases. If you do this, keep in mind:

• The size of the database that you can construct is limited by the amount of memory you have
available in your computer.

19
Building a SCADA System

• Plan your database carefully. A database that implements a good scan time and phasing
scheme will provide better system performance than the same database that has its blocks
scanned all at once.
• iFIX provides a number of features that can aid in processing large databases:
• Exception-based processing (triggered by a change at the I/O address).
• One shot processing.
• Long scan times (up to 24 hours with phasing configurations of up to HRS:HRS,
HRS:MIN, MIN:MIN, MIN:SEC, and so forth).
• Subsecond processing.

For more information on these topics, refer to the section Scan Times.

Saving Large Databases


Make sure you have enough disk space available when saving your database to disk. If your SCADA
server does not have enough disk space, you may lose the changes you have just made. For example, if
you build a 3MB database, make sure you have 3MB of free disk space available.

Working with Analog and Digital Blocks


When planning your automation strategy you may want to consider using Analog Input and Digital
Input blocks, or Analog Register and Digital Register blocks. All four blocks combine read/write
capabilities and eliminate the need for separate output blocks.

Analog Register and Digital Register blocks also have specific addressing and configuration
requirements:

• Neither block can cross a poll record boundary.


• You select signal conditioning for an Analog Register block when you configure it. This
selection applies to all picture objects associated with the block.
• Offsets to Float or Long data types must be in 2-word (4 byte) increments. This adjusts for the
32-bit word size of these data types.
• Neither block should be used with exception-based poll records.
Although we do not recommend it, if you choose to use Analog Register or Digital Register
blocks with exception-based processing, verify that no database block or offset address points
to the same address as an exception-based database block. For further information, refer to
your I/O driver manual.

If your I/O driver or OPC server supports structured data types (Timers, Counters, etc.), these
data types only support an offset of 0 for Analog and Digital registers.

20
Building a SCADA System

Working with Database Blocks


Your main task when setting up a SCADA server is creating blocks for your process database. In
general, you can create a block by completing its dialog box. However, in order to configure a block,
you should understand the basic database concepts, such as scan times and phasing. This chapter
discusses these and other database concepts.

• Block Types and Descriptions


• Block Fields
• Scan Times
• Phasing
• Block Modes
• Placing Blocks On and Off Scan
• I/O Drivers
• Understanding Signal Conditioning

Block Types and Descriptions


Typically, every SCADA server comes with two types of blocks: primary and secondary. The main
difference between these block types is that primary blocks have scan times and are first in a chain.
Secondary blocks do not have scan times and are never first in a chain.

You can also purchase the following types of optional blocks:

Database Options

The option... Provides... Refer to the section...

Control Continuous, PID, direct, and digital Understanding Control Blocks to


control. learn more about control blocks.

Statistical Statistical data analysis and Understanding Statistical Process


Process Control calculations, alarming, supervisory Control Blocks to learn more
(SPC) control, and display of statistical data. about SPC blocks.

Batch State-driven, interlocked, and batch Understanding Batch Blocks to


control. learn more about batch blocks.

SQL Read and write access to a relational Understanding SQL Blocks to


database on a remote server. learn more about SQL blocks.

The following table summarizes the differences among all the blocks. For detailed information on
blocks, refer to the iFIX Database Reference.

21
Building a SCADA System

Block Summary

Block Type Primary Secondary Standard Optional

Analog Alarm (AA) x x

Analog Input (AI) x x

Analog Output (AO) x x

Analog Register (AR) x x

Boolean (BL) x x

Calculation (CA) x x

Dead Time (DT) x x (Control)

Device Control (DC) x x (Batch)

Digital Alarm (DA) x x

Digital Input (DI) x x

Digital Output (DO) x x

Digital Register (DR) x x

Event Action (EV) x x

Extended Trend (ETR) x x

Fanout (FN) x x

Histogram (HS) x x (SPC)

Lead Lag (LL) x x (Control)

Multistate Digital Input (MDI) x x

On-Off Control (BB) x x (Control)

22
Building a SCADA System

Block Summary

Block Type Primary Secondary Standard Optional

Pareto (PA) x x (SPC)

PID (PID) x x (Control)

Program (PG) x x (Batch)

Ramp (RM) x x (Control)

Ratio/Bias (RB) x x (Control)

Signal Select (SS) x x (Control)

SQL Data (SQD) x x (SQL)

SQL Trigger (SQT) x x (SQL)

Statistical Control (SC) x x (SPC)

Statistical Data (SD) x x (SPC)

Text (TX) x x

Timer (TM) x x

Totalizer (TT) x x

Trend (TR) x x

NOTE: The tag count limit per tag type is 32,767.

Understanding Primary Blocks


Primary blocks receive data from an I/O driver or OPC server and generate alarms based upon this
information. Primary blocks are usually associated with one or more pieces of process hardware. For
example, a pump, a tank, a temperature sensor, a photo cell, a limit switch are all process hardware
with which you might associate a primary block.

Most primary blocks, listed in the following table, also include a scan time. The scan time controls
when SAC scans the blocks in the database. Refer to the section Scan Times to learn more about them.

23
Building a SCADA System

Standard Primary Blocks

The block... Function:

Analog Alarm Provides read/write access to analog data and lets you set and acknowledge
(AA) alarms.

Analog Input (AI) Provides read/write access to analog data and lets you set alarm limits.

Analog Output Sends analog data to an I/O driver or OPC server when the upstream block,
(AO) an operator, a Program block, a script, or an Easy Database Access (EDA)
program supplies a value.

Analog Register Provides read/write access to analog data only when a Data link connected to
(AR) the block appears on an operator display.

Boolean (BL) Performs boolean calculations based upon up to eight inputs.

Digital Alarm Provides read/write access to digital data and lets you set and acknowledge
(DA) alarms.

Digital Input (DI) Provides read/write access to digital data and lets you set alarm limits.

Digital Output Sends digital data to an I/O driver or OPC server when the upstream block,
(DO) an operator, a Program block, a script, or an Easy Database Access (EDA)
program supplies a value.

Digital Register Provides read/write access to digital data only when a Data link connected to
(DR) the block appears on an operator display.

Multistate Digital Retrieves digital data for up to 3 inputs from an I/O driver or OPC server,
Input (MDI) combines the inputs into one raw value, and lets you set alarm limits.

Text (TX) Lets you read and write a device's text information.

Understanding Secondary Blocks


Secondary blocks manipulate data according to your instructions. Secondary blocks usually receive
input from an upstream or primary block and perform a specific function with that input, such as
perform a calculation or store several successive input values. Therefore, a secondary block cannot be
the first block of a chain. However, you can connect secondary blocks to create a chain like the one
shown in the following figure.

24
Building a SCADA System

Chain Showing Secondary Blocks

Note that the first block in the chain is a primary block. This block is the primary source of data for the
next block in the chain and determines the scan time for the entire chain. The following table lists the
available standard secondary blocks.

Standard Secondary Blocks

The block... Function:

Calculation Performs mathematical calculations using values from the upstream block and
(CA) up to seven other constants or block values.

Event Action Monitors values or alarm conditions of the upstream block and performs actions
(EV) based on the upstream block's output.

Extended Allows you to collect up to 600 real-time values from an upstream block. You
Trend (ETR) can display these values as a graph by adding charts to your pictures.

Fanout (FN) Sends the value it receives from its upstream block to up to four additional
blocks.

Signal Select Samples up to six inputs, manipulating the inputs according to a user-selected
(SS) mode, and outputs a value to the next block.

Timer (TM) Counts time by incrementing or decrementing its value.

Totalizer (TT) Maintains a floating-point total for values passed to it from upstream blocks.
This block sends values up to six digits in precision to other blocks. It can
display up to fifteen digits of precision in an operator display.

Trend (TR) Allows you to collect up to 80 real-time values from an upstream block. You
can display these values as a graph by adding charts to your pictures.

Understanding Control Blocks


Control blocks provide continuous, direct, or digital control capability. The following table lists the
available control blocks.

25
Building a SCADA System

Control Blocks

The Function:
block...

Dead Time Delays the transfer of an input value to the next block in the chain for up to 255
(DT) seconds. It can store up to 60 values of incoming variables and sends values on a
first in/first out basis.

Lead Lag Lets you simulate process dynamics and includes a digital approximation of the
(LL) exponential equations for lead lag. This block is useful in feed-forward strategies.

PID (PID) Compares analog inputs to a user-defined set point and sends out incremental
adjustments to bring the process variable closer to the set point.

On-Off Receives analog values and outputs digital values.


Control (BB)

Ramp (RM) Increases or decreases values to a target value at a specified rate. You can enter
the target values manually or they can be retrieved from other blocks. You can
define three distinct stages for the ramp process.

Ratio/Bias Lets you change incoming signals by adding a constant (bias) and/or by
(RB) multiplying a constant (ratio) after subtracting an offset from the signal. This
block uses less memory and executes faster than the Calculation block.

Understanding Statistical Process Control Blocks


Statistical Process Control (SPC) provides statistical data analysis and calculations, alarming,
supervisory control, and display of statistical data. The following table lists the available SPC blocks.

Statistical Process Control Blocks

The block... Function:

Histogram Displays an input value's frequency of occurrence.


(HS)

Pareto (PA) Accepts, calculates, and sorts the frequency of up to eight input values. You can
display these values in an operator display with filled rectangles to create a bar
chart.

Statistical Adjusts a process variable based on calculations of the average offset and the
Control (SC) rate of deviation from a target value, XBARBAR. This block is activated if an
alarm is generated by a Statistical Data block.

26
Building a SCADA System

Statistical Process Control Blocks

The block... Function:

Statistical Data Observes data from operator input or other blocks and performs statistical
(SD) calculations. This block allows for alarming based on standard SPC techniques.

Understanding Batch Blocks


Batch blocks are specifically designed for discontinuous (state-driven, sequenced, interlocked, and
batch) control operations. The following table lists the available batch blocks.

Batch Blocks

The block... Function:

Device Control Coordinates the opening and closing of digital devices based upon user-
(DC) defined conditions.

Program (PG) Runs short programs for batch operations or to increase the degree of
automation in an application.

Understanding SQL Blocks


SQL blocks read and write data to a relational database. The following table lists the available SQL
blocks.

SQL Blocks

The block... Function:

SQL Data Identifies the data to send and retrieve between the process database and your
(SQD) relational database.

SQL Trigger Triggers the execution of SQL commands and defines how your relational
(SQT) database interacts with the process database.

For more information about how these blocks work and how to use them, refer to the Using SQL
manual and the iFIX Database Reference.

Understanding Database Dynamos


iFIX can process information from one or more Database Dynamo objects, also known as loadable
blocks. Each Database Dynamo is an optional block that adds functionality to the process database. By
using Database Dynamos, you can create new blocks tailored to your needs. For example, you might

27
Building a SCADA System

create a Dynamo that provides a custom PID or other control algorithm.

You can create a Database Dynamo by using the Database Dynamo Toolkit. After you create one, iFIX
treats your Database Dynamo like any other block in the process database. This feature enables iFIX to
process alarms from the Dynamo, along with the other alarms in the system. Database Dynamos also
enable you to:

• Access the Dynamo's fields from any iFIX application.


• Use Database Manager to create, configure, and manage the operation of the Dynamos in the
process database.

GE Intelligent Platforms also makes the following Database Dynamos available in the iFIX product:

iFIX Database Dynamos

The Database Function:


Dynamo...

Analog Input with Essentially the same as an Analog Input block, but will also calculate a
Freeform Scaling slope for EGU limit values when signal conditioning does not apply.
(AIS)

Analog Register 2 Reads and writes analog values to process hardware. Use the AR2 block
(AR2) if you exceed the limit for the number of AR blocks and need a loadable
block with similar functionality.

Breakpoint Converts a level measurement from a non-linear tank into a volume


Linearization (BPL) measurement.

Transition Counter Counts the transitions of a digital signal.


(CTR)

Digital Register 2 Reads and writes digital values to process hardware. Use the DR2 block
(DR2) if you exceed the limit for the number of DR blocks and need a loadable
block with similar functionality.

Extended Trend Allows you to collect up to 600 real-time values from an upstream block.
(ETR) You can display these values as a graph by adding charts to your
pictures.

16 Bit Digital Status Monitors up to 16 bits in a digital register, and enables or disables 16
(D16) independent messages.

Group Alarm (GAB) Organizes and consolidates the display of alarm information within a
large system.

28
Building a SCADA System

iFIX Database Dynamos

The Database Function:


Dynamo...

Signal Generator Demonstrates, simulates, or tests. A time-based primary block.


(GEN)

Interval Timer (ITM) Provides a way to time intervals (normally a digital input). It also
includes a GATE input that can be used to disable the timing without
having to place the chain off scan.

Momentary Digital Sends a brief pulse to a digital output (for example, to start a motor).
Output (MDO)

Persistent Array Provides a way to hold up to 60 numeric or text values, and 60


(PAR) descriptions of those values. A primary block that operates only in
manual mode. Values are updated only when you explicitly write to it.

Improved PID (PI2) Essentially the same functionality as the PID block, with more options.

Time Date Stamp Takes a snapshot of the time of an event.


(TDS)

Text Register (TXR) Monitors devices where the raw data is an ASCII string. Similar to the
Text block (TX), but not scanned.

Text Lookup Block Monitors a status or command register in a PLC. Allows the operator to
(TXT) see and enter meaningful strings.

Database Dynamo Configuration Utility (BTKCFG.exe)

Use the Database Dynamo Configuration Utility (BTKCFG.exe) to add the Database Dynamos in the
above table to iFIX. After iFIX is restarted, you will then be able to add blocks of these types in the
iFIX Database Manager.

To add a Database Dynamo:

1. Double-click the Btkcfg.exe file to launch the Database Dynamo Configuration Utility. By
default, this file is located in the iFIX install folder, C:\Program Files\Proficy\Proficy iFIX.
2. In the Available Database Dynamos list, select the Dynamo that you want to add and click
Add (or optionally, click Add All). This moves the specified Database Dynamos to the
Configured Database Dynamos list.
3. On the File menu, click Save.
4. Restart iFIX. After iFIX restarts, you will then be able to add the blocks in the above table

29
Building a SCADA System

within the iFIX Database Manager.

IMPORTANT: Use caution in removing Database Dynamos (loadable blocks). If you use the
Database Dynamo Configuration Utility (BTKCFG.exe) to remove a loadable block but do not remove
the block from the iFIX database, an error message appears in the Alarm History that a block type is
missing and the blocks are not loaded.

To remove a Database Dynamo:

1. Double-click the Btkcfg.exe file to launch the Database Dynamo Configuration Utility. By
default, this file is located in the iFIX install folder, C:\Program Files\Proficy\Proficy iFIX.
2. In the Configured Database Dynamos list, select the Dynamo that you want to remove and
click Remove (or optionally, click Remove All). This moves the specified Database Dynamos
to the Available Database Dynamos list.
3. On the File menu, click Save.
4. Restart iFIX.

To change a slot number of a Database Dynamo:

1. Double-click the Btkcfg.exe file to launch the Database Dynamo Configuration Utility. By
default, this file is located in the iFIX install folder, C:\Program Files\Proficy\Proficy iFIX.
2. In the Configured Database Dynamos list, select the Dynamo that you want to change the slot
number for.
3. In the Slot Number field, enter a new number. You can enter any number between 50 to 149
that is not in use. For more information on slot numbers, refer to the Understanding Slot
Numbers section.
4. On the File menu, click Save.
5. Restart iFIX.

Database Dynamo Configuration Utility


The Database Dynamo™ Configuration Utility allows you to:

• Add a Database Dynamo block to an iFIX system. After you add the blocks, you must save
your configuration to modify or update the FIX.INI file.
• Remove a Database Dynamo block from an iFIX system. After you remove the blocks, you
must save your configuration to modify or update the FIX.INI file.
• List the installed Database Dynamo blocks in an iFIX system.
NOTE: Installing optional Database Dynamo blocks only copies the files to the hard disk.
These optional block types must be configured using this utility in order for them to appear in
the Proficy iFIX Database Manager.

Database Dynamo Block

A Database Dynamo block is an optional block that provides additional functionality to an iFIX
database. When configured, it appears in the Proficy iFIX Database Manager block listing and can be

30
Building a SCADA System

used in any database.

NOTE: In a networked iFIX system, the Database Dynamo Blocks must be installed and configured on
all nodes. Be aware that after you add or remove blocks, you must save your configuration to modify
or update the FIX.INI file.

Understanding Slot Numbers

The database contains approximately 100 slots into which Database Dynamo blocks can be added.
These slots are numbered from 50 to 149. Slots 1 to 49 are reserved for GE Intelligent Platforms
database blocks.

The Database Dynamo Configuration Utility generates a default slot for the Database Dynamo that you
are adding to the database. Use this slot. If you must change the Database Dynamo slot, select the
Dynamo in the configured column and enter a new value for the slot in the Slot field.

NOTE: Once a slot is selected, it should never be changed. If you must change the slot, export the
database to an ASCII file first. Change the slot of the block. Delete the database and import the ASCII
file into a new database.

Working with the Toolbar and Commands

Use the following commands and buttons to manage Database Dynamo blocks:

• Save – saves the current configuration. Select Save from the File menu or select the Toolbar
Save button. The FIX.INI does not get modified or updated until you save the configuration.
NOTE: If the Database Dynamo Configuration Utility (BTKCFG.exe) detects that the
FIX.INI file is locked when user clicks on OK to save, then the BTKCFG program will warn
you and then will save the modified FIX.INI file as FIXINI.SAV instead.

• Exit – exits the Database Dynamo Configuration Utility. Select Exit from the File menu.
• Help – provides access to Database Dynamo online documentation (this help system).

Adding and Removing Database Dynamo Blocks

The Database Dynamo Configuration Utility contains the following columns and buttons:

• Available Column – lists the Database Dynamo blocks that are available on your hard drive.
• Configured Column – lists the Database Dynamo blocks that are configured in your iFIX
system. These block types are available in the Database Manager.
• Add button – allows you to add some or all of the Database Dynamo blocks to your iFIX
system. To add a Database Dynamo to the Configured list, select the Dynamo in the Available
column and click the Add button.
NOTE: After you add or remove blocks, you must save your configuration to modify or
update the FIX.INI file.

• Remove button – allows you to remove one or all of the Database Dynamo blocks from the
Configured list. To remove a Database Dynamo, select the Dynamo in the Configured list and
click the Remove button. Note that removing a Dynamo from your iFIX configuration does
not remove it from the hard drive.

31
Building a SCADA System

NOTE: If you need to remove a Database Dynamo, delete all blocks of that type from the
process database and use the Database Dynamo Configuration Utility (BKTCFG.exe) to
remove the block and update the FIX.INI.

Available Command Line Parameters

The Database Dynamo Configuration Utility (BTKCFG) supports the following command-line
parameters:

• /ABTK_NAME – This command line parameter allows you to add a loadable block to the
system without actually running the configuration program. In this command line, replace
NAME with the actual block name. There must be no space(s) between /A and the loadable
block name.
• /NXXX – This command line parameter allows you to determine the slot number when used
with the /ABTK_NAME command. Replace XXX with the slot number. There must be no
space(s) between /N and the slot number. Refer to the Understanding Slot Numbers section
for more information.
NOTE: If you do not specify a slot number with the /N command line, you will get the next
available slot.

Example

An example that uses both command line parameters is as follows:

BTKCFG /ABTK_AIS /N122

NOTE: If the block has already been configured, it should NOT be configured again.

Block Fields
Whenever you add a block, its configuration dialog box appears. The dialog box fields and controls
represent locations in the block called fields. These fields store the information you enter into the
dialog box. This information includes such data as the block's name, description, scan time, I/O
address, and scan status.

Other block fields receive information from your process hardware or from other blocks. For example,
a primary block's current value comes from an I/O device. However, a secondary block receives its
current value from an upstream block.

All block fields use a common naming convention:

format _ name

The format indicates the type of data that the field stores. The following table lists the available
formats:

32
Building a SCADA System

Field Formats

Format: Description: Used in...

A_ ASCII Format. Data links and objects in pictures.

F_ Floating-point Data links, objects in pictures, and block-to-block references.


Format.

E_ 15-Digit Precision Data links, objects in pictures, and block-to-block references.


Format. Valid values range from +/-3.40282300000000e+/-38, with
15 digits of accuracy.

T_ Graphic Format. Charts.

Refer to the Creating Pictures manual for more information on Data links, objects in pictures, and
charts.

The name indicates the specific information in the field. For example, the current value of a block is
identified by the name:

CV

The combination of the field format and the field name provides you with the information you want.
For example, if you want the current value of a block displayed as a number, you select the field
F_CV. If you want the current value of a block displayed as text, you select the field A_CV.

Locating Block Fields


You can display a list of fields for the currently selected block using the Expression Builder or the
iFIX Database Reference help. Using this information, you can configure Data links or other objects in
your operator displays to extract block field data by specifying a data source. Alternatively, you can
write a Visual Basic for Applications (VBA) script or an Easy Database Access program to extract and
display block field data. For more information about the Expression Builder, specifying data sources,
and adding Data links and objects, refer to the Creating Pictures manual.

Completing Block Dialog Boxes


The iFIX Database Reference provides information to help you complete block dialog boxes. The
remainder of this chapter provides related information for completing common block fields, such as
the scan time, phase, and I/O driver fields. Refer to these sections to learn how to configure these fields
for your blocks.

Scan Times
All primary blocks have a scan time. The scan time determines how often SAC processes the block and
sends the current value to the next block in the chain. SAC processes all secondary blocks chained to a
primary block according to the primary block's scan time.

33
Building a SCADA System

SAC can process a chain using one of the following methods:

• Time-based processing
• Exception-based processing
• One shot processing

Time-based processing is best used when you want to regularly scan a block. If you only need to scan a
block when its value changes, use exception-based processing instead. Similarly, you can use one shot
processing if you need to scan a block when the process database initially loads.

Understanding Time-Based Processing


In time-based processing, SAC processes a block at a set time. The following table lists the scan time
ranges you can enter for time-based chains.

Scan Time Ranges

Range Increments by...

5 to 95 subseconds .05 seconds


(0.05 to .95 seconds) (0.05, 0.10, 0.15, 0.20, and so forth.)

1 to 60 seconds 1 second

1 to 60 minutes 1 minute

1 to 24 hours 1 hour

SAC scans chains with hour and minute scan times based on the system clock of the local SCADA
server. Scan times are set relative to midnight (00:00:00 hours). SAC scans chains with second and
subsecond scan times based on the computer's start up time, as the following tables describes.

Time-Based Scan Time Examples

When a block has a scan time of... SAC processes it every...

1 hour Hour on the hour.

1 minute Minute on the minute.

10 seconds 10 seconds from your computer's start-up time.

Assigning Time-Based Scan Times

You can assign a time-based scan time to a block by completing its Scan Time field with the following

34
Building a SCADA System

format:

time unit

The following table lists the valid units and their abbreviations. If you do not enter a unit of time, iFIX
assumes the unit is seconds.

Unit Entry

Minutes M

Hours H

Example: Assigning Time-Based Scan Times

To scan a block every 3 hours, enter:

3H

Because SAC processes this scan time based to the system clock, it scans the block at 0:00, 3:00, 6:00,
9:00, and 12:00 regardless of when you place it on scan.

Follow these guidelines when you assign scan times:

• Assign scan times larger than the poll rate assigned in the I/O driver. This ensures that the I/O
driver has time to read and send new values to SAC before SAC scans each block again. See
your I/O driver manual for more information about the poll rate.
• Phase (stagger) scan times to reduce the risk of overloading the CPU. Refer to the section
Phasing to learn more about phasing.
• Assign critical process chains a more frequent scan time than non-critical chains. If you need
to have a chain scanned every 2 minutes, assign a 2-minute scan time, not a 5-second scan
time. Remember that very short scan times require more CPU time and SAC processing than
longer scan times.
• If a chain does not need processing at a set time, assign exception-based processing. Doing so
will require less CPU time and improve performance.

Understanding Exception-Based Processing


Exception-based processing lets SAC scan a block or chain by exception, not at scheduled time
intervals. An exception is:

• A change in a process value greater than the defined exception dead band; or
• An unsolicited message from your process hardware.

Using exception-based processing generally requires less CPU time and improves performance
because SAC does not have to scan blocks at defined intervals. However, if a block's value changes
very frequently, time-based processing may be more efficient.

35
Building a SCADA System

You can use exception-based processing only if your I/O driver supports it. Consult your I/O driver
client manual to learn if your I/O driver supports exception-based processing.

NOTE: The SM2 driver supports exception-based processing; the SIM driver does not support
exception-based processing.

CAUTION: Do not assign the same I/O address to exception-based and time-based blocks. Doing so
will cause the exception-based blocks to occasionally miss an incoming value.

Blocks that Work Best with Exception-Based Processing

While you can use exception-based processing with most blocks, certain blocks perform better with
exception-processing than others. You can use the following blocks in exception-based chains as
needed:

• Analog Input • On-Off Control

• Analog Output • Pareto

• Digital Input • Ratio/Bias

• Digital Output • SQL Data

• Fanout • Timer

• Histogram • Totalizer

Using Program and Statistical Data Blocks

Typically, the blocks listed in the following table are used as stand-alone blocks and have limitations
when incorporated in an exception-based chain.

Program and Statistical Data Block Considerations

When you add the block... In an exception-based chain, do not use the...

Program CALL, DELAY, WAITFOR, or WAITSTAT commands.

Statistical Data WAIT TIME fields.

Blocks that Receive Multiple Inputs

The Boolean, Calculation, Event Action, and Signal Select blocks can use values from multiple blocks,
but SAC only processes them according to their upstream primary block's scan time. Therefore, use
these blocks with care in exception-based chains.

36
Building a SCADA System

For example, the following figure shows a sample chain containing a Calculation block that receives
values from Analog Input blocks outside the chain.

Exception-Based Chain Processing

In this chain, if SAC scans AI1 by exception, then CA1 only accesses values from the remaining
Analog Input blocks when that exception occurs. CA1 does not access values based upon the scan
times of the Analog Input blocks outside the chain. This means that regardless of whether AI2 and AI3
change in value, CA1 does not recalculate its output unless triggered by AI1.

The following figure shows an improved chain design using the blocks from the previous figure. This
chain allows CA1 to recalculate its value whenever an exception occurs to any of the Analog Input
blocks and ensures all blocks are processed before the recalculating the output.

Improved Exception-Based Chain Processing

Blocks that Define a Time Constant

PID, Lead Lag, and Dead Time blocks use the local computer's system time to define a time constant.
For this reason, it is recommended not using them in exception-based chains.

Using Analog Alarm and Digital Alarm Blocks

Analog Alarm and Digital Alarm blocks support exception-based processing. However, you must leave
the Re-alarm Time and the Delay Time fields unmodified; otherwise, SAC places these blocks (and
their chains) off scan when iFIX starts or when you reload the database. SAC processes exception-
based Analog Alarm and Digital Alarm blocks only when an operator acknowledges an alarm from the
iFIX WorkSpace. If an operator acknowledges the alarm with the Remote Acknowledge field, SAC
does not process the block.

Assigning Exception-Based Scan Times

You can assign an exception-based scan time to a block by selecting Process by Exception from the
block's dialog box. If you are configuring an exception-based chain with multiple primary blocks, you
must enter 0 in the Scan Time field of every primary block that does not start the chain, and select the
Off Scan option button.

Configuring the primary blocks that do not start the chain in this manner ensures that SAC processes
the chain properly.

37
Building a SCADA System

Understanding One Shot Processing


You can configure any primary block or chain to be scanned once on start-up by setting the scan time
to zero and placing the block on scan. Once scanned, SAC does not scan the block or chain again until
it restarts, the database is reloaded, or you place the block off scan and then on scan.

Any block with a scan time may be configured for one shot processing. However, the same restrictions
that apply to exception-based chains also apply to one shot-based chains.

Phasing
Phasing staggers the time at which SAC scans your blocks. This is particularly important for large
databases because it can dramatically improve performance. Even for small databases, phasing blocks
results in more efficient use of CPU time.

For example, if you have 3 unphased blocks with a 5-second scan time, SAC processes all 3 blocks at
the same time. The following figure shows the CPU usage when SAC processes these blocks
simultaneously.

Processing Blocks Without Phasing

By phasing these blocks, you specify when SAC processes each block. For example, if you specify a 1-
second phase for the first block, SAC scans the block as the following figure shows:

38
Building a SCADA System

Phasing for Block 1

If you specify a 2-second phase for Block 2, and a 3-second phase for Block 3, you can avoid
processing the blocks simultaneously and evenly distribute the block processing and the CPU work
load, as the following figure shows.

Phasing Block Scan Times for Multiple Blocks

Phasing Second and Subsecond Blocks

Normally, when you specify a phase for a block with a second or subsecond scan time, SAC offsets the
block's initial scan by the phase time when iFIX starts or when the database is reloaded. However,
SAC ignores the phase when:

• A Program or an Event Action block places the phased block on scan.


• An operator or script places the block on scan.
• An EDA program places the block on scan.

Assigning Phase Times


You can define the phase time by entering it into the Phase field. The phase you enter must have the
same unit or one unit lower than the scan time unit, as the following table describes.

39
Building a SCADA System

Phase Time Formats

If the Scan Time is in... The Phase Time must be in...

Hours Hours:Minutes

Minutes Minutes:Seconds

Seconds Seconds

Subseconds Subseconds

For example, if the scan time is 5 minutes, you enter a phase of 1 minute and 30 seconds as follows:

1:30

To specify a 30-second phase instead, enter 0:30.

Overphasing
You can also overphase your blocks. An overphased block is one that has a larger phase than scan
time. For example, assume you have the chain shown in the Exception-Based Chain Processing figure.
In this chain, AI2 and AI3 have 5-second scan times. AI1 is overphased with a 5-second scan time and
a 10-second phase. This delays AI1 by 10 seconds and ensures that SAC scans AI2 and AI3 before
AI1. This means that the Calculation block receives the most recent values on which to perform its
functions.

Overphasing and Long Scan Times

SAC only lets you overphase blocks with second or subsecond scan times. For blocks with a scan time
of a minute or more, you can create an initial offset from the time that SAC would normally scan the
block. For example, assume you want to scan a block every 6 hours with an offset of 2 hours and 10
minutes. You can configure the offset by entering the following phase in the Phase field:

2:10

Because the scan time is linked to the system clock, SAC always scans the block at 2:10, 8:10, 14:10,
and 20:10 regardless of when it was placed on scan. Also remember, SAC scans blocks with scan
times of one minute or longer immediately when iFIX starts or when the database is reloaded. To
forego this initial scan, start SAC with the S command line parameter. Refer to the section Controlling
SAC Startup in the Setting up the Environment manual for more information on specifying SAC
command line parameters.

Block Modes
Blocks can receive data from the following sources:

• Other blocks.

40
Building a SCADA System

• An I/O driver or OPC server.


• The keyboard (using Data links).
• Recipes.
• Easy Database Access programs.
• Visual Basic for Applications (VBA) scripts.

You can control from where a block receives data by setting its mode, as the following figure shows:

Placing a block in Manual mode does not place it off scan; SAC still processes the block using its last
value. Manual mode only prevents a block from receiving data from an I/O driver, an OPC server, or
the upstream block. SAC also scans exception-based blocks when they change mode (from Automatic
to Manual mode or vice versa). While in Manual mode, SAC accepts any input within the EGU range
and immediately scans the block. No deadband checking is made on these values.

You can toggle a block's mode from an operator display by adding an object to the display and then
using the Toggle Tag Auto/Manual Expert from the Task Wizard. To display a block's mode from an
operator display, add a Data link that references the block's A_AUTO field. If you have enabled in-
place data entry when configuring the data link, you can then modify that block's mode from the
operator display by clicking on the Data link and entering AUTO or MANL. You can also modify a
block's mode from the Database Manager by entering AUTO or MANL in the Curr Mode column for
the selected block.

NOTE: Blocks perform alarming in both Automatic and Manual modes.

The exact function of certain blocks depends on their mode, as the following table describes

41
Building a SCADA System

Blocks in Automatic and Manual Modes

The In automatic mode... And in manual mode...


block...

Analog Reads and writes data every Receives data from operators entering values,
Input scan cycle. scripts, Program blocks, recipes, or Easy
Database Access (EDA) programs, but does not
output values.

Device Executes all statements Suspends execution until the block is placed in
Control without interruption. Automatic mode.

Digital Reads and writes data every Receives data from operators entering values,
Input scan cycle. scripts, Program blocks, recipes, or EDA
programs, but does not output values.

PID Performs PID adjustments. Suspends automatic PID outputs. This allows
Set points can be changed you to change the output from the block. Block
through a Data link in this values, such as the set point and tuning
mode. parameters, can be changed from the keyboard.

Program Executes all statements Suspends execution of its statements until the
without interruption. block is placed in Automatic mode. When the
block is switched back to Automatic mode, it
continues from where it stopped.

Statistical Feeds information back into Suspends feedback.


Control your process when the
Statistical Data block
generates an alarm.

Statistical Performs online statistical Suspends online data observations. Used for off-
Data process control on incoming line statistical process control.
data from other blocks.

Understanding PMAN Mode


As blocks change from Automatic and Manual modes, they enter a pending state. This state indicates
that SAC has acknowledged the mode switch and will change it on the next scan.

Blocks placed into Manual mode enter PMAN mode. The block remains in this state until SAC scans
the block again. While in PMAN mode, SAC continues to scan the block according to its scan time and
phase. Manual entries from an operator or a Program block force SAC to scan the block immediately
and put it into Manual mode. Scans after a manual entry depend on the block's scan time.

42
Building a SCADA System

Example: Blocks in PMAN Mode

For blocks with short scan times, the next scan time occurs relative to the manual entry. For example,
suppose SAC scans the block AI1 at 1:15:30. This block has a 30-second scan time and a 5-second
phase. If an operator puts AI1 into Manual mode and enters a value at 1:15:45, SAC scans the block
immediately and resets AI1's next scan to 1:16:15 and every 30 seconds thereafter. If the operator
subsequently enters another value at 1:15:50, SAC scans AI1 again and reset AI1's next scan to
1:16:20 and every 30 seconds thereafter.

For blocks with scan times of a minute or longer, SAC synchronizes the next scan to the system clock.
For example, assume AI2 has a one hour scan time and a 30-minute phase. If an operator placed the
block into Manual mode and enters a value at 15 minutes past the hour, SAC scans AI2 immediately
and on the half hour.

Understanding Blocks in PAUT Mode


Blocks placed in Automatic mode enter PAUT mode. The block remains in this state until SAC scans
the block again. While in PAUT mode, SAC scans the block as if it were in Automatic mode.

Example: Blocks in PAUT Mode

For blocks with short scan times, this means that the next scan time occurs relative to the last scan. For
example, suppose SAC scans AI1 at 1:15:30. This block has a 30-second scan time. If an operator
changes the block's mode to Automatic, SAC:

1. Puts the block into PAUT mode.


2. Scans the block again at 1:16:00, placing it in Automatic mode.

For blocks with long scan times, SAC synchronizes the next scan to the system clock. For example,
assume AI2 has a one hour scan time and a 30-minute phase. If an operator places the block into
Automatic mode, SAC:

1. Puts AI2 into PAUT mode.


2. Scans the block again on the half hour, placing it into Automatic mode.

Placing Blocks On and Off Scan


SAC processes all database blocks placed on scan when it starts or a database is loaded. By default,
Database Manager prompts you to place on scan each block you add. SAC stops processing a block or
a chain when:

• From the iFIX WorkSpace, you select an object connected to a primary block and you run a
script that places the block off scan.
• You modify a block with Database Manager. Modifying a block while SAC is processing that
block's chain places the entire chain off scan. As an option, you can set up Database Manager
to automatically place the modified block and its chain on scan when you finish editing it.
Refer to the section Setting Database Manager Preferences to learn more about Database
Manager options.
• You delete any block within a chain. Refer to the section Deleting Blocks to learn more about
removing blocks from the process database.

43
Building a SCADA System

• Statements in Program blocks, Event Action blocks, or an EDA program place a chain's
primary block off scan.
• You connect the blocks in a chain incorrectly and SAC cannot scan the chain. Use Database
Manager's Verify command to determine which blocks are improperly chained. Refer to the
section Verifying Databases to learn about examining your database for errors.
• A Program block finishes processing its statements and exits, the Program block does not
execute again until the database is reloaded or the block is turned off and placed back on scan.
• You can place a block off scan from the Scan Status column displayed in the spreadsheet.
• An operator clicks an object with a VBA script that places a block off scan. You can quickly
add such a script to an object with the Turn Tag Off Scan button. To use this button, you must
first drag it from the CommandTasks toolbar category onto a toolbar. To learn how to display
toolbar categories and add a button to a toolbar, refer to the section Customizing Toolbars in
the Understanding iFIX manual.

Placing a primary block off scan turns that block's entire chain off scan. You can put the chain back on
scan by:

• Opening an operator display, selecting an object connected to the chain's primary block, and
running a script that places the block on scan.
• Setting up a Program or an Event Action block that places the chain back on scan.
• Changing the text in the Scan status column from OFF to ON.
• Adding or modifying a block with Database Manager or the iFIX WorkSpace. Depending on
the options selected, both programs can automatically place the block on scan.
• An operator clicks an object with a VBA script that places a block on scan. You can quickly
add such a script to an object with the Turn Tag On Scan button. To use this button, you must
first drag it from the CommandTasks toolbar category onto a toolbar. To learn how to display
toolbar categories and add a button to a toolbar, refer to the section Customizing Toolbars in
the Understanding iFIX manual.

Blocks with Long Scan Times


Blocks that have long scan times react differently to on/off scan changes than blocks that have short
scan times. If you change the block's scan status, it enters a pending state: PON (pending on) or POFF
(pending off). This state indicates that a scan status change was requested and is pending, but SAC has
not placed the block off or on scan. While a block is in PON, new values are ignored.

Example: Placing Blocks with Long Scan Times On Scan


Assume you have a block with a one hour scan time and you place it on scan 45 minutes into its scan
cycle. The block enters the PON state and remains there for 15 minutes in order to synchronize it with
SAC. Once synchronized, SAC changes the block's state and places it on scan.

Using the S Parameter


By default, SAC changes a block's scan status shortly after entering the pending state. However, if
SAC was started with the "S" command line parameter, the block remains in the pending state until
SAC is ready to scan it.

44
Building a SCADA System

I/O Drivers
In order for each primary block in the database to receive data, you must connect to your I/O using an
I/O driver. The driver you select depends on your process hardware. GE Intelligent Platforms sells
drivers for many types of hardware. Contact your GE Intelligent Platforms Sales Representative, or
refer to our web site at at http://www.ge-ip.com/support for a list of available drivers.

After you purchase a driver and install it, you can start specifying I/O points you want the current
block to use. If the I/O point does not exist, Database Manager starts your I/O driver configuration
program so you can add it. Refer to your I/O driver documentation to learn how to add an I/O point to
your driver configuration.

iFIX supplies an OPC Client I/O driver, as well as two simulation drivers.

OPC Client Driver

The OPC Client driver provides the interface and communications protocol between OLE for Process
Control servers and iFIX.

The OPC Client driver supports the following features:

• Analog register and digital register database blocks


• Special addressing for analog output and digital output blocks
• Text blocks
• Item property I/O addresses for text blocks
• Block writes
• Data arrays
• Exception-based processing
• Latched data

Simulation Drivers

You can use the SIM and SM2 to test your chains before you connect to real I/O. The simulation
drivers are matrixes of addresses. Database blocks read values from and write values to these
addresses. If one block writes to a specific address, other blocks can read the same value from the same
address. You can save these values when you save the process database; however, iFIX removes them
from memory when SAC starts or you reload the database.

Both drivers have the following in common:

• Provide a matrix of addresses that database blocks can read from and write to.
• Support analog and digital database blocks.
• Support text blocks.

The drivers differ in the following ways:

45
Building a SCADA System

The SM2 driver... The SIM driver...

Provides three independent sets of registers. Provides one set of registers shared by both
Analog blocks automatically access the analog, digital, and text blocks.
analog registers, digital blocks automatically
use the digital registers, and Text blocks
automatically access the text registers.

Changing a register in one set does not Changing an analog register in the SIM driver
change the same register in the other set. For modifies the register for analog, digital, and text
example, if you change the value of the reads. For example, if you change the value of the
analog register 1000, the value of the digital analog register 1000, you also modify the value of
register 1000 is unchanged. the same digital register.

Provides 20,000 analog, 20,000 16-bit Provides 2000 analog and digital registers, a total
digital registers, and 20,000 text registers. of 32,000 bits.

Stores analog values in 4-byte (32-bit) Stores analog values in 16-bit integer registers,
floating point registers, numbered 0 to numbered 0 to 2000. Incoming 32-bit values are
19999. Incoming values are not scaled. scaled to 16-bit values (0 - 65535).

Digital values are stored in 16-bit integer Digital values are stored in 16-bit integer registers,
registers, numbered 0 to 19999. numbered 0 to 2000.

Text values are stored in 8-bit registers Text values are stored in the same area as analog
numbered 0 to 19999. Each register holds and digital values, numbered 0 to 2000.
one text character for a total of 20,000 bytes
of text.

Provides a register to simulate Cannot simulate communication errors. However,


communication errors. the SIM driver does provide registers RA through
RK and RX through RZ to generate random
numbers. For more information, refer to the Using
Signal Generation Registers in the SIM Driver
section.

Supplies a C API that allows applications to Does not support a C API for accessing SIM
access SM2 analog, digital, and text values. values.

Supports exception-based processing. Does not support exception-based processing.

Supports latched data for Analog Input, Does not support latched data.
Analog Alarm, Digital Input, Digital Alarm
and Text blocks when a simulated
communication error is enabled.

46
Building a SCADA System

The SM2 driver... The SIM driver...

Can read and write the individual alarm Cannot read and write the individual alarm status
status of each SM2 register. of any SIM register.

Does not provide alarm counters. Provides alarm counters that show the general
alarm state of a SCADA server. For more
information, refer to the Using Alarm Counters
chapter of the Implementing Alarms and Messages
manual.

Using the OPC Client I/O Driver


The OPC Client I/O driver allows you to bring OPC data into and out of iFIX. It is automatically
installed with iFIX; however, if you choose to create a customized install program, the OPC Client I/O
driver is an optional component.

To use the OPC I/O Driver:

1. In the Database Manager, in the Driver field for the primary block, select OPC - OPC Client
vx.xx from the list.
2. Click the Browse button next to the I/O Address field. The Browse I/O Address dialog box
appears.
3. Select an I/O point from an available server and group, and then click OK to exit the dialog
box. The I/O Address field will display the following:
Server;Group;ItemID[;AccessPath]

When you click out of the I/O Address field, ;No Access Path will be appended to the existing
text, like this:

Server;Group;ItemID;NoAccessPath

4. If applicable, from the Signal Conditioning list, select a format for mapping the values
coming from your process hardware.
5. If applicable, from the Hardware Options list, select a device control addressing format for the
database block. This selection is overridden if you select a datatype from the Requested
Datatype list on the Item Configuration page of the OPC Client I/O driver Power Tool.

For detailed information, refer to the OPC Client Driver online help.

Using the Simulation Driver


You may prefer to use the SIM driver over the SM2 driver for one or more of the following conditions:

• Generating a repeating pattern of random and predefined values to help you test your chains.
• Using alarm counters to show the general alarm state of your SCADA server.

47
Building a SCADA System

To use the SIM driver:

1. In the primary block's Driver field, type SIM.


2. Complete the I/O Address field with the following syntax:
register:bit

For analog values, the register ranges from 0 to 1999. The bit is not used.

For digital values, the register ranges from 0 to 1999. The bit is 0 to 15. The full range of register/bit
settings is 0:0 to 1999:15.

NOTE: The SIM driver does not support analog scaling (A_SCALE_* and F_SCALE_* database
fields).

Examples: SIM Addresses

0:0
50:2
63:15

The SIM driver shares only one set of registers for Analog and Digital blocks. As a result, you can
address all 2000 registers as analog or digital values. The following table shows the digital bit values
when a SIM register contains an analog value.

SIM Analog and Digital Values

When the Analog Value is... The Bits for Digital Values are...

65535 Bits 15 to 0 are set to 1

32768 Bit 15 is set to 1


Bits 14 to 0 are set to 0

48
Building a SCADA System

SIM Analog and Digital Values

When the Analog Value is... The Bits for Digital Values are...

32767 Bit 15 is set to 0


Bits 14 to 0 are set to 1

255 Bits 15 to 8 are set to 0


Bits 7 to 0 are set to 1

Database Manager does not accept entries into the Hardware Options and Signal Conditioning fields
when using the SIM driver. In addition, the SIM driver supports:

• Only five-digit precision instead of the standard seven-digit precision.


• Time-based processing; you cannot use exception-based processing.
• The output of good values. The SIM driver does not output bad values. If you are testing your
system for fault tolerance, remember that the SIM driver does not send communication errors
(BAD values).

Using Signal Generation Registers in the SIM Driver

To help you test your database with simulated input, the SIM driver provides a set of registers that
generate a repeating pattern of random and predefined values. For example, you could ramp a value to
simulate the performance of specific chains or you might generate a series of random numbers to test
the entire database.

To assign one of these registers to a block:

1. Enter SIM in the block's Driver field.


2. Complete the I/O Address field with the following syntax by entering a two-letter register
acronym as listed in the SIM Signal Generation Registers table:

49
Building a SCADA System

register:bit

The bit portion is needed only when using a digital block.

Example

To ramp a value with the RA register, enter the following text in the I/O Address field:

RA

The following table lists the available registers.

SIM Signal Generation Registers

The Lets you... Valid


register... Entry

RA Ramp a value from 0 to 100% of the EGU range at a rate Read only
controlled by the RY register.

RB Count from 0 to 65535 at a rate of twenty counts per second. Read only

RC Shift one bit through a 16-bit word at a rate controlled by the Read only
RZ register.

RD Generate a sine wave from 0 to 100% of the EGU range at a rate Read only
controlled by the RY register.

RE Generate a sine wave from 0 to 100% of the EGU range at a rate Read only
controlled by the RY register. The sine wave is delayed 90
degrees relative to the RD register.

RF Generate a sine wave from 0 to 100% of the EGU range at a rate Read only
controlled by the RY register. The sine wave is delayed 180
degrees relative to the RD register.

RG Generate random values between 25% and 75% of the EGU Read only
range.

RH Ramp up a value to 100% of the EGU range and then ramp it Read only
down to 0% again at a rate controlled by the RJ register.

RI Control the ramp direction of the value in the RH register. Numeric


When zero, register RH ramps down; when one, RH ramps up. Value (0 or
The value automatically changes when RH reaches 0 or 100% 1)
of its EGU value.

50
Building a SCADA System

SIM Signal Generation Registers

The Lets you... Valid


register... Entry

RJ Control the ramp speed (in cycles per hour) for the value in Numeric
register RH. The default value is 60 (1 cycle per minute). Value (2 to
3600)

RK Enable or disable the generation of the value in the RH register. Numeric


Enter zero to freeze (disable) ramp and a non-zero value to Value (0 or
enable it. 1)

RX Enable or disable the generation of values in the other registers. Numeric


Enter zero to freeze (disable) all registers and a non-zero value Value (0 or
to enable all registers. 1)

RY Control the speed (in cycles per hour) at which new values are Numeric
generated for registers RA, RD, RE, and RF. By default, the RY Value (2 to
register is set to 60 (1 cycle per minute). 3600)

RZ Control the speed (in bits per minute) that the register RC Numeric
changes its value. By default, the RZ register is set to 180 (3 bit Value (2 to
shifts per second). 1200)

All SIM registers support Analog Input, Analog Register, Digital Input, and Digital Register blocks.
However, as the following table describes, certain blocks provide optimum performance when used
with certain registers.

The block... Works best with the register...

Analog Input RA, RD, RE, RF, RG, and RH

Analog Output RJ, RY, and RZ

Analog Register RA, RD, RE, RF, RF, RH, RI, RJ, RK, RX, RY, and RZ

Digital Input RB and RC

Digital Register RB, RC, RI, RK, and RX

NOTE: The RB and RC registers support Digital Register offsets of A_0 to A_15.

51
Building a SCADA System

Using the Simulation 2 Driver


You may prefer to use the SM2 driver over the SIM driver when one or more of the following
conditions occur:

• You have more test data than the SIM driver can hold.
• You want to determine how the database responds to 32-bit values.
• You need to access the driver from a C program.

Accessing SM2 Registers

The SM2 driver matrix consists three independent sets of registers, one for analog values, one for
digital values, and one for text values. Analog database blocks read from and write to analog registers
only. Once a block writes a value, other analog blocks can read the value from the register written to.
Digital database blocks work the same way, reading and writing from the digital registers. iFIX clears
all SM2 values when iFIX starts.

The SM2 driver does not use the Hardware Options or Signal Conditioning fields.

To use the SM2 register:

1. Enter SM2 in the primary block's Device field.


2. Complete the I/O Address field with the following syntax:
For Analog values: register

For Digital values: register:bit

For Text values: register

SM2 Address Examples

Analog Examples Digital Examples Text Examples

1000 5000:10 2000

16435 23:15 off

Generating Bad Data with the SM2 Driver

The SM2 driver provides an S register to simulate a communication error. Using this register, all
analog and digital reads return an error as if communication to the process hardware has been lost.

To use this feature, set the S register to 1.

NOTE: The SM2 driver latches data when a simulated communication error is enabled.

52
Building a SCADA System

Using the SM2 C API

You can access SM2 analog, digital, and text values through the C API that the driver supplies. The
file SM2API.H describes the API and the functions reside in the file SM2API.LIB. You can link this
library file to your C application to access the API's functions. You can find both files in your Base
path. By default, this path is C:\Program Files\Proficy\Proficy iFIX\ or C:\IFIX\, depending where you
installed iFIX.

NOTE: You must have the iFIX Integration (EDA) Toolkit installed to use this API.

Example

Suppose you are using the SM2 driver to store data from a legacy system. Using the C API and a
number of preconfigured analog blocks, you can extract your data from the legacy system and store it
in your process database.

C API Functions

Syntax Values read, written, and returned

UINT16 GetAnalog(UINT16 GetAnalog reads an analog value (32-bit float) to the register
index, FLOAT *data); indicated by 'index'.
FE_OK is returned if the operation succeeds.
FE_IO_ADDR is returned if the register index is out of range.
FE_RANGE is returned if the analog value exceeds the range of
a 32-bit float.
NOTE: GetAnalog and GetDouble access the same table in the
SM2.

UINT16 SetAnalog(UINT16 SetAnalog writes an analog value (32-bit float) to the register
index, FLOAT data); indicated by 'index' and causes an exception for the specified
register even if the data has not changed.
FE_OK is returned if the operation succeeds.
FE_IO_ADDR is returned if the register index is out of range.
NOTE: SetAnalog and SetDouble access the same table in the
SM2.

UINT16 GetDouble(UINT16 GetDouble reads an analog value (64-bit float) to the register
index, DOUBLE *data); indicated by 'index.'
FE_OK is returned if the operation succeeds.
FE_IO_ADDR is returned if the register index is out of range.
NOTE: GetAnalog and GetDouble access the same table in the
SM2.

53
Building a SCADA System

C API Functions

Syntax Values read, written, and returned

UINT16 SetDouble(UINT16 SetDouble writes an analog value (64-bit float) to the register
index, DOUBLE data); indicated by 'index' and causes an exception for the specified
register even if the data has not changed.
FE_OK is returned if the operation succeeds.
FE_IO_ADDR is returned if the register index is out of range.
NOTE: SetAnalog and SetDouble access the same table in the
SM2.

UINT16 GetDigital(UINT16 GetDigital reads 16 digital values (all 16 bits in one of the
index, UINT16 *data); 20,000 digital registers) to the register indicated by 'index'.
FE_OK is returned if the operation succeeds.
FE_IO_ADDR is returned if the register index is out of range.
NOTE: The API can only read and write the entire 16 bit
digital register at one time. If you want to change 1 bit, you can
read the register, modify the desired bit and write the register.
However, when you modify a single bit, ensure that only one
thread in one application is accessing a digital register at one
time.

UINT16 SetDigital(UINT16 SetDigital writes 16 digital values (all 16 bits in one of the
index, UINT16 data); 20,000 digital registers) to the register indicated by 'index' and
causes an exception for all 16 bits of the specified register even
if the data has not changed.
FE_OK is returned if the operation succeeds.
FE_IO_ADDR is returned if the register index is out of range.
NOTE: The API can only read and write the entire 16 bit
digital register at one time. If you want to change 1 bit, you can
read the register, modify the desired bit and write the register.
However, when you modify a single bit, ensure that only one
thread in one application is accessing a digital register at one
time.

54
Building a SCADA System

C API Functions

Syntax Values read, written, and returned

UINT16 SetDigitalEx(UINT SetDigitalEx writes 16 digital values (all 16 bits in one of the
index, UINT16 data, UINT16 20,000 digital registers) to the register indicated by 'index' and
mask) causes an exception for specific bits selected from a mask. An
exception is triggered for the bits set in the mask even if the
data has not changed.
FE_OK is returned if the operation succeeds.
FE_IO_ADDR is returned if the register index is out of range.
NOTE: The API can only read and write the entire 16 bit
digital register at one time. If you want to change 1 bit, you can
read the register, modify the desired bit and write the register.
However, when you modify a single bit, ensure that only one
thread in one application is accessing a digital register at one
time.

UINT16 GetCommError reads the communication error flag to the S


GetCommError(UINT16 register. The flag is a 1 bit integer value.
*data);
FE_OK is returned always.

UINT16 SetCommError writes the communication error flag to the S


SetCommError(UINT16 data); register. The flag is a 1-bit integer value. You should only pass
0 or 1 to the SetCommError function. Using any other value can
have unpredictable results.
FE_OK is returned always.

UINT16 SetAnalogAlarm writes an alarm status to an analog register


SetAnalogAlarm(UINT16 indicated by 'index' and causes an exception for the specified
index, INT16 alm); register even if the data or alarm has not changed. To learn
more about available alarm statuses, refer to Understanding
Alarm Statuses.
FE_OK is returned if the operation succeeds.
FE_IO_ADDR is returned if the register index is out of range.

UINT16 GetAnalogAlarm reads an alarm status from an analog register


GetAnalogAlarm(UINT16 indicated by 'index'. To learn more about available alarm
index, INT16 *alm); statuses, refer to Understanding Alarm Statuses.
FE_OK is returned if the operation succeeds.
FE_IO_ADDR is returned if the register index is out of range.

55
Building a SCADA System

C API Functions

Syntax Values read, written, and returned

UINT16 SetDigitalAlarm writes an alarm status to a digital register


SetDigitalAlarm(UINT16 indicated by 'index' and causes an exception even if the data or
index, INT16 alm); alarm has not changed. The same alarm is associated with all 16
bits in the digital register. To learn more about available alarm
statuses, refer to Understanding Alarm Statuses.
FE_OK is returned if the operation succeeds.
FE_IO_ADDR is returned if the register index is out of range.

UINT16 GetDigitalAlarm reads an alarm status from a digital register


GetDigitalAlarm(UINT16 indicated by 'index'. To learn more about available alarm
index, INT16 *alm); statuses, refer to Understanding Alarm Statuses.
FE_OK is returned if the operation succeeds.
FE_IO_ADDR is returned if the register index is out of range.

UINT16 SetText(UINT16 SetText writes the text specified by `data' to text registers
index, char *data, int size) starting at the register indicated by `index'. The number of
characters to write is indicated by `size'. Exception-based
processing is not supported for text values. SetText does not
automatically add a null terminator to the text being written. If
you require null-terminated strings, make sure your program
adds a null terminator prior to writing the text.
FE_OK is returned if the operation succeeds.
FE_IO_ADDR is returned if the register index is out of range.

UINT16 GetText(UINT16 GetText reads the text specified by `data' from text registers
index, char *data, int size) starting at the register indicated by `index'. The number of
characters to read is indicated by `size'. GetText does not
automatically add a null terminator to the text being read. If you
require null-terminated strings, make sure your program adds a
null terminator after reading text.
FE_OK is returned if the operation succeeds.
FE_IO_ADDR is returned if the register index is out of range.

UINT16 SetTextAlarm writes an alarm status to a text register indicated


SetTextAlarm(UINT16 index, by 'index'. When a block reads data from the SM2 driver, the
INT16 alm) alarm status of the first byte is returned. The status of additional
bytes is ignored. To learn more about available alarm statuses,
refer to Understanding Alarm Statuses.
FE_OK is returned if the operation succeeds.
FE_IO_ADDR is returned if the register index is out of range.

56
Building a SCADA System

C API Functions

Syntax Values read, written, and returned

UINT16 GetTextAlarm reads an alarm status from a text register


GetTextAlarm(UINT16 index indicated by `index'. To learn more about available alarm
INT16 alm) statuses, refer to Understanding Alarm Statuses.
FE_OK is returned if the operation succeeds.
FE_IO_ADDR is returned if the register index is out of range.

Understanding Alarm Statuses


iFIX can process alarm status information from I/O drivers. This information complements the alarms
generated by iFIX database blocks. When an alarm is returned from a driver, iFIX compares the driver
alarm against the block alarm. The alarm with the higher severity is used as the block alarm and the
other alarm is ignored.

iFIX defines the following alarms with the following severity:

Severity Alarm Status Description

16 (highest) IA_COMM Communication error ("BAD" value).

16 IA_IOF General I/O failure.


(highest)

16 IA_OCD Open circuit.


(highest)

16 IA_URNG Under range (clamped at 0).


(highest)

16 IA_ORNG Over range (clamped at MAX).


(highest)

16 IA_RANG Out of range (value unknown).


(highest)

57
Building a SCADA System

Severity Alarm Status Description

16 IA_DEVICE Device failure.


(highest)

16 IA_STATION Station failure.


(highest)

16 IA_ACCESS Access denied (privilege).


(highest)

16 IA_NODATA On poll, but no data yet.


(highest)

16 IA_NOXDATA Exception item, but no data yet.


(highest)

16 IA_MANL Special code for MANL/MAINT (for inputs).


(highest)

8 IA_FLT Floating point error.

8 IA_ERROR General block error.

8 IA_ANY Any block alarm.

8 IA_NEW New block alarm.

7 IA_HIHI The block is in the HIHI alarm state (High High).

7 IA_LOLO The block is in the LOLO alarm state (Low Low).

58
Building a SCADA System

Severity Alarm Status Description

7 IA_COS Change of state.

Change From Normal (Digital block only).


7 IA_CFN

7 IA_TIME Time-out alarm.

7 IA_SQL_LOG Not connected to database.

6 IA_HI The block is in the HI alarm state (High).

6 IA_LO The block is in the LO alarm state (Low).

6 IA_RATE Value exceeds rate of change setting since last scan


period.

6 IA_SQL_CMD SQL command not found or invalid.

5 IA_DEV Deviation from the set point.

5 IA_DATA_MATCH SQL command does not match data list.

4 IA_FIELD_READ Error reading tag values.

4 IA_FIELD_WRITE Error writing tag values.

1 IA_DSAB Alarms disabled.

0 (lowest) IA_OK The block is in normal state.

Using the preceding table, you can see that if a driver returns a HIHI alarm to a block that is in HI
alarm, iFIX changes the alarm state to HIHI because the driver alarm is more severe. However, if the
alarms are of equal severity, iFIX does not change the alarm state of the block. For example, if the
block is in HI alarm and the driver returns a LO alarm, the block's alarm state does not change because
both alarms have equal severity. Once an operator acknowledges the HI alarm, iFIX changes the
block's alarm state.

NOTE: If you set a communication error to the S register with the SetCommError function, then all

59
Building a SCADA System

SM2 registers show a COMM alarm status. When examining the alarm status of text, only the status of
the first character (byte) is read. You can control the alarm status functions of the SM2 driver using its
C API only. Refer more information about this API, refer to the Using the SM2 C API section.

Connecting to an OPC Server


In addition to I/O drivers, the WorkSpace can send and receive data with an OLE for Process Control
(OPC) server. You can configure any database block to receive or send OPC data by completing the
block's I/O driver fields. To do this, select OPC from the Driver field, and then click the I/O Address
field's Browse button to specify an OPC address.

The OPC address has the following syntax:

ServerName;GroupName;ItemID;AccessPath

where ServerName is the name of your OPC server, GroupName is the name of the OPC group you
want to access, and ItemID is the name of the OPC item you want to read or write. Including the
AccessPath is optional and instructs the server how to access its data. For more information about
connecting to your OPC server, refer to your OPC PowerTool documentation.

Understanding Signal Conditioning


Very often raw values from your process hardware are not meaningful to operators. This is particularly
true when the hardware reports values in a numeric format, such as an unsigned integer, to indicate
how full a tank is. In this situation, what is needed is a way to map the range of values you receive into
a different range of values. Many I/O drivers provide this ability by applying signal conditioning.

Signal conditioning converts the data received from the process hardware into a format that is easily
recognizable by operators. You can apply signal conditioning by selecting the type you want to use
from a block's Signal Conditioning field.

Example: Understanding Signal Conditioning

Suppose you have a 700-gallon water tank and you want to display how much water is in the tank. You
can display the tank's water level as:

• Unscaled integer received from your process hardware


• Gallons
• Percent filled

For this example, assume the I/O driver sends an unsigned integer to the process database (that is, 0 to
65535). The following table lists sample high and low EGU limits you could assign to the input block.
These settings scale the incoming values to display the tank's water level in percent filled and in
gallons.

60
Building a SCADA System

Example Block EGU Limits

Operator Display: Limit Settings:

Unsigned Integer 0 to 65535

Percent 0 to 100

Gallons 0 to 700

The following figure shows the values that are displayed when the tank is full, half full, and empty.

Scaling Values

Understanding EGU Limits


EGU limits have a precision and range. The precision is the number of digits after the decimal point.
The range is the span of values. For example, the default range for blocks is 0 to 100.

Changing the EGU Limit Precision

You can change the EGU limits' precision by editing the High Limit and Low Limit fields. When you
change the precision, Database Manager modifies all references to the current block throughout the
database. For example, if you create an Analog Input block with EGU limits of 0.0 to 100.0 and then
change the precision to 0.00 to 100.00, Database Manager searches the database for all references to
this block and makes the appropriate changes. In this case, a Program block that contains the following
step:

SETOUT AI1 50.0

is adjusted to read:

SETOUT AI1 50.00

61
Building a SCADA System

Changing the EGU Limit Range

To change the EGU limits' range, you must change all references to this block manually. For example,
if you create an Analog Input block with limits of 0.0 to 100.0 and then change the range to 0.0 to
700.0, all references to this block's EGU limits are unaffected until you edit them. In this case, assume
you have a Program block that outputs a value equal to half of this block's original range, as shown
below:

SETOUT AI1 50.0

You must modify this Program block's SETOUT statement to reflect the new range, as shown below:

SETOUT AI1 350.0

EGU Limit Formats

Database Manager accommodates the EGU limit formats listed in the table Available EGU Limits.
Each format is accurate to six digits. Because of compiler limitations, round-off errors may occur in
the seventh digit. The following figure shows sample values and their accuracy.

Available EGU Limits

Format: Accepts Limits From:

Standard -32768 to 32767 (signed int)


Integer 0 to 65535 (unsigned int)
0 to 999 (3BCD)
0 to 4095 (12 Binary)

Expanded -9999999 to 9999999


Decimal Using this format, you can specify up to six places after the decimal point. Make
Notation sure you enter the same number of decimal places in fields that require both high
and low limits. Note that this range would be -1E7 to +1E7 in scientific notation.

Scientific ±3.4E-38 to ±3.4E+38


Notation Use this format to display large or small numbers. Again, only the first seven
digits are accurate. If you prefer, you can also use scientific notation for numbers
that iFIX can display in decimal notation. Using decimal notation with scientific
notation, you can specify up to six places after the decimal point.

NOTE: Refer to your I/O driver manual for additional integer ranges supported by your equipment.

62
Building a SCADA System

Working With the Process Database


As you develop your process databases, you need to complete many basic operations including:

• Creating a new database


• Opening and closing an existing database
• Adding blocks to the current database
• Copying, modifying, duplicating, displaying, and deleting database blocks
• Moving blocks from one database to another
• Saving the current database

This chapter describes how to complete these tasks.

Creating a New Database


One of your first tasks when developing a process database is to create a new database. Creating a new
database loads the empty database, EMPTY.PDB, into memory and removes any existing database that
may be loaded. If the existing database has unsaved changes, Database Manager prompts you to save
them before the new database loads.

Opening and Closing a Database


Before Database Manager can open and display a database, the program establishes a connection to a
SCADA server (either local or remote) on the network. It accomplishes this by prompting you to select
the SCADA server to which you want to connect. Once you select the server, Database Manager
establishes the connection and opens the server's current database.

You can establish a connection with a different server by opening a different database. Once you select
the new server you want to connect to, Database Manager disconnects from the existing server and
opens the selected server's current database.

NOTE: From the Database Manager, you can open databases from SCADA nodes with iFIX 3.0 or
greater installed. You cannot add, modify, or delete blocks in databases from earlier versions of iFIX,
such as iFIX 2.5 or FIX32.

You can also disconnect from a SCADA server by closing the database. If the database has unsaved
changes, Database Manager prompts you to save them before breaking the connection.

Adding Blocks
After you open or create a new database, you can begin adding blocks to your database. Database
Manager lets you add blocks by:

• Double-clicking a blank cell in the spreadsheet.

63
Building a SCADA System

• Right-clicking a cell in the spreadsheet and selecting Add block from the pop-up menu.
• Clicking the Add button from Database Manager's toolbar (Classic view).
• Clicking Add in the Blocks group on the Home tab (Ribbon view).
• Entering the name of a nonexistent block in the Next field of a block dialog box and clicking
the arrow button. Refer to the VBA Naming Conventions section of the Writing Scripts
manual for information on appropriate names.
• Using the Generate Wizard.

When any of the first four methods are used, you can select the type of block you want to add. Once
you do this, a block configuration dialog box appears. By completing the dialog box and clicking OK,
you can add the block to the database. For more information on completing a block configuration
dialog box, refer to the iFIX Database Reference help.

NOTE: Whenever you add or delete a block in the database, we recommend you resolve your pictures.
For more information about resolving pictures, refer to the Creating Pictures manual.

Adding Multiple Blocks


The Generate Wizard lets you add many similar blocks to the database quickly, saving development
time. You simply select the type of block you want to create and the block names you want to use.

For the block type, you can select an existing or a new block. This selection determines the specific
values assigned to each block created. For example, when you select a new block, the Wizard creates
blocks with default values. However, when you select an existing block, the Wizard creates blocks
with values of the selected block. This option lets you create many similar blocks quickly without
having to reconfigure them later.

When specifying the block names, you must enter a prefix, suffix, starting number, ending number,
and increment value. The Generate Wizard uses this information to systematically assign names to the
blocks it creates. For example, the following values create blocks with the names F1T1 through F20T1.

Prefix Starting number Ending number Increment Suffix

F 1 20 1 T1

The Generate Wizard cannot create a block with a name that already exists. If the information you
specify results in an existing block name, the Wizard skips that block and continues on to the next one.

Using the Generate Wizard, you also have the option of customizing up to 5 fields. Customizing these
fields lets you fine tune the block's configuration. For example, if you need to create 50 Digital Input
blocks, each one will have a different I/O address. You can use the Generate Wizard to assign these
addresses if they occur in a sequential order.

You can customize a field by selecting it and entering a prefix, suffix, starting number, ending number,
and increment value. The Wizard handles this information identically to the block name values you
entered. If the resulting sequence of field values ends before the Wizard creates all the new blocks, the
sequence repeats from the beginning. For example, suppose you want to create 10 Analog Input
blocks, AI1 through AI10 and you customize the I/O address of each block with the following
information:

64
Building a SCADA System

Prefix Starting number Ending number Increment Suffix

N 10 50 10 :7

The blocks receive the following addresses:

Block Address

AI1 N10:7

AI2 N20:7

AI3 N30:7

AI4 N40:7

AI5 N50:7

AI6 N10:7

AI7 N20:7

AI8 N30:7

AI9 N40:7

AI10 N50:7

You also have the option of enabling the Use Custom Format check box. When you enable this check
box, the Wizard lets you enter multiple patterns for the five fields you have selected. A pattern acts as
a programming statement for generating a range of numeric or string values. The following table lists
the syntax for each type of pattern.

65
Building a SCADA System

Pattern Types

Type Syntax Example

Numeric <start:end:increment> <1:10:1> generates a range of


numbers from 1 to 10.
where start is the initial value of the
pattern, <1:20:3> generates the numbers
1,4,7,10,13,16, and 19.
end is the ending value, and
increment is the amount to add to the
current pattern value.

Alphanumeric <"string1", "string2",... "string"> <"A", "B", "C", "D">


List
where string1 is the first string, <"Area A", "Area B", "Area C">
string2 is the second string, and <"Pump 1", "Pump 2", "Pump 3">
string is the last string.
Each string must be enclosed in
quotation marks.

Literals string Alarms


where string is up to 40 alphanumeric Elapsed Time
characters.
Analog Input

Constants "string" "Curr Value > 100"


where string is up to 40 alphanumeric "I/O Addr < 500"
characters, including the quotation
"PLC:N7:"<766:780:1>"/15"
marks.

Notice that the difference between literals and constants is minor. Both are strings and can be up 40
characters. However, quotation marks (" ") are required for constants when the string contains any
mark of punctuation or non-alphanumeric symbol such as an angle bracket or a colon. If the string
contains only numbers or letters, the quotation marks are optional.

Also notice that negative and floating point numbers are not supported within patterns. You can
generate these types of numbers by enclosing a minus sign or a decimal point in quotation marks
outside of the pattern. Negative increments are not supported. Consider the following examples:

The pattern... Yields the result...

"-"<1:10:1> -1 -2 -3 -4 -5 -6 -7 -8 -9 -10

<1:5:1>"."<"5"> 1.5 2.5 3.5 4.5 5.5

By combining different pattern types, you can generate a wide range of block field entries. For

66
Building a SCADA System

example, if you want to customize the Description field for a group of blocks, you could enter a pattern
such as Alarm Status from Area <"A", "B", "C">. Notice that the text outside the pattern does not
require quotation marks.

Duplicating Blocks
Another way you can add similar blocks to the database is by duplicating them. Like the Generate
Wizard, you can duplicate multiple blocks. However, you cannot customize specific block fields; you
can only specify a new name for the duplicated blocks. As a result, the new blocks are identical to the
original ones.

For example, suppose you have an Analog Input block monitoring the speed of a pump and want to
monitor five other pumps in a similar way. By duplicating the block, you can reproduce it and create
the additional blocks you need.

Copying and Pasting Blocks


Database Manager lets you share block information among your process databases and third-party
applications by copying and pasting them to the clipboard. Copying and pasting blocks between two
databases is a quick way to create new ones. This works best when the database you want to create
contains blocks similar to existing blocks in other databases. By copying existing blocks, you save
time because you only need to change the information that differs between the original block and the
new copy.

Copying and pasting between Database Manager and a third-party application lets you quickly modify
a block from your text editor or spreadsheet. You can also create new blocks with your third-party
application and paste them into Database Manager. This feature can be helpful when you do not have
access to iFIX and you want to create new blocks for later inclusion into the process database.

When you copy blocks to the clipboard, Database Manager converts and saves them in comma
separated value (CSV) format. Once saved on the clipboard, you can paste the blocks into any
application that supports CSV files.

Pasting blocks into Excel requires you to configure the program so that it converts and displays the
data correctly. You also need to configure Excel when you drag and drop data from Database Manager
or import a database saved in CSV format.

To configure Excel:

1. Paste your blocks into an Excel spreadsheet.


2. On the Data menu, click Text to Columns.
3. Select Delimited.
4. Click Next.
5. Select the Comma check box.
6. Click Finish.

Pasting CSV-based blocks into Database Manager converts and adds them to the process database in
memory. If the names of these blocks are already in use, Database Manager prompts you to replace the

67
Building a SCADA System

existing blocks with the ones you are pasting. If you do not replace them, Database Manager generates
an error for each duplicate block. You can avoid creating these errors by loading a database that does
not contain the blocks you are pasting or by modifying the names of the blocks prior to pasting them
into Database Manager.

Database Manager also displays errors if you attempt to paste a block from Excel that is not in the
correct format. The easiest way to ensure the block is in the correct format is to export a block of that
type from the process database or paste a block into Excel, modify it, and paste the modified block
back into Database Manager.

Moving Blocks
In addition to sharing blocks by copying and pasting them, you can cut and paste them. Cutting blocks
from the database is similar to copying them; the main difference is that cut blocks are physically
moved and placed on the clipboard, allowing you to move blocks to other databases.

Prior to removing blocks from their chains, Database Manager takes each chain off scan. Make sure
you place the chain on scan when you finish editing it. iFIX provides several ways to do this. For more
information about placing a block or chain on scan, refer to the section Placing Blocks On and Off
Scan.

If you cut a block from the middle of the chain, Database Manager attempts to connect the two
portions of the chain, as the following figure shows.

Removing a Block from a Chain

68
Building a SCADA System

Modifying Blocks
You can modify any database block displayed in the spreadsheet. Typically, you need to modify a
block:

• After you copy it into the database.


• If you discover an incorrect field value.
• Whenever your database needs change.

NOTE: While you can modify Analog Register and Digital Register blocks, we do not recommend that
you modify the current value of these blocks using Database Manager. To learn more about using
Analog Register and Digital Register blocks, refer to the section Working with Analog and Digital
Blocks.

Displaying Block Information


Before you modify a block, you can determine the exact fields to change by displaying the block's
configuration dialog box. Unlike modifying a block, displaying a block's dialog box leaves the block
and its chain on scan.

Deleting Blocks
Whenever you find that specific blocks are no longer needed, you can delete them from the database.
Database Manager lets you delete blocks by selecting:

• The blocks you want to remove and cutting them without subsequently pasting them

• The Delete button from Database Manager's toolbar (Classic view)

• The Delete button from the Blocks group on the Home tab (Ribbon View).

The difference between these methods is the Delete button in Classic View or Delete in Ribbon view
removes the selected blocks completely and does not let you retrieve them if you change your mind.
By cutting blocks, you instruct Database Manager to save a copy on the clipboard allowing you to
paste them back into the database until the next copy or cut occurs.

Regardless of the method you choose to remove the blocks, Database Manager displays a message box
with the following text:

Following tag(s) selected for deletion from database

Click Cancel to retain the blocks and continue using Database Manager. If you click Delete All,
Database Manager deletes the blocks and takes the chains containing them off scan. Make sure you
place the chain on scan when you finish editing it. iFIX provides several ways to do this. For more
information about placing a block or chain on scan, refer to the section Placing Blocks On and Off
Scan.

If the deleted block was in the middle of the chain, Database Manager attempts to connect the two
portions of the chain as the Removing a Block from a Chain figure shows.

69
Building a SCADA System

Saving a Database
When you finish making changes to a database, you can save the database to disk. By saving the
database, you enable the SCADA server to reload the database in memory when you restart iFIX.

Make sure you have enough disk space available when saving your database to disk. If your SCADA
server does not have enough disk space, you may lose the changes you have just made. For example, if
you build a 3MB database, make sure you have 3MB of free disk space available.

Saving a Database from a Script or a Program Block


You can also save a database automatically using the RUNTASK command from a Program block or a
script. When you save a database using the Program block, use the following syntax:

RUNTASK DBBSAVE -Nnodename -Ddatabase

The -N command line parameter enables you to save a database on a remote SCADA server. The -D
command line parameter enables you to save a database to another PDB file name. Both command line
parameters are optional; if you do not use them, you save the current database on the local SCADA
server.

When you save a database from a VBA script, use routines similar to the following:

Private Sub FixEvent1_OnTrue()

Dim save_pdb As String

Dim return_value As Double

Dim nodename As String

Dim database As String

nodename = "MIXER1"

database = "BACKUP"

save_pdb = System.ProjectPath + "\DBBSAVE" + " -N" + nodename + " -D" +


database

return_value = Shell (save_pdb, 0)

End Sub

End SubRefer to the Database Manager online help system for more information about the RUNTASK
from the Program block. For information about the Shell function, refer to the iFIX Automation
Interfaces Help file.

Locating and Displaying Data


Using Database Manager, you can locate and display data in the spreadsheet. This chapter explains

70
Building a SCADA System

how to accomplish these tasks. Refer to the following topics for detailed information:

• Finding Data in a Spreadsheet


• Replacing data
• Using Go To
• Updating and Pausing the Spreadsheet
• Customizing the Spreadsheet
• Saving and Loading Spreadsheet Layouts
• Overriding the Default Layout

Finding Data in a Spreadsheet


As you develop and test your process database, you may find it necessary to locate specific spreadsheet
values. For example, you may want to locate and adjust the scan times of your primary blocks.

With Database Manager, you can search in any spreadsheet column for text by selecting the column
head of the column you want to search in. You must also enter a search string. The string is the text
you want to locate in the selected column. You can enter up to 29 alphanumeric characters for the
search string.

Once you enter the text you want to locate, Database Manager locates the first occurrence of the string
in the selected column. To locate subsequent occurrences, you can repeat this process.

Find Options
You can toggle the case sensitivity of a search using the Match Case option. When this option is
enabled, Database Manager searches for the exact text and case you enter. The search string is not case
sensitive when you disable the option. For example, selecting the Tag Name column and entering the
search string:

AI

is the same as entering any of the following search strings:

• ai
• Ai
• aI

You can also find whole or partial words with the Match Whole Word Only option. Database Manager
treats the search string as a whole word when you enable the option. By disabling the option, you can
find the specified string inside other words. For example, if you search for the string "line" with the
Match Whole Word Only option disabled, Database Manager matches the following descriptions with
the search string:

• Alarms for Line 1


• Alkaline Pump
• Linear accelerator for proton chamber

71
Building a SCADA System

Replacing Data
In addition to finding text, you can find and replace it. Finding and replacing text is similar to just
finding it. Both tasks require you to select the cell or column you want to search in and enter a search
string. However, when finding and replacing data, you can also enter a replacement string. This text is
the data with which you want to replace the search string.

Find Options
You can enter up to 29 alphanumeric characters for both the search and replacement strings. Both
strings also accept the Match Case and Match Whole Words Only options. However, while you can
toggle the case sensitivity of the search string with the Match Case option, the replacement string is
always case sensitive. This means that when replacing data, Database Manager inserts text exactly as
you enter it.

You also have the option to replace the text in the current selection (a cell or column) or the current
column. The Selection option button lets you replace text in the current selection. The Entire Column
option button lets you replace text in the entire column.

Using Go To
While working with your database, you may want to display the text in a specific row or column.
When the number of rows or columns is small, using the scroll bars to move through the spreadsheet is
a quick way to display the necessary information.

However, as the spreadsheet grows, you may find scrolling through it slow and time-consuming. To
speed up locating information, you can jump to any row or column. You can also jump to any block in
the spreadsheet when do not know the block's row number by entering its name instead.

Updating and Pausing the Spreadsheet


You can configure Database Manager to automatically update the spreadsheet by enabling the Auto
Refresh option. This option periodically refreshes the values in the spreadsheet. You can enter refresh
rates between 5 and 3600 seconds.

By automatically updating the spreadsheet, you can troubleshoot your database by monitoring specific
blocks. Should you identify an error, you can correct it and immediately see your change's effect.

You can temporarily disable the automatic refresh option by pausing the spreadsheet. Pausing updates
instructs the Database Manager to stop updating the screen. It does not affect SAC or the scan status of
the blocks in the database.

NOTE: Database Manager automatically pauses updating the screen when you add, modify, delete, or
generate blocks or when you print, reload, or import the database.

In addition to automatically refreshing the screen, you can manually update it whenever you want to
refresh the values in the spreadsheet. Manually updating the screen can be particularly helpful when
you automatically update the spreadsheet infrequently, and can be used in conjunction with the
automatic refresh option to update the screen more frequently than every 5 seconds.

72
Building a SCADA System

Customizing the Spreadsheet


Database Manager lets you customize the spreadsheet by:

• Changing its colors.


• Defining a non-scrolling column.
• Defining a spreadsheet layout.

By completing these tasks, you can create a custom display for yourself and other database developers.

Coloring the Spreadsheet


Changing spreadsheet colors is like changing the colors of a window with the Display dialog box in the
Control Panel. First, you select the item whose color you want to change and then you select the color
for it.

You can change the color of the following spreadsheet properties:

• Cell text
• Spreadsheet grid
• Row and column head background and text

Creating a Non-Scrolling Column


As its name suggests, a non-scrolling column is one that does not move when you scroll left or right, as
the following figure shows.

73
Building a SCADA System

Defining a Non-Scrolling Column

Using this feature, you can display related information without resizing or rearranging the spreadsheet
columns. For example, if you configure the Type column to stop scrolling, you can easily relate block
values, names, and types, allowing you to identify the block containing the values in each column.

When you create a non-scrolling column, all columns to the left of it no longer scroll until you unlock
them.

Defining a Spreadsheet Layout


You can define a spreadsheet layout by selecting the:

• Columns you want to display.


• Order these columns appear in the spreadsheet.
• Column headings.
• Columns' width.

The columns you can select correspond to common and block-specific fields. Columns corresponding
to common block fields appear with only the field name. For example, the following text appears for
the common field Current Value:

Curr Value

Columns corresponding to block-specific fields use the following naming convention:

type fieldname

The type is a two or three-character abbreviation for the block type and the fieldname is the name of

74
Building a SCADA System

the block field. For example, suppose you see the following text:

AI Smooth

AI is the block abbreviation and identifies the field as an Analog Input specific field. The text Smooth
indicates the field name and corresponds to a block field (in this case the A_SMOTH field). The Block
Type Abbreviations table lists the abbreviations for each block.

NOTE: If you remove a column from the spreadsheet that Database Manager uses to sort data, the
column is also removed from the sort order.

Saving and Loading Spreadsheet Layouts


If you display database information in different ways, you may want to save your spreadsheet layouts
to a format file. Format files define the following information for each spreadsheet column:

• The column heading.


• The column width.
• The block field to which the column corresponds.

By saving spreadsheet layouts, you eliminate the need to recreate them. Database Manager saves your
spreadsheet layout in format files residing in the FIX Local path by default. These files have the
extension .FMT.

Loading a format file is like creating a spreadsheet layout. It appears in the Properties dialog box,
allowing you to modify it as needed. In addition, when Database Manager opens the format file, the
program replaces the current set of spreadsheet columns with the ones listed in the format file. If a
block does not include a field that corresponds to one of the new columns, the text "----" appears in
that cell.

Overriding the Default Layout


The first time you run Database Manager, it loads its preset default spreadsheet layout stored in the
format file, DEFAULT.FMT. The following table lists the preset default columns and the
corresponding fields that appear.

Database Manager Default Layout

Default Column Corresponding Field

Tag Name A_TAG

Type A_NAME

Description A_DESC

75
Building a SCADA System

Database Manager Default Layout

Default Column Corresponding Field

Scan Time A_SCANT

I/O Dev A_IODV

I/O Addr A_IOAD

Curr Value A_CV

If you prefer a different default arrangement of the spreadsheet columns, you can override the preset
default layout with your own by saving the current settings. You can also restore the original layout as
the default by loading the format file and selecting Save Settings from the Tools menu.

Troubleshooting Tag Display


If the Database Manager displays tag values, but the fields for an open block appear empty in the block
display, try re-registering the Fixdb32egu.ocx, Fixdb32IOAddress.ocx, and Fixdb32Tagname.ocx files.
This should resolve the issue with the tag display. Use the steps below.

To resolve tag display problems:

1. Shut down the Proficy iFIX Database Manager.


2. Shut down the Proficy iFIX WorkSpace.
3. From the Start menu, click Run. The Run dialog box appears.
4. In the Open field, enter:
REGSVR32 -U "C:\Program Files\Proficy\Proficy iFIX\Fixdb32egu.ocx"

5. Click OK. A message should appear indicating that the "DllUnregisterserver" succeeded.
6. Click OK.
7. Repeat steps 3-6 to properly unregister these files:
• Fixdb32IOAddress.ocx
• Fixdb32Tagname.ocx (making the appropriate substitution for the file name)
8. From the Start menu, click Run. The Run dialog box appears.
9. In the Open field, enter:
REGSVR32 "C:\Program Files\Proficy\Proficy iFIX\Fixdb32egu.ocx"

10. Click OK. A message should appear indicating that the "DllRegisterserver" succeeded.
11. Click OK.
12. Repeat steps 8-11 to properly register these files:

76
Building a SCADA System

• Fixdb32IOAddress.ocx
• Fixdb32Tagname.ocx (making the appropriate substitution for the file name)
13. Restart the iFIX WorkSpace.
14. Start the Proficy iFIX Database Manager, open a tag, and confirm all of the proper tag
information appears.

Querying and Sorting Data


One of the most powerful features that Database Manager provides is querying a database. A query is a
request to display specific information. For example, you might want to display all the Analog Input
blocks with a scan time of five seconds or less. Alternatively, you might want to display every block in
security area Packaging for a specific device driver. After you create a query, Database Manager
selects the blocks from the database that match the request and displays them, replacing any previously
displayed blocks.

The following topics provide more detailed information about querying and sorting a database.

• Understanding Query Syntax


• Editing a Query
• Refining and Expanding a Query
• Saving and Loading a Query
• Overriding the Default Query
• Understanding Sort Orders
• Saving and Loading a Sort Order
• Changing the Default Sort Order

Understanding Query Syntax


Before you can create a query, you must know the information you want to retrieve from the database.
For example, you might want to display all the Analog Input blocks with a current value greater than
50. Alternatively, you might want to display every block in alarm area Line5 for a specific I/O driver.

Once you know the information you want to display, you can construct the query using the following
syntax:

{column} operator "value"

or

"value" operator {column}

where column is a column heading you want to display, enclosed in curved brackets, operator is one of
the relational operators listed in the table Relational Operators, and value is a number or string
enclosed with quotation marks (" ").

77
Building a SCADA System

Relational Operators

Operator Meaning

= Equal to

<= Less than or equal to

< Less than

!= Not equal to

>= Greater than or equal to

> Greater than

Case Sensitivity

Strings entered in a query are not case sensitive. For example, a query such as:

{Tag Name} = "AI*"

retrieves blocks with names that start with AI. It also retrieves blocks with names that start with:

• Ai
• ai
• aI

When entering a number, the block's EGU range determines the maximum and minimum values you
can enter. The following table lists these limits. To learn more about the EGU range, refer to the
section Understanding EGU Limits.

Available EGU Limits

The format... Accepts EGU Limits From...

Standard Integer -32768 to 32767 (signed int)


0 to 65535 (unsigned int)
0 to 999 (3BCD)
0 to 4095 (12 Binary)

Expanded Decimal Notation -9999999 to 9999999

Scientific Notation +/-3.4E-38 to +/-3.4E+38

78
Building a SCADA System

Each query you create is evaluated from left to right.

Using Boolean Operators


You can combine two or more queries using one of the boolean operators in the following table. Using
these operators you could build a query such as:

{Scan time} = "3" AND {Security Area 1} = "Packaging"

to display all the blocks in security area Packaging with a scan time of 3 seconds.

Boolean Operators

The Instructs Database Manager to... Example


operator...

AND Select the block when both query A and query B are true. A AND B

OR Select the block if either query A or query B is true. A OR B

NOT Invert query. If query A is true, its value becomes false. NOT A

NOR Select the block when both query A and query B are false. A NOR B

XOR Select the block if query A and query B are not both true or A XOR B
both false.

NAND Select the block when query A and query B are not both true. A NAND
B

Using Wildcards in a Query


You can also include the following wildcards in queries containing the equal to (=) operator.

The wildcard... Represents...

Asterisk (*) One or more characters.

Question mark (?) Any single character.

79
Building a SCADA System

Examples: Query Wildcards

The query... Retrieves...

{Type} = "*" Every block in the database.

{Tag Name} ="A*" Every block whose name that begins with an "A."

{Type} = "?I" All Analog Input and Digital Input blocks.

Other operators, such as the greater than (>) or less than (<) operators, treat wildcards literally.

Examples: Using Relational Operators

The query... Retrieves...

{Scan Time} > No blocks, because the question mark is treated literally and "1M" through
"?M" "9M" have a lesser ASCII value than "?M".

{Scan Time} = All blocks with a scan time from 1 minute to 9 minutes.
"?M"

Grouping Queries
You can group queries together using parenthesis. For example, consider the following query:

{Tag name} = "A*" AND ({Type} = "AI" OR {Type} = "AO")

Database Manager evaluates this query from left to right. Expressions enclosed in parenthesis are
treated as a unit. Consequently, as Database Manager evaluates the above query, it retrieves every
block that begins with an "A." From this list of blocks, the program then displays all the Analog Input
or Analog Output blocks.

Be careful where you place parenthesis in a query. The following query yields a very different
spreadsheet compared to the query given above.

({Tag name} = "A*" AND {Type} = "AI") OR {Type} = "AO"

This query displays every Analog Input block that begins with an "A" and every Analog Output block
in the database.

Editing a Query
After you create a query, it remains the current query until you change it. Using this feature, you can
append a new query to the existing one and re-query the database. For example, suppose you create the
following query:

80
Building a SCADA System

{Type} ="AI" AND {Alarm Areas} ="Boston"

This query displays all the Analog Input blocks in the Boston alarm area. By appending the query:

AND {AI LOLO Alarm}<= "10"

you can display only those Analog Input blocks in the alarm area which have a LOLO alarm value less
than or equal to ten.

To locate blank cells in the database:

1. In Classic view, on the View menu, click Properties.


-Or-
In Ribbon view, on the View tab, in the Settings group, click Properties.
2. Select the Query tab and enter the following query.
{TAG NAME} = "*" AND {column_name}=""

For example, to find blank cells in the Description column use the query:

{TAG NAME} = "*" AND {Description}=""

This query displays all the blocks in the database that have no text in their Description fields.

Refining and Expanding a Query


The number of blocks that Database Manager retrieves from a query depends on how broad your
request is. If the query is broad (for example, display all Analog Input blocks) the program retrieves
more blocks than if the query is narrow (for example, display all Analog Input blocks with a scan time
of five seconds and a name that begins with "Q"). You can adjust the number of blocks retrieved by
refining or expanding your query.

One way to refine a query is to start with a simple query and append other queries to it. For example,
the following query displays all the Analog Input blocks in the database.

{Type} = "AI"

Once Database Manager retrieves these blocks, you can refine the query by adding other queries to it.
For example, you could add the following query to display only the Analog Input blocks with a scan
time of two seconds:

AND {Scan Time} = "2"

Similarly, you could increase the number of blocks in the spreadsheet by displaying all the Analog
Input blocks and then, to the original query, add all Analog Output blocks in the database with the
following query:

OR {Type} = "AO"

81
Building a SCADA System

Saving and Loading a Query


If you find yourself frequently entering and re-entering the same query, you may want to save it to a
file. By saving a query, you cut down on frequent retyping and eliminate the possibility of mistyping
the query. Database Manager saves your queries in separate files. These files reside in the FIX Local
path by default and have the extension .QRY.

Loading a query is like entering one. It appears in the Enter Query field, allowing you to refine or
expand the query as needed. In addition, when Database Manager opens the query file, the program
retrieves the blocks that match the specified criteria.

Overriding the Default Query


By default, Database Manager loads the query file DEFAULT.QRY when you initially start the
program. This query retrieves every block from the database. If you routinely request certain
information from the database, you may want to override the current default query by saving the
current settings. You can also restore the original query, DEFAULT.QRY, as the default, by loading
the query file and selecting Save Settings from the Tools menu.

Understanding Sort Orders


Database Manager automatically sorts all the blocks in the spreadsheet whenever you query or open a
database. The blocks are sorted according to the current sort order. A sort order defines:

• The columns to sort on.


• The column to sort first, the column to sort second, and so on.
• How to sort each column, either in ascending or descending order.

How Sort Orders Work


Database Manager sorts the spreadsheet, by:

1. Identifying which columns to sort.


2. Sorting the first column in ascending or descending order.
3. Repeating the previous step for the remaining columns in the sort order.

When sorting by ascending or descending order, Database Manager sorts:

• Special characters (such as marks of punctuation) by ASCII value.


• Numbers by numeric value.
• Letters in alphabetical order.

For example, suppose you want to sort the spreadsheet by the Type and Scan Time columns in
ascending order. Once you select these columns:

• Database Manager sorts the spreadsheet by the Type column alphabetically (ascending order).

82
Building a SCADA System

• Next, the program sorts the Scan Time column in numeric order.

Saving and Loading a Sort Order


If you sort your database in different ways, you may want to save each sort order to a file. By saving
your sort orders, you eliminate the need to recreate it. Database Manager saves each sort order in a
separate file. These files reside in the FIX Local path by default and have the extension .SRT.

Loading a sort order is like entering one. It appears in the Properties dialog box, allowing you to
modify it as needed. In addition, when Database Manager opens the sort order file, the program re-
sorts the spreadsheet.

Before loading a sort order, verify that the columns Database Manager sorts on appear in the
spreadsheet. If the columns do not appear, add them. For more information about adding columns to
the spreadsheet, refer to the chapter Locating and Displaying Data.

NOTE: Because the Tag Name column only contains unique data, Database Manager never needs to
sort beyond this column. For this reason, when you save or load a sort order containing the Tag Name
column, Database Manager ignores any column that follows. Ignored columns are not saved or
loaded.

Changing the Default Sort Order


By default, Database Manager loads the sort order DEFAULT.SRT when you initially start the
program. This sort order arranges the blocks in the spreadsheet by block type and then by block name.
If you prefer a different sort order, you can override the default by saving the current settings. You can
also restore the original sort order, DEFAULT.SRT, as the default, by loading the sort order file and
selecting Save Settings from the Tools menu.

Managing Databases
Database Manager lets you manage your process databases in many different ways. For example, you
can verify them to ensure they do not contain any errors. You can also reload, import, and export your
databases as needed. This chapter describes all these management tools.

• Verifying Databases
• Reloading Databases
• Displaying a Database Summary
• Exporting Databases
• Importing Databases

83
Building a SCADA System

Verifying Databases
You can ensure a process database contains no configuration errors by verifying it. Verifying a
database also ensures that iFIX can process each block and that the database functions as you intend.

While verifying a process database, Database Manager ensures that each block:

• Is in only one chain.


• Is linked to an appropriate block (for example, a Statistical Control block can be preceded
only by a Statistical Data block).
• Is used in the correct context (for example, as a stand-alone, a primary, or a secondary block).
• Does not reference non-existent blocks.

If Database Manager detects no errors, it displays a message box to inform you. However, if it
encounters errors, the Verify Database dialog box appears. This dialog box lists each error and the
block that contains it. The following table lists the possible verification errors and how to resolve them.

Resolving Verification Messages

When you see the It means... To correct this configuration...


message...

tagname a:tagname b The block, tagname b, has Remove one or more links to
Tag is in more than more than one upstream tagname b.
one chain block linked to it. Tagname a
identifies one of these blocks.

tagname:Tag is not in You may have a secondary Remove the secondary block or add a
any chain block that is not in any chain primary block to the start of the
or is the first block in a chain. chain.

tagname: Block not The block, tagname, chains Create a block with the name
found for NEXT to a block that does not exist. specified in the Next field or enter the
name of a block that exists.

tagname:Chains to The block, tagname, contains Change the name in the Next field or
itself its own name in its Next leave it blank. If you want to
field. repeatedly perform a task, use a
Program block instead.

tagname: is not The block, tagname, does not Create the block or change the
defined exist and another block reference to a block that exists.
references it.

fieldname No such The field, fieldname, does not Change the reference to a field that
field in FDT exist and it is referenced by a exists.
block in the database.

84
Building a SCADA System

Resolving Verification Messages

When you see the It means... To correct this configuration...


message...

Exceeding MAX chain The database contains a chain Redesign this chain by breaking it
size of 30 with more than 30 blocks. into two smaller chains or remove
any unnecessary blocks.

Correcting Errors
You can correct any error by double-clicking it to display the associated block configuration dialog
box.

To correct errors:

1. Edit the block to correct the problem.


2. Save the block.
3. Re-verify the database.

Reloading Databases
Even though you can create multiple databases for a SCADA server, Database Manager can load and
display only one of them at a time. You can load any database residing on the current SCADA server
by selecting Reload from the Database menu. Reloading a database lets you:

• Switch from one database to another.


• Restore the database to its saved configuration.
• Load a database after completing and saving modifications.
• Place on scan the chains configured to begin processing when SAC starts.

Using the SCU, you can select the default database to load on start-up. When you load another
database, it remains in memory until you restart iFIX. Refer to the Setting up the Environment manual
for more information about specifying the database to load on start-up.

Reloading a Database from a Visual Basic Script


If you want operators to reload the database from the iFIX WorkSpace, you can create a script to
reload the database using a routine similar to the following:

Private Sub FixEvent1_OnTrue()


Dim load_pdb As String
Dim return_value As Double
Dim nodename As String
Dim database As String

85
Building a SCADA System

nodename = "MIXER1"
database = "BACKUP"
load_pdb = System.ProjectPath + "\DBBLOAD" + " -N" + nodename + " -D" +
database
return_value = Shell (load_pdb, 0)
End Sub

The -N command line parameter enables you to reload a database on a remote SCADA server. The -D
command line parameter enables you to reload a database other than the currently loaded one. Both
command line parameters are optional; if you do not use them, you reload the open database on the
local SCADA server.

For information about using the Shell function from a script, see the Visual Basic help system.

CAUTION: The DBBLOAD system task does not prompt you to save changes to the database. Be sure
you save your database before executing a script that reloads the database. Otherwise, you will lose
all your changes.

Displaying a Database Summary


Database Manager lets you display a summary of the current database. This summary lists the
database's:

• Size in bytes.
• Serial number.
• Contents.
• I/O count.

Using this information can help you manage your databases. For example, knowing the database's
serial number can help you determine if someone modified your database since its last save. The serial
number is a unique code that Database Manager creates whenever you add or delete a block. By
writing down the serial number after you modify the database, you can subsequently compare the
current number to the previous one.

High-level documentation about the database can also help you manage your databases. You can
provide this level of information by displaying the database's contents. The contents lists by block type
the number of blocks used and allocated. A used block is one you have configured. An allocated block
is a placeholder in memory. To make efficient use of memory and improve performance, all SCADA
servers pre-allocate 10 blocks at a time when you initially create a block of a specific type, as the
following figure shows.

Allocating Memory for Database Blocks

86
Building a SCADA System

As an option, you can restrict your process database to a specific number of I/O blocks (intended for
small applications that do not require many I/O points). In this environment, the I/O count lets you
determine how many I/O blocks are in use.

Exporting Databases
You can export the current process database to a comma separated value (CSV) or GDB text file.
Typically, you export a database when you want to:

• Complete large editing tasks using a text editor or spreadsheet,


• Change the alarm area database used by the process database; or
• Import it into a relational database for subsequent analysis.

For example, you could export your process database in CSV format and import the data into
Microsoft Excel. By importing the file into Excel, you can:

• Automatically number or enter block values.


• Format values with Excel styles.
• Calculate a value with a spreadsheet formula.
• Automate the creation and modification of blocks by creating and running macros.

NOTE: If you export the iFIX Database into CSV format and open the CSV file in Microsoft Excel, you
may notice that some Numeric fields containing decimals display without the decimal in Excel. For
example, 100.01 displays as 100.01, however 100.00 displays as 100 in Excel. In order to display the
entire number including the decimal (for instance: 100.00), update the cell format to a Numeric
format.

For more information using these features, refer to your Excel documentation.

Database Manager exports all the blocks displayed in the spreadsheet. As a result, you can query the
database to display only the blocks you want to export. For example, to export all the Analog Input
blocks in the database, use the query:

{TYPE} = "AI"

For more information about querying the database, refer to the section Understanding Query Syntax.

Exporting a Database from the Command Line


You can export a database from the command line using the DBExporter.exe command. This
command is used independently of the Database Manager.

The DBExporter.exe command allows you to export all tags currently loaded on local or remote node
to a comma separated value (CSV) or GDB text file. When no command parameters are specified,
DBExporter.exe exports tags on local node to PDB name.csv to local PDB path. Typically, this path is:
C:\Program Files\Proficy\Proficy iFIX\PDB.

87
Building a SCADA System

Syntax

DBExporter.exe [/NNodeName] [/OOutputFileName>] [/F] [/R]

Parameters

The following table lists the command line parameters available for the DBExporter.exe exporter tool.

Parameter Description

/NNodeName Optionally, specify the remote SCADA node name that you want to to
export the database from. Replace NodeName with the actual node name.

/OOutputFileName Optionally, specify the output file name with full path or no path. If no path
is specified, output file is created in local PDB path. Typically, this path is:
C:\Program Files\Proficy\Proficy iFIX\PDB. The file name portion requires
the file extension: .csv or .gdb.
Replace OutputFileName with the actual output file name. For example:
MyFile.csv.

/F Optionally, allows you to run a fast export. The export runs as fast as
possible, maximizing CPU usage up to 100%.

/R Optionally, allows you to skip header information (that includes the node
name, database name, file name, and date and time of the export), in the
output file.

Error Codes

The following table describes the error codes and descriptions DBExporter.exe exporter tool.

Code Result

0 Successfully exported.

1 General Failure. iFIX is not running; unable to load DatabaseManagerRes.dll, an so on.

2 Invalid commands.

3 Invalid node.

4 Invalid file name.

5 Invalid file extension.

88
Building a SCADA System

Code Result

6 Unable to open Export.err file used for recording error details.

7 Empty database.

8 Invalid output file.

9 Exporting failure. The export file had an open or write error, EDA call failure, or other
similar type error during the export process.

Editing the Export File


Once you export the database, you can edit it with any text editor. As you edit the export file, use the
following guidelines:

• Verify that each block name is 30 characters or less.


• Ensure each block field is spelled correctly.
• Confirm the block type matches one of the types listed in the Block Type Abbreviations table.

You can also enter comments into the export file by typing an exclamation point (!) as the first
character on a line.

CSV File Format

For more intricate editing of the export file, you need to understand the file format. For example, an
export file saved in CSV format lists each row of the spreadsheet as one row in the CSV file. Each
block's fields appear delimited by commas. The first two fields of each block are:

A_NAME, A_TAG

You only need to enter values for these two fields when creating new blocks. If no additional field
values are present, Database Manager creates the block using the default block values. However, by
adding these optional values to a block entry, you can complete specific dialog box fields when the
block is imported. For example, the following line creates an Analog Input block with a scan time of 1
minute:

AI, AI2, , , , 1M

GDB File Format

The format of the GDB file is different. It uses the syntax:

label :: field_value ; fieldname

The first two lines of each block entry are required and contain the block type and block name.
Without these lines, Database Manager will not add the block to the database when you subsequently

89
Building a SCADA System

import it.

Subsequent lines in a block entry appear for each field on the block's configuration dialog box.
Including these additional lines is optional. If no additional lines are present, Database Manager creates
the block using the default block values. However, by adding these optional lines to a block entry, you
can complete specific dialog box fields when the block is imported. For example, to set the scan time
of the block AI1 to 5 seconds, the export file should contain the following information:

Block Type:: AI ;A_NAME

Tag Name :: AI1 ;A_TAG

Scan Time :: 5 ; A_SCANT

Block Type Abbreviations

Block Type Abbreviation

Analog Alarm AA

Analog Input AI

Analog Output AO

Analog Register AR

Boolean BL

Calculation CA

Dead Time DT

Device Control DC

Digital Alarm DA

Digital Input DI

Digital Output DO

Digital Register DR

Event Action EV

90
Building a SCADA System

Block Type Abbreviations

Block Type Abbreviation

Extended Trend ETR

Fanout FN

Histogram HS

Lead Lag LL

Multistate Digital Input MDI

On-Off Control BB

Pareto PA

PID PID

Program PG

Ramp RM

Ratio/Bias RB

Signal Select SS

SQL Data SQD

SQL Trigger SQT

Statistical Control SC

Statistical Data SD

Text TX

Timer TM

Totalizer TT

91
Building a SCADA System

Block Type Abbreviations

Block Type Abbreviation

Trend TR

Importing Databases
Using Database Manager, you can import any database into memory. Importing a database merges it
with the database currently in memory.

NOTE: Before you import a database, stop any I/O drivers or OPC servers you may have running.

Typically, you import a database when you want to:

• Change the scanning order of the blocks in the database.


• Combine two databases.

To change the scanning order of a database's blocks:

1. Export a database. For more information about exporting a database, refer to the section
Exporting Databases.
2. Change the order in which the blocks are listed in the export file. For more information on a
database's scanning order, refer to the section Changing a Database's Scanning Order.
3. In Classic view, on Database Manager's toolbar, click the New button.
-Or-
In Ribbon view, click the Database Manager button, and then click New.
4. Import the edited export file.

This process ensures that only the original database resides in memory when Database Manager
imports your database.

To combine two process databases:

1. Export each database.


2. Examine each export file. Verify that each block in each database has a unique name. If two
blocks have the same name, change one. Remember to also change the text in the Next field
of the previous block so that the chain remains intact.
3. Into an empty database, import one of the databases you want to merge.
4. Import the other database.

Import errors encountered by Database Manager are stored in the file IMPORT.ERR. This file resides
in the Database path.

92
Building a SCADA System

Advanced Topics
After you put a database into production, you may find that SAC scans certain blocks in an order you
did not intend. This chapter explains how you can fine-tune your database and change the scanning
order.

This chapter also describes how to customize Database Manager's toolbar and Tools menu.
Customizing the toolbar lets you select only the toolbar buttons you require. Customizing the Tools
menu lets you add menu items that launch other applications from Database Manager. Refer to sections
Customizing the Toolbar and Customizing the Tools Menu for more information on these features.

Changing a Database's Scanning Order


You can control the precise order you want SAC to scan your blocks and chains by adjusting the
database's scanning order, called the order of solve. Typically, you only need to adjust the order of
solve when the value of one block depends on the value of another. For example, suppose you are
calculating a value from three Analog Input blocks as the following figure shows.

Sample Calculation Chain

Also assume that by default SAC scans AI1 first, AI2 second, and AI3 third. Because SAC scans AI1
first, it processes the entire chain, computing the value of the Calculation block, before it scans AI2
and AI3. If either of these values change during the current scan cycle, the Calculation does not receive
them until AI1 is processed again.

Changing the scanning order addresses this potential problem. By scanning AI1 last, you ensure SAC
has updated values for both AI2 and AI3 prior to computing the value of the Calculation block.

You can also phase the blocks so that SAC scans AI1 last. To learn more about phasing, refer to the
Phasing section.

Understanding a Database's Scanning Order


On each scan cycle:

1. Regardless of their order in the database, SAC processes blocks that output a value to an I/O
device (using a Cold Start value). SAC does not examine these values for alarm conditions.
2. SAC updates all primary blocks according to the scan time and phase. Blocks with the same
scan time and phase update in the following order.

93
Building a SCADA System

a. Analog Input blocks


b. Analog Output blocks
c. Digital Input blocks
d. Digital Output blocks
e. Ramp blocks
f. Multistate Digital Input blocks
g. Statistical Data blocks
h. Boolean blocks
i. Device Control blocks
j. Analog Alarm blocks
k. Digital Alarm blocks
l. Pareto blocks
m. Text blocks
n. Program blocks
NOTE: Analog Register and Digital Register blocks do not require SAC processing. Instead,
iFIX processes them only when an operator opens a picture containing a link to either block
or when a script that references either block runs. When either event happens, iFIX processes
the blocks before the Ramp block.

3. When SAC scans a primary block, it:


a. Processes that block's entire chain.
b. Scans the next primary block.
4. SAC scans primary blocks of the same type, scan time, and phase in the order these blocks
occur in the database, as the following example shows.

Example: Understanding a Database's Scanning Order

Suppose you create the five identical Analog Input blocks, shown in the following figure. SAC scans
these blocks in the order shown.

Blocks Assigned to a Scan Sequence

Now, assume you delete the third Analog Input block because you no longer need it. This creates an
empty space in the database, as the following figure shows. SAC now scans the blocks as shown.

94
Building a SCADA System

Blocks Deleted from a Scan Sequence

You subsequently discover you need to add two new Analog Input blocks, AI6 and AI3. The first new
block, AI6, fills in the space left by deleting a block. The second new block, AI3, is added after AI5.
SAC now scans the blocks in the order shown by the following figure.

Blocks Added to a Scan Sequence

Changing the Order of Solve


You can change the order of solve by exporting the database and editing the export file. Database
Manager exports primary blocks in the order SAC scans all primary blocks. This results in all Analog
Input blocks appearing first in the export file, followed by all Analog Output blocks, and so on. Once
the primary block types are exported, Database Manager exports the secondary blocks.

For example, using the blocks in the Sample Calculation Chain figure, you can ensure SAC scans AI1
after AI2 and AI3 as follows:

1. Export the database.


2. Locate AI2's and AI3's entries in the export file.
3. Move both entries to the start of the file.
4. Save the export file and import it into an empty database.

For more information about completing these tasks, refer to the sections Exporting Databases and
Importing Databases.

Customizing the Toolbar


As an option, Database Manager lets you customize its toolbar by arranging and removing the toolbar
buttons. Customizing the toolbar lets you display the buttons to frequently-used functions. For
example, while developing a database you might display the buttons that let you add, modify, and
delete blocks. However, when the database is complete, you might want to remove these buttons from
the toolbar.

Once you remove a button, you can always add it back to the toolbar. Adding custom buttons is not
supported. By default, the toolbar comes pre-configured with all the available buttons added for you.

NOTE: This feature is not available in Ribbon view.

95
Building a SCADA System

Customizing the Tools Menu


Depending on your needs, you may want to start other applications after launching Database Manager.
For example, if you routinely drag blocks to an Excel spreadsheet for modification, you may want to
start Excel after Database Manager opens.

By customizing Database Manager's Tools menu, you can add menu items that launch any iFIX or
third-party application. You can also arrange and delete these menu items as needed.

Adding a menu item requires you to enter:

• An application's path and name.


• The text that appears in the Tools menu.
• The arguments (command line parameters) you want to use when the application runs. As an
option, you can configure Database Manager to prompt you for arguments when the specified
application runs.

Once you specify this information, Database Manager creates the menu item and saves it as part of its
default configuration. You can subsequently select the menu item to launch the associated application.

96
Index
A block modes

adding described .......................................................40

blocks to the process database ...................... 64 function by block type ..................................40

multiple blocks to the process database ........ 64 block types

adding blocks .................................................... 31 abbreviations .................................................89

alarm area database blocks

setting up on each server ................................5 adding ...........................................................64

alarms adding multiple .............................................64

described.........................................................4 adding to Database Manager ......................... 2

allocated blocks ................................................ 86 allocating memory ........................................86

archiving batch .............................................................27

process data ....................................................5 configuring .................................................... 2

Auto Refresh option control ...........................................................25

database spreadsheet ..................................... 73 copying .......................................................... 7

automatic mode copying and pasting ......................................67

described....................................................... 40 Database Dynamos .......................................27

function by block type .................................. 40 deleting .........................................................70

B described ........................................................ 2

batch blocks ...................................................... 27 displaying information ..................................69

block fields duplicating ....................................................67

block name ................................................... 32 exception-based processing ..........................35

described....................................................... 32 function .......................................................... 2

formats .......................................................... 32 how processed by SAC .................................. 3

locating ......................................................... 33 importing ....................................................... 7

naming convention ....................................... 32 in the database spreadsheet ............................ 6

97
Building a SCADA System

matching process steps to block types .......... 14 C

modifying ..................................................... 69 chains

moving .......................................................... 68 adjusting the design ......................................15

off scan ......................................................... 43 described ........................................................ 3

on scan .......................................................... 43 designing.......................................................10

one shot processing....................................... 38 drawing a flowchart ......................................15

optional ......................................................... 21 how processed by SAC .................................. 3

pasting into Excel ......................................... 67 maximum size ................................................ 3

pattern type syntax ........................................ 64 scanning order...............................................93

phasing.......................................................... 38 understanding the design ..............................19

planning your automation strategy ............... 20 writing an automation algorithm...................13

primary ......................................................... 21 closing the process database .............................63

reaction to on/off scan changes..................... 43 collecting process information ........................... 9

saving ........................................................... 70 color

scan order ..................................................... 93 changing in a database spreadsheet ..............73

scan times ..................................................... 33 columns

scan times for large databases ...................... 19 adding in a spreadsheet .................................74

secondary ...................................................... 21 creating a non-scrolling ................................74

sort order in database spreadsheet ................ 82 modifying in a spreadsheet ...........................74

SQL .............................................................. 27 removing from a spreadsheet ........................74

Statistical Process Control (SPC) ................. 26 command line parameters (BTKCFG) ..............32

summary ....................................................... 27 commands .........................................................31

time-based processing .................................. 34 configuration errors

types and descriptions................................... 21 checking the database for..............................84

blocks ............................................................... 21 correcting ......................................................84

boolean operators in queries ............................. 79 resolving .......................................................84

building large databases ................................... 19 configuring blocks ............................................. 2

control blocks ...................................................25

98
Building a SCADA System

copying and pasting blocks in the process Database Dynamos


database ..........................................................1
function .........................................................27
creating
toolkit ............................................................27
process database .............................................8
Database Manager
CSV
adding blocks ................................................. 2
block data format conversion .........................7
adjusting the chain design .............................15
Editing an export file .................................... 89
block types ....................................................21
exporting process database to ....................... 87
building large databases ................................19
customizing
configuring blocks ......................................... 2
Database Manager toolbars .......................... 96
customizing a spreadsheet ............................73
Database Manager Tools menu .................... 96
customizing the Tools menu .........................96
database spreadsheet ..................................... 73
described ........................................................ 1
D
designing a chain ..........................................10
database
designing an automation strategy .................13
changing the scanning order ......................... 93
displaying a database summary ....................86
correcting errors............................................ 84
drawing a flowchart for the chain .................15
designing ........................................................9
exchanging data ............................................. 7
displaying a summary ................................... 86
exiting ............................................................ 6
editing an export file ..................................... 89
gathering process information ....................... 9
exporting ....................................................... 87
matching process steps to block types ..........14
importing ...................................................... 92
pausing a spreadsheet ...................................73
order of solve ................................................ 95
queries...........................................................77
reloading ....................................................... 85
replacing data in a spreadsheet .....................72
reloading from a Visual Batch script ............ 86
right mouse menu .......................................... 7
scanning order .............................................. 94
saving databases from a script or Program
verifying ....................................................... 84 block .........................................................70

Database Dynamo Blocks................................. 30 saving large databases...................................20

saving spreadsheet layouts ............................75

99
Building a SCADA System

searching a spreadsheet ................................ 71 DBExporter.exe command ...............................88

setting preferences ..........................................8 deleting blocks from the process database ........70

sort orders ..................................................... 82 designing

starting ............................................................6 chains ............................................................10

toolbar.............................................................7 process database ............................................ 9

understanding chain designs ......................... 19 displaying

updating a spreadsheet .................................. 73 any row in a spreadsheet ...............................73

using Go To in a spreadsheet ........................ 73 block information from the process


database ....................................................69
working with analog and digital blocks ........ 20
blocks in a database spreadsheet ...................73
writing an automation algorithm .................. 13
columns in a database spreadsheet................73
database spreadsheet
database summary.........................................86
coloring......................................................... 73
rows in a database spreadsheet .....................73
commands .......................................................7
drivers ...............................................................47
creating a non-scrolling column ................... 74
duplicating blocks in the process database .......67
customizing .................................................. 73
E
defining the layout ........................................ 74
editing
editing .............................................................7
database spreadsheet ...................................... 7
loading layouts ............................................. 75
EGU limit
overriding the default layouts ....................... 75
formats ..........................................................61
pausing.......................................................... 73
precision and range .......................................61
properties ........................................................6
errors
replacing data ............................................... 72
correcting verification ...................................84
restoring the default layouts ......................... 75
example
saving layouts ............................................... 75
Enviro company overview ............................. 5
searching ....................................................... 71
Excel
updating ........................................................ 73
converting block data ..................................... 7
using Go To .................................................. 73
pasting blocks into ........................................67
using in Database Manager.............................6

100
Building a SCADA System

exception-based processing customizing block fields ...............................64

Analog Alarm block considerations ............. 35 entering patterns ...........................................64

Boolean block considerations ....................... 35 Go To

Calculation block considerations .................. 35 using in a spreadsheet ...................................73

Dead Time block considerations .................. 35 H

Digital Alarm block considerations .............. 35 historical trends

Event Action block considerations ............... 35 function .......................................................... 4

Lead Lag considerations ............................... 35 I

PID considerations........................................ 35 I/O data

Program block considerations ...................... 35 and the database ............................................. 2

Signal Select block considerations ............... 35 how processed by SAC .................................. 3

Statistical Data block considerations ............ 35 I/O drivers

understanding ............................................... 35 defining an OPC server .................................60

export file described .......................................................45

editing ........................................................... 89 OPC Client driver .........................................47

exporting process data to .............................. 87 signal conditioning .......................................60

exporting a process database ............................ 87 SIM driver ....................................................48

F SM2 driver ....................................................52

field formats ..................................................... 32 iFIX

freezing columns in a spreadsheet .................... 74 installing ........................................................ 5

G importing a process database ............................92

GDB importing blocks ................................................ 7

editing an export file ..................................... 89 L

exporting process database to ....................... 87 layout

Generate Wizard defining in a database spreadsheet ................74

adding blocks ................................................ 64 loadable blocks (see Database Dynamos) .........27

adding multiple blocks ................................. 64 loading

automatic block name assignment ................ 64 queries...........................................................82

101
Building a SCADA System

spreadsheet layouts ....................................... 75 optional blocks

locking columns in a spreadsheet ..................... 74 list .................................................................21

M optional blocks..................................................21

manual mode order of solve

described....................................................... 40 changing .......................................................95

function by block type .................................. 40 overphasing blocks ...........................................40

memory overriding

allocating for blocks ..................................... 86 default query .................................................82

building large databases................................ 19 default spreadsheet layout.............................75

saving databases from a script or Program overview ...........................................................30


block ......................................................... 70
P
saving large databases .................................. 20
pasting blocks into Excel ..................................67
modifying blocks in the process database ........ 69
pattern types
moving blocks to the process database ............. 68
syntax............................................................64
N
pausing a spreadsheet .......................................73
non-scrolling column
PAUT mode
creating in a spreadsheet ............................... 74
example.........................................................43
O
function .........................................................43
objects
understanding................................................43
Database Dynamo ......................................... 27
phasing
objects............................................................... 27
assigning .......................................................39
off scan blocks .................................................. 43
second and subsecond blocks .......................38
on scan blocks .................................................. 43
what it does ...................................................38
one shot processing........................................... 38
planning
OPC Client driver ............................................. 47
block scan times............................................19
OPC server ....................................................... 60
designing the process database ...................... 9
opening the process database ............................ 63
gathering process information ....................... 9

102
Building a SCADA System

PMAN mode customizing a spreadsheet ............................73

example ........................................................ 42 deleting blocks ..............................................70

function......................................................... 42 described ........................................................ 1

precision describing .....................................................11

EGU limits .................................................... 61 designing........................................................ 9

preferences designing a chain ..........................................10

Database Manager ..........................................8 designing an automation strategy .................13

primary blocks displaying a summary ...................................86

described....................................................... 21 displaying block information ........................69

function......................................................... 23 drawing a flowchart for the chain .................15

scan times ..................................................... 33 duplicating blocks .........................................67

standard ........................................................ 23 editing an export file .....................................89

summary ....................................................... 27 example.......................................................... 5

process analyzing ............................................. 12 exporting .......................................................87

process data functions ........................................................ 2

archiving .........................................................5 gathering process information ....................... 9

trending ...........................................................4 importing ......................................................92

process database matching process steps to block types ..........14

adding blocks ................................................ 64 modifying blocks ..........................................69

adding multiple blocks ................................. 64 moving blocks...............................................68

adjusting the chain design............................. 15 opening .........................................................63

basic operations ............................................ 63 order of solve ................................................95

before you begin creating ...............................5 overriding the default spreadsheet layout .....75

building large databases................................ 19 pausing a spreadsheet ...................................73

changing the scanning order ......................... 93 reloading .......................................................85

closing .......................................................... 63 reloading from a Visual Batch script ............86

copying and pasting blocks........................... 67 replacing data in a spreadsheet .....................72

creating ...........................................................8 restoring the default spreadsheet layout ........75

103
Building a SCADA System

sample application ..........................................9 refining .........................................................81

saving blocks ................................................ 70 relational operator examples .........................80

saving databases from a script or Program relational operators .......................................77


block ......................................................... 70
restoring the preset default............................82
saving large databases .................................. 20
saving ............................................................82
saving spreadsheet layouts............................ 75
syntax............................................................77
scanning order .............................................. 94
wildcard examples ........................................80
searching a spreadsheet ................................ 71
wildcards.......................................................80
understanding chain designs ......................... 19
R
updating a spreadsheet .................................. 73
range
using ...............................................................4
EGU limits ....................................................61
using Go to in a spreadsheet ......................... 73
refreshing the screen
using the database spreadsheet .......................6
database spreadsheet .....................................73
verifying ....................................................... 84
relational database
working with analog and digital blocks ........ 20
functions ........................................................ 5
writing an automation algorithm .................. 13
reloading
processing large databases ................................ 19
database from a Visual Basic script ..............86
Q
process database ...........................................85
queries
removing blocks ...............................................31
appending ..................................................... 81
replacing data in a database spreadsheet...........72
boolean operators.......................................... 79
restoring
case sensitivity .............................................. 77
default spreadsheet layout.............................75
described....................................................... 77
preset default query ......................................82
editing ........................................................... 81
right mouse menu .............................................. 7
expanding ..................................................... 81
S
grouping........................................................ 80
SAC
loading .......................................................... 82
block phasing ................................................38
overriding the default ................................... 82
changing the database scanning order...........93

104
Building a SCADA System

exception-based processing .......................... 35 described .......................................................94

function...........................................................3 example.........................................................94

one shot processing....................................... 38 Scheduler

processing I/O data .........................................3 adjusting database values using ..................... 5

time-based processing .................................. 34 functions ........................................................ 5

SAC .................................................................. 34 Scheduler ........................................................... 5

saving SCU

blocks to the process database ...................... 70 configuring each server.................................. 5

databases from a script or Program block ..... 70 searching a database spreadsheet ......................71

large databases .............................................. 20 secondary blocks

queries .......................................................... 82 described .......................................................21

spreadsheet layouts ....................................... 75 function .........................................................24

SCADA servers standard.........................................................24

establishing a connection from Database summary .......................................................27


Manager .................................................... 63
sharing blocks among process databases ..........67
loading process database from ...................... 85
signal conditioning ...........................................60
monitoring and reporting functions ................4
SIM driver
trending and display capabilities ....................4
analog values ................................................48
scan time
described .......................................................48
assigning ....................................................... 34
digital values .................................................48
block reaction to on/off scan changes ........... 43
generating random values .............................50
described....................................................... 33
signal generation registers ............................50
examples ....................................................... 34
using .............................................................48
exception-based ............................................ 35
slot numbers......................................................31
one shot......................................................... 38
SM2 driver
time-based .................................................... 34
accessing .......................................................52
scanning order
C API ............................................................53
changing in the database ............................... 93
generating bad data .......................................53

105
Building a SCADA System

sort order Toolkit

adding a column ........................................... 82 Database Dynamo .........................................27

arranging columns ........................................ 82 Tools menu

changing the default ..................................... 83 customizing in Database Manager ................96

described....................................................... 82 trending

loading .......................................................... 83 historical values ............................................. 4

removing a column ....................................... 82 process data ................................................... 4

saving ........................................................... 83 U

sorting unfreezing columns in a spreadsheet ................74

columns in database spreadsheet .................. 82 unlocking columns in a spreadsheet .................74

disabling in database spreadsheet ................. 82 updating a spreadsheet ......................................73

SQL blocks ....................................................... 27 used blocks .......................................................86

standard blocks using the process database ................................. 4

summary ....................................................... 27 V

Statistical Process Control (SPC) blocks .......... 26 VBA

syntax adjusting database values using ..................... 5

database query .............................................. 77 functions ........................................................ 5

T reloading a database from a script ................86

time ................................................................... 35 VBA..................................................................86

time-based processing verification messages

assigning a scan time .................................... 34 list .................................................................84

examples ....................................................... 34 resolving .......................................................84

understanding ............................................... 34 verifying a process database .............................84

toolbar W

customizing Database Manager .................... 96 WorkSpace

Database Manager ..........................................7 reloading a database from .............................86

toolbars ............................................................. 31 using to provide visual cues for alarms ......... 4

writing an automation algorithm ......................13

106
Proficy* HMI/SCADA - iFIX
CHANGE MANAGEMENT AND iFIX

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

Disclaimer of Warranties and Liability

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

Notice

©2010 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 ............................................................................................................................... 7

Introduction ....................................................................................................................................... 7

Features ........................................................................................................................................ 8

Limitations ..................................................................................................................................... 9

Setting up iFIX for Use with Change Management .................................................................... 10

Logging into the Change Management Server from iFIX ...........................................................11

Logging Off ................................................................................................................................. 12

Summary of Items Managed in the System Tree ....................................................................... 12

Status Indicators in the System Tree.......................................................................................... 16

Summary of iFIX Project Files Managed in Change Management ............................................17

Application Support Files Folder ............................................................................................. 17

Database Folder ..................................................................................................................... 18

Documents Folder .................................................................................................................. 18

Dynamo Sets Folder ............................................................................................................... 18

FIX Desktop Folder ................................................................................................................. 18

FIX Recipes Folder ................................................................................................................. 18

Globals Folder ........................................................................................................................ 19

Help & Information Folder ....................................................................................................... 19

Historical Configuration Folder ............................................................................................... 19

I/O Drivers Folder ................................................................................................................... 19

Picture Support Files Folder ................................................................................................... 19

Pictures Folder........................................................................................................................ 20

Project Toolbar Files Folder ................................................................................................... 20

Reports Folder ........................................................................................................................ 20

Schedules Folder .................................................................................................................... 20

Security Folder........................................................................................................................ 20

iii
Change Management and iFIX

Startup Profile Folder .............................................................................................................. 21

System Configuration Folder .................................................................................................. 21

Tag Group Folder ................................................................................................................... 21

Configuring iFIX with Change Management ................................................................................... 22

Overview of iFIX Configuration Steps......................................................................................... 22

Automatic Logon to the Change Management Server ...........................................................24

iFIX Electronic Signatures and Change Management ...........................................................25

Comment Tables, Electronic Signatures, and Change Management ....................................27

Overview of Change Management Server Configuration Steps ................................................28

Using Change Management from the iFIX WorkSpace ................................................................. 30

Tips for Working with Multiple Users .......................................................................................... 32

Create a Project .......................................................................................................................... 32

Add Files ..................................................................................................................................... 33

Check Out ................................................................................................................................... 34

Check In...................................................................................................................................... 36

Check Out Status........................................................................................................................ 37

Undo Check Out ......................................................................................................................... 38

Destroy ....................................................................................................................................... 39

Get Latest ................................................................................................................................... 40

Tips for Getting Color Table (*.FTB) files ............................................................................... 41

Steps for Getting Files ............................................................................................................ 41

Get Other Project ........................................................................................................................ 42

Label ........................................................................................................................................... 43

History Report ............................................................................................................................. 43

Understanding the Proficy Change Management History Window ........................................44

Spreadsheet Columns ............................................................................................................ 45

Summary of Binary vs. ASCII Compare Functionality ............................................................ 48

Information for Proficy Machine Edition Users ............................................................................... 51

iv
Change Management and iFIX

Projects in Change Management vs. iFIX .................................................................................. 51

Labeling Differences ................................................................................................................... 52

Scheduled Backups .................................................................................................................... 52

Where to Find More Information in the Machine Edition Help ....................................................55

Quick Start: Configuring iFIX with Integrated Change Management Support ................................55

Step 1: Adding a User in iFIX ..................................................................................................... 56

Step 2: Enable Security in iFIX ................................................................................................... 58

Step 3: Set iFIX User Preferences ............................................................................................. 58

Step 4: Add a User and Configure Privileges in Machine Edition ..............................................60

Step 5: Configure User Privileges in Machine Edition ................................................................ 60

Step 6: Add a Schedule in Machine Edition ............................................................................... 61

Step 7: Restart the iFIX WorkSpace........................................................................................... 62

Quick Tour: Using Proficy Change Management Features in iFIX ................................................63

Logging In ................................................................................................................................... 63

Viewing the Connection to the Change Management Server ....................................................64

Using Change Management Features in iFIX ............................................................................ 65

Adding Files ................................................................................................................................ 65

Checking Out Files ..................................................................................................................... 66

Checking In Files ........................................................................................................................ 67

Understanding Electronic Signatures ......................................................................................... 68

Using the Change Management History Window ....................................................................... 71

Index ............................................................................................................................................... 73

v
Change Management and iFIX

vi
About this Guide
If you develop iFIX pictures or projects, you can use Proficy* Change Management within iFIX to
help you manage your iFIX project files, and track changes to these files.

This help system describes how to use Change Management features in the iFIX WorkSpace. The help
includes the following sections:

• Introduction
• Configuring iFIX with Change Management
• Using Change Management from the iFIX WorkSpace
• Information for Proficy Machine Edition Users
• Quick Start: Configuring iFIX with Integrated Change Management Support
• Quick Tour: Using Proficy Change Management Features in iFIX

For more information on using Change Management outside of iFIX, refer to the Proficy Change
Management online help.

Introduction
Version controlled files provide fast recovery and reduce the cost and risk of downtime. The Proficy
Change Management add-on for the iFIX product provides version control for your iFIX project files.
Change Management with Proficy Machine Edition also provides audit trails for tracking changes,
security for preventing unauthorized changes, and scheduled backups to ensure you always have the
latest files.

If you purchase the Change Management feature for iFIX, Change Management is integrated into your
iFIX development environment. To access Change Management functions in the iFIX WorkSpace
environment, you use the right-click menu on the WorkSpace system tree, as illustrated in the
following figure. Or, in Ribbon view only, you may access project level Change Management
functions on the Administration tab, in the Proficy Change Management group, in the Manage Project
list.

7
Change Management and iFIX

Using Change Management Functions in the iFIX WorkSpace

NOTE: Only one user at a time can check out a file.

Features
When you use Proficy Change Management with iFIX, you can do the following:

• Manage all iFIX project files, including configuration files, FIX Desktop, and non-iFIX
project files (such as .OCXs, .DLLs, and .EXE files) from the iFIX WorkSpace.
• Use all Change Management features from the right-click Manage menu from the iFIX
WorkSpace tree.
• Perform a text compare of pictures (including VBA), process databases, Dynamos, SCU files,
and user.fxg changes.
• Use the Proficy Change Management Client to run scheduled backups of your iFIX project
files and report back the changes.
• Capture information on who, when, and why iFIX project files were modified. The audit trail
displays in the Proficy Change Management (PCM) History window (also available from the
right-click Manage menu).
• Identify changes between versions using the PCM History window.
• Automatically log in to the Change Management Server from the iFIX WorkSpace, when you
synchronize your user names and passwords across the products.
• Label iFIX files, folders, or projects with specific text string identifiers.
• Optionally require iFIX electronic signatures when checking out or checking in files to the
Change Management Server (from the right-click menu) in the iFIX WorkSpace.
• Include predefined comments for the operators to select when entering an electronic signature.
The comments you display can reside in a different table than the other iFIX electronic
signatures.

8
Change Management and iFIX

Limitations
When using Proficy Change Management with iFIX, be aware of the following limitations:

• In order to use the integrated Change Management features within iFIX, you must have
Proficy Change Management 5.8 or 5.9 installed.
• Running the Proficy Change Management (PCM) Server or the Client/Scheduler on iFIX 5.1
nodes is not supported on Microsoft Windows Vista or Windows Server 2008, since Proficy
Change Management 5.8 and 5.9 do not support these Windows versions.
• In order to use the integrated Change Management features within iFIX, you must have
administrative rights on the iFIX Client computer.
• Project-specific folders created for multiple users, such as those described in the Best
Practices for Managing Multiple iFIX Users section in the Optimization guide, cannot be
managed with Proficy Change Management features in iFIX. Project-specific folders are
typically used by Terminal Server users.
• Do not check in any iFIX files which contain special characters, as detailed in the following
Microsoft article: http://office.microsoft.com/en-us/access/HA102146111033.aspx. For
example, if you attempt to check in an iFIX tag group file with a special characters such as the
% character, an error message appears. This error a result of the inability to check files with
special characters into the Visual SourceSafe application that is used by Proficy Change
Management.
• When using Terminal Services with iFIX, Proficy Change Management is supported only
from the console session – not from a remote connection.
• While you can add, check in, check out, and get Proficy Batch Execution files from the
Change Management Server, the version of the Batch Execution files is not retained. Since
there is no version recorded, a version number for these files does not appear in the PCM
History window.
• Proficy Batch Execution files are added or checked in to the base iFIX project folder on the
Change Management Server. For example, if your project name is FIX1, then the Batch
Execution files are checked in to the base FIX1 project folder in Machine Edition. They are
not checked into the APP folder, or a separate Batch Project folder at this time.
• In the PCM History window, when displaying the differences in the FIX Desktop Files, all
files except the *.hgp files for the Historical Display are compared.
• In the PCM History window, when displaying the differences of the Security folder, all files
except the display.dov file (if it exists) are compared.
• In the PCM History window, when doing a Text compare, changes to ActiveX Controls or
Chart Configuration are not included.
• Depending on the number of FIX Desktop files you have, it may take a longer time to perform
Change Management functions with these files than with other iFIX files. This is because for
FIX Desktop all files are managed together, instead of individually. For a list of the files in
the FIX Desktop folder that you can manage, refer to the FIX Desktop Folder section.
• Because the FIX Desktop files are saved as one file, individual FIX Desktop files cannot be
viewed individually from within the Proficy Change Management application.
• Be aware that the Change Management application's Server Trim utility removes labels from
iFIX projects, folders, security files, FIX Desktop files, Historical Assignment files, and user
add-on files. It does, however, leave your labels on individual iFIX files.

9
Change Management and iFIX

• Files from a remote location cannot be added to your Change Management project. If you
want to use a network path, you must use a mapped network drive.
• Security files that point to a remote security path or a non-local iFIX path cannot be added to
the Change Management Server. Make sure that the primary and backup security path in the
Security application's Configuration dialog point to the iFIX Local folder. For instance, if you
install iFIX to the default folder, this path is: C:\Program Files\Proficy\Proficy iFIX\LOCAL.
• If multiple users want to manage iFIX files from the WorkSpace, and each user wants the
ability to check out the entire project, the project paths (including the drive letter) must be the
same on all computers. Also, the iFIX user names and passwords must be the same on the
Change Management Server.
• If you Get an iFIX project from the Change Management Server, you must restart iFIX. If the
SCU files you get do not map to your current path (the paths are different), the project will not
start in iFIX. You must update the SCU file. Refer to the Get Other Project section for more
details.
• While iFIX is running, you cannot get security files, the current SCU, or the User.fxg file
from the iFIX WorkSpace. You can, however, use the Get Other Project command to copy
these files to another location, and then update the SCU to run the project.
• You currently cannot manage the iFIX WorkSpace's Help & Information folder, or the files it
contains.
• The Proficy Change Management Server is only available in English. You can run the Proficy
Change Management Client that is installed with iFIX in English and other single byte
operating systems. Double or multiple byte operating systems are not supported.

Setting up iFIX for Use with Change Management


In order to use integrated Change Management features in the iFIX WorkSpace, you must have both
iFIX and Change Management installed. Additionally, you need configure a few items on both iFIX
and the Change Management Server, as described below.

To configure the iFIX product for integrated Change Management:

1. Add iFIX users with Change Management application privileges.


2. Enable iFIX security. The options on the iFIX User Preferences dialog box's Change
Management tab are unavailable until you enable security.
3. Confirm that any remote project paths appear as mapped network drives.
4. Confirm that all security paths are mapped to the iFIX Local path.
5. From the iFIX User Preferences dialog box's Change Management tab:
• Enable the Change Management Server connection and select the server to which
you want to connect.
• Enter or select a project name.
• Configure logon options and electronic signature requirements.

For more information on these steps, refer to Overview of iFIX Configuration Steps section.

10
Change Management and iFIX

To configure the Change Management Server for iFIX 4.0:

1. Add users for the integrated iFIX feature. If you want to use the automatic login feature,
Change Management user names and passwords should match the iFIX ones.
2. Configure user privileges.

For more information on these steps, refer to Overview of Change Management Server Configuration
Steps section.

Logging into the Change Management Server from iFIX


When you enable the Change Management Server connection from the iFIX User Preferences dialog
box in the WorkSpace, you can specify login options. This includes the server that you log in to,
whether the Logon dialog box automatically appears when you start the iFIX WorkSpace, and whether
you are prompted for the user name and password.

To log in to the Change Management Server when iFIX starts up, select the Logon at WorkSpace
Startup check box in the Change Management User Preferences. Otherwise, with this check box
cleared, you can right-click the node name in the system tree, point to Manage, and then click Logon.
If the Prompt for User Name and Password at Logon check box is selected, the Change Management
Logon dialog box appears, as shown in the following figure.

If you clear the Prompt for User Name and Password at Logon check, you can automatically log on to
the Change Management Server without this dialog box. You must synchronize your iFIX and Change
Management users properly to do so, however. When automatic login is configured properly, no
Change Management Logon dialog box appears, unless the automatic logon fails due to an invalid user
name or password. For information on automatically logging in users, refer to the Automatic Logon to
the Change Management Server section.

After you log in, the Connection status in the bottom right-hand corner of the iFIX WorkSpace
changes from red to green and status bar reads: "Connected to PCM Server Name" as illustrated in the
following figure (where Name refers to the actual server name).

11
Change Management and iFIX

TIP: If you have a very large iFIX project, you most likely do not want to enable the Logon at
WorkSpace Startup. If it is selected, it may take several additional seconds or minutes (depending on
the size of your project) for the WorkSpace to start up.

Logging Off
To log off from the Change Management Server from the iFIX WorkSpace, right-click the node name,
point to Manage, and select Logoff. When you are disconnected from the Change Management Server,
the bottom right-hand corner of the iFIX WorkSpace the status bar reads: "PCM Not Connected" and
appears in red, as illustrated in the following figure.

Summary of Items Managed in the System Tree


The Manage right-click menu, shown in the Introduction section, is available whenever you right-click
a supported item in the iFIX WorkSpace system tree. You must be logged in to the Change
Management Server for the Manage right-click menu to be available. Otherwise, the only item in the
system tree that displays the Manage menu is the node name, with the Logon option.

After you log on to the Change Management Server from iFIX, the Manage commands are available
from the right-click menu on files and folders that store custom information about your projects and
work environment.

For instance, the Picture folder and individual pictures within that folder all display the Manage right-
click menu option when selected. Applications such as the Cross Reference Tool do not. However,
with the integrated Change Management functionality, you can double-click on an application in the
system tree, such as the Cross Reference Tool, to start it.

The following table describes the items in the WorkSpace's system tree from which the Manage right-
click menu is available.

12
Change Management and iFIX

System Tree Item Available Not


Available

Node Name (CMProject) – the top level folder X

Alarm History application X

Application Support files folder X

Application Support files\User Add-on Files X

Application Validator X

Cross Reference Tool X

Database folder X

Database\Database Manager application X

Database\Process Database folder X

Database\Process Database\*.pdb X

Documents folder X

Documents\Microsoft Excel WorkBook folder X

Documents\Microsoft Excel WorkBook\*.xls X

Documents\Microsoft Word Document folder X

Documents\Microsoft Word Document\*.doc X

Dynamo Sets folder X

Dynamo Sets\*.fds files X

FIX Desktop folder X

FIX Desktop\Draw application X

13
Change Management and iFIX

System Tree Item Available Not


Available

FIX Desktop\FIX Desktop Files X

FIX Desktop\Historical Trend Display application X

FIX Desktop\View application X

FIX Recipes X

FIX Recipes\Control Recipes folder and files X

FIX Recipes\Master Recipes folder and files X

FIX Recipes\New Recipe (Recipe Development application) X

Globals folder X

Globals\User folder X

Globals\User\Threshold tables (such as X


ChangeManagementPerformComments,
ChangeManagementVerify, Comments PerformEsigComments,
VerifyEsigComments)

Help & Information folder and files X

Historical Configuration folder X

Historical Configuration\Chart Group Wizard Files folder X

Historical Configuration\Chart Group Wizard Files\ChartGroup X


files (*.csv)

Historical Configuration\Historical Assignment application X

Historical Configuration\Historical Assignment files X

I/O Drivers folder X

I/O Drivers\Discover & Config application X

14
Change Management and iFIX

System Tree Item Available Not


Available

I/O Drivers\I/O Driver Configuration folder and files X

Mission Control application X

Picture Support Files folder X

Picture Support Files\Color Tables folder and files X

Picture Support Files\Tag Status folder and files X

Pictures folder X

Picture\Picture files X

Project Toolbar Files folder X

Project Toolbar Files\Category folder and files X

Project Toolbar Files\Toolbars folder and files X

Report folder and files X

Schedules folder and files X

Security folder X

Security\Login application X

Security\Security Files X

Security\Setup application X

Startup Profiles folder X

Startup Profiles\Startup Profile File X

Startup Profiles\Startup Profile Manager application X

15
Change Management and iFIX

System Tree Item Available Not


Available

System Configuration folder X

System Configuration\INI Files folder X

System Configuration\SCU Files folder and files X

System Configuration\System Configuration Utility X

Tag Group folder X

Tag Group\Tag Group Editor application X

Tag Group\Tag Group Files (folder and files) X

Status Indicators in the System Tree


When using Change Management features in iFIX, the file icons in the iFIX WorkSpace's system tree
change, depending upon what their check out status is in the Change Management Server. The down
arrow, green check mark, or red box that appears in the corner of the icon indicate the status of the file.
While the file icons are different for each file type, the indicators are all the same.

For example, the following table shows the picture file icon with the different indicators you will
encounter while working with integrated Change Management features in iFIX.

Icon Status

File is not checked in to Change Management Server. It resides on the local computer, as
a writable file.

File resides on the Change Management Server, but is not checked out.

File that is checked out by the current user.

File that is checked out by another user.


You cannot check out this file while it is checked out by another user.

16
Change Management and iFIX

Summary of iFIX Project Files Managed in Change Management


When using Proficy Change Management with iFIX, you can manage the project, folders, or files that
appears in the iFIX WorkSpace system tree. The project folder is the main folder. Subfolders appear
under that main project folder, and files appear in each subfolder.

The following sections explain more on each subfolder in the system tree, and any restrictions:

• Application Support Files Folder


• Database Folder
• Documents Folder
• Dynamo Sets Folder
• FIX Desktop Folder
• FIX Recipes Folder
• Globals Folder
• Help & Information Folder
• Historical Configuration Folder
• I/O Drivers Folder
• Picture Support Files Folder
• Pictures Folder
• Project Toolbar Files Folder
• Reports Folder
• Schedules Folder
• Security Folder
• Startup Profile Folder
• System Configuration Folder
• Tag Group Folder

TIP: When a path appears in the following sections, such as the iFIX PIC folder, it refers to a folder in
the path where you installed the iFIX product. For instance, if you installed iFIX to the default
location, the iFIX PIC folder is located in the C:\Program Files\Proficy\Proficy iFIX\PIC path.

Application Support Files Folder


From the Application Support Files folder you can manage custom files (*.*) and folders within the
iFIX APP folder. For example: APP\CustomUserDir folder could be the folder name that you want to
manage.

Be aware that you can only manage application support files collectively. You cannot manage these
files individually.

17
Change Management and iFIX

Database Folder
From the Database folder you can manage the Process Database (*.PDB) files in the iFIX PDB folder.
The AlarmAreas.AAD is checked silently in with the *.PDB files.

Each .PDB file can be managed separately. If the .PDB file that you check out is different than the last
one that was loaded in the Database Manager, when you try open that .PDB file in the Database
Manager, a message box appears asking you to reload the database.

Documents Folder
From the Documents folder you can manage Microsoft Excel or Word files in the iFIX APP folder.
Each file can be managed at the individual file level.

Dynamo Sets Folder


From the Dynamo Sets folder you can manage the dynamo files (*.fds) in the PIC folder. Each
individual dynamo appears under the Dynamo Sets folder.

FIX Desktop Folder


The FIX Desktop folder only appears when you have the FIX Desktop option installed. From the FIX
Desktop folder you can manage:

• Color Palettes (*.PLT) contained in the iFIX PIC folder.


• Dynamo Sets (*.SBL) contained in the iFIX PIC folder.
• Historical Display Files (*.HGP) contained in the iFIX HTR folder.
• Key Macro Files (*.KMX) contained in the iFIX PIC folder.
• Pictures (*.ODF) contained in the iFIX PIC folder.
• Tag Group Files (*.TGE) contained in the iFIX PIC folder.
• Templates (*.ODT) contained in the iFIX PIC folder.

Be aware that you can only manage FIX Desktop files collectively. You cannot manage these files
individually. Depending on the number of FIX Desktop files you have, it may take longer to perform
Change Management functions with FIX Desktop files than with other iFIX files.

FIX Recipes Folder


From the FIX Recipes folder you can manage:

• All control recipes (*.RCC) contained in the iFIX RCC folder.


• All master recipes (*.RCM) contained in the iFIX RCM folder.

The files from the older RCP.exe application, the *.RCX and *.RCY files, cannot be managed.

18
Change Management and iFIX

Globals Folder
From the Globals folder in the WorkSpace system tree, you can manage globals in the User.fxg file.
This file is stored locally in the PIC folder, whose default path is: C:\Program Files\Proficy\Proficy
iFIX\PIC. Other *.fxg files in the PIC folder are excluded. If you choose to manage the User.fxg file,
you must close the WorkSpace and restart it in order to save User.fxg locally. The User.fxg file is not
saved until the WorkSpace restarts.

NOTE: The PlugAndSolve.fxg, factoryglobal.fxg, and expertglobal.fxg do not appear in the


WorkSpace system tree, and cannot be managed in the iFIX with Change Management environment.

Help & Information Folder


You currently cannot manage the folder or files in this category.

Historical Configuration Folder


From the Historical Configuration folder you can manage:

• Chart Group Wizard files (*.CSV) contained in the iFIX HTR folder.
• Historical Assignment files (*.CFG and *.DAT) contained in the iFIX HTR folder.

Each individual chart group or historical assignment file appears separately under the Historical
Configuration folder.

I/O Drivers Folder


From the I/O Drivers folder you can manage:

• Binary I/O Driver Configuration Files (*.yyy, where yyy is the driver acronym).
• IGS Driver files (*.OPF).

IMPORTANT:

• To manage driver configuration files, you must add the driver in the SCU's SCADA
Configuration dialog box. To add the I/O driver from the SCU, in the Configure menu, click
SCADA. In the I/O Driver Definition area, click the browse (...) button to select the I/O driver
name, and then click Add.

• Be aware that configuration files for 7.x series drivers saved outside of the iFIX database
directory cannot be managed from the integrated iFIX with Change Management
environment. If you installed iFIX to the default location, the path to the iFIX database
directory is: C:\Program Files\Proficy\Proficy iFIX\PDB.

Picture Support Files Folder


From the Picture Support folder you can manage:

• Color Tables (*.FTB) contained in the iFIX PIC folder. The Tables.lst file is checked in
silently with the *.FTB files.

19
Change Management and iFIX

• Tag Status files (*.grf) contained in the iFIX PIC\TagStatus folder.

Each individual color table and tag status file appears separately under the Picture Support folder.

IMPORTANT: Be aware that the iFIX WorkSpace saves color table files (*.FTB) on exit only. So, if
you try to get the latest version from the Change Management Server, it may appear as if the get did
not work properly. Restart the WorkSpace, and your color tables should get updated. For more
information refer to the Tips for Getting Color Table (*.FTB) files section.

Pictures Folder
From the Pictures folder you can manage:

• Pictures (*.GRF) contained in the iFIX PIC folder.


• Translated text files (*.CSV) if they exist for an associated picture in the iFIX PIC folder are
checked in silently with the *.GRF files.
• TIP: The format of the these .CSV files is: PictureName_LangLetter.csv, where PictureName
is the name of the picture whose language file you are exporting, and LangLetter is the
acronym for the language the picture is being translated into.

Each individual picture file (*.GRF) appears separately under the Picture folder.

Project Toolbar Files Folder


From the Project Toolbar folder you can manage:

• Toolbar Categories (*.TBC) contained in the iFIX LOCAL folder. Only categories created by
the logged in user are shown, along with the iFIX default .TBC files.
• Toolbars (*.TBX) contained in the iFIX LOCAL folder.

The Node_Association.dat files that are associated with the .TBC or .TBX file are silently checked in
with these files.

Each individual toolbar or toolbar category appears separately under the Project Toolbar folder.

Reports Folder
From the Reports folder you can manage Crystal Report files (*.rpt) contained in the APP folder. Each
individual report appears separately under the Reports folder.

Schedules Folder
From the Schedules folder you can manage event schedules (*.evs) in the iFIX PDB folder. Each
individual schedule appears under the Schedules folder.

Security Folder
From the Security folder you can manage the following iFIX security Files: *.UTL, *.AUT, *.DOV,
and the SANAMES.CFG files.

20
Change Management and iFIX

In order to check in and check out security files, the iFIX user must have the Security Configuration
application feature assigned to it, in addition to the Change Management feature.

TIP: For information on configuring users and application feature selection, refer to the
Understanding iFIX Security section in the Implementing Security electronic book.

While iFIX is running, you cannot get security files from the iFIX WorkSpace. The Get feature, from
both the right-click menu and from the PCM History window, is unavailable for Security Files. You
can, however, use the Get Other Project command to copy these files to another location, and then
update the SCU to run the project.

Be aware that security files that point to a remote security path or non-local iFIX path cannot be added
to the Change Management Server. Make sure that the primary and backup security path in the
Security application's Configuration dialog point to the iFIX Local folder. For instance, if you install
iFIX to the default folder, this path is: C:\Program Files\Proficy\Proficy iFIX\LOCAL.

Also, be aware that you can only manage security files collectively. You cannot manage these files
individually.

Startup Profile Folder


From the Startup Profile folder you can manage the Profiles.cfg in the iFIX product install path, if it
exists.

System Configuration Folder


From the System Configuration folder you can manage:

• Initialization files (*.INI) contained in the iFIX LOCAL folder. Be aware that you can only
manage the *.INI collectively. You cannot manage these files individually.
• SCU files (*.SCU) contained in the iFIX LOCAL folder. The *.SCU files can be managed
individually.

In order to check in and check out system configuration (*.SCU) files, the iFIX user must have the
System Configuration application feature assigned to it, in addition to the Change Management
feature.

TIP: For information on configuring users and application feature selection, refer to the
Understanding iFIX Security section in the Implementing Security electronic book.

While iFIX is running, you cannot get the current SCU. The Get feature, from both the right-click
menu and from the PCM History window, is unavailable for SCU files. You can, however, use the Get
Other Project command to copy these files to another location, and then update the SCU to run the
project. If you get an .SCU file that does not map to your current path (the paths are different), the
project will not start in iFIX. You must update the SCU file. Refer to the Get Other Project section for
more details.

Tag Group Folder


From the Tag Group folder you can manage the tag group files (*.tgd) in the iFIX PIC folder. Each
individual tag group appears under the Tag Group folder.

21
Change Management and iFIX

The .TGS files, that are created when you resolve tags in a picture, are not managed. The .TGS files
are mainly used for speeding up run mode performance.

Configuring iFIX with Change Management


To use the iFIX WorkSpace with integrated Change Management features, there are steps for both
products that you must perform. The following sections outline these steps:

• Overview of iFIX Configuration Steps


• Overview of Change Management Server Configuration Steps

For an quick overview of the entire setup process, refer to the Setting up iFIX for Use with Change
Management section.

Overview of iFIX Configuration Steps


To enable the integrated Change Management features in the iFIX product, you must perform the
following steps in iFIX:

1. Create an iFIX user with Change Management application privileges.


2. Enable iFIX security.
3. Confirm that any remote project paths appear as mapped network drives.
4. Confirm that all security paths are mapped to the iFIX Local path.
5. Enable Change Management in the iFIX User Preferences.

NOTE: Each set of steps is listed in the order that they should be performed.

To create an iFIX user with Change Management application privileges:

1. Start the Security Configuration application.


2. On the Security toolbox, click the User Account button.
3. Click Add.
4. In the Full Name field, enter a name for the new user account.
5. If using iFIX Security, enter the login name and password for the account in the Login Name
and Password fields.
TIP: In iFIX, user names and passwords are not case-sensitive. However, in Proficy Change
Management, passwords are case-sensitive. When in iFIX, it is recommended that you enter
both the user name and password all in the same case, so that it is less likely you will run into
issues later.

6. If you want to use Windows security, select the Use Windows Security check box, and, in the
Full Name and Domain fields, enter the login name and domain name of the Windows user
account you want to use.

22
Change Management and iFIX

7. If you want to limit the time the operator remains logged into iFIX, in the Login Timeout
field, enter a timeout value.
8. Under the Application security area, click Modify. The Application Feature Selection dialog
box appears.
9. In the Available list box, select Change Management, and then click Add.
NOTE: To add all the security areas to the current account, click Add All.

10. Click OK.


11. Similarly, modify group accounts and security areas, as required.
12. Click OK.
13. Repeat steps 3-12 for each user you want to add.
14. On the File menu, click Save.

To enable iFIX security:

1. Open the Security Configuration application, if it is not already open.


2. Click the Configuration button on the Security toolbox.
3. Select Enabled to enable security.
4. On the File menu, click Save.

To confirm that any remote project paths appear as mapped network drives:

1. Open the System Configuration (SCU) application, if it is not already open.


2. On the SCU's Configure menu, click Paths. The Path Configuration dialog box appears.
3. Confirm that all of the project paths point to a mapped network drive. If the paths do not point
to a mapped network drive, make adjustments so that they do.
For instance, \\MyServer\Program Files\Proficy\Proficy IFIX in the Project path field is not
supported, but a network drive mapped to D:\Program Files\Proficy\Proficy IFIX\LOCAL
folder (where D:\ is the map to \\MyServer) would work.

4. Exit the SCU.

To confirm that all security paths are mapped to the iFIX Local path:

1. Start iFIX.
2. Open the System Configuration (SCU) application.
3. On the Configure menu, click Security. The Security Configuration dialog box appears.
4. On the Edit menu, click Configuration. The Configuration dialog box appears.
5. Confirm that the Security Path and Backup Path both point to the iFIX Local path. If you
install iFIX to the default location, this path is: C:\Program Files\Proficy\Proficy
iFIX\LOCAL.
If the paths do not point to the local install path, make adjustments so that they do.

6. Save your changes and exit the Security Configuration application.

23
Change Management and iFIX

7. Exit the SCU.

To enable Change Management in the iFIX User Preferences:

1. Start iFIX, and the Proficy iFIX WorkSpace.


2. In Classic view, on the WorkSpace menu, click User Preferences.
-Or-
In Ribbon view, on the Home tab, in the Workspace group, click Settings and then click User
Preferences.
3. Click the Change Management tab.
4. Select the Enable Change Management Server Connection check box.
5. In the Change Management Server field, enter the name of the server. For instance, if your
server was named MyServer, enter MyServer in this field.
6. If you want to log on to the Change Management Server when you start the iFIX WorkSpace,
select the Logon at WorkSpace Startup.
TIP: For large projects, it is recommended that you clear this check box, since it will take
iFIX longer to start, depending on the size of the project.

7. If you always want a Logon dialog box to display when a user logs on to the Change
Management Server from the iFIX WorkSpace, select the Prompt for User Name and
Password check box.
For information on how to configure automatic login, refer to the Automatic Logon to the
Change Management Server section.

8. In the Change Management Project Name field, enter the name of your project.
If an integrated iFIX project folder is not already created on the Change Management Server,
this is name of the project folder that will be created when you log in to the Change
Management Server for the first time. It is recommended that you create your projects through
iFIX this way, rather than through the Change Management Server.

9. Optionally, if you want to require that the user enter comments when checking in or checking
out files, select the Require comments to check in and check out files check box.
10. If you want to enable iFIX electronic signatures, enter the electronic signature options. For
more information on how to do this, refer to the iFIX Electronic Signatures and Change
Management section.
11. Click OK.

Automatic Logon to the Change Management Server


When you enable Change Management from the iFIX User Preferences dialog box in the WorkSpace,
you can specify the login options, such as whether you log on when the WorkSpace starts up, and
whether a dialog box appears requesting a password.

TIP: If you have a very large iFIX project, you most likely do not want to enable the Logon at
WorkSpace Startup. If it is selected, it may take several additional seconds or minutes (depending on
the size of your project) for the WorkSpace to startup.

24
Change Management and iFIX

With automatic logon, no dialog box appears requesting your logon credentials. Instead, when you
choose to logon, either at the WorkSpace start up or from the system tree's right-click menu, the logon
occurs automatically. If the automatic logon fails due to an invalid user name or password, the Change
Management Logon dialog box does appear, however.

To enable automatic logon to the Change Management Server from iFIX, from the iFIX User
Preferences dialog box on the Change Management tab, you must clear the Prompt for User Name and
Password at Logon check box.

For automatic logon to work properly, the user you log into iFIX with must also be defined on the
Change Management Server. The user name and password defined in on both servers must be
identical.

TIP: In iFIX, user names and passwords are not case-sensitive. However, in Proficy Change
Management, passwords are case-sensitive. When in iFIX, it is recommended that you enter both the
user name and password all in the same case, so that it is less likely you will run into issues later.

Similarly, when creating your iFIX users, you should be aware of the limitations set on the Change
Management passwords. You do not want to create an iFIX user with a password that Change
Management does not support. For more information on creating passwords in Change Management,
refer to the "Working with users" topic in the Proficy Change Management help.

When the user names and passwords do not match in both applications, or the iFIX user you are logged
in as is not defined as a user on the Change Management Server (or vice versa), after an error message,
the Logon dialog box appears, even with the Prompt for User Name and Password at Logon check box
cleared.

iFIX Electronic Signatures and Change Management


When checking out and checking in files to the Change Management Server, you can require that the
user provide an electronic signature before the action occurs. With iFIX Electronic Signatures enabled,
the Electronic Signature dialog box appears, before the Change Management Check Out or Check In
dialog box appears. This is the same Electronic Signature dialog box that appears in the iFIX product,
like the ones described in the Examining the Electronic Signature Dialog Box section of the Using
Electronic Signatures electronic book.

If the user name and password entered for the electronic signature is rejected, iFIX does not perform
the check out or check in file command on the Change Management Server.

Comments can be entered into both the Electronic Signature dialog box and Check In/Out dialog box.
The comments included with the Electronic Signature dialog box are tracked with other iFIX electronic
signatures, and appear in the same audit trail.

If you want to use electronic signatures for checking in files to the Change Management Server from

25
Change Management and iFIX

the iFIX WorkSpace, open the User Preferences dialog box, click the Change Management tab, and
enter the options you want in the Electronic Signature Options area.

For more information about electronic signatures in iFIX, refer to the What are Electronic Signatures?
section in the Using Electronic Signatures electronic book.

To configure electronic signatures for Change Management actions in iFIX:

1. If the iFIX WorkSpace is open and you are logged into the Change Management Server, log
off. To do this, right-click the node name in the system tree, select Manage and then click
Logoff.
NOTE: You cannot make changes to the Change Management setting in iFIX while logged on
to the Change Management Server.

2. In Classic view, on the WorkSpace menu, click User Preferences.


-Or-
In Ribbon view, on the Home tab, in the WorkSpace group, click Settings, and then click User
Preferences.
3. Click the Change Management tab.
4. Confirm the Enable Change Management Server Connection check box is selected. If it is not,
select it. Otherwise, you cannot modify the Electronic Signature Options.
5. Optionally, if you want to require that the user enter comments when checking in or checking
out files (in the Check In and Check Out dialog boxes), select the Require comments to check
in and check out files check box.
NOTE: This option can be enabled with or without the electronic signature option.

6. In the Electronic Signature Options area, select the type of type of electronic signature you
want to enable:
• Perform Only – the operator (the "performer") that initiated the action must
electronically sign for that action.
• Perform and Verify – the operator (the "performer") that initiated the action must
electronically sign for that action and another individual (the "verifier") must
electronically sign to validate the action.
By default, the electronic signature Type is set to None.

7. If you want to allow the operator to repeatedly sign for successive actions by supplying only a
password, when electronic signatures are enabled, select the Allow Continuous Use check
box.
Continuous use applies only to the person performing an action and does not affect the person
verifying an action.

8. If you want to provide a different set of predefined comments in the drop-down list, do the
following:
• For the Perform Only comments, click Create Default Perform Comments Table
• For the Perform and Verify comments, click Create Default Perform Comments
Table
Alternatively, you can enter a name for the table in each of these fields.

26
Change Management and iFIX

9. If you created your own comment tables, configure them. Refer to the steps in the Comment
Tables, Electronic Signatures, and Change Management section for more information.
10. Click OK.
11. Restart the iFIX WorkSpace.

Comment Tables, Electronic Signatures, and Change Management


When using iFIX with Change Management and an Electronic Signature dialog box appears, if you
create your own comment tables, operators can select from a drop-down list of predefined comments.
Perform and Verify comment lists are stored in different tables. As such, you can configure different
comments to appear from the drop-down list in the Perform Comments section and in the Verify
Comments section of the Electronic Signature dialog box.

The table names you enter in the Perform Comments Table Name and Verify Comments Table Name
fields can be the same as the ones you use for your other iFIX applications, or you can configure
Change Management specific comment tables. If you click the button to create a table, Change
Management specific tables are created:

• ChangeManagementPerformComments
• ChangeManagementVerifyComments

However, you can also enter the name of the table you want to use into the edit box for the Perform
Comments Table Name and Verify Comments Table name fields from the User Preferences dialog
box's Change Management tab. You do not have to use the button to create the table, if you already
have one created. If not, you can create it by clicking the corresponding Create Default Comments
Table button.

IMPORTANT: The operator can enter text in the Comment field regardless of whether you configure
a comment table and create pre-defined comments. The custom tables are provided if you want to
customize the drop-down list that displays. Custom tables are saved as part of the User.fxg file. If you
choose to manage the User.fxg file, you must close the WorkSpace and restart it in order to save
User.fxg locally. The User.fxg file is not saved until the WorkSpace restarts.

To create a comment table:

1. In Classic view, on the WorkSpace menu, click User Preferences.


-Or-
In Ribbon view, on the Home tab, in the WorkSpace group, click Settings, and then click User
Preferences.
2. Select the Change Management tab.
3. Optionally, rename the table(s) by entering text in the Perform Comments Table Name field
and the Verify Comments Table Name fields, respectively.
4. Click the corresponding button, either the Create Default Perform Comments Table button or
the Create Default Verify Comments Table button, as appropriate.
A message box appears, confirming that the comment table was successfully created. If you
do not rename the tables in step 3, these default names are assigned to the tables:

• ChangeManagementPerformComments

27
Change Management and iFIX

• ChangeManagementVerifyComments
The comment tables you create are listed in the System Tree of the WorkSpace, in the Globals
folder, in the User category.

5. Click OK in the WorkSpace message box.


6. Once you create a comment table, you can fill it with comments you want to use in your
application.

To customize the content of a comment table:

1. From the iFIX WorkSpace, right-click the comment table, such as


ChangeManagementPerformComments in the system tree, and select Custom. The Custom
Lookup Table dialog box appears.
2. In the Value column, enter a numeric value.
This value can be up to seven digits long. Sequence the numbers in this column in relative,
ascending order. This value is used as an index for this comment and is not otherwise
associated with the comment.

3. In the String field, enter the comment.


The comment can be up to 168 characters long. Keep in mind that this comment can be
combined with a free-text comment in the Electronic Signature dialog box, so you may want
to conserve the length of this comment.

To rename a comment table to give it a more descriptive name:

1. From the iFIX WorkSpace, access the system tree.


2. Select the comment table you want to rename in the system tree.
3. Open the Properties window by right-clicking the comment table in the system tree and
selecting the Property Window... option.
4. Select the Name property, and enter the new table name.
5. Close the Property window.

To delete a comment table:

1. In the iFIX WorkSpace, access the system tree.


2. Right-click the name of the table you want to delete, and click the Delete option.

Overview of Change Management Server Configuration Steps


To allow Change Management features to be used from the iFIX WorkSpace, you must perform the
following steps on Change Management Server:

1. Add a user for iFIX projects.


2. Configure user privileges.

28
Change Management and iFIX

NOTE: Each set of steps is listed in the order that they should be performed.

To add a user for iFIX projects:

1. Start Proficy Machine Edition.


2. In the Navigator, right-click Access Control and select Check Out Access Control.
3. In the Access Control folder, right-click the User folder and select New User.
4. Enter a name and press Enter. The name that you enter in this field is one that you created for
iFIX in the Overview of iFIX Configuration Steps section.
5. Right-click the user you just created in step 4, and select Change Password. The Change
Password dialog box appears.
Be sure that the password matches the password that you entered in the iFIX Security
Configuration application. This password should be in the same case as the iFIX password.

TIP: For more information on creating passwords in Change Management, refer to the
"Working with users" topic in the Proficy Change Management help.

6. Click OK.
7. In the Navigator, right-click Access Control and select Check In Access Control.

To configure user privileges:

1. In the Navigator, right-click Access Control and select Check Out Access Control.
2. Double-click the User folder to view all users.
3. Right-click user that you just created in the previous set of steps, and select Add to Group,
and then Administrators.
IMPORTANT:
• Members of the Administrator group can perform any operation in Change
Management, the Scheduler, or projects stored in the folder. You must be an
Administrator if you want to run schedules and have full check in and check out
rights on the iFIX project files. The Administrator group has full manage rights,
including check out rights.

• If you want to give a user a subset of permissions (for example, just check in/check
out privileges), it is recommended that you create a group that only has Check
in/Check out set to TRUE, and then assign that user to the group.

• Permissions are "additive." So, if a user belongs to 3 groups and if any those three
groups a permission set to TRUE, the user gets that permission. The permissions that
the iFIX WorkSpace uses include: Check In and Out, Get, Label, Override Checkout,
Change Password, and Edit Project List.

4. In the Navigator, right-click Access Control and select Check In Access Control.

29
Change Management and iFIX

Using Change Management from the iFIX


WorkSpace
In Classic view, to access Change Management functions in the iFIX WorkSpace environment, in the
system tree, use the right-click Manage menu. In Ribbon view, you may access Change Management
features in the same way as in Classic view, or you may access project level file operations via the
ribbon on the Administration tab, in the Proficy Change Management group. The following table
provides brief descriptions of the Change Management items. Click an action for more detailed
information.

Action Quick Description

Logon Allows you to log on to the Change Management Server.


This option is only available from the node name folder (the top level folder) in the
system tree.
If configured for a dialog box, a Change Management Logon dialog box appears. If
you are configured to automatically log on, no dialog box appears.

Logoff Allows you to log off from the Change Management Server.
This option is available only from the node name folder (the top level folder) in the
system tree.

Add All Allows you to add all of your iFIX project files from the selected node to the
iFIX Files Change Management Server.
This option is available only from the node name folder (the top level folder) in the
system tree.

Add Allows you to add a file or folder to the Change Management Server.

Check Out Allows you to lock a file, folder, or project from the Change Management Server.
Another logged in user cannot modify that item or items until you check the item or
items back in.
Optionally, if the file or folder on your local computer is newer than the one in the
Change Management Server, you can leave the local copy of the file or folder and
still lock the files on the Change Management Server with the Check In – so that no
one else can edit them.
To copy files when checking out, clear the "Don't overwrite local file(s) with
managed copy" check box in the Check Out dialog.

Check In Allows you to copy your local file, folder, or project from your local SCADA to the
Change Management Server.
After you check the item or items back in, they can be edited by other users.

30
Change Management and iFIX

Action Quick Description

Check Out Allows you to view whether the file is checked out from the Change Management
Status Server, and the name of the user currently working on the file.

Undo Allows you to leave the files in the Change Management Server without copying
Check Out your changes to it.
The Undo Check Out command releases the files so that other users can work on
them.

Destroy Allows you to permanently remove a file from the Change Management Server.
You can optionally remove the file from your local drive, or delete it as well.

Get Latest Allows you to copy the latest version of the selected folder, file, or project from the
Change Management Server to your local computer. If a version already exists on
your local computer, it is overwritten.
The file or files get copied to your local computer with writable attributes. The
status file or files on the Change Management remains the same. No Check Out
occurs when you get the latest version.
If you get the entire project, be aware that you must restart iFIX so that it starts with
the SCU and security files you get, which lets you work on the project.

Get Other Allows you to copy an entire iFIX project from the Change Management Server to
Project your local computer. You cannot copy another project to your local iFIX install
path.
NOTE: If you later want to run this project in iFIX, you need to update the SCU.
Click the How Do I button in the Get Other Project section for more information.

This option is available only from the node name folder (the top level folder) in the
system tree.

Label Allows you to assign a user defined text string to a specific version of a file, folder,
or project in the Change Management Server.

History Allows you to view the revision history of a file, folder, or project.
Report

TIP: If a Change Management feature is not available for a selected item in the system tree, the right-
click menu or menu option appears disabled. For a list of items in the system tree for which the
Manage menu is available, refer to the Summary of Items Managed in the System Tree section.

31
Change Management and iFIX

Tips for Working with Multiple Users


If you plan to have multiple developers creating iFIX pictures make sure that:

• All users install iFIX to the same folder. This ensures that the SCU files start iFIX properly on
all developers' computers.
• Remote paths for shared files use mapped network drives.

Create a Project
It is recommended that you create a Change Management project for an iFIX node within the iFIX
WorkSpace. Although you can create integrated iFIX project folders within the Proficy Machine
Edition product, if the name does not exactly match the one you enter on your iFIX SCADA node,
problems can arise. For more information on how projects are defined in both projects, refer to the
Projects in Change Management vs. iFIX section.

When you configure your Change Management settings in the iFIX User Preferences dialog box, you
define a project name. As soon as you login to the Change Management Server from the iFIX
WorkSpace, that new project is created.

Typically, the Change Management project name that you enter into the iFIX User Preferences is the
same name as your iFIX node name. But, you can enter any name.

To create a project from the iFIX WorkSpace:

1. From the iFIX WorkSpace, disconnect from the Proficy Change Management Server if you
are already connected. For more information, refer to the Logging Off section.
2. In Classic view, on the WorkSpace menu, click User Preferences.
-Or-
In Ribbon view, on the Home tab, in the Workspace group, click Settings and then click User
Preferences.
3. Click the Change Management tab.
4. Select the Enable Change Management Server Connection check box, if it is not already
select.
5. In the Change Management Server field, enter the name of the server. For instance, if your
server was named MyServer, enter MyServer in this field.
6. If you want to log on to the Change Management Server when you start the iFIX WorkSpace,
select the Logon at WorkSpace Startup.
TIP: For large projects, it is recommended that you clear this check box, since it will take
iFIX longer to start, depending on the size of the project.

7. If you always want a Logon dialog box to display when a user logs on to the Change
Management Server from the iFIX WorkSpace, select the Prompt for User Name and
Password check box.
For information on how to configure automatic login, refer to the Automatic Logon to the
Change Management Server section.

32
Change Management and iFIX

8. In the Change Management Project Name field, enter the name of your project. If name
already exists, enter a new one to create a new project.
As soon as you login to the Change Management Server from the iFIX WorkSpace, that new
project is created.

9. Optionally, if you want to require the user to enter comments when checking in or checking
out files, select the Require comments to check in and check out files check box.
10. If you want to enable iFIX electronic signatures, enter the electronic signature options. For
more information on how to do this, refer to the iFIX Electronic Signatures and Change
Management section.
11. Click OK.
12. From the WorkSpace, logon to the Change Management Server to create the project on the
Change Management Server. For logon steps, refer to the Logging into the Change
Management Server from iFIX section.

Add Files
The Add and Add All Files options from the Manage menu allows you to add all of your iFIX project
files from the selected node to the Change Management Server. When you choose to add a file, folder,
or entire project, the Add Files dialog box appears, as shown in the following figure. You can enter a
comment, as well as choose whether you want to keep the local copy checked out and/or writable.

NOTE: Files from a remote location cannot be added to your Change Management project, unless you
map the drive. Additionally, security files that point to a remote security path or non-local iFIX path
cannot be added to the Change Management Server. Make sure that the primary and backup security
path in the Security application's Configuration dialog point to the iFIX Local folder. For instance, if
you install iFIX to the default folder, this path is: C:\Program Files\Proficy\Proficy iFIX\LOCAL.

33
Change Management and iFIX

To add an entire project:

1. In the iFIX WorkSpace system tree, right-click the node name, and from the Manage menu,
select Add All Files in Project. The Add File dialog box appears.
2. Optionally, in the Comment text box, enter a comment. The comment can be no longer than
255 characters. The comments you enter are recorded on the Change Management Server.
3. Optionally, select the Keep Local Copy check box if you want to keep a writable version of
the project files on your local computer. Otherwise, clear the Keep Local Copy check box to
remove the local files after you add them to the Change Management Server.
4. Optionally, select the Keep Check Out check box, if you want to add the files, and check them
out to your local computer.
5. Click OK. A status box appears on screen as the files get added.

To add a selected file or folder:

1. In the iFIX WorkSpace system tree, right-click the file or folder name, and from the Manage
menu, select Add. The Add File dialog box appears.
2. Optionally, in the Comment text box, enter a comment. The comment can be no longer than
255 characters. The comments you enter are recorded on the Change Management Server.
3. Optionally, select the Keep Local Copy check box, if you want to keep a writable version of
the project files on your local computer. Otherwise, clear the Keep Local Copy check box to
remove the local files after you add them to the Change Management Server.
4. Optionally, select the Keep Check Out check box, if you want to add the files, and check them
out to your local computer.
5. Click OK. A status box appears on screen as the files get added.

Check Out
The Check Out option from the Manage menu allows you to allows you to lock a file, folder, or project
from the Change Management Server. Another logged in user cannot modify that item or items until
you check the specified item or item back in.

Optionally, if the file or folder on your local computer is newer than the one in the Change
Management Server, you can leave the local copy of the file or folder, and still lock the files on the
Change Management Server with the Check Out option so that no one else can edit them.

To copy files from the Server to your local computer when checking out, clear the Don't overwrite
local file(s) with managed copy check box in the Check Out dialog, as shown in the following figure.
Be aware that if you are checking out pictures and there are pictures are open the WorkSpace with the
same name, you need to close them and re-open them in the WorkSpace to view the Server versions
locally.

34
Change Management and iFIX

If you try to open a read-only file on your local computer, that resides on the Change Management
Server, but is not checked out, the Change Management - Open dialog box appears, as shown in the
next figure. If you click Yes to this dialog box, the Check Out dialog box also appears.

If you try to open a file that is checked out by another user, or by you on another computer, you cannot
modify that item or items until the user checks the specified item or items back in, giving up source
control. The following message box appears.

To check out a file, folder, or project:

1. In the iFIX WorkSpace system tree, right-click the file, folder, or project that you want to
check out, and on the Manage menu, select Check Out. The Check Out dialog box appears.
2. If you want to copy the files from the Change Management Server to your local computer

35
Change Management and iFIX

when checking them out, clear the Don't overwrite local file(s) with managed copy check box.
3. Optionally, in the Comment text box, enter a comment. The comment can be no longer than
255 characters. The comments you enter are recorded on the Change Management Server.
NOTE: If comments are required, the OK button in this dialog box does not become available
until you enter a comment. Comments are required when you enable them in the iFIX User
Preferences dialog box, on the Change Management tab, by selecting the Require Comments
to Check In and Check Out Files check box.

4. Click OK. A status box appears on screen as the files check out.

Check In
The Check In option from the Manage menu allows you to copy a file, folder, or project from your
local SCADA to the Change Management Server. After you use the Check In command, you release
your control on that file, folder, or project so that another user can work on that file, folder, or project.
The following figure displays an example of the Check In dialog box.

IMPORTANT: You must perform a Check Out (copy a writable version of the file, project, or folder
from the Change Management Server to your computer), before you can perform a Check In (copy
your version of the file, project, or folder from your computer back to the Change Management
Server).

To check in a file, folder, or project:

1. In the iFIX WorkSpace system tree, right-click the file, folder, or project that you want to
copy to the Change Management Server, and on the Manage menu, and select Check In. The
Check In dialog box appears.
2. Optionally, in the Comment text box, enter a comment. The comment can be no longer than
255 characters. The comments you enter are recorded on the Change Management Server.

36
Change Management and iFIX

NOTE: If comments are required, the OK button in this dialog box does not become available
until you enter a comment. Comments are required when you enable them in the iFIX User
Preferences dialog box, on the Change Management tab, by selecting the Require Comments
to Check In and Check Out Files check box.

3. Optionally, select the Keep Local Copy check box, if you want to keep a writable version of
the project files on your local computer. Otherwise, clear the Keep Local Copy check box to
remove the local files after you add them to the Change Management Server.
4. Optionally, select the Keep Check Out check box, if you want to check in the files, and check
them out to your local computer.
5. Click OK. A status box appears on screen as the files check in.

Check Out Status


The Check Out Status option from the Manage menu allows you to view whether the file is checked
out from the Change Management Server, and the name of the user currently working on the file. You
can use the Check Out status command only on an individual file.

This feature is helpful if you want to check out a file, but another user is working on it. When you
determine the user name, you can either wait for the person to check in the file, or inform that user that
you need to make changes and that he needs to check in the file.

For example, in the following figure, a user name KATHY has the ChartGroupDemo.grf file checked
out. The Label indicates that she's working on the BETA version of the file.

37
Change Management and iFIX

To view the check out status of a file:

1. In the iFIX WorkSpace system tree, right-click the file whose status you want to view, and
from the Manage menu, select Check Out Status. The Check Out Status dialog box appears.
2. Review the Logon User field to see the user name who has the file checked out.
3. Review the other fields you are interested in, and click OK when you finish.

Undo Check Out


The Undo Check Out option from the Manage menu allows you to leave the files in the Change
Management Server without copying your changes to it. The Undo Check Out releases the files so that
other users can work on them. If you want to undo the check out on the Server without changing the
updated files on your local computer, make sure the Don't overwrite local file(s) with managed copy
check box is selected.

38
Change Management and iFIX

IMPORTANT: If you clear the Don't overwrite local file(s) with managed copy check box for a check
out, you must reload the file to view the changed file on the local computer.

To undo a check out:

1. In the iFIX WorkSpace system tree, right-click the file, folder, or project that you want to
undo changes on, and on the Manage menu, select Undo Check Out. The Undo Check Out
dialog box appears.
2. If you want to undo the check out on the Server without changing the updated files on your
local computer, make sure the Don't overwrite local file(s) with managed copy check box is
selected.
Clear this check box if you want to undo the check out on the Change Management Server,
and then replace the files on your local computer with the versions on the Change
Management Server. If you clear this check box, be aware that you must reload the file to
view the changed file on your local computer.

3. Click OK. A status box appears on screen as undo check out proceeds.

Destroy
The Destroy option from the Manage menu allows you to permanently remove a file from the Change
Management Server. You can optionally remove the file from your local drive, or delete it as well.

WARNING: After you destroy a file, there is no history of the file on the Change Management Server.
A destroyed file is permanently lost and cannot be recovered.

The following figure shows an example of the Destroy dialog box.

39
Change Management and iFIX

To destroy a file:

1. In the iFIX WorkSpace system tree, right-click the file you want to delete, and on the Manage
menu, select Destroy.
2. If you want to keep the version of the file on your local drive, select the Remove only from
Change Management server check box. Otherwise, to delete the local version of the file as
well, clear this check box.
3. Click OK. A status box appears on screen as the file is removed.

Get Latest
You can copy the latest version of a file, folder, or project from the Change Management Server to
your local computer by using the:

• Get Latest option from the Manage menu


• PCM History window

If a version already exists on your local computer, when you get the file, that version is overwritten.
The file or files get copied to your local computer with writable attributes. If you are checking out
pictures, and pictures with the same name are open in the WorkSpace, you need to close them and re-
open them to view the Server versions locally. The status file or files on the Change Management
remains the same. No Check Out occurs when you get the latest version.

If you get the entire project, be aware that you must restart iFIX so that it starts with the SCU and
security files you get, and you can work on the project.

IMPORTANT:
• If the SCU paths in the project you get from the Change Management Server are not mapped
to the path of your local iFIX install, you will not be able to start iFIX with this project.
• For example, say the SCU project path is mapped to D:\Program Files\Proficy\Proficy iFIX,
but your local iFIX install is installed to C:\Program Files\Proficy\Proficy iFIX. You must
open this SCU in the System Configuration utility to update this paths before you can run this
project locally. You should confirm the correct paths exist in the Path Configuration, Task
Configuration, Network Configuration, Local Startup Definition, and SQL Task

40
Change Management and iFIX

Configuration dialog boxes.


• If multiple developers intend to work on the same iFIX project, make sure each user installs
iFIX to the same path and drive. This ensures that paths will always load properly in iFIX
SCU files.

Tips for Getting Color Table (*.FTB) files


Color table files (*.FTB) are saved only when the iFIX WorkSpace exits. So, if you try to get the latest
version from the Change Management Server, it may appear as if the get did not work properly.
Restart the WorkSpace, and your color tables should get updated.

Steps for Getting Files


The steps that follow describe to get a file or files from the right-click menu or the PCM History
window.

To get the latest version of a file, folder, or project from the right-click menu:

1. In the iFIX WorkSpace system tree, right-click the file, folder, or project that you want to get,
and from the Manage menu, and select Get Latest.
2. If you selected a project, a message box appears indicating that iFIX must be restarted. To
continue:
• Click Yes. Another message appears to confirm the shut down. The PCM Utility
window appears, displaying the status in the background.
• Click OK. You are prompted to save any files with unsaved changes. Click Yes for
each file you want to save.
• If you suspect that the install paths do not match your local iFIX installation path,
modify the SCU file so that it contains the correct paths in the Path Configuration,
Task Configuration, Network Configuration, Local Startup Definition, and SQL
Task Configuration dialog boxes.
• Restart iFIX.
3. If you retrieved a color table file that you want to work on, restart the WorkSpace so that it
loads properly and you can view it.

To get a version of a file, folder, or project from the PCM History window:

1. In the iFIX WorkSpace system tree, right-click the file, folder, or project that you want to
obtain a version from the Change Management Server, and on the Manage menu, click
History Report. The PCM History window appears.
2. In the PCM History window, select the version of the file, folder, or project that you want to
get from the Change Management Server, and click Get.
3. Click OK to continue. A status box appears on screen as the selected file, folder, or project is
copied to your local computer.
4. If you retrieved a color table file that you want to work on, restart the WorkSpace so that it
loads properly and you can view it.
5. If you retrieved an entire project, restart iFIX.

41
Change Management and iFIX

NOTE: If you notice that your files are not updated, verify that you have enough available memory to
complete the operation. Low memory prevents the files from being copied to your local computer.

Get Other Project


The Get Other Project option from the Manage menu allows you to copy an entire iFIX project from
the Change Management Server to your local computer. You cannot copy another project to your local
iFIX install path, you must enter another path. If you later want to run this project in iFIX you need to
update the SCU.

The following figure shows an example of the Get Other Project dialog box. In this example, iFIX is
installed to the C:\Program Files\Proficy\Proficy iFIX folder, so the Project Destination was changed
to C:\ProjectB. This project will not run in iFIX until the SCU information is modified so that it runs in
the proper path.

Select the Delete all existing files under Project Destination check box if you want to delete all existing
files under the project you specify. If you select this check box, it is strongly recommended that you
also select the Initialize Project Destination with iFIX default files check box.

Selecting the Initialize Project Destination with iFIX default files check box deploys all iFIX default
system files to the project you specify. If you plan to start iFIX with this project, it is strongly
recommended that you select this check box.

42
Change Management and iFIX

Label
The Label option from the Manage menu allows you to assign a user defined text string to the latest
version of a file, folder, or project in the Change Management Server. When you assign a label at the
project or folder level, that label only applies to the select project or folder. For instance, if you apply a
label at the project level, all folders and files in that project are not individually labeled. Only the
project folder is labeled.

From the PCM History window, you can compare a labeled version of a project, file, or folder in the
Change Management Server with the version on your local computer. You can also compare two
labeled versions of the same file in the Change Management Server. The Apply Label dialog box is
illustrated in the following figure.

Be aware that if you run the Change Management Server Trim utility, labels on from iFIX projects,
folders, security files, FIX Desktop files, Historical Assignment files, and user add-on files are
removed. Labels on individual iFIX files remain, however. For more information on labels in iFIX and
Change Management, refer to the Labeling Differences section.

To assign a label to a version of a file, folder, or project in the PCM Server:

1. In the iFIX WorkSpace system tree, right-click the file, folder, or project that you want to
display a history report on, and from the Manage menu, select Label. The Apply Label dialog
box appears.
2. In the Label field, enter the text string for the label you want to use. Be aware that the label
you enter can be no longer than 31 characters.
3. Click OK.

History Report
The History Report option from the Manage menu allows you to view the revision history of a file,
folder, or project:

• If you select a folder, the history of Change Management actions in iFIX is detailed for the
individual folder, as well as all the files in that folder.

43
Change Management and iFIX

• If you select a file, only the actions for that file display.
• If you select a project, only the label changes to the project display. A change history of all
folders and files in the project does not display. You can, however, compare your local project
with a labeled version in the Change Management Server from this window.

When you select the History Report option, the PCM History window appears. You can also get files,
or versions of files from this window. For detailed information on this window, refer to the
Understanding the Proficy Change Management History Window section.

To display a history report:

1. In the iFIX WorkSpace system tree, right-click the file, folder, or project that you want to
display a history report on, and from the Manage menu, select History Report. The PCM
History window appears.
2. Scroll through the list to view the history of Change Management actions on the selected
item.
IMPORTANT: It is recommended that you check in picture files when they are not open in
the WorkSpace. Otherwise, a managed picture on the Change Management Server will show
a difference at the Binary level, between the open and closed states, even if you did not modify
anything in the picture.

Understanding the Proficy Change Management History Window


The Proficy Change Management (PCM) History window allows you to view the revision history of a
file, folder, or project. You can also compare different versions of the same file or folder in the Change
Management Server, or even compare versions on the server with the ones stored on your local
computer.

For instance, you can compare your local project to the latest version of the project in the Change
Management Server, or any labeled version. You must be logged into the Change Management Server
in order to use the History window.

Additionally, from the PCM History window, you can get a specific version of a project, file, or folder
from the Change Management Server. Getting an entire project requires that you shut down iFIX in the
process. Every node should have it's own project in the Change Management Server.

To open the PCM History window, right-click a file, folder, or project in the Proficy iFIX WorkSpace
system tree. From the Manage menu, choose History Report. The History window displays the change
history for the selected project, folder, or file in the iFIX WorkSpace system tree. The following figure
is an example of the window that appears.

44
Change Management and iFIX

PCM History Window

The change history for a selected project only includes label changes to the project. For instance, say
you label a project 3 times, and then you right-click the top level Project folder for the node, select
Manage, and choose History Report. The PCM History window appears with four rows: one for the
latest project, and one for each of the three labels you added. If you want to compare the differences
between your local project and one on the Change Management Server, click the Difference button.
The summary report lists all the files and folders for the project, and whether changes exist.

In the PCM History window, the change history for a folder includes all the files that appear in the
iFIX WorkSpace system tree under that folder, as well as the folder label changes. For example, for the
Pictures folder, the PCM History window displays the change history for every single picture and the
PIC folder.

The following sections describe the parts of the Change Management History window and the
information it contains.

Spreadsheet Columns
The spreadsheet that appears in the Change Management History window displays all versions of the
selected file or folder. The following table describes the columns in the spreadsheet.

45
Change Management and iFIX

Column Description
Name

Version The version number of the file in the Change Management Server. All files
start at version number 1, and then go on to 2, 3, 4, 5, and so on, with each
change that you check in to the Change Management Server.

Path The relative path of the iFIX folder or file name within the current Change
Management project.

User The name of the Change Management user who performed the action on the
file.

Label A user defined text string that you can assign to a specific version of a file,
folder, or project in the Change Management Server.

For example, you could label a collection of files in a folder or project with
"Beta Release" as the text string. Later, you can read down all the files
labeled "Beta Release" from the Change Management Server.

Date/Time The time that the action occurred on the Change Management Server
computer. The time appears with the local region settings defined on the
Change Management Server.

Action The type of action performed on the file or folder in the Change
Management product. For instance, these actions include: Add, Label, Get
Latest, Get, Check Out, Check In, and Undo Check Out.

Check In Comment optionally entered by the Change Management user when the
Comments check in action was performed. The maximum number of characters in this
field is 255.

You can sort files in the spreadsheet based on a column name, in ascending or descending order. To
sort in ascending order, click the column heading once. To sort in descending order, click the same
heading again.

You can move column headings to different locations by clicking and dragging the column heading to
the desired location. Two red arrows appear when you can drop the heading to the new column.

46
Change Management and iFIX

All sorting options and moved column headings are refreshed the next time you open the Change
Management History window.

Details Button

Provides details for the selected row. For instance, if the Check In Comments column appears too long
to be easily read in the spreadsheet, select the row and click the Details button to open a dialog box
that displays the Check In Comments in a larger visible area.

You can also double-click a row to display the Details dialog box. This dialog box displays comments
in a larger area and includes the label for the folder, if one exists.

Difference Button

Displays the differences between two versions of the same file or folder in a summary report:

• Select two different versions of the same file or folder in the spreadsheet, and click Difference to
report the differences between the versions.
• Select a single file or folder in the spreadsheet to compare that version from the Change
Management Server with the version saved on your local drive.

The History window displays previous versions of iFIX files if they are being stored on the Change
Management Server.

Ctrl or Shift click to select two items in the spreadsheet. You cannot select a folder and a file at the
same time in the spreadsheet. You must select two different versions of the same file or same folder, or
one version of the file or folder (to compare with the one on your local drive). If the action you want to
perform is invalid, the button is unavailable.

The summary report displays as an .html file.

IMPORTANT: When displaying the differences of FIX Desktop folder, all files except the *.hgp files
for the Historical Display are compared. When displaying differences of the Security folder, all files
except the display.dov file (if it exists) are compared.

Text Compare Check Box

This check box appears only when you select a single picture file (to compare a specific version with
the one on your local computer), or two versions of the same picture file (to compare two different
versions). This check box is not available for folders or projects, such as the entire iFIX picture folder
or project folder. By default, when this check box appears, it is cleared.

When you clear this check box and click Difference, a binary compare is performed that indicates if
any differences are found in the picture. If there is a difference found, a red row displays in the
summary report.

When you select this check box, and then click Difference, an ASCII compare is performed that lists
whether differences are found in the picture, as well as details on each change in that picture. These
details include VBA script, Dynamo, process database, and user.fxg changes. They do not include
changes to ActiveX Controls or Chart Configuration changes. The ASCII compare may take longer
than the binary (default) compare. If there are changes, details on each change appears in the summary
report that displays.

47
Change Management and iFIX

Get Button

Retrieves a copy of the selected file, folder, or project in the spreadsheet to your local iFIX folder.
Each item is copied with writable attributes. Getting an entire project requires that you shut down iFIX
in the process.

The Get button is unavailable for Security Files.

Report Button

Exports the currently displayed spreadsheet into an .html, .xml, .csv, or .txt file.

Help Button

Displays this help file.

Exit Button

Closes the Proficy Change Management (PCM) History window.

Right-click Menu Options

The Details, Difference, Get, and Report commands are also available from the right-click menu.
Select a file or folder in the spreadsheet and optionally use the right-click commands instead of the
buttons to perform the required tasks. Be aware that if an action is invalid for the selected items, the
action on the right-click menu is also unavailable.

Summary of Binary vs. ASCII Compare Functionality


Two types of compare operations can be performed from the PCM History window:

• Binary – lists only the files that are different.


• ASCII – lists whether differences are found, and the details on each change.

The ASCII compare is only available for some types of iFIX files, such as pictures and SCU files.
ASCII is the default compare type for SCU files. For pictures and the user.fxg file, ASCII is an option.
The following table lists the compare functionality available for each iFIX file type in the PCM
History window.

Be aware that VBA script, Dynamo, process database, and user.fxg changes are included in ASCII
summary reports from iFIX.

TIP: If you only want to run a binary compare on iFIX files such as SCU file, you can use the Machine
Edition Scheduler to run an iFIX Compare event. For more information, refer to the Scheduled
Backups section.

The ASCII compare is a feature in the integrated iFIX with Change Management environment; it is
currently not available in the Change Management product.

48
Change Management and iFIX

File Type File Extension iFIX Folder Compare


Functionality

Application *.* APP\CustomUserDir Binary


Support Files

Batch Execution *.WKB, *.UPC, base path Binary


files (if installed) *.UOP, *.BPC

Database files *.PDB PDB Binary by default,


ASCII by option

Documents *.DOC, *.XLS APP Binary

Dynamos *.FDS PIC Binary by default,


ASCII by option

FIX Desktop *.PLT, *.SBL, • PIC Binary


files *.HGP, *.KMX, • HTR (*.HGP only)
*.ODF, *.TGE,
*.ODT

FIX Recipes *.RCC, *.RCM • RCC Binary


• RCM

Globals User.fxg PIC Binary by default,


ASCII by option

Help & *.CHM, *.HLP ProficyDoc Not Available


Information

Chart Group *.CSV HTR ASCII


Wizard files

Historical *.CFG, *.DAT HTR Binary


Assignment files

I/O Drivers *.yyy, where yyy is PDB Binary


(Binary I/O the driver acronym,
Driver *.OPF
Configuration
Files)

49
Change Management and iFIX

File Type File Extension iFIX Folder Compare


Functionality

Picture Support *.FTB, *.GRF • PIC For *.FTB –


files • PIC\TagStatus ASCII.
(*.grf)
For *.GRF –
Binary by default,
ASCII by option.

Pictures *.GRF, *.CSV PIC Binary by default,


but can also
perform ASCII
compares

Toolbars *.TBC, *.TBX LOCAL Binary

Reports *.RPT APP Binary

Schedules *.EVS PDB Binary by default,


ASCII by option

Security files *.UTL, *.AUT, LOCAL Binary


*.DOV, and the
SANAMES.CFG
file

Startup Profiles Profiles.cfg base path Binary

System *.INI, *.SCU LOCAL ASCII


Configuration
(SCU) files

Tag Group files *.TGD PIC ASCII

50
Change Management and iFIX

Information for Proficy Machine Edition


Users
When using the Proficy Machine Edition (Client or Server) application, be aware of the following
information when working with iFIX:

• Projects in Change Management vs. iFIX


• Labeling Differences
• Scheduled Backups
• Where to Find More Information in the Machine Edition Help

Projects in Change Management vs. iFIX


A project in iFIX is not the same as project in Proficy Change Management. In Change Management,
iFIX is the actual project folder name. Within the iFIX project in Change Management are the
integrated iFIX project folders. Each integrated project folder represents a project in the iFIX product,
as illustrated in the following example.

Every SCADA iFIX node that you want to include on the Change Management Server should have it's
own integrated project folder in the Change Management Server. The Project Name that you enter in
the iFIX User Preferences's Change Management tab, should map to an integrated project folder name
on the Change Management Server. These names should always be the same.

TIP: If you create your Change Management project from the iFIX User Preferences's Change
Management tab, you ensure that these project names are always same. It is recommended that you
create your project from iFIX, rather than from the Machine Edition application. For more
information, refer to the Add Files section.

Typically, each integrated iFIX project folder in Change Management name represents an iFIX node
name. But, the node name does not always have to be used. For instance, if you use the default node

51
Change Management and iFIX

name of FIX when you create your iFIX node, you will not be able to use that name for your project in
Change Management. "FIX" is a reserved name in Change Management. In this case, if you try to
enter FIX in the iFIX User Preferences's Change Management tab, an error message appears and you
would have to enter another name.

Do not try to check in multiple iFIX projects into the same integrated iFIX project folder on the
Change Management Server.

IMPORTANT: Be aware when working in Machine Edition, that you should not delete iFIX projects
or files from the hard drive of the Microsoft Visual Sourcesafe server computer without using the
Visual SourceSafe client.

For more information on configuring the Change Management project name in iFIX, refer to the
Overview of iFIX Configuration Steps section on this help file. For more information on projects in
Change Management, refer to the "Integrated iFIX Projects folder" topic in the Machine Edition online
help.

Labeling Differences
In Proficy Change Management, you currently can only create labels at the file level. However, if you
are using the iFIX WorkSpace with the integrated Change Management features, you can label files at
the project and folder level.

Labeling files, folders, and projects helps you identify a version of a file or files with a specific string.
For example, in the iFIX WorkSpace, you could label a collection of files in a folder or project with
"Beta Release" as the text string. Later, you can read down all the files with the version labeled "Beta
Release" from the Change Management Server in the PCM History window.

Be aware that once you run the Change Management Server Trim utility, labels on from iFIX projects,
folders, security files, FIX Desktop files, Historical Assignment files, and user add-on files are
removed. Labels on individual iFIX files remain, however.

For more information on labeling and Change Management, refer to the "Using Version Labels" topic
in the Proficy Machine Edition online help.

Scheduled Backups
In Proficy Machine Edition, you run two types of iFIX scheduled events:

• iFIX Compare – Checks if your local iFIX project files are different from the ones on the
Change Management Server. This option was available for 3.5 projects, although with iFIX
3.5 this event only compared the iFIX backup (.fbk) file. With iFIX 4.0, this event compares
the entire iFIX project, file by file, for differences.
• iFIX Compare and Backup – Checks if your local iFIX project files are different from the
ones on the Change Management Server. If the ones on your local drive are newer, or do not
exist yet on the Change Management Server, these files are checked in. This option is
available only for iFIX 4.0.

52
Change Management and iFIX

Both of these events use binary compares, which means that the log file only lists the files that
changed. Details on what changes occur in the files are not reported.

TIP:

• After the "iFIX Compare" or "iFIX Compare and Backup" event runs the binary compare, if
you want more information about the specific changes in each file, you can run an ASCII
compare for some file types in iFIX.

• For example, if you want details of the changes in your picture files, not including VBA script
changes, you can use the PCM History window and select the Text Compare check box
(which runs an ASCII compare) to generate a summary report with changes. For more
information on this option, refer to the Understanding the Proficy Change Management
History Window section.

• Additionally, some file compares that you run in iFIX are ASCII compares, which provide
more information, by default. Refer to the Summary of Binary vs. ASCII Compare
Functionality section for a list the compare formats available for each file type in the PCM
History window.

If you want to run the "iFIX Compare" and "iFIX Compare and Backup" events, you must have the
Proficy Machine Edition Client and Scheduler Components installed on your SCADA Server (at a
minimum). These install programs are not found on the iFIX product CD. You need to install them
from the Proficy Machine Edition CD.

After the scheduled event runs for "iFIX Compare" and "iFIX Compare and Backup" events, a log file
is written to the following folder:

c:\fxData\API\<machine name>\<logged in user>\iFIX\logs\<project


name>\default.htm

The steps that follow describe how to add an "iFIX Compare" or "iFIX Compare and Backup" event in
Proficy Machine Edition. For more detailed information, refer to the "Scheduler Event Properties"
topic in the Proficy Machine Edition online help.

To add an iFIX Compare Event:

1. Start Proficy Machine Edition.


2. In the Navigator, right-click Scheduler Event List and select Check Out Access Control.
3. Right-click Scheduler Event List, and click Add.
4. Enter a name, and press Enter.
NOTE: Names can include numbers (0-9), lowercase letters (a-z), uppercase letters (A-Z), or
the dash (-) symbol, and can be up to 31 characters long. The first character must be a letter.
Spaces are not allowed.

5. Double-click the event you added in step 4 to open the Event Properties dialog box.
6. In the Event Type field, select iFIX Compare.
7. In the Computer Name field, enter the name of the iFIX SCADA computer.
NOTE: Machine Edition supports computer names that include numbers (0-9), lowercase
letters (a-z), uppercase letters (A-Z), or the dash (-) symbol. If you leave this field blank or

53
Change Management and iFIX

enter a period "." in this field, the event executes on all computers the schedule is run on.

8. In the Project Type field, enter a description.


9. In the Event Trigger field, select Once, Hourly, Daily, Weekly, Monthly, or Manually.
TIP: Try not start an event exactly on the hour. This is because the Scheduler's AutoRefresh
setting overrides any events that take place at the same time. Event execution is suspended
while the refresh process takes place. For example, if an event is set to be triggered at 7 a.m.
and AutoRefresh is set to 7, the event will not occur. The event is also ignored if the refresh
process takes one-and-a-half minutes and the event is set to be triggered at 7:01.

10. If Manually is not selected, enter a day and time to start the event.
11. Click OK.
12. In the Navigator, right-click Scheduler Event List and select Check In Access Control.

To add an iFIX Compare and Backup Event:

1. Start Proficy Machine Edition.


2. In the Navigator, right-click Scheduler Event List and select Check Out Access Control.
3. Right-click Scheduler Event List, and click Add.
4. Enter a name, and press Enter.
NOTE: Names can include numbers (0-9), lowercase letters (a-z), uppercase letters (A-Z), or
the dash (-) symbol, and can be up to 31 characters long. The first character must be a letter.
Spaces are not allowed.

5. Double-click the event you added in step 4 to open the Event Properties dialog box.
6. In the Event Type field, select iFIX Compare and Backup.
7. In the Computer Name field, enter the name of the iFIX SCADA computer.
NOTE: Machine Edition supports computer names that include numbers (0-9), lowercase
letters (a-z), uppercase letters (A-Z), or the dash (-) symbol. If you leave this field blank or
enter a period "." in this field, the event executes on all computers the schedule is run on.

8. In the Project Type field, enter a description.


9. In the Event Trigger field, select Once, Hourly, Daily, Weekly, Monthly, or Manually.
TIP: Try not start an event exactly on the hour. This is because the Scheduler's AutoRefresh
setting overrides any events that take place at the same time. Event execution is suspended
while the refresh process takes place. For example, if an event is set to be triggered at 7 a.m.
and AutoRefresh is set to 7, the event will not occur. The event is also ignored if the refresh
process takes one-and-a-half minutes and the event is set to be triggered at 7:01.

10. If Manually is not selected, enter a day and time to start the event.
11. Click OK.
12. In the Navigator, right-click Scheduler Event List and select Check In Access Control.

54
Change Management and iFIX

Where to Find More Information in the Machine Edition Help


If you want more information on how to work with iFIX in Change Management, refer the following
table. This table lists the topics in the Proficy Machine Edition help that you may find helpful when
configuring iFIX with the integrated Change Management option.

Task or Topic Read this Topic... Search the Online Index


for...

Creating Users "User Properties" user


"Working with Users"

Configuring User "Working with Permissions" permissions


Privileges

Integrated iFIX Projects "Working with Integrated iFIX iFIX


Projects"

Understanding Groups "Groups: An Overview" groups

Configuring Scheduler "Scheduler Event Properties" event properties


Events
"Scheduler Events" Scheduler
"Working with the Event List"

Running the Scheduler "Running the Scheduler" Scheduler

Troubleshooting user "Groups, Users, and Groups, Users, and


creation Permissions: FAQ" Permissions: FAQ

Using Labels "Using Version Labels" labeling

Quick Start: Configuring iFIX with


Integrated Change Management Support
The following steps provide a quick example of how to get set up iFIX so that you can use it with the
integrated Change Management features. There are also steps on the Change Management Server that
you need to perform. The configuration steps for iFIX and Change Management include:

• Step 1: Adding a User in iFIX


• Step 2: Enable Security in iFIX

55
Change Management and iFIX

• Step 3: Set iFIX User Preferences


• Step 4: Add a User and Configure Privileges in Machine Edition
• Step 5: Configure User Privileges in Machine Edition
• Step 6: Add a Schedule in Machine Edition
• Step 7: Restart the iFIX WorkSpace

In these steps, we add a user named PAUL. His password is ge, in all lowercase letters. The user exists
on both the iFIX SCADA and on the Change Management Server. iFIX Security is enabled on the
SCADA node, and PAUL has access to all iFIX features, including the Change Management feature.

Additionally, PAUL is also an administrator on the Change Management Server. The Administrator
group includes privileges for all of the following features used in iFIX: Check In, Check Out, Get,
Label, Override Checkout, Change Password, and Edit Project List.

As an Administrator, PAUL can also run schedules. We will schedule an iFIX Backup and Restore
event to occur daily, at 11:30 pm, starting next Monday.

When Paul logs in to the Change Management Server when he starts iFIX. No Logon dialog box
displays. No iFIX electronic signatures are required to check in files.

These steps assume that you already installed Proficy iFIX, Machine Edition, Change Management,
and the Scheduler. You must know the name of your Change Management Server and the name of
your iFIX SCADA node to proceed.

Step 1: Adding a User in iFIX


In the following steps, we add an iFIX SCADA user named PAUL with privileges to all iFIX features,
including the Change Management feature, as illustrated in the following figure.

56
Change Management and iFIX

Security Configuration: Application Features for User

To add a user in iFIX with Change Management capability:

1. Start the Security Configuration application.


2. On the Security toolbox, click the User Account button. The User Accounts dialog box
appears.
3. Click Add. The User Profile dialog box appears.
4. Leave the Use the Windows Security check box cleared.
5. In the Full Name field, enter PAUL for the new user account.
6. In the Login name field, enter PAUL.
7. In the Password field, enter ge.
8. Under Application Features, click Modify. The Application Feature Selection dialog box
appears.
9. Click the Add All button. All Application Features listed in the Available list box are added to
the Authorized list box. This step ensures that the user is an administrator on the SCADA
node and has privileges for the Change Management feature.
10. Click OK to save your changes.
11. Click OK.
12. On the File menu, click Save.

57
Change Management and iFIX

Step 2: Enable Security in iFIX


In order to configure User Preferences in the iFIX WorkSpace, you must enable security, as illustrated
in the following figure. Without security enabled, you cannot edit the Change Management tab on the
User Preferences.

Security Configuration: User Based Security Enabled

To enable iFIX security:

1. Open the Security Configuration application, if it is not already open. iFIX must be running.
2. Click the Configuration button on the Security toolbox. The Configuration dialog box
appears.
3. Select Enabled to enable security.
4. On the File menu, click Save.

Step 3: Set iFIX User Preferences


In the following steps, in the iFIX User Preferences dialog box on the Change Management Server tab,
we select the Enable Change Management Server Connection check box to enable the feature. We also
specify the Change Management Server name, configure automatic logon when the WorkSpace starts
up, and create a project named after the iFIX node name.

58
Change Management and iFIX

iFIX User Preferences

To enable Change Management User Preferences:

1. Shut down iFIX if it is running.


2. Start iFIX, and the Proficy iFIX WorkSpace.
3. In Classic view, on the WorkSpace menu, click User Preferences.
-Or-
In Ribbon view, on the Home tab, in the Workspace group, click Settings and then click User
Preferences.
3. Click the Change Management tab.
4. Select the Enable Change Management Server Connection check box.
5. In the Change Management Server field, enter the name of your server. For instance, if your
server was named MyServer, enter MyServer in this field.

59
Change Management and iFIX

6. Select the Logon at WorkSpace Startup check box.


7. Clear the Prompt for User Name and Password check box, so that you can automatically
logon to the Change Management Server when you start the WorkSpace.
8. In the Change Management Project Name field, enter the name of your iFIX project. This can
be any name, but typically you want to use the name of your iFIX node.
9. Optionally, if you want to require that the user enter comments when checking in or checking
out files, select the Require comments to check in and check out files check box.
10. In the Electronic Signature Options area, select None for the Type.
11. Click OK.
12. Do not restart iFIX yet. Wait until you configure your users in Machine Edition.

Step 4: Add a User and Configure Privileges in Machine Edition


In the following steps, we add a user for Change Management Server, as illustrated in the following
figure. The user name is PAUL and the password is ge, which is the identical to the iFIX SCADA user
name and password created in the previous set of steps.

To add a user for iFIX projects:

1. Start Proficy Machine Edition.


2. In the Navigator, right-click Access Control and select Check Out Access Control.
3. In the Access Control folder, right-click the User folder and select New User.
4. Enter PAUL and press Enter.
5. Right-click the user you just created in step 4, and select Change Password. The Change
Password dialog box appears.
6. For the password, enter ge. This password should be in the same case as the iFIX password.
7. Click OK.
8. In the Navigator, right-click Access Control and select Check In Access Control.

Step 5: Configure User Privileges in Machine Edition


In the following steps, we add privileges from the Administrator group to the user that we created, as
shown in the following figure. As an Administrator, PAUL will have access to perform the following
functions in iFIX: Check In, Check Out, Get, Label, Override Checkout, Change Password, and Edit
Project List. This is because the Administrator group includes all of these privileges.

60
Change Management and iFIX

To configure user privileges:

1. In the Navigator, right-click Access Control and select Check Out Access Control.
2. Double-click the User folder to view all users.
3. Right-click the user named PAUL, and select Add to Group, and then Administrators.
4. In the Navigator, right-click Access Control and select Check In Access Control.

Step 6: Add a Schedule in Machine Edition


In these steps, we lead you through the process of scheduling an iFIX Compare and Backup event, as
shown in the following figure. The event will run daily at 11:30 pm, and will start running this
Monday.

When an FIX Compare and Backup event runs, Machine Edition checks if your local iFIX project files
are different from the ones on the Change Management Server. If the ones on your local drive are
newer, these files are checked in. This option is available only for iFIX 4.0.

If you want to run either of the "iFIX Compare" or the "iFIX Compare and Backup" event, you must
have the Proficy Machine Edition Client and Scheduler Components installed on your SCADA Server.
These install programs are not found on the iFIX product DVD. You need to install them from the
Proficy Machine Edition CD.

61
Change Management and iFIX

To add an iFIX Compare and Backup Event:

1. Start Proficy Machine Edition.


2. In the Navigator, right-click Scheduler Event List and select Check Out Access Control.
3. Right-click Scheduler Event List, and click Add.
4. Enter a name, and press Enter.
NOTE: Names can include numbers (0-9), lowercase letters (a-z), uppercase letters (A-Z), or
the dash (-) symbol, and can be up to 31 characters long. The first character must be a letter.
Spaces are not allowed.

5. Double-click the event you added in step 4 to open the Event Properties dialog box.
6. In the Event Type field, select iFIX Compare and Backup.
7. In the Computer Name field, enter the name of the iFIX SCADA computer.
NOTE: Machine Edition supports computer names that include numbers (0-9), lowercase
letters (a-z), uppercase letters (A-Z), or the dash (-) symbol. If you leave this field blank or
enter a period "." in this field, the event executes on all computers the schedule is run on.

8. In the Project Type field, enter a description.


9. In the Event Trigger field, select Daily.
10. Configure the event to run daily at 11:30 pm, starting this Monday.
11. Click OK.
12. In the Navigator, right-click Scheduler Event List and select Check In Access Control.

Step 7: Restart the iFIX WorkSpace


After you finish configuring iFIX and Change Management, you can test your configuration. To do
this, restart the iFIX. When iFIX starts, logon the user named PAUL. Start the iFIX WorkSpace. The
Change Management Server should automatically log you in.

You are now ready to use Change Management features from within the iFIX WorkSpace. For tips on
how to get started, refer to the Quick Tour: Using Proficy Change Management Features in iFIX
section.

62
Change Management and iFIX

Quick Tour: Using Proficy Change


Management Features in iFIX
The following sections describe how to get started with Change Management features in iFIX, after
you configure the iFIX WorkSpace and Proficy Change Management Server. It provides information
on the following functions:

• Logging In
• Viewing the Connection to the Change Management Server
• Using Change Management Features in iFIX
• Adding Files
• Checking Out Files
• Checking In Files
• Understanding Electronic Signatures
• Using the Change Management History Window

Logging In
To log in to the Change Management Server from iFIX, you do so at startup, or by simply right-
clicking the node name, pointing to Manage, and selecting Logon. If the Logon dialog is configured to
display, it appears as shown in the following figure.

Change Management Logon Dialog Box from the iFIX WorkSpace

For more information on how to configure logon options, refer to the Overview of iFIX Configuration
Steps and Automatic Logon to the Change Management Server sections.

63
Change Management and iFIX

Viewing the Connection to the Change Management Server


If you are not logged into the Change Management Server, the iFIX WorkSpace displays: PCM Not
Connected. The status area displays in red, as shown in the following figure.

Change Management Server Not Connected

After you successfully log into the Change Management Server, the iFIX WorkSpace displays:
Connected PCM Server ServerName. ServerName is the actual Proficy Change Management Server's
name. The status area changes to green, as shown in the following figure.

Change Management Server Connected

Once the status area changes to green, you can begin using Change Management features in the iFIX
WorkSpace.

64
Change Management and iFIX

Using Change Management Features in iFIX


In Classic view, to access Change Management features in the iFIX WorkSpace environment, you use
the right-click menu on the WorkSpace system tree, as illustrated in the following figure.

Using Change Management Functions in the iFIX WorkSpace

In Ribbon view, you may access Change Management features in the same way as in Classic view or
you may access project level file operations via the ribbon on the Administration tab, in the Proficy
Change Management group.

In both Classic and Ribbon views, you must be logged into the Proficy Change Management Server in
order to view the Change Management commands.

For more information on how to use the Change Management right-click menu command in the iFIX
WorkSpace, refer to the Using Change Management from the iFIX WorkSpace section.

Adding Files
To add a file or files to the Change Management Server, in the iFIX WorkSpace tree right-click the
file, folder, or project you want to add, then select Manage and then Add (or "Add All Files in Project"
for a project). The Add Files dialog box appears, as shown in the following figure. Click OK to add
your file or files.

65
Change Management and iFIX

You can enter a comment, as well as choose whether you want to keep the local copy checked out
and/or writable. The Keep Local Copy check box is unavailable for projects; by default, this check box
is selected for projects.

NOTE: Files from a remote location cannot be added to your Change Management project, unless you
map a drive to that location. Additionally, security files that point to a remote security path or non-
local iFIX path cannot be added to the Change Management Server. Make sure that the primary and
backup security paths in the Security application's Configuration dialog point to the iFIX Local folder.
For instance, if you install iFIX to the default folder, the paths should both be: C:\Program
Files\Proficy\Proficy iFIX\LOCAL.

Checking Out Files


The Check Out option from the Manage menu allows you to lock a file, folder, or project from the
Change Management Server. Another logged in user cannot modify that item or items until you check
the specified item or item back in.

Optionally, if the file or folder on your local computer is newer than the one in the Change
Management Server, you can leave the local copy of the file or folder and still lock the files on the
Change Management Server with the Check In – so that no one else can edit them.

To check out a file or folder from the Change Management Server, in the iFIX WorkSpace system tree,
right-click the file, folder, or project that you want to check out, and on the Manage menu, select
Check Out. The following figure displays an example of the Check Out dialog box.

66
Change Management and iFIX

To copy files when checking out, clear the Don't overwrite local file(s) with managed copy check box
in the Check Out dialog.

Optionally, in the Comment text box, enter a comment. The comment can be no longer than 255
characters. The comments you enter are recorded on the Change Management Server. If comments are
required, the OK button in this dialog box does not become available until you enter a comment.
Comments are required when you enable it in the iFIX User Preferences dialog box, on the Change
Management tab, by selecting the Require Comments to Check In and Check Out Files check box.

Checking In Files
The Check In option from the Manage menu allows you to copy a file, folder, or project from your
local SCADA to the Change Management Server. After you perform Check In command, that file,
folder, or project is available so that another user can work on that file, folder, or project.

To check in a file or folder to the Change Management Server, in the iFIX WorkSpace system tree,
right-click the file, folder, or project that you want to copy to the Change Management Server, and on
the Manage menu, and select Check In. The following figure displays an example of the Check In
dialog box.

67
Change Management and iFIX

IMPORTANT: You must perform a Check Out (copy a writable version of the file, project, or folder
from the Change Management Server to your computer), before you can perform a Check In (copy
your version of the file, project, or folder from your computer back to the Change Management
Server).

Optionally, in the Comment text box, enter a comment. The comment can be no longer than 255
characters. The comments you enter are recorded on the Change Management Server. If comments are
required, the OK button in this dialog box does not become available until you enter a comment.
Comments are required when you enable it in the iFIX User Preferences dialog box, on the Change
Management tab, by selecting the Require Comments to Check In and Check Out Files check box.

Optionally, you can also select the Keep Local Copy check box, if you want to keep a writable version
of the project files on your local computer (by default, this check box is selected). Otherwise, clear the
Keep Local Copy check box to remove the local files after you add them to the Change Management
Server.

Understanding Electronic Signatures


When checking out and checking in files to the Change Management Server, you can optionally
specify that the user provide one or more iFIX electronic signatures before a file is overwritten on the
Change Management Server.

When you check out or check in a file, the Electronic Signature dialog box appears first. If only a
Perform signature is required, the following Electronic Signature dialog box appears:

68
Change Management and iFIX

Electronic Signature Dialog Box – Perform

If Perform and Verify signatures are required, the following Electronic Signature dialog box appears
instead:

69
Change Management and iFIX

Electronic Signature Dialog Box – Perform and Verify

These Electronic Signature dialog boxes are the same ones used by the iFIX product in other areas, and
work the same way.

After the Electronic Signature dialog box appears, and the signatures have been accepted, the Check
In/Out dialog box appears.

For more information on using iFIX electronic signatures and Change Management, refer to the iFIX
Electronic Signatures and Change Management and Comment Tables, Electronic Signatures, and
Change Management sections.

70
Change Management and iFIX

Using the Change Management History Window


The Proficy Change Management (PCM) History window allows you to view the revision history of a
file, folder, or project. You can also compare different versions of the same file or folder in the Change
Management Server, or even compare versions on the Server with the ones stored on your local
computer.

You open the PCM History window by right-clicking a file, folder or project in the iFIX WorkSpace
system tree, pointing to Manage, and then clicking History Report. The following figure is an example
of the window that appears.

PCM History Window

For more information on using the PCM History window, refer to the History Report and
Understanding the Proficy Change Management History Window sections.

71
Index
A check out, undo ........................................................ 38

add files to the Change Management Server ........... 33 comment tables, Change Management .................... 27

adding ...................................................................... 60 configuration steps ................................................... 22

user in iFIX .......................................................... 56 Change Management Server ................................ 28

user in ME ........................................................... 60 iFIX...................................................................... 22

adding a schedule..................................................... 61 configuring .............................................................. 60

ME ....................................................................... 61 privileges in ME .................................................. 60

Application Support Files folder ............................. 17 connection, Change Management Server ................ 64

automatic logon to the Change Management create ....................................................................... 32


Server ................................................................... 24
project .................................................................. 32
B
D
backups, scheduled .................................................. 52
Database folder ........................................................ 18
C
destroy ..................................................................... 39
Change Management .................................................7
differences, labeling................................................. 52
configuration overview ........................................ 28
Documents folder .................................................... 18
introduction ............................................................7
Dynamo Sets folder ................................................. 18
limitations in iFIX .................................................9
E
logging in ............................................................. 11
electronic signatures ................................................ 25
projects ................................................................ 51
Change Management use ..................................... 25
right-click menu ................................................... 30
enabling security ...................................................... 58
using in iFIX ........................................................ 65
F
viewing the connection ........................................ 64
features ......................................................................8
check in.................................................................... 36
iFIX with Change Management .............................8
check out .................................................................. 34
files .......................................................................... 17
check out status ........................................................ 37
managed in Change Management ........................ 17

73
Change Management and iFIX

FIX Desktop folder .................................................. 18 O

FIX Recipes folder................................................... 18 overview .................................................................. 22

G Change Management Server configuration ......... 28

get latest ................................................................... 40 iFIX configuration ............................................... 22

get other project ....................................................... 42 P

Globals folder .......................................................... 19 PCM History window .............................................. 44

H Picture Support Files folder ..................................... 19

Help & Information folder ....................................... 19 Pictures folder .......................................................... 20

Historical Configuration folder................................ 19 privileges, ME ......................................................... 60

history report ........................................................... 43 Proficy Change Management (PCM) History


window ................................................................ 44
I
Project Toolbar Files folder ..................................... 20
I/O Drivers folder .................................................... 19
projects .................................................................... 51
iFIX User Preferences ............................................. 58
Change Management vs. iFIX ............................. 51
introduction................................................................7
Q
iFIX with Change Management .............................7
quick start ................................................................ 55
L
iFIX with Change Management ........................... 55
label ......................................................................... 43
quick tour ................................................................. 63
labeling differences.................................................. 52
iFIX with Change Management ........................... 63
limitations ..................................................................9
R
iFIX with Change Management .............................9
Reports folder .......................................................... 20
logging in ................................................................. 63
restarting iFIX ......................................................... 62
Change Management Server ................................ 63
S
logging off ............................................................... 12
scheduled backups, Proficy Machine Edition .......... 52
Change Management Server ................................ 12
schedules.................................................................. 61
M
ME ....................................................................... 61
Machine Edition help............................................... 55
Schedules folder ...................................................... 20
multiple users, tips for working with ....................... 32
security .................................................................... 58

74
Index

Security folder ......................................................... 20 working with multiple users ................................ 32

setting up ................................................................. 10 U

iFIX and Change Management Server................. 10 understanding .......................................................... 68

Startup Profile folder ............................................... 21 undo check out ......................................................... 38

status indicators in the system tree .......................... 16 user .......................................................................... 60

summary .................................................................. 12 iFIX...................................................................... 56

iFIX files managed in Change Management ....... 17 ME ....................................................................... 60

items managed in the system tree ........................ 12 User Preferences, Change Management .................. 58

System Configuration folder.................................... 21 users ......................................................................... 51

system tree ............................................................... 16 multiple developers.............................................. 32

items managed ..................................................... 12 Proficy Machine Edition ...................................... 51

status indicators ................................................... 16 using ..........................................................................7

system tree icons ...................................................... 16 iFIX with Change Management .............................7

T V

Tag Group folder ..................................................... 21 viewing .................................................................... 64

tips ........................................................................... 32 Change Management Server connection ............. 64

75
Proficy* HMI/SCADA - iFIX
CREATING PICTURES

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

Disclaimer of Warranties and Liability

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

Notice

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

Reference Documents ..................................................................................................................1 

Introduction .......................................................................................................................................1 

Creating Pictures with Purpose ....................................................................................................1 

Getting Started..................................................................................................................................2 

Before You Begin......................................................................................................................3 

Creating and Opening Pictures ....................................................................................................3 

Opening Existing Pictures ........................................................................................................3 

Saving Pictures .........................................................................................................................4 

The Object-oriented Nature of Pictures ........................................................................................4 

How Objects Behave in Pictures ..............................................................................................6 

Using Basic Drawing Tools ...........................................................................................................8 

Using Drawing Cursors .............................................................................................................8 

Using Toolbars........................................................................................................................11 

Using the Toolbox ...................................................................................................................12 

Using the Object Pop-up Menu ..............................................................................................13 

Using the Properties Window .................................................................................................18 

Using the Color Box ................................................................................................................19 

Using the Find Mouse Coordinates Tool ................................................................................21 

Using the Animations Dialog Box ...........................................................................................22 

Using Screen Regions ............................................................................................................23 

Using Basic Functions in Pictures ..............................................................................................24 

Showing a Picture ...................................................................................................................24 

Refreshing a Picture ...............................................................................................................24 

Refreshing a Thumbnail .........................................................................................................24 

iii
Creating Pictures

Closing a Picture..................................................................................................................... 25

Using the Picture Pop-up Menu .............................................................................................. 25

Using the Picture Properties Window ..................................................................................... 26

Defining the Picture Height and Width.................................................................................... 26

Setting the Picture Background and Fade Colors .................................................................. 27

Setting Gradient Fill Properties ............................................................................................... 27

Viewing Your Picture in the Run-time Environment ............................................................... 32

Performing Advanced Functions in Pictures .............................................................................. 32

Sharing Picture Files............................................................................................................... 33

Replacing a Picture................................................................................................................. 33

Changing the Picture View ..................................................................................................... 33

Tiling and Cascading Pictures ................................................................................................ 33

Creating Pictures without Title bars ........................................................................................ 35

Overview Checklist ..................................................................................................................... 36

How Do I... .................................................................................................................................. 37

Changing Your Window Size Using Logical Units .................................................................. 37

Setting the Fade Type of a Picture ......................................................................................... 37

Setting the Gradient Angle of a Picture's Fade Type ............................................................. 38

Zooming In and Out of Pictures .............................................................................................. 38

Updating the Window Location ............................................................................................... 38

Viewing all Picture and Dynamo Set Thumbnails at Once .....................................................38

Enabling or Disabling Window Properties .............................................................................. 39

Resolving Pictures .................................................................................................................. 39

Saving Thumbnails with Previously Created Pictures or Dynamo Sets .................................39

Importing Windows Metafiles .................................................................................................. 40

Assigning Pictures to a Security Area .................................................................................... 40

Defining the Attributes of a Custom Picture ........................................................................... 41

Using Specified Dimensions ................................................................................................... 41

iv
Creating Pictures

Modifying Picture Properties ................................................................................................... 41

Using the Dimensions of an Existing Picture .......................................................................... 43

Setting the Options on the Workspace Appearance Page .....................................................43

Tracking Cursor Coordinates .................................................................................................. 44

Using the Grid ......................................................................................................................... 44

Implementing Pictures in Your Process ......................................................................................... 45

What Makes Up Your Picture ..................................................................................................... 46

The Document ........................................................................................................................ 46

The Viewport ........................................................................................................................... 47

The Window ............................................................................................................................ 49

Planning Your Pictures ............................................................................................................... 49

Determining a Window Size ................................................................................................... 50

Tips: Sizing and Locating a Picture ........................................................................................ 55

Controlling a Picture's Magnification ...................................................................................... 55

Selecting Window Properties .................................................................................................. 57

Selecting Additional Picture Properties .................................................................................. 59

Designing Your Pictures ............................................................................................................. 60

Design Tips ............................................................................................................................. 60

Finding and Replacing Data in Pictures ................................................................................. 61

Using Process Assistants ....................................................................................................... 61

Working with Color.................................................................................................................. 61

Securing Your Pictures ........................................................................................................... 65

Using the Create Picture Wizard ................................................................................................ 66

Accessing the Create Picture Wizard ..................................................................................... 66

Types of Pictures in the Create Picture Wizard ...................................................................... 68

Overview of the Create Picture Wizard Process .................................................................... 69

How Do I... .............................................................................................................................. 71

Working with Other Applications ................................................................................................. 76

v
Creating Pictures

Working with ActiveX Controls ............................................................................................... 76

Working with Bitmaps ............................................................................................................. 77

Working with Windows Metafiles ............................................................................................ 79

Creating Alarms Using Pictures .............................................................................................. 79

Optimizing Picture Performance ................................................................................................. 79

Resolving Pictures .................................................................................................................. 80

Blinking Alarms ....................................................................................................................... 80

Using the Picture Converter Utility.............................................................................................. 80

Running Picture Converter ..................................................................................................... 81

Updating Picture Components ................................................................................................ 81

Reusing FIX32 Command Buttons in iFIX .............................................................................. 82

Using Picture Caching ................................................................................................................ 83

System Requirements ............................................................................................................ 83

Enabling Picture Caching ....................................................................................................... 84

Preloading Pictures................................................................................................................. 85

Run-time Pictures ................................................................................................................... 86

Making Changes to Pictures at Run Time .................................................................................. 87

Disabling Picture Caching for Individual Pictures ................................................................... 88

Resizing Pictures ........................................................................................................................ 88

Maximizing the WorkSpace on Open ......................................................................................... 90

Changing Picture Settings in the FixUserPreferences.ini File ....................................................90

Changing the Nudge Settings ................................................................................................. 90

Allowing a group click event ................................................................................................... 91

Disabling the Right-Click Menu .............................................................................................. 92

Developing Objects in Pictures....................................................................................................... 92

Adding Objects to Pictures ......................................................................................................... 92

Drawing Shapes ..................................................................................................................... 95

Adding a Chart ........................................................................................................................ 97

vi
Creating Pictures

Adding Text............................................................................................................................. 98

Adding a Bitmap Image .......................................................................................................... 99

Adding Data Links................................................................................................................... 99

Adding Historical Datalinks to Pictures ................................................................................. 102

Adding an Alarm Summary Object ....................................................................................... 104

Adding Push Buttons ............................................................................................................ 104

Adding Variable Objects ....................................................................................................... 105

Adding OLE Objects ............................................................................................................. 105

Adding a Proficy Portal Control ............................................................................................ 107

Adding a Proficy Plant Applications Dynamo ....................................................................... 108

Adding Timer Objects ........................................................................................................... 109

Adding Event Objects ........................................................................................................... 109

Performing Basic Functions with Objects ................................................................................. 109

Using Shortcut Keys ............................................................................................................. 110

Selecting Objects .................................................................................................................. 110

Moving Objects ..................................................................................................................... 111

Editing Objects ...................................................................................................................... 112

Renaming Objects ................................................................................................................ 113

Changing Object Names in Scripts ....................................................................................... 114

Performing Advanced Functions with Objects .......................................................................... 114

Manipulating Objects Using Toolbars ................................................................................... 115

Resizing Objects ................................................................................................................... 119

Rotating Objects ................................................................................................................... 119

Manipulating Objects with Points .......................................................................................... 121

Reshaping Objects ............................................................................................................... 121

Coloring and Styling Objects ................................................................................................ 123

Aligning Objects .................................................................................................................... 129

Flipping Objects .................................................................................................................... 132

vii
Creating Pictures

Splitting Polylines and Pipes ................................................................................................ 133

Extending Lines to Intersect ................................................................................................. 136

Trimming Lines at the Intersection ....................................................................................... 140

Converting Lines to Polyline ................................................................................................. 140

Making Lines Horizontal or Vertical ...................................................................................... 142

Converting Lines and Polylines to Pipe ................................................................................ 143

Modifying Pipe Characteristics ............................................................................................. 144

Adding and Deleting Connection Points ............................................................................... 146

Using the Connector Tools ................................................................................................... 149

Creating Complex Objects ........................................................................................................ 155

Stacking ................................................................................................................................ 155

Bringing to Front and Sending to Back ................................................................................. 155

Layering and Visibility ........................................................................................................... 156

Grouping and Ungrouping Objects ....................................................................................... 158

Pictures Dialog Boxes .............................................................................................................. 160

Add Ack Dialog Box .............................................................................................................. 161

Add Alarm Extension Field1 Dialog Box ............................................................................... 161

Add Alarm Extension Field2 Dialog Box ............................................................................... 162

Add Area Dialog Box ............................................................................................................ 163

Add ColorSet Dialog Box ...................................................................................................... 163

Add Date In Dialog Box ........................................................................................................ 163

Add Date Last Dialog Box .................................................................................................... 165

Add Description Dialog Box .................................................................................................. 166

Add Node Dialog Box ........................................................................................................... 166

Add Priority Dialog Box ......................................................................................................... 167

Add Tag Dialog Box .............................................................................................................. 167

Add Time In Dialog Box ........................................................................................................ 168

Add Time Last Dialog Box .................................................................................................... 169

viii
Creating Pictures

Advanced Animations Dialog Box ........................................................................................ 170

Advanced Lookup Options Dialog Box ................................................................................. 231

Alarm Summary Configuration Dialog Box ........................................................................... 232

Basic Animation Dialog Box ................................................................................................. 240

Chart Configuration Dialog Box ............................................................................................ 245

Color Selection Dialog Box ................................................................................................... 253

Create Picture Wizard Dialog Box ........................................................................................ 254

Custom Lookup Table Dialog Box ........................................................................................ 258

Datalink Dialog Box .............................................................................................................. 259

Edit Picture Dialog Box ......................................................................................................... 261

Enhanced Chart Customization Dialog Box ......................................................................... 263

Global Time Control Configuration Dialog Box ..................................................................... 291

Grid Settings Dialog Box ...................................................................................................... 293

Historical Datalink Dialog Box .............................................................................................. 294

Modify Area Dialog Box ........................................................................................................ 297

Modify Configuration Dialog Box .......................................................................................... 297

Modify Pipe Characteristics Dialog Box................................................................................ 299

New Level Dialog Box........................................................................................................... 300

Select BackgroundColor Dialog Box .................................................................................... 301

Select Color Dialog Box ........................................................................................................ 301

Select EdgeColor Dialog Box ............................................................................................... 302

Select FadeColor Dialog Box ............................................................................................... 302

Select ForegroundColor Dialog Box ..................................................................................... 303

How Do I... ................................................................................................................................ 304

Working with Objects ............................................................................................................ 305

Working with Charts.............................................................................................................. 328

Working with Enhanced Charts ............................................................................................ 330

Working with the Alarm Summary Object ............................................................................. 339

ix
Creating Pictures

Working with Groups ............................................................................................................ 349

Using Color ........................................................................................................................... 351

Using Process Assistants to Expedite Pictures ............................................................................ 357

Using Wizards and Experts ...................................................................................................... 357

Running Wizards .................................................................................................................. 357

Running Experts ................................................................................................................... 359

Multiple Command Script Wizard ......................................................................................... 366

Experts Summary ................................................................................................................. 367

Using Dynamos ........................................................................................................................ 422

Using Global Subroutines ......................................................................................................... 422

Performing Functions with Toolbars ......................................................................................... 422

Controlling Object Properties ........................................................................................................ 422

How Properties Work ................................................................................................................ 423

Defining and Modifying Properties............................................................................................ 423

Entering Property Values Manually ...................................................................................... 423

Animating Objects to Modify Properties ............................................................................... 426

Writing Scripts to Modify Properties ..................................................................................... 426

Animating Object Properties ......................................................................................................... 426

How Animations Work .............................................................................................................. 427

Understanding Data Sources ............................................................................................... 427

Accessing the Animations Dialog Box and Using Common Animations ..............................428

Understanding Animation Objects ........................................................................................ 430

Animating an Object's Properties ......................................................................................... 430

Using Experts to Animate Objects ........................................................................................ 431

Defining Data Sources .............................................................................................................. 431

Entering Data Source Syntax ............................................................................................... 432

Selecting Data Sources from a List ...................................................................................... 434

Filtering Data Sources .......................................................................................................... 434

x
Creating Pictures

Specifying Data Conversions ............................................................................................... 435

Classifying Animations Errors ............................................................................................... 437

Animating Properties Using Color ............................................................................................ 439

Color by Analog Value .......................................................................................................... 439

Color by Digital Value ........................................................................................................... 440

Color by Current Alarm ......................................................................................................... 441

Color by Latched Alarm ........................................................................................................ 441

Using Blinking Thresholds .................................................................................................... 441

Using Shared Thresholds ..................................................................................................... 442

Animating Object Properties with Visual Basic ......................................................................... 442

Animating a Grouped Object .................................................................................................... 443

Modifying Animations ............................................................................................................... 443

Deleting Animations .................................................................................................................. 444

Building Expressions ................................................................................................................ 445

Using the Expression Builder Dialog Box ............................................................................. 445

Customizing the Expression Builder ..................................................................................... 446

Specifying Tolerance, Deadband, and Refresh Rate ...........................................................447

The Importance of Syntax .................................................................................................... 448

Operators: Applying the Glue to Your Expressions .............................................................. 448

Modifying Expressions .......................................................................................................... 454

How Do I... ................................................................................................................................ 455

Accessing the Animation Dialog Boxes ................................................................................ 455

Selecting a Data Source from a List ..................................................................................... 455

Working with Basic Animations Overview ............................................................................ 456

Working with Advanced Animations Overview ..................................................................... 457

Modifying Properties ............................................................................................................. 458

Using Expressions Overview ................................................................................................ 459

Utilizing Data Conversions, Error Defaults, and Threshold Tables ......................................461

xi
Creating Pictures

Running Your Pictures .................................................................................................................. 464

Working with Objects in the Run-time Environment ................................................................. 464

Interacting with Alarm Summaries at Run Time ................................................................... 465

Interacting with Charts in Run Time ..................................................................................... 465

Locating Objects ................................................................................................................... 466

Using the Global Time Control ............................................................................................. 466

Using Experts to Expedite Pictures at Run Time ..................................................................... 469

Multiple Picture Instances and Run Mode ................................................................................ 470

Important Information About Run Mode ............................................................................... 471

Using Tag Status and Quick Trend Pictures ................................................................................ 472

Accessing Tag Status, Quick Trend, and Tag Control Panel Pictures .................................473

The Tag Status Picture ............................................................................................................. 474

Quick Trend Charts in Tag Status Pictures .......................................................................... 475

The Quick Trend Picture ........................................................................................................... 476

The Tag Control Panel Picture ................................................................................................. 477

Adding and Deleting Tags .................................................................................................... 478

Saving and Loading Tag Lists .............................................................................................. 478

Translating Picture Text ................................................................................................................ 479

Global Picture Language Settings ........................................................................................ 480

Individual Picture Language Settings ................................................................................... 481

Language File Exporter Dialog Box .......................................................................................... 481

Export location ...................................................................................................................... 482

Select Pictures ...................................................................................................................... 482

Show Tag Status Pictures Check Box .................................................................................. 482

Always overwrite existing export files Check Box ................................................................ 482

Select Language ................................................................................................................... 482

Select All ............................................................................................................................... 482

Deselect All ........................................................................................................................... 482

xii
Creating Pictures

Export ................................................................................................................................... 482

Exit ........................................................................................................................................ 482

Exporting and Importing Language Files .................................................................................. 482

Exporting a Single Language File......................................................................................... 483

Exporting Multiple Language Files ....................................................................................... 484

Importing a Language File .................................................................................................... 484

Language Letter Acronyms .................................................................................................. 485

Examples of How to Switch Between Languages .................................................................... 486

How Do I... ................................................................................................................................ 491

Configuring the Default Language Settings for All Pictures .................................................492

Configuring Language Settings for an Individual Picture .....................................................492

Exporting a Single Language File......................................................................................... 493

Exporting Multiple Language Files ....................................................................................... 494

Editing a Language File ........................................................................................................ 495

Importing a Language File in Configuration Mode ............................................................... 495

Using Tag Groups in Pictures ....................................................................................................... 496

Example: Using Tag Groups in Pictures............................................................................... 496

Using the Tag Group Editor ...................................................................................................... 496

Getting Ready to Use the Tag Group Editor ........................................................................ 497

Starting the Tag Group Editor............................................................................................... 497

The Tag Group Editor Window ............................................................................................. 497

Creating and Opening Tag Group Files................................................................................ 498

Column Definitions for the Tag Group Editor ....................................................................... 498

Using the Tag Group Editor Toolbar ..................................................................................... 499

Using the Tag Group Editor Spreadsheet ............................................................................ 500

Using Tag Group Symbols in Pictures ..................................................................................... 502

Implementing a Tag Group Strategy .................................................................................... 502

Entering a Symbol in a Picture ................................................................................................. 502

xiii
Creating Pictures

Using Partial Substitutions .................................................................................................... 503

Syntax Guidelines for Symbols in Pictures ........................................................................... 503

Using Symbols for the Current Value of a Variable Object ..................................................504

Using Symbols for Complex Expressions ............................................................................ 505

Assigning a Tag Group File to a Picture Event .................................................................... 505

Optimizing Picture Loading in the Run-time Environment ....................................................505

Enabling the Unresolved Picture Message .......................................................................... 505

Error Log Creation ................................................................................................................ 505

OPC Server Address Substitution ........................................................................................ 506

Importing and Exporting Tag Group Files ................................................................................ 506

Understanding the CSV File Format..................................................................................... 506

Exporting a Tag Group File as a CSV File ........................................................................... 507

Converting 6.x Tag Group Files ............................................................................................ 507

Tag Group Editor Dialog Boxes ................................................................................................ 507

Convert 6.x CSV Files Dialog Box ........................................................................................ 508

Data Entry Dialog Box .......................................................................................................... 508

Tag Group Editor Main Window ........................................................................................... 509

How Do I... ................................................................................................................................ 510

Performing Basic Functions .................................................................................................. 510

Entering Data into the Spreadsheet ..................................................................................... 512

Editing a Tag Group File ....................................................................................................... 514

Resolving Tags With a Picture ............................................................................................. 516

Assigning a Tag Group File to a Picture Event .................................................................... 516

Importing and Exporting Tag Group Files............................................................................. 518

Working with Dynamo Objects ..................................................................................................... 519

Master Dynamos and Dynamo Instances ................................................................................ 520

Pre-Built Dynamos and Dynamos Created Before iFIX 4.5 .....................................................520

Determining Which Dynamo Sets Contain Dynamo Objects ...................................................521

xiv
Creating Pictures

Converting Dynamos to Dynamo Objects in Pictures .............................................................. 523

The Conversion Process ...................................................................................................... 524

Limitations ............................................................................................................................. 524

Using the Dynamo Toolbar ....................................................................................................... 525

Creating Dynamo Objects ........................................................................................................ 526

Creating Dynamo Objects without Animations ..................................................................... 527

Creating Dynamos Objects with Animations ........................................................................ 527

Creating Custom Dynamo Objects with Command Scripts ..................................................551

Building Custom Dynamos with VBA.................................................................................... 552

Creating Dynamo Sets ............................................................................................................. 552

Dynamo Behavior in Pictures and in Sets ............................................................................ 554

Right-click Menu for Dynamo Set Objects ............................................................................ 554

Using a Dynamo Object in Pictures .......................................................................................... 554

Updating Dynamo Objects in Pictures ...................................................................................... 555

Limitations ............................................................................................................................. 555

Searching for Mismatched Dynamo Instances ..................................................................... 555

Updating Mismatched Dynamo Instances ............................................................................ 556

Changing the Configuration of a Dynamo ................................................................................ 556

Modifying Dynamo Object Properties ................................................................................... 556

Converting Dynamos to Objects ........................................................................................... 557

Dynamo Dialog Boxes .............................................................................................................. 557

Add Objects to Dynamo Set Dialog Box ............................................................................... 558

Build Dynamo Wizard Dialog Box ......................................................................................... 558

Build Dynamo with User Prompts Dialog Box ...................................................................... 559

Data Sources Adjustment Option Dialog Box ....................................................................... 560

Dynamo Properties Dialog Box ............................................................................................ 560

Dynamo Sets Converter Dialog Box ..................................................................................... 561

Dynamo Sets Converter (Progress) Dialog Box ................................................................... 562

xv
Creating Pictures

Dynamo Converter – Conversion Adjustment Option Dialog Box ........................................562

Dynamo Converter Wizard Dialog Box ................................................................................. 563

Dynamo Converter Dialog Box ............................................................................................. 565

Dynamo Updater Wizard ...................................................................................................... 566

Dynamo Updater Dialog Box ................................................................................................ 568

Dynamo Updater – Update Behavior Dialog Box ................................................................. 569

Overwrite Master Dynamo Dialog Box ................................................................................. 570

Quick Dynamo Updater Dialog Box ...................................................................................... 570

Quick Dynamo Converter Dialog Box ................................................................................... 571

How Do I... ................................................................................................................................ 571

Opening the Dynamo Toolbar .............................................................................................. 572

Working with Dynamo Objects ............................................................................................. 572

Working with Dynamo Properties ......................................................................................... 576

Working with Master Dynamos and Instances ..................................................................... 579

Working with Dynamo Sets .................................................................................................. 591

Using Key Macros......................................................................................................................... 592

Do You Need Key Macros? ...................................................................................................... 593

Introduction to the Key Macro Editor ........................................................................................ 594

Getting Ready to Use Key Macros ....................................................................................... 594

Starting the Key Macro Editor ............................................................................................... 595

The Key Macro Editor Window ............................................................................................. 595

Column Definitions for the Key Macro Editor ....................................................................... 595

Using the Toolbar ................................................................................................................. 596

Navigating in the Key Macro Editor ...................................................................................... 597

Defining User Preferences ................................................................................................... 598

Defining Key Macros ................................................................................................................ 598

Understanding How iFIX Checks for Key Macros ................................................................ 599

Adding Key Macros............................................................................................................... 600

xvi
Creating Pictures

Defining a Keystoke Assignment .......................................................................................... 601

Selecting an Action ............................................................................................................... 602

Writing Custom Key Macros ................................................................................................. 603

Managing Macros ..................................................................................................................... 604

Determining if an Object, Picture, or User Global Contains a Key Macro ............................604

Overriding WorkSpace Shortcuts in Run Time......................................................................... 605

Tips And Tricks ......................................................................................................................... 605

Notes for Users Familiar with the FIX Product ..................................................................... 606

Key Macro Editor Dialog Boxes ................................................................................................ 606

Key Macro Editor Main Window ........................................................................................... 606

Keyboard Dialog Box ............................................................................................................ 607

How Do I... ................................................................................................................................ 607

Managing Key Macros .......................................................................................................... 607

Copying and Pasting Macros ................................................................................................ 610

Navigating in the Key Macro Editor ...................................................................................... 611

Using Tips and Tricks ........................................................................................................... 613

Index ............................................................................................................................................ 617

xvii
About this Guide
The Creating Pictures manual is intended for process control engineers, integrators, and developers
responsible for designing and creating operator displays, and configuring the development and run-
time environments. The manual assumes familiarity with the process database and the iFIX®
WorkSpace.

Reference Documents
For related information on iFIX®, refer to the following manuals:

 Building a SCADA System


 Understanding iFIX
 Writing Scripts
 Implementing Alarms and Messages
 Trending Historical Data

Introduction
iFIX® allows developers and process engineers to create dynamic pictures with minimal effort. By
providing an open-environment, ActiveX format, iFIX lets you incorporate internet controls (OCXs),
reuse elements from other sources (such as bitmaps), or embed other OLE automation applications into
your pictures.

While creating pictures in the Proficy iFIX WorkSpace, you can utilize features that give you the
control you need to customize your drawings. You can view your pictures by merely switching to the
run-time environment with the click of a mouse.

Creating Pictures with Purpose


Whether you are a new or an expert user, iFIX gives you the power and flexibility to create pictures
that provide solutions to your process needs. Let's take two scenarios to illustrate this concept:

 Joe. Joe is a system developer for a small shop. He is slightly intimidated by Visual Basic and
would prefer not to learn scripting to create and control his pictures. However, he wants to
take advantage of VBA's capabilities by customizing a few objects in his picture.

Joe's Solution. Using iFIX Experts, Joe attaches scripts to the objects in his picture without
leaving his development screen or entering the VBA environment. Experts give him a simple
means to perform the processes he wants.
 Janet. Janet is a Process Manager for a large processing plant. She is well-versed in VBA, and

1
Creating Pictures

is more than eager to unleash the power of iFIX using her knowledge of Visual Basic.
Specifically, Janet wants the ability to override the default property settings of a series of
existing objects and create her own properties, including complex animations from several
different data sources and algorithms. She also wants to add custom controls and toolbars to
simplify the process for her developers.

Janet's Solution. iFIX provides the tools that Janet needs to fully customize her environment
and fine-tune the control she has over her application. Using the Animations dialog box, she
animates certain properties of her objects by specifying a data source and conversion method.
Then, by writing VBA scripts, she overrides existing defaults, inserts custom controls, and
creates a development toolbar that saves her developers time.

Having all the power you need doesn't mean it should be difficult to use. Developing complex pictures
using process automation software was once a tedious and intimidating venture, as it required you to
use proprietary command languages and graphics formats that, in the end, gave you limited flexibility.
iFIX offers an alternate solution – an easy-to-implement and use, object and task-oriented development
tool that lets you create pictures with purpose.

This manual details all of the concepts introduced in the above example. The following table helps you
locate specific concepts throughout the various chapters.

iFIX Picture Concepts

To learn about... Refer to the section... In the chapter...

Experts Using Wizards and Experts Using Process Assistants to


Expedite Pictures

Pictures as ActiveX What Makes up Your Picture Implementing Pictures in Your


Documents Process

The run-time Working with Objects in the Run- Running Your Pictures
environment time Environment

Using animations Connecting to a Data Source Animating Object Properties

Getting Started
This chapter shows you how to start creating and drawing pictures right away. Some of the basic
concepts of iFIX pictures are also described.

• Creating and Opening Pictures


• The Object-oriented Nature of Pictures
• Using Basic Drawing Tools
• Using Basic Functions in Pictures

2
Creating Pictures

• Performing Advanced Functions in Pictures

Before You Begin


Before you start creating pictures, make sure you have started the iFIX WorkSpace. It is also helpful to
know which data sources you want to connect to ahead of time.

create pictures with the Create Picture Wizard

Creating and Opening Pictures


When you start the Proficy iFIX WorkSpace, you are ready to develop your picture. You can start by
creating a new picture or opening an existing one. For Classic view, to create a new picture, click the
New Picture button on the Standard toolbar as shown:

For Ribbon view, click the WorkSpace button, select New, and then click Picture. Or, click Picture in
the New group, on the Home tab.

By default, the Create Picture Wizard appears and guides you through the picture creation process.

If a single untitled picture appears when you click the New Picture button, the Create Picture wizard
has been disabled. Enable it by selecting the following check box on the Picture Preferences tab of the
User Preferences dialog box: Show Picture Wizard from New Picture Menu.

For more information on the Create Picture wizard, refer to the Using the Create Picture Wizard
section in the Implementing Pictures in Your Process chapter.

Opening Existing Pictures


To open an existing picture, double-click the picture from the Pictures folder in the system tree. By
default, the system tree is docked on the left side of the screen, and the picture appears to the right of it.
To create more room for your picture, you can do any of the following:

• Dock the system tree on the other side of the screen by dragging it
• Set the system tree to float on top of your picture by dragging it away from the sides of the
screen.
• Hide the system tree completely so that the picture appears to fit the full screen.

For more information on using the system tree of the WorkSpace, refer to the Using the Proficy iFIX
WorkSpace chapter of the Understanding iFIX manual.

If the picture you opened has links to an external data source, such as a Proficy Historian server, which
is not configured in the WorkSpace, you will receive an error message indicating that the data source is
not configured in WorkSpace.

3
Creating Pictures

Saving Pictures
In Classic view, to save your drawing, click the Save button on the Standard toolbar. In Ribbon view,
to save your drawing, click the Application button, and then click Save. You can save your picture as
either a .GRF file or .SVG file. Both file types are stored, by default, in the PIC folder in the path
where iFIX is installed, but only .GRF files are displayed in the system tree. You can save .SVG files
in any location but you cannot open them in iFIX Workspace, as these files are used for exporting to
third-party applications, such as Proficy Real-Time Information Portal.

When saving picture files, as either file type, you must follow the guidelines of VBA naming
constraints. For example, do not use:

• Anything but a letter as the first character.


• Any of the following characters in a name: space, period, exclamation mark, @, &, $, #.
• A name that exceeds 31 characters.
• A name used by any object in your iFIX application. For example, you cannot have both a
picture and a rectangle named test.

Also, we recommend that you do not use any names that are common to other objects, functions,
statements, or methods in Visual Basic, as you may cancel one of the keywords in the code. For more
information on VBA Naming Conventions, refer to the VBA Naming Conventions section in the
Writing Scripts manual.

The Object-oriented Nature of Pictures


Many graphics programs work by giving you tools to manipulate pixels, a series of tiny dots that make
up your computer monitor. When you add shapes to your drawing, the program translates these shapes
into a matrix of dots, and changes the color of the screen pixels to match the dot matrixes. These dot
matrixes are called bitmaps.

Although bitmaps are a common graphic format, they are limited in that once you create the image,
there is very little you can do to change it. You can erase or partially erase a bitmap, or paint a new
bitmap on top of the old one. But changing bitmaps takes almost as much time as creating them.

iFIX pictures, on the other hand, work with objects instead of individual pixels. An object-oriented
graphic consists of an image and image attributes, such as size, color, and position, that define the
properties of the object. By providing this object-oriented foundation, iFIX precludes your having to
work with individual pixels. Rather, you interact with tools, menus, and dialog boxes to add and
change object properties, while iFIX automatically adjusts the object and its property data for you.
This gives you an enormous amount of control and flexibility when drawing and modifying your
pictures.

For example, many other graphics packages allow you to save object-oriented graphics as a Windows
Metafile. iFIX allows you to import the metafile (in .WMF format) into a picture. The advantage of
using a .WMF format is that the imported image consists of individual objects, giving you greater
control of your picture.

The following figures illustrate some additional examples of the control and flexibility you have with
iFIX pictures.

4
Creating Pictures

The Control You Have With Your Pictures

In an iFIX picture, you can


modify specific objects of a
group without separating the
objects from the group, and
without losing scripts or
animations applied to the group.
This concept is referred to as
drilling down.

The Flexibility You Have With Your Pictures

Given the popularity of bitmap


formats, you may have an
existing bitmap that you want to
add to your picture.
iFIX makes this easy by letting
you import the image into a
picture as an object. Now you
can control the image's
properties like any other iFIX
object.
For more information on adding
a bitmap to a picture, refer to
the Implementing Pictures in
Your Process chapter.

5
Creating Pictures

How Objects Behave in Pictures


An object is anything that you create or import into an iFIX picture that has properties, methods, and
events. In the next section we talk more about how objects work. After you have created an object in
the Proficy iFIX WorkSpace's configuration environment, you can control its attributes and view its
behavior in the run-time environment.

An object can be any of the following:

• Shapes – Shapes are integral to adding precise detail to your pictures. Shapes include
rectangles, rounded rectangles, ovals, lines, polylines, polygons, arcs, chords, pies, and pipes.
• Text – Text added to an iFIX picture becomes an object, containing properties that allow you
to format or control the text.
• Bitmaps – Bitmaps are images constructed of dot matrixes. They can be imported into an
iFIX picture and controlled like any other object.
• Charts – Charts are compound objects made of lines, text, and rectangles that display real-
time and historical trend data.
• Data links – Data links display text and values from process databases.
• Alarm Summaries – An Alarm Summary object displays real-time alarm status information
based on your alarming and SCADA configuration. An Alarm Summary object is a Proficy
iFIX OCX.
• Push Buttons – A push button is a tool that lets you execute an action easily with the click of
a mouse. A push button is an OCX supplied Microsoft.
• Timers – Timers perform an action based on a specified time duration.
• Events– Events allow you to perform an operation based on a specific action.
• Variables – Variables allow you to specify different values that let you store and display
process data in various ways.
• ActiveX Controls – compiled software components based on the component object model
(COM). Any imported ActiveX control (OCX) becomes an iFIX object in the WorkSpace.
• Applications – Any OLE-compatible application, such as a Microsoft Excel spreadsheet, can
be imported as a document object within the Proficy iFIX WorkSpace.
• Animations – When you animate an object's properties, iFIX adds animation objects to the
object containing those properties.

An iFIX picture can contain many types of objects. The following figure illustrates the concept of
objects inside an iFIX picture.

6
Creating Pictures

Example of Objects in an iFIX Picture

Objects consist of the following image attributes:

• Properties
• Methods
• Events

These attributes are described in the sections that follow.

Properties

All objects have properties. Properties are object attributes you can control, such as the foreground fill
color or the object's size or position. These properties can be modified by animating the object or by
writing a script.

Methods and Events

Objects also contain methods and events.

A method is a task that affects one or more objects. For example, a rectangle can be moved, rotated,
and scaled, and these are all methods of the rectangle.

An event is a signal that an object generates that we respond to. For example, if you click the left
mouse button or press a key on the keyboard, the object generates an event which you would respond
to, typically by executing a script. Note that the action which triggers an event does not have to be a

7
Creating Pictures

user action, it can be another script, an application, or the operating system.

Typically, when drawing pictures you work with properties more than methods and events. However,
you may want to access an object's methods and events in order to write scripts for the objects you
create. For more information on properties, refer to the Controlling Object Properties chapter.

Using Basic Drawing Tools


The iFIX configuration environment contains several tools that help you access, modify, and apply an
object's characteristics into your picture design. These tools are described in the following sections.

• Using Drawing Cursors


• Using Toolbars
• Using the Toolbox
• Using the Object Pop-up Menu
• Using the Properties Window
• Using the Color Box
• Using the Find Mouse Coordinates Tool
• Using the Animations Dialog Box
• Using Screen Regions

Using Drawing Cursors


When you draw pictures, you have many different cursors to use depending on what you are trying to
do. Many of these cursors appear when you have selected an object and place the cursor over the
object's handles. The handles of an object provide points that control the movement of the object.
Object handles appear in three types, depending on the operation you are trying to perform:

• Resize Handles – Allow you to resize an object. These automatically appear when you
initially add most objects.
• Reshape Handles – Allow you to reshape an object. These automatically appear when you
initially add lines, arcs, chords, and pies.
• Rotate Handles – Allow you to rotate an object. These handles appear only when you rotate a
particular object (excluding ovals, rounded rectangles, charts, and bitmaps).

The following example illustrates a rectangle with resize handles. There are four diagonal handles, two
left and right handles, and two top and bottom handles, as shown. When you initially add an object,
object handles appear. If you select outside the object, its handles disappear. Place the cursor on the
object and click (select) the object to display the handles again.

8
Creating Pictures

Object Handles

For examples of reshape and rotate handles, refer to the Reshaping Objects and Rotating Objects
sections, respectively. When you display the object's handles, you can control that object on the screen.
Notice that when you display the handles, that object's name is highlighted in the system tree. The
following table shows each cursor that is available, where it can be accessed in the iFIX WorkSpace,
and what the cursor allows you to do.

Using Drawing Cursors

The Positioned... Does this...


Cursor...

In the Proficy iFIX Selects an object or folder in the system tree,


WorkSpace document begins clicking and dragging objects (left-
outside of an object; or click), or displays a picture pop-up window
anywhere in the system tree. (right-click).

Anywhere on your screen. Alerts you that the system is working and no
input can currently be processed.

On an object or group of Selects an object (single-click), displays the


objects. pop-up menu (right-click), moves an object by
clicking and dragging, or displays the
Animations dialog box (double-click).

On the up/down object Resizes an object or picture up or down.


handle, or at the top or
bottom edge of the picture.

On the left/right object Resizes an object or picture left or right.


handle, or at the left or right
edge of the picture.

9
Creating Pictures

Using Drawing Cursors

The Positioned... Does this...


Cursor...

On the diagonal object Resizes an object or picture diagonally.


handle, or at corner edges of
the picture.

Right edge of the system Expands the system tree.


tree.

In system tree, dragging into Drags and drops objects or Dynamos to a


picture. picture. The second cursor indicates that the
location you are dropping to is not valid.

In the Edit Color palette Selects a color range.


when customizing colors.

On objects with points. Adds or deletes a point to an object. The white


cursors on the left indicate that a point cannot
be added or deleted. The black cursors on the
right indicate a point can be added or deleted.

On pipe and polyline Splits pipes or polylines. The yellow cursor on


objects. the left indicates that a pipe can be split at that
point. Note that the yellow cursor can actually
be any contrasting color, depending on the
color of the pipe object.
The black cursor on the right indicates that a
polyline can be split at that point. The white
cursors indicate that pipes and polylines cannot
be split at those points.

Anywhere when adding or Provides a starting point to add or reshape a


reshaping shapes or charts. shape or chart by clicking and dragging to a
location.
Also appears on an object's
center of rotation circle. As a rotation cursor, selects the center of
rotation so that you can relocate it by clicking
and dragging the circle.

10
Creating Pictures

Using Drawing Cursors

The Positioned... Does this...


Cursor...

Anywhere when adding data Adds a data link, current date, or current time.
links, current date, or current
time.

Using Toolbars
iFIX provides both WorkSpace and Picture toolbars to help you perform various functions. Although
both WorkSpace and Picture toolbars help you perform actions in your picture, the Picture toolbars
contain specific tools to help you create and modify objects and their properties. The following table
describes the Picture toolbars available to you for drawing pictures.

NOTE: Although hidden by default, you can access and use toolbars in Ribbon view. To access a
toolbar in Ribbon view, on the Home tab, in the WorkSpace group, click Settings, and then click
Toolbars. You can also open a toolbar from the WorkSpace tree, by opening the Project Toolbar Files
folder and double-clicking the toolbar you want to open.

Using Toolbars to Create and Modify Pictures

The Which can be Lets you...


toolbar... accessed in Ribbon
view...

Shapes From the Insert tab, in Add shapes to your pictures. Refer to the Adding
the Shapes group, in the Objects to Pictures section for a list of the shapes you
Shapes list. create.

Edit From the Home tab, in Perform basic functions with objects, including
the Clipboard and cutting, copying, pasting, and undoing an action. Refer
Editing groups. to the Performing Basic Functions with Objects
section for more information on these functions.

Tools From the Format tab, in Perform functions with objects in your pictures such
the Arrange group. as aligning or grouping them. Refer to the Performing
Advanced Functions with Objects section for a
description of the functions you can perform.

Experts From the Tools tab, in Perform advanced functions with objects in the picture
the Tasks/Experts or the picture itself, such as rotate, scale, or position.
group, from the Refer to the Using Wizards and Experts section for
Tasks/Experts list. more information on using experts.

11
Creating Pictures

Using Toolbars to Create and Modify Pictures

The Which can be Lets you...


toolbar... accessed in Ribbon
view...

Toolbox From the Format tab, Select the most commonly used toolbar buttons from a
all groups and from the resizable box. Refer to the Using the Toolbox section
Tools tab, in the for more information.
Tasks/Experts group.

CAD From the Format tab, in Perform functions with line objects in the picture, such
Toolbar the Picture group, in the as extending and trimming lines, converting lines to
Drawing Tools list. polylines, converting lines to pipes, or adding/deleting
connection points. Refer to the Performing Advanced
Functions with Objects section for more information
on these functions.

To show or hide a Picture toolbar, select Toolbars from the WorkSpace menu, select Picture in the
Owner area, and then select or deselect the appropriate toolbars. You must have a picture open in order
to select Picture from the Owner area. For more information on toolbars, refer to the Understanding
Toolbars section of the Understanding iFIX manual.

You can also create your own toolbars, or write scripts for custom buttons in toolbars. For more
information on creating and customizing toolbars, refer to the Understanding Toolbars chapter of the
Understanding iFIX manual. For information on writing scripts to customize toolbars, refer to the
Writing Scripts manual.

Using the Toolbox


By default, many of the toolbar buttons appear in a Toolbox, allowing you to quickly select the buttons
you want from one place. The Toolbox is also a convenient way to save space in your picture by not
having several individual toolbars open. You can click and drag the Toolbox to position it anywhere in
the picture, or click and drag one of its edges to resize it.

If you would rather select buttons from specific toolbars, simply deselect the Toolbox in the Toolbars
dialog box.

The following table lists the names of the toolbar buttons found in the Toolbox. The layout of the cells
in the table mimics the layout of the corresponding buttons in the Toolbox. The following layout is the
default layout of the Toolbox.

Pointer Cut Copy Paste Time Date


Selection

Rectangle Rounded Oval Chord Polygon Pie


Rectangle

12
Creating Pictures

Pipe Arc Line Polyline Text Pushbutton

OLE Object Datalink Alarm Variable Timer Event


Stamper Summary Object

Chart Bitmap Set Color Set Font Toggle Grid Space


Evenly
Vertical

Space Align Top Align Left Align Align Right Align


Evenly Bottom Horizontal
Horizontal Center

Align Group Ungroup Bring to Send to Set Layer


Vertical Front Back
Center

Display Foreground Fill Expert Rotate Position Scale Expert


Layers Color Expert Expert Expert

Visibility Create Open Close Replace Refresh Rate


Expert Picture Picture Picture Picture Expert
Wizard Expert Expert Expert

Data Entry VisiconX VisiconX VisiconX VisiconX Undo


Expert Data Control Grid List Box Combo Box
Control Control Control

Using the Object Pop-up Menu


As you create a picture, you can display a pop-up menu for the picture or an object in the picture. To
display an object's pop-up menu, right-click the object. This menu provides quick access to the object's
properties and animations, as well as common operations you can perform with the object, such as
copying and pasting.

You can also access this menu by right-clicking the object in the Pictures directory of the system tree.
This is an effective way to view or adjust properties for invisible objects (which only appear in the
system tree) added during animation.

NOTE: The pop-up menu for objects differs somewhat from the picture pop-up menu. Refer to the
Using the Picture Pop-up Menu section for more information on the picture pop-up menu.

The following table shows the functions that are available from the object pop-up menu. Depending on
the object you have selected, additional operations may be available.

13
Creating Pictures

Use the To...


operation...

Animations Display the Animations dialog box, which allows you to animate the
properties of an object or several objects.

Resize Display handles around the object so you can resize it.

Reshape Display handles around the object so you can reshape it.

Rotate Display rotate handles around the object so you can move the object around its
center of rotation.

Add Connection Display a square green cursor with a smaller square inside it and a crosshair
Point when you are close to or moving over the object. This menu item displays as
Add Point when you right-click a polyline or pipe object.

Delete Display a square, solid red cursor with a cross hair when you are close to a
Connection connection point that can be deleted. When not close, the cursor becomes a
Point red square with a minus sign and a crosshair. This menu item displays as
Delete Point when you right-click a polyline or pipe object.

Split Polyline Display a splitting cursor that changes to black when you are close to the
polyline. A black cursor indicates that you can split the polyline at that point.

Convert to Pipe Convert the line or polyline to a pipe object.

Split Pipe Display a splitting cursor that changes to a contrasting color when you are
inside the edge of the pipe. A colored cursor indicates that you can split the
pipe at that point.

Make Horizontal Make the line horizontal.

Make Vertical Make the line vertical.

Undo Cancel the previous operation. If a particular task cannot be undone, the Undo
command is unavailable after you complete the action.

Cut Remove the object from the picture and places it into the clipboard.

Copy Create a duplicate copy of the object and place it into the clipboard.

Delete Remove the object from the picture.

14
Creating Pictures

Use the To...


operation...

Duplicate Create a duplicate copy of the object and place it slightly offset from the
original.

Group Combine one or more objects into one grouped object.

Bring to Front Move the selected object to the front or top of the picture.
NOTE: This function may not work as expected with Enhanced Charts. For
more information, see Use Z-Order to Layer Controls.

Send to Back Move the selected object to the back or bottom of the picture.
NOTE: This function may not work as expected with Enhanced Charts. For
more information, see Use Z-Order to Layer Controls.

Color Define fade, foreground, background, and edge colors using a color palette.

Fill Style Specify a fill style of one of the following:


• Solid
• Hollow
• Horizontal
• Vertical
• Downward Diagonal
• Upward Diagonal
• Cross Hatch
• Diagonal Cross Hatch
• Gradient
Refer to the Coloring and Styling Objects section for further information on
fill styles.

15
Creating Pictures

Use the To...


operation...

Edge Style Specify an edge style of one of the following:


• Solid – Applies a solid line style
• Dash – Applies a dashed pen line style
• Dot – Applies a dotted pen line style
• Dash Dot – Applies a dash-dot combination line style
• Dash Dot Dot – Applies a dash-dot-dot combination line style
• No Edge – Specifies that the object contains no edge style
• Inside Frame – Applies a solid line style inside the frame of the object
NOTE: If you set the edge width to greater than 1, it displays as Solid
regardless of the selected edge style in the pop-up menu or the Shape
Preferences tab on the User Preferences dialog box.

Background Specify a background style of either opaque or transparent.


Style

Fade Type Specify a fade type of one of the following:


• Linear – Applies a vertically linear fade type inside the frame of the
object.
• Reflected – Applies a horizontally reflected fade type inside the frame
of the object.
• Radial – Applies a radial fade type inside the frame of the object.
• Concentric – Applies a concentric fade type inside the frame of the
object.
Refer to the Coloring and Styling Objects section for further information on
fade types.

Edit Script Open the Visual Basic Editor, which allows you to edit Visual Basic scripts.

KeyMacros Open the Key Macro Editor, which allows you to add and edit key macros.

Property Display the Properties Window, which allows you to view and change
Window property values.

Elbow Style Specify an elbow style for a pipe object. These styles include:
• Round – Applies rounded edges to the bends in a pipe object.
• Square – Applies squared edges to the bends in a pipe object.

16
Creating Pictures

Use the To...


operation...

Start Cap Style Specify a start cap style for a pipe object. These styles include:
• Round – Applies a rounded cap at the starting point of the pipe object.
• Square – Applies a square cap at the starting point of the pipe object.
• Horizontal Diagonal – Applies a horizontally diagonal cap at the
starting point of the pipe object.
• Vertical Diagonal – Applies a vertically diagonal cap at the starting
point of the pipe object.

End Cap Style Specify an end cap style for a pipe object. These styles include:
• Round – Applies a rounded cap at the ending point of the pipe object.
• Square – Applies a squared cap at the ending point of the pipe object.
• Horizontal Diagonal – Applies a horizontally diagonal cap at the
ending point of the pipe object.
• Vertical Diagonal – Applies a vertically diagonal cap at the ending
point of the pipe object.

Modify Pipe Open the Modify Pipe Characteristics dialog box, which allows you to edit the
Characteristics styles of pipe objects.

Edit Place a text cursor in the push button object to allow you to enter text.
CommandButton
Object

Depending on the object you add, the pop-up menu may vary to include operations specific to that
object. For example, if you add a chart, you can access the Chart Configuration dialog box from the
object pop-up menu.

Tag Status Pop-up Menu

When you associate database tags with an object, you can switch to the Proficy iFIX WorkSpace run-
time environment to view and test the object's configuration. The run-time object provides a menu you
can display by right-clicking the object. The options on the menu depend on the number of tags you
associate with the object.

If you have associated tags with your objects, the following functions are available from the object
pop-up menu in the run-time environment.

17
Creating Pictures

Run-time Object Pop-up Menu Commands

Use the To...


operation...

Tag Status Open the Tag Status picture of the tag associated with the selected objet.

If multiple tags are associated with the selected object, open the Tag Status
picture of the first associated tag, or open the Tag Control Panel picture, which
lists the Tag Status pictures of all tags associated with the selected object.

Quick Trend Open the Quick Trend picture of the tag(s) associated with the selected object(s).
The Quick Trend picture displays up to eight pens when multiple tags are
associated with the selected object(s).

Using the Properties Window


You can display the properties of an object with the Properties window. This window displays a two-
column list of the selected object's properties that accept data. The Properties window is modeless,
meaning that you can jump to different positions in the picture and the window will stay on your
screen. This is a convenient way to quickly read properties of several objects in your picture or a
picture itself. If no object is selected, the current picture's properties are shown in the window. See the
following examples.

18
Creating Pictures

You can also display a different set of properties by selecting the object or picture from the drop-down
list at the top of the window.

To display the Properties window of an object, right-click the object and select Property Window from
the pop-up menu. You can also access this menu by right-clicking the object in the Pictures directory
in the system tree, or by selecting Property Window from the View menu.

For more information on selecting properties, refer to the Controlling Object Properties chapter.

Using the Color Box


The iFIX color box contains all the tools you need to assign colors to your objects and create
customized color schemes. The color box offers over 16 million color possibilities for use in your
pictures, and can be accessed from anywhere in the Proficy iFIX WorkSpace.

There are two color boxes you can choose from depending on how you want to apply colors. The first
option is a Select Color box that lets you select fade, foreground, background, or edge colors for a

19
Creating Pictures

specific object. This dialog box, shown in the following figure, is accessed by right-clicking the object,
pointing to Color then choosing Fade, Foreground, Background, or Edge from the menu.

NOTE: Refer to the Setting Gradient Fill Properties section, for more information about accessing the
Select FadeColor and Select ForegroundColor dialog boxes.

The second option is the Color Selection box. This box is modeless, allowing you to select different
shapes in your picture while the dialog box remains on your screen. You can color as many objects as
you like using this box, and you can choose which property of the selected object or objects you want
to modify. Additionally, you can use a color palette to customize a color set. The Color Selection
dialog box, shown in the following figure, is accessed by clicking the Color button on the Tools
toolbar (Classic view) or on the Format tab in the Styles group (Ribbon view) or the Toolbox, if
enabled.

20
Creating Pictures

NOTE: Any time you open the Select Color or Color Selection dialog box, the undo stack is removed.

For more information on applying color to your pictures, refer to the Working with Color section.

Using the Find Mouse Coordinates Tool


The Find Mouse Coordinates Tool is available to track the x,y coordinates of the mouse cursor in the
iFIX WorkSpace. This is helpful if you want to open a picture in a specific location in the WorkSpace,
but do not want to spend a lot of time guessing the coordinates of the location. This is especially useful
if you are spanning an iFIX display across multiple monitors.

In Classic view, to access the Find Mouse Coordinates Tool, click the following icon in the iFIX
WorkSpace, on the Utilities toolbar:

In Ribbon view, you may access the Find Mouse Coordinates Tool from the Tools tab, in the
Tasks/Experts group, in the Pictures list or from the Applications tab, in the Utilities group, in the
Utilities list.

The Find Mouse Coordinates Tool appears in the WorkSpace, as shown in the following figure.

To stop tracking the cursor, click anywhere in the WorkSpace. To start tracking again, click the
Resume tracking button. To copy the cursor coordinates to the clipboard, click the Copy coordinates

21
Creating Pictures

button. After you copy the coordinates to the clipboard, you can paste them into your OpenPicture
command, for example, as the coordinates for the top left corner of your picture.

Using the Animations Dialog Box


iFIX provides a Basic Animation dialog box, shown in the following figure, allowing you to access
many commonly used Animation Experts in one location. These Animation Experts include Color,
Movement, Fill, Click Command, and Visibility Animation Experts as well as providing a link to the
Advanced Animations dialog box. The Advanced Animations dialog box allows you to access all of
the available object animations and change properties by entering values into one of the tabbed pages.

Basic Animation Dialog Box

To access the Basic Animation dialog box, double-click on an object or select Animations from the
object's right-click menu.

You can also access the Advanced Animations dialog box by clicking the Configure button in the
Basic Animation dialog box. The Advanced Animations dialog box, shown in the following figure,
allows you to access all of the property animations available to the selected object and also provides a
more detailed interface for adding or modifying property animations.

22
Creating Pictures

Advanced Animations Dialog Box

To always open the Advanced Animations dialog box by default, clear the Always Show Basic
Animation dialog check box in the Picture Preferences tab of the User Preferences dialog box.

NOTE: Any time you open the Animations dialog box, the undo stack is removed. This is because
certain property changes take effect even if the dialog box is closed using the Cancel button.

Refer to the Animating Object Properties chapter for more information on animating objects.

Using Screen Regions


As you create pictures in the WorkSpace, you can optimize the speed at which your pictures update by
using screen regions. The viewport is divided into 30 screen regions (6 by 5) which determine how
pictures are updated. By grouping dynamically changing objects into screen regions, static objects are
not unnecessarily redrawn each time a picture is updated.

To view screen regions in the WorkSpace, select Screen Regions from the View menu (Classic view)
or on the View tab, in the Picture group, select Screen Regions (Ribbon view). When this feature is

23
Creating Pictures

enabled, each time you click on an object in a picture, the screen region it occupies changes color.

NOTE: When using screen regions to optimize a picture, the picture should be displayed as it would
be during production. Screen regions are calculated based on the viewport, and since the viewport is
ultimately defined by the picture window, any changes to the window size cause the size of the screen
regions to change.

Using Basic Functions in Pictures


There are several functions you can perform in your picture, regardless of the objects it contains. These
functions are described in the following sections.

• Showing a Picture
• Refreshing a Picture
• Refreshing a Thumbnail
• Closing a Picture
• Using the Picture Pop-up Menu
• Using the Picture Properties Window
• Defining the Picture Height and Width
• Setting the Picture Background and Fade Color
• Setting Gradient Fill Properties
• Viewing Your Picture in the Run-time Environment

Showing a Picture
If you have more than one picture open in the WorkSpace, you can easily view a picture that is behind
another one by doing one of the following:

• Double-clicking the picture name in the system tree.


• Right-clicking the picture name in the system tree and selecting Show from the pop-up menu.
• Select the picture name from the Window menu.

Another effective strategy for showing multiple pictures is using the tiling and cascading functions,
described in the Tiling and Cascading Pictures section.

Refreshing a Picture
You can refresh a picture by right-clicking the picture name in the system tree and selecting Refresh
from the pop-up menu. You can also select Refresh from the View menu (Classic view) or from the
View tab, in the Picture group, in the View list (Ribbon view). When you refresh a picture, iFIX
repaints the current picture on the screen.

Refreshing a Thumbnail
You can refresh a thumbnail by right-clicking the picture name in the system tree and selecting Refresh

24
Creating Pictures

Thumbnail from the pop-up menu. When you refresh a thumbnail, iFIX saves the picture with a
thumbnail (if it did not already exist), and repaints the current thumbnail on the System Tree.

Closing a Picture
You can close a picture by right-clicking the picture name in the system tree and selecting Close from
the pop-up menu.

Using the Picture Pop-up Menu


When creating pictures, you can display a pop-up menu for that picture by right-clicking the picture
name in the system tree, or by right-clicking any area in the picture outside of an object. The pop-up
menu provides quick access to the picture's specific properties and animations, as well as common
operations you can perform within the picture, such as selecting all objects.

The following table shows the functions that are available from the picture pop-up menu.

Picture Pop-Up Menu Functions

Use the To...


Operation...

Animations Display the Animations dialog box that lets you animate properties of the
picture.

Undo Cancel the previous operation. If a particular task cannot be undone, the Undo
command is unavailable after you complete the action.

Paste Place the most recently copied object into your picture.

Select All Select all objects in the picture window.

Bring to Front Move the selected picture to the front of the stack.

Send to Back Move the selected picture to the back of the stack.

Space Evenly Tile the open pictures in one of the following ways:
• Horizontal
• Vertical

Zoom Change the width and height of the viewport by 50%, 150%, or 200% of the
window size, or return the viewport size to 100% of the window size. The
viewport is described in the Implementing Pictures in Your Process chapter.

Default View Restore the original view of the picture before the window's size was changed.

25
Creating Pictures

Picture Pop-Up Menu Functions

Use the To...


Operation...

Full View Expand the window to occupy the entire client-area.

Fit Picture to Resize the picture to fit inside the picture window, if necessary.
Window

Fit Window to Resize the window to fit the size of the picture, if necessary.
Picture

Update Window Preserve the current view of the picture so that, after being saved, it will look
Location exactly the same way it did on the screen as when you closed it.

Refresh Repaint the current picture in the picture window.

KeyMacros Open the Key Macro Editor, which allows you to view and edit key macros.

Property Display the Properties window for the current picture.


Window

Picture Display the Edit Picture dialog box, which allows you to change window
properties.

Edit Script Open the Visual Basic Editor, which allows you to edit Visual Basic scripts.

Enable Scripts Reference all selected objects into Visual Basic scripts.

NOTE: The pop-up menu for pictures differs somewhat from the object pop-up menu. Refer to the
Using the Object Pop-up Menu section for more information on the object pop-up menu.

Using the Picture Properties Window


To display the Properties window of a picture, right-click the picture name in the system tree and select
Property Window from the pop-up menu. For more information on Properties, refer to the Controlling
Object Properties chapter.

Defining the Picture Height and Width


You can define the height and width of the window in your picture using the Edit Picture dialog box.
To do this, right-click the picture name in the system tree and select Picture from the pop-up menu, or
select Picture from the Edit menu (Classic view) or on the Home tab, in the Editing group, in the
Properties list, click Picture (Ribbon view). Window dimensions are measured in logical units, which
are further defined in the Implementing Pictures in Your Process chapter.

26
Creating Pictures

The Picture Preferences dialog box contains the default picture preferences that apply to newly created
pictures.

Setting the Picture Background and Fade Colors


You can set the background and fade colors of your picture using an unlimited selection of colors. This
is useful for customizing your screens to complement multi-colored objects in your picture and to give
your pictures a three-dimensional look. The default background and fade colors are displayed in the
Picture Preferences dialog box when you create a new picture. You can change the default colors by
clicking the Background Color or Fade Color buttons and choosing a color from the Select Color
dialog box.

For more information on using color in your pictures, refer to the Working with Color section.

Setting Gradient Fill Properties


The gradient fill features allow you to illustrate your real-world objects, like tanks and pipes, with a
three-dimensional look. A gradient fill can also be used for the picture itself. The gradient fill is
composed of fade color, fade type, blend percentage of fade color, and gradient angle of fade color. For
more information about applying fade color, see Setting the Picture Background and Fade Colors and
Working with Color.

Like the behavior of other fill styles, you can animate the gradient effect with the shape; for example,
rotate, scale, fill, and translate with the shape; however, you cannot animate gradient effects in your
picture.

You can right-click an object and apply the individual gradient fill properties after you have set the fill
style to Gradient. You can also apply the properties all at once using the gradient preview dialog box.
The gradient preview dialog box for shapes contains the tools you need to preview and apply gradient
fill properties.

The type of object you select determines the properties available for your use. For example, pipe
objects have a different gradient preview dialog box where the properties specific to pipe objects are
available, as well as gradient fill properties. For other shapes, only gradient fill properties are available.

Clicking the Foreground or Fade color buttons opens the Select Color box where you can choose the
colors you want to apply to your shape or pipe. For more information about choosing colors for your
shapes, refer to Using the Color Box.

When you choose Fade from the Color pop-up menu on a shape object, the Gradient preview tab of the
Select FadeColor dialog box appears. The fields on this dialog box allow you to apply gradient fill
properties to the object. These fields are available only when you select a single shape object. If you
select multiple objects, you can only choose a color from the Select Color dialog box.

27
Creating Pictures

Shape Gradient Preview Dialog Box

When you choose Fade from the Color pop-up menu on a pipe object, the Gradient preview tab of the
Select FadeColor dialog box appears. The fields on this dialog box allow you to apply pipe and
gradient fill properties to the pipe object.

Pipe Gradient Preview Dialog Box

These dialog boxes offer a central place to apply gradient fill properties rather than making individual
changes using the right-click pop-up menu. However, you cannot make gradient fill changes to

28
Creating Pictures

multiple shape objects.

For more information about making changes to multiple pipe objects, refer to Modifying Pipe
Characteristics.

The following sections describe the different gradient fill features that you can apply to your shape
objects.

Fade Type

Fade type blends the fade color with the foreground and background colors to produce the three-
dimensional appearance in the shape. You can apply the following fade types to your objects and
pictures:

Fade Type Description

Linear The foreground color fades to the fade color from one end of the shape to the
other.

Reflected The foreground color converges to the fade color in the center of the shape in
a linear fashion.
NOTE: This fade type may not display in long, narrow rectangular shapes.

Radial The foreground color is darkest around the edges and recedes radially towards
the center.

Concentric The foreground color is darkest along the edges and center with a concentric
band of fade color in between.

Linear Reflected

29
Creating Pictures

Radial Concentric

Blend Percentage of Fade Color

When you use gradient fill, you can change the way colors are mixed to achieve different effects. The
blend percentage is the amount of fade color that is applied to the fade type. The higher the percentage,
the more fade color is visible. The following diagrams show different blend percentages.

20% Blend 50% Blend 75% Blend

30
Creating Pictures

Gradient Angle of Fade Color

Gradient angle is the angle, in degrees, of the gradient brush. The default gradient angle is 0° and is
always on the right side of the shape. You can apply as precise an angle as you need using the Gradient
Angle slider.

0° Angle 90° Angle 135° Angle

31
Creating Pictures

180° Angle 270° Angle

Viewing Your Picture in the Run-time Environment


To view a picture, you do not have to leave the application you are in or shut anything down. You can
switch environments directly from the WorkSpace with the click of the mouse. To view your picture,
use one of the following methods:

• Click the Switch to Run button on the Standard toolbar (Classic view).
• Click Switch to Run in the WorkSpace group on the Home tab (Ribbon view).
• Press CTRL+W on your keyboard.

You can also control other preferences at run-time using the User Preferences dialog box. Refer to the
Using the Proficy iFIX WorkSpace chapter of the Understanding iFIX manual for more information on
iFIX WorkSpace preferences and on switching environments.

Performing Advanced Functions in Pictures


iFIX gives you complete control of your pictures by allowing you to easily perform advanced
procedures. The sections that follow introduce some of the functions that are available, many of which
are accessible from the picture pop-up menu. The Implementing Pictures in Your Process chapter
expands on these concepts and details additional features for controlling how your pictures look.

• Sharing Picture Files


• Replacing a Picture
• Changing the Picture View
• Tiling and Cascading Pictures
• Creating Pictures without Title bars

32
Creating Pictures

Sharing Picture Files


iFIX lets you share picture files so that other users can access pictures on a different system. You can
do this by placing the files on a file server and sharing a path. For more information on sharing files,
refer to the Sharing Files section in the Understanding iFIX manual.

Replacing a Picture
To replace a picture with another picture, use the Replace Picture Expert, located on the Experts
toolbar (Classic view) or on the Tools tab, in the Tasks/Experts area, click Tasks/Experts (Ribbon
view). This Expert allows you to close a picture and replace it with another picture in both the
configuration and run-time environments. If desired, you can specify an alias to the picture that is
automatically assigned as the new picture name. For more information on Experts, refer to the Using
Process Assistants to Expedite Pictures chapter.

Changing the Picture View


By giving you control of the window, iFIX makes it easy to change a picture's magnification. There are
several different views you can create using the picture pop-up menu. These include:

• Zoom
• Default View
• Full View
• Fit Picture to Window
• Fit Window to Picture

Refer to the Controlling a Picture's Magnification section for more information on specifying viewing
options.

Tiling and Cascading Pictures


As you create and modify pictures, you may want to have several pictures open at once. Depending on
the size and position of the pictures opened, this can result in one or more pictures hidden behind the
top picture. Although you can use the Show function to switch from one to another, or manually move
or resize a picture, you may want to view more than one at a time. A fast, easy way to arrange multiple
pictures is to tile or cascade them using the Window menu.

When you tile two or more pictures, iFIX arranges each picture so that they do not overlap and resizes
each window so that all the pictures fit in the available client area. You can tile pictures horizontally or
vertically. To do this select Tile Horizontal or Tile Vertical from the Window menu. Both methods of
tiling are shown in the following figures.

33
Creating Pictures

Tiling Horizontally

Tiling Vertically

34
Creating Pictures

You can open as many pictures as you want, limited only by the amount of memory in your computer.

When you cascade two or more pictures, the pictures are staggered and resized equally so that you can
select each picture by its title bar. This is illustrated in the following figure. To cascade pictures, select
Cascade from the Window menu.

Cascading Pictures

Creating Pictures without Title bars


You can also create pictures with no title bars. This is a particularly helpful feature when you want to
view your pictures as is in your operator display. The following figure illustrates a picture without a
title bar.

Picture without a Title bar

You cannot tile or cascade a picture without a title bar.

35
Creating Pictures

If you want to create a full screen picture without a title bar make sure that you deselect the Title bar
check box.

To create a full screen picture without a title bar:

1. In Classic view, on the WorkSpace menu, click User Preferences.


-Or-
In Ribbon view, on the Home tab, in the WorkSpace group, click Settings, and then click User
Preferences.
2. Click the Picture Preferences tab.
3. Deselect the Titlebar check box.
4. Click OK.

NOTE: If you intend to autoscale pictures created without titlebars, the picture must be started
titleless.

There are many additional style options for the picture window. For more information on these
window properties, refer to the Planning Your Pictures section.

Overview Checklist
The list below describes the tasks to create a picture.

To create a picture:

1. In Classic view, on the Standard toolbar, click the New Picture button.
-Or-
In Ribbon view, click the WorkSpace button, select New, and then click Picture.
2. Using the Shapes toolbar, add objects to the picture. In Ribbon view you may also add objects
form the Insert tab from the Shapes group. If you want to use a pre-configured object, add a
Dynamo. If you want to attach a script to the object, run an Expert.
3. Using the Animations dialog box, modify or animate the object's properties.
4. If desired, write an event-based script for your pictures and objects.
5. In Classic view, on the WorkSpace menu, click Switch to Run to view your picture in the run-
time environment.
-Or-
In Ribbon view, from the Home tab, in the WorkSpace group, click Switch to Run.
6. In Classic view, on the WorkSpace menu, click Switch to Configure to switch back to the
configuration environment.
-Or-
In Ribbon view, from the Home tab, in the WorkSpace group, click Switch to Configure.

36
Creating Pictures

How Do I...
In the Proficy iFIX WorkSpace, you can perform the following steps with pictures:

• Changing Your Window Size Using Logical Units


• Setting the Fade Type of a Picture
• Setting the Gradient Angle of a Picture's Fade Type
• Zooming In and Out of Pictures
• Updating the Window Location
• View All Thumbnails
• Enabling or Disabling Window Properties
• Resolving Pictures
• Saving Thumbnails for Previously Created Pictures or Dynamo Sets
• Importing Windows Metafiles
• Assigning Pictures to a Security Area
• Defining the Attributes of a Custom Picture
• Using Specified Dimensions
• Modifying Picture Properties
• Using the Dimensions of an Existing Picture
• Setting the Options on the WorkSpace Appearance Page
• Tracking Cursor Coordinates
• Using the Grid

Changing Your Window Size Using Logical Units

To change your window size using logical units:

1. In Classic view, in the iFIX WorkSpace, on the Edit menu, click Picture.
-Or-
In Ribbon view, on the Home tab, in the Editing group, click Properties, and then click
Picture.
2. In the Window Width field, enter a picture width in logical units.
3. In the Window Height field, enter a picture height in logical units.

Setting the Fade Type of a Picture

To set the fade type of a picture:

1. In Classic view, in the iFIX WorkSpace, on the Edit menu, click Picture.

37
Creating Pictures

-Or-
In Ribbon view, on the Home tab, in the Editing group, click Properties, and then click
Picture.
2. Select the Gradient enabled check box and then select the fade type you want to apply to the
gradient.
NOTE: The Gradient enabled check box is automatically selected in this dialog box if it has
been selected in the Picture Preferences tab of the User Preferences dialog box.

Setting the Gradient Angle of a Picture's Fade Type

To set the gradient angle of a picture’s fade type:

1. In Classic view, in the iFIX WorkSpace, on the Edit menu, click Picture.
-Or-
In Ribbon view, on the Home tab, in the Editing group, click Properties, and then click
Picture.
2. Select the Gradient enabled check box and then select the fade type you want to apply to the
gradient.
3. Move the Gradient Angle slider to the angle you want applied to the fade type.

Zooming In and Out of Pictures

To zoom in and out of a picture:

1. In the iFIX WorkSpace, right-click any area in the picture outside of an object, point to Zoom
and choose the desired magnification.
2. To zoom out, repeat step 1.

Updating the Window Location

To update the window location:

1. In the iFIX WorkSpace, adjust the picture window size and location.
2. Right-click any area in the picture outside of an object and choose Update Window Location.
3. Save the picture. When you open the picture later, or switch back to the configuration
environment after viewing it at run-time, the picture will appear with the same size and
location you set in step 1.

Viewing all Picture and Dynamo Set Thumbnails at Once

To view all picture and Dynamo set thumbnails at once:

1. In Classic view, in the iFIX WorkSpace, on the Standard toolbar, click the Open Picture
Folder button.

38
Creating Pictures

-Or-
In Ribbon view, on the Home tab, in the WorkSpace group click Open Picture Folder.
2. Select the folder that contains your iFIX pictures.
NOTE: The PIC folder is the default folder location.

3. Click OK. A window opens that displays thumbnails, if they exist, for all pictures and
dynamo sets.

Enabling or Disabling Window Properties

To enable or disable a window property:

1. In Classic view, in the iFIX WorkSpace, on the Edit menu, click Picture.
-Or-
In Ribbon view, on the Home tab, in the Editing group, click Properties, and then click
Picture.
2. Select or clear one or more check boxes corresponding to the window properties you want to
enable or disable.

Resolving Pictures

To resolve a picture:

1. In Classic view, in the iFIX WorkSpace, on the Utilities toolbar, click the Resolve Files
button.
-Or-
In Ribbon view, on the Application tab, in the Utilities group, click Utilities, and then click
Resolve Files.
2. In the File Types area, select the Pictures check box.
3. In the Directories area, verify that your picture directory is correct. If not, enter the correct
path in the Pictures field.
4. In the Resolve Files area, select the picture file you want to resolve. To select every file in the
list, click Select All.
5. Click the Update Picture Files button.

Saving Thumbnails with Previously Created Pictures or Dynamo Sets

To save thumbnails with a picture or Dynamo set:

NOTE: You will not be able to view thumbnails if you are using Windows Vista and the Vista
Basic Theme for your display.

1. In Classic view, the iFIX WorkSpace, on the Utilities toolbar, click the Save Files With
Thumbnail Preference button.

39
Creating Pictures

-Or-
In Ribbon view, on the Application tab, in the Utilities group, click Utilities, and then click
Save Files With Thumbnail Preference.
2. In the File Types area, select the Pictures and/or Dynamo Sets check box.
3. In the Directories area, verify that your directory is correct. If not, enter the correct path in the
directory field.
4. In the Save Files With area, select the picture or dynamo file you want to save. To select
every file in the list, click Select All.
5. Click OK.

Importing Windows Metafiles

To import a Windows Metafile:

1. In Classic view, in the iFIX WorkSpace, from the Insert menu, select Bitmap.
-Or-
In Ribbon View, on the Insert tab, in the Objects/Links group, click Objects Links, and then
click Bitmap.
2. In the Files of type field, select Win Metafile (*.wmf) and select the folder where the file
resides.
3. Click Open.
TIP: If you want to insert a Windows Metafile (WMF) as a grouped object and not as a flat
Bitmap, do not import it directly. Instead, insert the WMF picture into Microsoft Excel using
the Insert menu. Right-click the picture and select Edit Picture. A message box appears
requesting that you convert the picture to a Microsoft drawing object. Click Yes, and then
copy the converted object from Excel. In the iFIX WorkSpace, and select Paste > Paste
Special. From the Paste Special dialog box, select Enhanced Metafile and click OK. The
grouped object should now appear in your picture.

Assigning Pictures to a Security Area

To assign a picture to a security area:

1. In the iFIX WorkSpace, open the picture you want to modify.


2. In Classic view, from the View menu, select Property Window.
-Or-
In Ribbon view, on the View tab, in the Window group, click Properties.
3. In the Security Area field, enter the security area you want to use.

40
Creating Pictures

Defining the Attributes of a Custom Picture

To define the attributes of a custom picture:

1. In the iFIX WorkSpace, run the Create Picture Wizard and create a custom picture.
2. Proceed through the wizard until you reach the Define Custom Picture Attributes page.
3. Select or clear the check boxes for the following attributes:
• Show Title Bar – Adds a title bar to your picture.
• Show System Menu – Adds system menus to your picture.
• Resizable – Adds sizing borders to the picture.
• Always on Top – Configures the window so that it is always on top when you open
it.
• Allow this picture to be cached – Configures the window so that when it is opened
and closed it is held in memory and, when reopened, is read from memory.
4. Click the Background Color button to set the actual background color of the picture. This
color appears in the preview pane.

Using Specified Dimensions

To use specified dimensions:

1. In the iFIX WorkSpace, run the Create Picture Wizard and create a custom picture.
2. Proceed through the wizard until you reach the Define Custom Picture page.
3. Select this option to enter specific dimensions for your custom picture.
4. You must enter all four dimensions: Top, Width, Left, and Height.
5. Select Percentage Units or Pixel Units. The default is set from the previous time the wizard
was run and saved.

Modifying Picture Properties

To modify the properties of a picture:

• In the iFIX WorkSpace system tree, right-click on a picture and choose Picture. The Edit
Picture dialog box appears. In the Edit Picture dialog box, you can apply the following
modifications to the picture:
• Change the window size
• Change the window styles
• Set the gradient and fade type
• Set the background color
• Set the fade color
• Set the blend percentage

41
Creating Pictures

• Set the gradient angle


• Disable picture caching

To change the window size:

• In the Edit Picture dialog box, enter a picture width and height (in logical units) in the Window
Width and Window Height fields, respectively. See the Creating Pictures manual for more
information on logical units.

To change window styles:

• In the Edit Picture dialog box, select the check box of the Window Style you want to enable.
Use the What’s This? help for information on each window style.

To set the gradient and fade type for a picture:

• In the Edit Picture dialog box, select the Gradient enabled check box and then select the fade
type you want to apply to the picture.

To set the background color of a picture:

• In the Edit Picture dialog box, click the Background Color button and select the color you want
from the Select BackgroundColor dialog box.

To set the fade color for a picture:

• In the Edit Picture dialog box, click the Fade Color button and select the color you want from
the Select FadeColor dialog box.

To set the blend percentage of the fade color:

• In the Edit Picture dialog box, move the Blend slider to the percentage you want applied to the
fade color.

To set the gradient angle of the fade type:

• In the Edit Picture dialog box, move the Gradient Angle slider to the angle you want applied to
the fade type.

To disable picture caching for this picture:

• In the Edit Picture dialog box, click the Disable caching for this picture check box. For more
information on picture caching, refer to the Creating Pictures manual.

42
Creating Pictures

Using the Dimensions of an Existing Picture

To use dimensions of an existing picture:

1. In the iFIX WorkSpace, run the Create Picture Wizard and create a custom picture.
2. Proceed through the wizard until you reach the Define Custom Picture page.
3. Select the Use Dimensions of Existing Picture option to copy the dimensions from another
picture.
4. Click the Browse (...) button to browse existing .GRF files, beginning at your default iFIX
pictures directory. If you enter a filename directly into the field, the filename is checked for
existence and validity.
NOTE: The existing picture should be able to fit without scroll bars in the work area of the
WorkSpace in configure mode. If the existing picture is larger than the work area of the
WorkSpace in configure mode, the Create Picture wizard will create a new picture that is the
size of the work area in configure mode, not the size of the existing picture in run mode.

Setting the Options on the Workspace Appearance Page

To set the options on the WorkSpace Appearance page:

1. In Classic view, in the iFIX WorkSpace, click the New Picture button on the toolbar.
-Or-
In Ribbon view, click the WorkSpace button, select New, and then click Picture.
2. Select either Create Picture from a Predefined Configuration, or Create a Custom Picture.
3. Select the Show WorkSpace Appearance Page check box and click Next.
4. Select the options you want to set:
• WorkSpace Full Screen in Run Mode – When you select this option, the
WorkSpace hides its title bar, menu bar, and status bar in the run environment. If you
clear this option, you can select any of the other options on the page.
• Show WorkSpace Title Bar – Displays the title bar across the top of the screen in
run mode.
• Show WorkSpace Menu Bar – This is available only if Show WorkSpace Title Bar
is enabled. Select this option to display the menu bar across the screen under the title
bar in run mode.
• Show Status Bar – Displays the status bar across the bottom of the screen in run
mode.
The preview pane reflects the currently selected WorkSpace options. Changing these options
affects existing pictures.

43
Creating Pictures

Tracking Cursor Coordinates

To track mouse cursor coordinates:

1. In Classic view, in the iFIX WorkSpace, on the Utilities toolbar, click the Find Mouse
Coordinates button .
-Or-
In Ribbon view, on the Applications tab, in the Utilities group, click Utilities, and then click
Find Mouse Coordinates.
2. Drag the mouse to the location you want to find the coordinates for. As you move the mouse,
the coordinates change in the Find Mouse Coordinates dialog box.
3. When the mouse cursor is in the location you want, click in the WorkSpace, and then click the
Copy coordinates button to copy the cursor coordinates to the clipboard.
To stop tracking the cursor, click anywhere in the WorkSpace. To start tracking again, click
the Resume tracking button.

Using the Grid


In the Proficy iFIX WorkSpace, you can perform the following steps with the grid feature:

• Displaying the Grid


• Disabling the Grid
• Snapping an Object to a Grid Point
• Changing the Grid Spacing
• Enabling Grids for All Future Pictures

Displaying the Grid

To display the grid:

1. In Classic view, in the iFIX WorkSpace, on the Format menu, select Grid Settings.
-Or-
In Ribbon View, on the Format tab, in the Arrange group, click Grid, and then click Grid
Settings.
2. Select the Show the Grid check box and click OK.

Disabling the Grid

To disable the grid:

1. In Classic view, in the iFIX WorkSpace, on the Format menu, select Grid Settings.
-Or-
In Ribbon View, on the Format tab, in the Arrange group, click Grid, and then click Grid

44
Creating Pictures

Settings.
2. Clear the Show the Grid check box and click OK.

Snapping an Object to a Grid Point

To snap an object to a grid point:

1. In the iFIX WorkSpace, select the object(s) you want to snap to a grid point.
2. In Classic view, on the Format menu, select Snap Objects to Grid.
-Or-

In Ribbon view, on the Format tab, in the Arrange group, click Grid, and then click Snap
Objects to Grid.

Changing the Grid Spacing

To change the spacing of the grid:

1. In Classic view, in the iFIX WorkSpace, on the Format menu, select Grid Settings.
-Or-
In Ribbon View, on the Format tab, in the Arrange group, click Grid, and then click Grid
Settings.
2. In the Grid Interval field, enter the desired spacing for the grid, in pixels.

Enabling Grids for All Future Pictures

To enable grids for all future pictures:

1. In Classic view, on the WorkSpace menu, select User Preferences and click the Picture
Preferences tab.
-Or-
In Ribbon view, on the Home tab, in the WorkSpace group, click Settings, and then click User
Preferences.
2. In the Window Properties area, select the Grid Enabled check box.
3. In the Properties area, enter a value in the Grid Interval field. The value must be entered in
logical units.

Implementing Pictures in Your Process


This chapter presents several picture development strategies using iFIX. Included in the chapter are
ways to plan, develop, and use pictures to satisfy process requirements, and design tips to help you
take full advantage of iFIX. The chapter begins with a comprehensive discussion of how pictures are
constructed.

45
Creating Pictures

• What Makes Up Your Picture


• Planning Your Pictures
• Designing Your Pictures
• Using the Create Picture Wizard
• Working with Other Applications
• Optimizing Picture Performance
• Using the Picture Converter Utility
• Using Picture Caching
• Making Changes to Pictures at Runtime

To expedite the process of creating pictures and groups of pictures, you can use the Create Picture
wizard. This wizard allows you to configure the size, location, and properties of your pictures. You can
also use and create predefined configurations of pictures. For more information on the Create Picture
wizard, refer to the Using the Create Picture Wizard section.

What Makes Up Your Picture


A picture consists of the following components:

• Document
• Viewport
• Window

The Document
A picture is a document object. When you open a new picture in iFIX, you create a document. The
document is the ActiveX container for your iFIX picture. Look at the document as the entire landscape
of your picture.

The document has a logical coordinate system. To understand what this means, let's go back to the
discussion of object-oriented graphics in the Getting Started section. This section discussed how iFIX
uses object-oriented, rather than pixel-based, graphics. iFIX's picture sizing methodology works in a
similar way. A logical picture size means that your document size is based on logical units, not pixels.
The unit of measurement is arbitrary; you can use any logical units you want. iFIX makes this possible
by calculating a one-to-one relationship between the pixel size of your monitor and the logical units of
your document, while maintaining the dpi (dots per inch) ratio of your monitor.

For example, a standard VGA monitor consists of 640x480 pixels. In iFIX, the default size of your
picture, viewed with this monitor, is not 640x480. Rather, it is 100x75 (logical units), as illustrated in
the following calculation.

46
Creating Pictures

Autoscaling

An iFIX document establishes the logical-units-to-pixels ratio when you create a new picture, and
automatically adjusts the ratio when you change the resolution of your screen. This way, your picture
appears to scale no matter what monitor you view it on. When you make any changes to the document,
viewport, or window size, iFIX maintains the 4:3 ratio so that your objects maintain a consistent size
on your screen.

To create pictures that autoscale the same on all nodes, it is critical that you create pictures that have a
dpi (dots per inch) aspect ratio of 4:3. As long as the ratio is 4:3, you can create pictures on any node
and they will autoscale correctly.

CAUTION: By default, the document width and height are set to 100 and 75 respectively. We strongly
discourage changing this ratio. These settings are strictly intended for advanced users. If you choose
to change these settings, the ratio should be four horizontal units by three vertical units. These settings
are found in the User Preferences dialog box.

The Viewport
The viewport is the mapping system in the iFIX document. Like the document, it is a logical system; it
reads the picture's logical coordinates to determine its size, and then maps the coordinates onto the
window. The type of coordinate system is not relevant to the viewport; the viewport converts an
arbitrary measurement and delivers it to the window in the dimensions that you specify.

Taking the example above, a picture with a width of 100 logical units and a height of 75 logical units
maintains a logical ratio with coordinates 0, 0 at the top left corner of the picture. This is illustrated in
the following diagram.

The Logical Coordinate System

47
Creating Pictures

Look at the viewport as the lens of a camera. For example, if you have a picture containing a circle and
a rectangle, and you define the viewport to begin as shown in the following picture:

Then the picture will be displayed as shown in the following figure:

CAUTION: If you resize a picture, then modify the viewport width or height, the picture's logical
coordinate system will be remapped. If this happens, objects in your pictures may appear skewed when
resizing or autoscaling. To avoid this problem, we recommend that you do not modify the viewport
height or width once you have resized a picture.

48
Creating Pictures

The Window
The window is the available screen area of the document; it sets the boundaries for what you can
display in your picture. The window preserves a portion of the screen for various window decorations,
such as title bars and sizing borders, for displaying your picture. If the document is the landscape, and
the viewport is the camera lens, than the window is the viewfinder; it is what you actually see on the
screen. For more information on window decorations, refer to the Selecting Window Properties
section.

The following figure shows the relationship between the window and screen in an iFIX picture.

The Window and Screen in an iFIX Document

Planning Your Pictures


To prepare your development strategy, you must first plan the size of your window, the area of your
screen that contains your picture. The sections that follow describe how to custom-design your window
so that your pictures look the way you want them to.

• Determining a Window Size


• Tips: Sizing and Locating a Picture
• Controlling a Picture's Magnification
• Selecting Window Properties

49
Creating Pictures

• Selecting Additional Picture Properties

Determining a Window Size


When adjusting your picture size, you work with the window property, and you define the size as a
percentage of screen. By sizing a window by the percentage of screen, iFIX autoscales your picture,
maintaining its logical coordinate system and displaying the picture at the same size, regardless of the
monitor's resolution it is viewed on.

The default window and document properties are displayed in the Picture Preferences tab of the User
Preferences dialog box. These properties are applied when you create a new picture. The new picture's
viewport is automatically set to display the maximum viewable amount of your picture at a 100%
zoom ratio. For more information on zooming, refer to the Controlling a Picture's Magnification
section.

To change the size of your window for all new pictures to be created, select a window size in the
Window Size field. If you want to modify the default document width or height (100 x 75), make sure
that the ratio between the width and height remains at 4:3. You can select any units you wish; however,
if you choose not to maintain the 4:3 ratio, objects with an identical width and height will not appear as
such in the window. For more information on the logical-units-to-pixels ratio, refer to the section, The
Document.

Once you create a picture, you can change its size by entering the desired logical units in the Edit
Picture dialog box.

In the Edit Picture dialog box, you can specify any logical units to represent the size your picture. iFIX
automatically maintains the ratio between logical units and pixels to preserve the size of the objects on
the screen.

You can have a window that is full screen, half the height of your screen, half the width of the screen,
or one quarter of the screen's size. These sizes are illustrated in the following figures.

50
Creating Pictures

Full Screen Window Size

51
Creating Pictures

Half Screen Height Window Size

52
Creating Pictures

Half Screen Width Window Size

53
Creating Pictures

Quarter Screen Window Size

Manually Changing the Picture Size

By manually adjusting the size of the window, you can quickly change the view of your picture.
Before you do so, make sure you know what document components you are changing in the picture.
The following table shows what key sequences or mouse actions change your picture size, and what
part of the document you actually modify.

Key Sequences That Change the Picture Size

Pressing the key While... Does the And changes...


sequence... following...

Shift Clicking and dragging the Adjusts the size of The window and
mouse on an edge of the the picture the viewport.
window

Ctrl+Shift Clicking and dragging the Adjusts the size of The window.
mouse on an edge of the the picture
window

54
Creating Pictures

Key Sequences That Change the Picture Size

Pressing the key While... Does the And changes...


sequence... following...

None Clicking an arrow on the Scrolls the picture The viewport.


scroll bar

Tips: Sizing and Locating a Picture


The way that a picture appears in Run mode can be very different from the way it appears in Configure
mode, especially if the WorkSpace will not be full screen in Run mode. Before you create a picture,
use the following tips in Configure mode to coordinate the appearances of the picture in configure
mode and in run mode:

• If you will be using the WorkSpace full screen in Run mode, maximize the WorkSpace in
Configure mode in Classic view by selecting Full Screen from the WorkSpace menu. To
maximize the WorkSpace in Configure mode in Ribbon view, on the Home tab, in the
WorkSpace group, click Full Screen.
• Float or hide toolbars. To modify settings for toolbars, in Classic view, select the Toolbars
option from the WorkSpace menu. In Ribbon view, on the Home tab, in the WorkSpace
group, click Settings and then click Toolbars.
• Float or hide the system tree. To toggle the display of the system tree, in Classic view, select
System Tree from the WorkSpace menu. In Ribbon view, on the Home tab, in the WorkSpace
group, click Show/Hide and then click System Tree.
• Set the Windows taskbar to appear the same as when iFIX is in the run-time environment. To
toggle the display of the Windows taskbar, click the right mouse button in the taskbar and
select Properties.
TIP: For Ribbon view, to ensure access to the taskbar, after you set the toggle property,
minimize and then maximize the WorkSpace.

• Set the Status bar to the same appearance as when iFIX is in the run-time environment. To
toggle the display of the status bar, in Classic view, select Status Bar from the WorkSpace
menu. In Ribbon view, on the Home tab, in the WorkSpace group, click Show/Hide and then
click Status Bar.

If you set run-time protection to hide the title bar or the menu bar, you will not be able to set up the
configure mode to appear exactly as it would in run mode. To set run-time protection, access the
Environment Preferences tab in the User Preferences dialog box.

When you open an existing picture in Run mode, the picture will adjust to the WorkSpace run-time
preferences and settings that are currently enabled.

Controlling a Picture's Magnification


iFIX gives you many ways to change the appearance of your picture on screen or, conversely, keep it
looking exactly the same so you don't lose the perfect view. For example, you may want to magnify
your picture so that objects change size, perhaps allowing you to study them in more detail. The
following sections show you how to work with different window views.

55
Creating Pictures

Most of the functions described can be accessed using the View menu or tab, or using the picture pop-
up menu. You can also change certain picture properties using VBA. Refer to the Writing Scripts
manual for more information.

Zooming In and Out of Pictures

The viewing area of a picture is like an adjustable camera lens; it allows you to magnify or reduce the
image on the screen. Magnifying an image (zooming in) lets you work on detailed areas of your
picture. Reducing an image (zooming out) lets you work on the overall structure of the picture.

You can choose four different percentages of magnification when zooming in and out of pictures –
50%, 100%, 150%, or 200%. By default, the viewport is set at 100% view magnification, giving you
the maximum viewable amount of your picture. When you change the magnification of the picture
using the zoom function, you change the width and height of the picture's viewport, but not the size of
the objects in the picture. Objects appear to get bigger or smaller, allowing you to view more or less
detail, but they are actually the same size.

NOTE: You can accomplish the same function of a zoom by simply pressing CTRL/SHIFT while
clicking and dragging a corner of the window. This makes the object appear to change shape without
changing the viewport, just like a zoom. Refer to the Key Sequences that Change the Picture Size table
in the Determining a Window Size section.

Default View and Full View

After making changes to your window, you may decide that you prefer the original view. To restore
the original view, use one of the following methods:

• Right-click the picture and select Default View from the pop-up menu.
• Select Default View from the View menu (Classic view).
• Click View and then Default View from the Picture group on the View tab (Ribbon view).
• Your picture will appear as you originally created it before making any changes.

If you make the size of your window smaller, you can return the window to full view by selecting Full
View. The Full View function expands the size of the window and changes the viewport. You can also
perform a full view by pressing <Shift> and dragging the window to fill the screen of the window.

Fitting the Picture to Window or Window to Picture

If you adjust the window size of your picture, you may want the objects in the picture to be accurately
represented within the new window size. To fit the picture to the new window, use one of the
following methods:

• Right-click the picture name in the system tree and select Fit Picture to Window from the
pop-up menu.
• Select Fit Picture to Window from the View menu (Classic view).
• Click Window and then Fit Picture to Window from the Picture group on the View tab
(Ribbon View).
• The picture is adjusted to the new window size, so that the objects in the picture are the same
size relative to the new window.

56
Creating Pictures

To adjust the size of the window to fit as much of your picture as possible:

• right-click the picture name in the system tree and select Fit Window to Picture from the pop-
up menu,
• select Fit Window to Picture from the View menu (Classic view), or
• click Window and then Fit Window to Picture from the group Picture on the View tab
(Ribbon View)

If the viewport stretches beyond the boundary of the picture, scroll bars are added to the picture.

NOTE: Scroll bars are also added if a picture is created using the Picture wizard in Classic view and
then opened in Ribbon view. If this occurs, from the Property Window, select True for the
RecalculateViewport property.

Updating Window Location

The Update Window Location function allows you to retain a specific picture configuration,
maintaining the document, window, and viewport sizes that you create. When you open the picture
later, or switch back to the configuration environment after viewing it at run-time, the picture appears
exactly as it did on the screen when you originally created it.

In this way, Update Window Location is not the same as saving your picture. Saving alone does not
retain window properties, and does not guarantee that your picture will look exactly the same when
you re-open it again at a later date. So be sure to save your picture after you have updated the window
location to your exact specifications.

Update Window Location is an effective way to create pop-up windows for your application that
appear exactly the same, regardless of what resolution they are viewed on. To use this function,
employ one of the following methods:

• Right-click the picture in the system tree and select Update Window Location from the pop-
up menu.
• Select Update Window Location from the View menu (Classic view).
• Click Window and then Update Window Location from the Picture group on the View tab
(Ribbon View).
• Next, save your picture.

Selecting Window Properties


As discussed in the previous sections, the area of the window that you can resize is called the client
area. Essentially, the screen is the window less decorative properties, or decorations. To give your
pictures a custom design and look, you can select or modify the following window decorations:

• Title bars – Adds a title bar to your picture.


• System menus – Adds system menus to your picture.
• Sizing borders – Adds sizing borders so that you can resize (or scroll) your window.

To show or hide the decorations listed above, select or deselect the appropriate check boxes in the Edit
Picture dialog box. The window decorations enabled by default appear on the Picture Preferences

57
Creating Pictures

tabbed page when you open a new picture.

Additionally, you can add the following window properties to your picture:

• Always on Top – Configures the window so that it is always on top when you open it. You
can select this feature in the Edit Picture dialog box, from the picture preferences tab in the
User Preferences dialog box and the Property Window.
• Click and Stick Enabled – Allows you to view which objects can be selected, can perform
actions, or can have actions performed on them. You can select this feature from the picture
preferences tab in the User Preferences dialog box. You cannot select this feature from the
Property Window.
• Grid Enabled – Displays a grid on the window. You can select this feature in the Edit Picture
dialog box, from the picture preferences tab in the User Preferences dialog box and the
Property Window.
• Snap to Grid – Allows objects to snap to a grid point in a grid. You can select this feature
from the picture preferences tab in the User Preferences dialog box and the Property Window.
• Runtime Visible – Allows you to run a picture in memory without a visible display in the
run-time environment. You can select this feature in the Edit Picture dialog box and the
Property Window.
• Disable caching for this picture – allows you to disable picture caching for an individual
picture. You can select this feature in the Edit Picture dialog box. See the Using Picture
Caching section for more information about picture caching.

Each of the available 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 a window with the title bar and system menu enabled.
• Create a tool palette for operators using a window with the sizing borders and system menu
disabled.
• Create an opening title screen by creating a window with the full screen enabled, and the other
window properties disabled.
• Simulate an alarm condition where an object makes a sound when the cursor passes over an
object. Do this by creating a window with Click and Stick Enabled selected.

Creating Picture Types Using Window Properties

Use the following table as a guideline to help you define your picture properties.

Creating Picture Types Using Window Properties

To create a... Select these properties...

Dialog box Titlebar


System Menu
Resizeable

58
Creating Pictures

Creating Picture Types Using Window Properties

To create a... Select these properties...

Toolbar Titlebar
System Menu
Resizeable
Always on Top

Palette or control panel Titlebar


Always on Top

Non-movable banner Always on Top

Detail window Titlebar


System Menu
Resizeable

Pop-up alarm messages Titlebar


System Menu
Resizeable
Always on Top

Resizeable picture with hidden objects, not displayed at run-time Resizeable

For more information on the window and screen in an iFIX document, refer to the section, The
Window.

Selecting Additional Picture Properties


The User Preferences dialog box contains several additional properties you can apply to your pictures.
To access them click the Picture Preferences tab. The following properties are available in the right
column of the Properties area:

• Highlight Timeout Interval – When Click and Stick is enabled, this time period defines how
long before the highlight around an object disappears when it is not selected.
• Grid Interval – When the grid is enabled this interval, entered in logical units, determines the
distance between the dots in the grid.
• Using Click and Stick – Click and Stick allows you to view which objects can be selected,
highlighted, or modified at run-time. As the mouse moves over an object, 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 it becomes the current object. To enable or disable Click and
Stick, select or deselect the Click and Stick Enabled check box.

59
Creating Pictures

Designing Your Pictures


Developing a strategy for your pictures is a lot more than defining a picture type and window size. You
can apply many strategies to help you achieve the maximum performance from your pictures.
Employing these strategies can make your development easier and less costly.

Some of the more effective strategies you can implement include:

• Speeding development time.


• Improving performance by using the tools that iFIX gives you.
• Making the design flexible so that you can easily maintain pictures.
• Securing pictures so they are accessible to specific users.

The sections that follow describe some of the strategies that you can use.

• Design Tips
• Finding and Replacing Data in Pictures
• Using Process Assistants
• Working with Color
• Securing Your Pictures

Design Tips
We recommend that you keep the following tips in mind when designing your pictures:

• Use the tools that iFIX provides you to accomplish the job. Using the tools available to
you helps you quickly implement your process development strategy. Examples: using
Dynamo objects for common object groups; using screen regions to determine color schemes;
using Find and Replace to locate and change data; using Experts to add scripts to objects.
• Get data once. Because iFIX allows you to obtain your data from a variety of sources and use
that data throughout the open environment of the Proficy iFIX WorkSpace, you only need to
hook to that data source once. So, for example, if you want to attach a data source to many
objects in your picture, you can do so by distributing the data from one object throughout your
picture. There is no need to fetch data again or retransform that data to assign or animate
properties throughout your picture.
• Use color only when it enhances the picture and makes it easier to use. Overusing colors,
or using an ineffective color strategy, can do more harm than good to your picture design. For
help in designing a coloring strategy, refer to the Working with Color section.
• Instead of creating pictures to monitor points, use the Scheduler. Using pictures to
monitor the value of a point can be ineffective, as scripts may run continuously and never run
to completion. Rather than run a looping script, the Scheduler waits for an event to occur
before it triggers a point. For more information on the Scheduler, refer to the Mastering iFIX
manual.
• Use the extensive resources available to you for help. The Help and Information folder in
the system tree contains comprehensive information to help you learn about a concept or
perform a procedure. This information includes Automation Interfaces and Database Manager
help, as well as a complete electronic book with context-sensitive help.

60
Creating Pictures

Finding and Replacing Data in Pictures


Many process environments are expansive, and their size may require that pictures have multiple links
to many data sources. Should managers need to reroute certain data to another node, or globally change
a data source throughout a plant, they need to do so quickly, without disrupting operation or utilizing
valuable resources. The Find and Replace feature in iFIX makes this possible.

To search and replace data in your pictures, select Find and Replace from the Edit menu (Classic view)
or on the Home tab, in the Editing group, click Find and Replace, and complete the appropriate fields
on the Find and Replace dialog box. For detailed information on Finding and Replacing data, refer to
the Finding and Replacing Data section in the Understanding iFIX manual.

Using Process Assistants


Process assistants can simplify picture development. These assistants include the following:

• Wizards
• Experts
• Dynamos
• Global Subroutines
• Toolbars

For more information on how Process assistants can help you develop your pictures more easily, refer
to the Using Process Assistants to Expedite Pictures chapter.

Working with Color


Using color is an effective way to enhance your pictures. iFIX allows you to select from millions of
colors (including 24-bit), and lets you customize your colors to give you more flexibility. With iFIX
colors there are no limitations; you have all the colors you want available to all objects, all the time.
Using these colors, you can:

• View colors by name. By clicking a tab, you can view all of the available colors by name,
giving you an easy way to select across a color spectrum without choosing from a palette.
• Customize your colors. You can assign unique colors and create a custom palette. If you are
using named colors, you can give the color a specific name.
• Color as you go. Using the Color Selection dialog box, you can edit as many objects as you
like while the dialog box remains on your screen.
• Select which property you want to modify. You can select the property you want to modify
(foreground, background, or edge color).
• Animate your colors using a Color Expert. Using one of the Color Experts on the Experts
toolbar, you can animate a foreground, background, or edge color with ease.

Modal versus Modeless Color Selection

You can incorporate color to your objects in two ways:

• Selecting a fade, foreground, background, or edge color for a specific object using the modal

61
Creating Pictures

Select Color dialog box. The modal color box is used to apply a color only to the object
selected. Once you select a color, you click OK and the dialog box closes.
• Selecting a color to one or more objects, or designing a custom color set, using the modeless
Color Selection dialog box. The modeless color box is used to color as many objects as you
like, as it stays on your screen as you jump from object to object in your picture.

The following sections detail how to incorporate colors into your pictures using both methods.

Adding Colors to a Selected Object

You can specify fade, foreground, background, and edge colors using the modal Select Color box,
shown in the following figure.

This dialog box is accessed by right-clicking an object, pointing to Color and selecting Foreground,
Background, or Edge from the pop-up menu. It is also accessed when you click either the Foreground
or Fade button on the Select Color dialog box shown below. This dialog box contains two tabs that let
you choose your color from a palette or from a list of names. You select a color by either clicking the
color in the palette or by clicking the name in the list.

You can specify all of the gradient fill settings at one time using the Select FadeColor dialog box, as
shown in the following diagram.

62
Creating Pictures

The Select FadeColor dialog box is accessed by right-clicking an object, pointing to Color, and
selecting Fade from the pop-up menu. This dialog box also appears if you select Foreground from the
pop-up menu when the object's fill style is Gradient. When you click either the Foreground or Fade
color button the Select Color dialog box appears, as shown in the first diagram above.

Default color selections appear in the Shape Preferences tabbed page of the User Preferences dialog
box.

NOTE: You can also specify a background color for your picture using the Edit Picture dialog box or
Shape Preferences tabbed page. For more information, refer to the Setting the Picture Background
and Fade Colors section.

Adding Colors to Multiple Objects

You can specify foreground, background, and edge colors to as many objects as you like using the
modeless Color Selection box, shown in the following figure.

63
Creating Pictures

Because the Color Selection box remains on your screen as you add or modify objects in your picture,
you can make changes to your objects without having to exit and re-enter the dialog box. To access the
Color Selection dialog box, click the Color button on the Tools toolbar (Classic view) or on the Format
tab, in the Styles group (Ribbon view) or the Toolbox, if enabled.

The Color Selection dialog box contains two tabs that allow you to display the default system colors in
either a color palette or a list. To select a color, click a color in the palette or click a name in the list.

The ColorSet field displays the current default color set being used, and it also contains any custom
sets you may have created. You can create a new custom set from the list provided, or create your own
custom set using a customized palette. All palettes are automatically saved when the Proficy iFIX
WorkSpace shuts down.

In the Property field, you can choose the foreground, background, or edge property to assign to the
selected color. That property changes when you change a color in the dialog box.

Using Custom Colors in Duplicated Objects

If you tie a custom color to the foreground of an object and duplicate the object, the custom color link
will not be retained in the duplicates of the object. The duplicates will only take the color of the custom
color at the time they were duplicated, future changes to the custom color will only update the original
object.

Using Named Colors

Each color in the color box is named based on its location in the color spectrum. Changing a color in a
palette changes the name of that color in the name list. When creating custom color sets, you can
assign custom names to colors. Each color name appears in a list, allowing you to select across
multiple palettes quickly and easily. If an object uses a named color and the color is deleted or
renamed, the object reverts to the 24-bit color value.

The list of named colors is saved when the Proficy iFIX WorkSpace shuts down.

Using the Edit Color Palette

The Edit Color palette is a grid of colors ranging from red to violet that let you select a custom color of

64
Creating Pictures

your choice. You can select any color from the palette by clicking the mouse. A four-mark cursor
appears.

The slider to the right of the matrix is called a mixer bar. To specify the shade of the color spectrum
you selected in the matrix, adjust the mixer bar. A black arrow appears next to the area you have
selected. You can also change the shade of the color by adjusting the mixer bar up and down, as the
following figure shows.

Using the Color Experts

Color Experts are convenient process assistants that help you easily animate colors of your objects. By
entering a data source and specifying certain options, you can make foreground, background, or edge
colors behave in a way that benefits your process application. For information on the dialog fields on
the Expert, click Help on the dialog box. For more details on the Experts that iFIX provides, refer to
the Using Process Assistants to Expedite Pictures chapter.

Applying Background Colors

When specifying background colors for your objects, be aware that certain colors or fill patterns may
not work effectively, as they may be hidden or offset by the foreground. You can also set a background
color for your pictures. For more information, refer to the Setting the Picture Background and Fade
Color section.

Securing Your Pictures


iFIX's picture protection prevents unauthorized users from accessing or modifying pictures, or
performing unauthorized actions on the pictures. To configure security for your picture, enter a
security area in the Properties window. For more information on configuring security for your specific
environment, refer to the Implementing Security manual.

65
Creating Pictures

Secure Containment

iFIX offers a unique security feature called secure containment, which protects your pictures in the
Proficy iFIX WorkSpace in the event that a third-party control fails.

For example, if you add an OCX to your picture in the Proficy iFIX WorkSpace, and the OCX crashes,
an exception is created. The Proficy iFIX WorkSpace detects this exception and isolates it so that your
system keeps running. By securing your application as part of the Proficy iFIX WorkSpace, iFIX
ensures that your pictures are saved even during an unlikely, yet potentially troublesome, event.

Using the Create Picture Wizard


iFIX provides the Create Picture wizard to allow you to more easily step through some of the details
inherent in creating pictures. Although the underlying picture properties are the same whether you
create pictures manually or use the wizard, you can use the Create Picture wizard to easily generate
pictures of a particular size, location, or configuration. You can access the Create Picture wizard by
clicking the Create Picture button on the Toolbox.

The sections that follow describe the aspects of the Create Picture Wizard.

• Accessing the Create Picture Wizard


• Types of Pictures in the Create Picture Wizard
• Overview of the Create Picture Wizard Process

Special Considerations

It is recommended that you ensure the following characteristics are the same for both the machine on
which you create the pictures and the machine on which you deploy the pictures:

• Monitor resolution
• Desktop Theme (especially for users who have a mixed Windows environment)
• Font
• WorkSpace Full Screen in Run Mode
• UI configuration (Title bar height, window border size, status bar)
• Environment Protection settings (title bar, menu bar)

After you have created a picture with the Create Picture Wizard, you will need to understand the
concepts found in the following sections to resize, relocate, or change the attributes of the picture:

• What Makes Up Your Picture


• Planning Your Pictures
• Designing Your Pictures

Accessing the Create Picture Wizard


You can access the Create Picture wizard from the File menu (Classic View only), from the Ribbon
(Ribbon view only), from the Task Wizard, and on several toolbars. The following table lists the most

66
Creating Pictures

common ways to access the Create Picture wizard:

From the... Do this...

Menu Bar Select New from the File menu, then select Picture from the New list.
(Classic view
only)

Ribbon Click the WorkSpace button, select New, and then click Picture.
(Ribbon view
only)

System Tree Click the right mouse button on the Pictures folder in the System tree.

Task Wizard Click the Task Wizard button from the Standard toolbar. Select Picture from the
Task Categories list box. Select Create Picture Wizard from the Tasks list.

Experts Click the Create Picture Wizard button from the Experts toolbar.
Toolbar

Standard Click the Create Picture Wizard button from the Standard toolbar.
Toolbar

Toolbox Click the Create Picture Wizard button from the Toolbox.

NOTE: To access the Create Picture wizard from the Menu Bar, the Ribbon, the System Tree, or the
Standard toolbar, you must have the Show Picture Wizard from New Picture Menu check box enabled.
You can enable this option in the Picture Preferences tab of the User Preferences dialog box.

Common Elements of the Create Picture Wizard

As you can see in the Introduction Page of the Create Picture Wizard, there are several elements of the
Create Picture wizard that you will see on every page, including the following:

Preview Pane – Shows a picture configuration based on the currently selected options.

Help Button – Launches the Help topics for the Create Picture wizard.

Cancel Button – Exits the Create Picture wizard without creating any new pictures, or changing
WorkSpace appearance.

Previous Button – Returns you to the previous page in the wizard.

Next Button – Sends you to the next page in the wizard.

Finish Button – Creates the new pictures that you have specified, and sets the WorkSpace
appearance as you have specified. This button is only enabled when the wizard has enough

67
Creating Pictures

information to successfully create new pictures.

Types of Pictures in the Create Picture Wizard


There are three types of pictures that you can create using the Create Picture wizard:

• Pictures from a Predefined Configuration


• Custom Picture
• Default Untitled Picture

Pictures from a Predefined Configuration

Many implementations of iFIX require a configuration of pictures that need to occupy certain areas of
the screen. These pictures have different uses; some of the pictures within the configuration may be
standard across the installation, and some of the pictures may differ depending on the node or the day.
The Create Picture wizard provides you with a number of predefined configurations, which you can
modify to suit your needs. Each configuration consists of some combination of the following default
pictures:

Main – Occupies the entire client screen space, excluding any application title bars, menu bars,
headers, footers, and left navigation pictures. You can use the sizes tab to change the
height, width, and position of this picture.

Header – Runs across the top of the configuration. You can change the height of this picture.

Footer – Runs across the bottom of the configuration. You can change the height of this picture.

Left – Runs along the left side of the configuration. You can change the width of this picture.

Faceplate – Typically used as a pop-up or informational window. You can select the screen
location of this picture, but the size is controlled by the configuration. This picture is
created separately from the other default pictures.

Additionally, the Create Picture wizard now provides two predefined configurations for the most
common handheld device screen resolutions: 240x320 and 320x240. These forms are specifically
designed for handhelds that have Terminal Services capabilities. For more information on using them
with Terminal Server, refer to Optimizing New iFIX Pictures for Use with Terminal Service Capable
Devices.

Once you have created pictures of the correct size and shape, you can use them as templates. You can
open them, edit them, and save them as different pictures to suit your needs.

Custom Picture

When you choose to create a custom picture, you can set all the properties for that picture as you step
through the wizard. The end result is a single picture of the size, location, and name that you define in
the Create Picture wizard.

68
Creating Pictures

Default Untitled Picture

Select this option to create the same picture that would ordinarily be created in the WorkSpace if you
did not have the Create Picture wizard enabled. This picture will take on the size and properties that
are currently set in the WorkSpace, and named Untitled.

Overview of the Create Picture Wizard Process


The Create Picture wizard allows you to select the type of picture that you want to create, configure the
WorkSpace settings for the way you want it to appear in run mode, and then specify the attributes, size,
and location of each picture. The pictures are created in configure mode and added to the system tree.
This section provides an overview of the process.

When you invoke the Create Picture wizard, the Introduction page appears, as shown in the following
figure. On this page, you select the type of picture that you want to create. You also can elect to exit
the wizard and disable its access from the menu bar, the system tree, and the Standard toolbar. For a
description of each type of picture, see the Types of Pictures in the Create Picture Wizard section.

Introduction Page of the Create Picture Wizard

After you complete the Introduction page and click Next, the WorkSpace Appearance page appears, as
shown in the following figure. This page allows you to set the visibility of the Title Bar, the Menu Bar,
and the Status Bar in run mode, and whether the WorkSpace will be full screen in run mode.

NOTE: This page only appears if you selected the Show WorkSpace Appearance Page check box on
the Introduction page.

69
Creating Pictures

WorkSpace Appearance Page of the Create Picture Wizard

If you change the settings on this page, the WorkSpace preferences are automatically updated in your
system when you exit the wizard. You should only need to complete the WorkSpace Appearance page
once. The next time you use the Create Picture wizard, you can clear the check box on the Introduction
page for Show WorkSpace Appearance Page. For more information on setting WorkSpace preferences,
refer to the Setting User Preferences section in the Understanding iFIX manual.

The wizard then steps you through other pages, depending on whether you are creating a custom
picture or pictures from a predefined configuration. These pages allow you to specify the size, location,
attributes, and filename of each picture you create.

Once you have completed the picture specification pages, the Summary page appears, as shown in the
following figure. This page presents a layout preview of the pictures you are creating, and lists the
filename of each picture. From this page you can return to the picture specification pages, or click
Finish to generate the pictures and add them to the system tree.

70
Creating Pictures

Summary Page of the Create Picture Wizard

For information about modifying the attributes of pictures once you have created them, refer to the
Using Basic Functions in Pictures section.

How Do I...
In the Proficy iFIX WorkSpace, you can perform the following steps with the Create Picture Wizard:

• Accessing the Create Picture Wizard


• Creating Pictures with the Create Picture Wizard
• Creating Pictures from a Predefined Configuration
• Modifying a Predefined Configuration
• Creating Pictures with a Custom Configuration
• Changing the Attributes of Predefined Pictures
• Changing the Dimensions of Predefined Pictures

Accessing the Create Picture Wizard

To access the Create Picture Wizard:

• Use any of the following methods in the iFIX WorkSpace to access the Create Picture Wizard:
• Menu Bar – On the File menu, point to New and then click Picture (Classic View

71
Creating Pictures

only).
• Ribbon – Click the WorkSpace button, select New, and then click Picture (Ribbon
View only).
• System Tree – Right-click the Pictures folder in the System tree and select New
from the pop-up menu.
• Task Wizard – Click the Task Wizard button on the Standard toolbar, select Picture
from the Task Categories list box, then select Create Picture Wizard from the Tasks
list.
• Experts Toolbar – Click the Create Picture Wizard button on the Experts toolbar.
• Standard Toolbar – Click the New Picture button on the Standard toolbar.
• Toolbox – Click the Create Picture Wizard button on the Toolbox.
NOTE: To access the Create Picture Wizard from the Menu Bar, the Ribbon, the System Tree,
or the Standard toolbar, you must have the Show Picture Wizard from New Picture Menu check
box enabled on the Picture Preferences tab of the User Preferences dialog box.

Creating Pictures with the Create Picture Wizard

To create pictures with the Create Picture Wizard:

1. Maximize the Proficy iFIX WorkSpace.


2. In Classic view, click the New Picture button on the Standard toolbar.
-Or-
In Ribbon view, click the WorkSpace button, select New, and then click Picture.
The Create Picture Wizard appears.
If the Create Picture Wizard does not appear, you may need to enable the Create Picture
Wizard:

a. In Classic view, select User Preferences from the WorkSpace menu.


-Or-
In Ribbon view, on the Home tab, in the WorkSpace group, click Settings, and then
click User Preferences.
b. Select the Picture Preferences tab from the User Preferences dialog box.
c. Select the Show Picture Wizard from New Picture Menu check box.
3. Select the type of picture configuration you want to create. The Create Picture Wizard allows
you to create the following types of pictures:
• Create Picture(s) from a Predefined Configuration
• Create a Custom Picture
• Create a Default ‘Untitled’ Picture (When you select this option and then the Finish
button, the wizard exits and creates a picture the current size of your WorkSpace.)
4. Select or clear the Show WorkSpace Appearance Page check box and then click Next. If you
selected this check box, the WorkSpace Appearance page appears. If you cleared the check
box, go to step 6.

72
Creating Pictures

5. Set the options on the WorkSpace Appearance page.


This page configures general properties for new pictures. It only needs to be accessed once
per WorkSpace session.

6. The next pages in the Wizard depend on the type of picture you chose to create. Follow the
procedures associated with Step 3.
7. Click Next. If you are creating pictures from a predefined configuration, select which of the
pictures in the configuration you want to create, and specify the filename for each picture on
the Select Filenames page.
• To disable a picture, clear the check box next to the generic name. Disabled pictures
will not be created.
• Enter a filename in the field next to each enabled picture.
• If you are creating a custom picture, enter a filename in the Custom field.
8. Click Next. The Summary page lists the configuration name, the generic pictures that will be
created when you click Finish, and the filename of each picture.
9. Optionally, select the Do Not Show Wizard check box to prevent the wizard from running the
next time you select New Picture from the File menu.
10. Click Previous to change your pictures, or Finish to exit and add the new picture files to your
system tree.

Creating Pictures from a Predefined Configuration

To create pictures from a predefined configuration:

1. In Classic view, in the iFIX WorkSpace, click the New Picture button.
-Or-
In Ribbon view, click the WorkSpace button, select New, and then click Picture.
2. On the Introduction page, select Create Picture(s) from a Predefined Configuration. Click
Next. The Choose Configuration page appears.
NOTE: If you selected the Show WorkSpace Appearance Page check box on the Introduction
page, the WorkSpace Appearance page appears before the Choose Configuration page.

3. Select a picture configuration from the list.


4. Click the Modify Configuration button to customize the predefined configuration, if needed.
The Modify Configuration dialog box appears. Make the modifications and return to the
Choose Configuration page.
5. Click Next. The Select Filenames page appears.
6. Select which of the pictures in the configuration you want to create and specify filenames for
those pictures.
• To disable a picture, clear the check box next to the generic name. Disabled pictures
will not be created.
• Enter a filename in the field next to each enabled picture.
7. Click Next. The Summary page lists the name of the predefined configuration, the generic
pictures that will be created when you click Finish, and the filename of each picture.

73
Creating Pictures

8. Optionally, select the Do Not Show Wizard check box to prevent the wizard from running the
next time you select New Picture from the File menu.
9. Click Previous to change your configuration, or Finish to exit and add the new pictures to
your system tree.

Modifying a Predefined Configuration

To modify a predefined configuration:

1. In the Create Picture Wizard, from the Choose Configuration page, click the Modify
Configuration button. The Modify Configuration dialog box appears.
NOTE: The Create Picture Wizard's Choose Configuration page is only available if you
select Create Picture(s) from a Predefined Configuration in the Introduction page.

2. On the Attributes tab, select the attributes for each picture within the configuration.
3. On the Sizes tab, change the size or position of each picture.
4. To save your modified configuration, select one of the following options:
• Save – Saves the changes for this picture only.
• Save As – Saves the current options as a new configuration. When you select this
option, the Enter New Configuration Name dialog box appears. Enter the name for
the new configuration (up to 80 characters) in the Name field, then click OK to
return to the Modify Configuration dialog box.
5. Click Return to Wizard. If you have unsaved changes, choose whether you want to save them
or not. Click Yes to save the changes for this picture only, or click No to cancel the changes
you made to the configuration and reset the attributes and sizes to their previous settings
6. The Choose Configuration page of the Create Picture Wizard reappears. Notice that the name
you entered (if you saved the configuration under a new name) is displayed in the list on the
Choose Configuration page.
TIP: If you mistakenly save a predefined configuration, select the unwanted configuration
from the list on the Choose Configuration page and click Delete Configuration.

Creating Custom Pictures

To create a custom picture:

1. In Classic view, click the New Picture button on the Standard toolbar.
-Or-
In Ribbon view, click the WorkSpace button, select New, and then click Picture.
2. On the Introduction page, select Create a Custom Picture.
NOTE: If you selected the Show WorkSpace Appearance Page check box on the Introduction
page, the WorkSpace Appearance page appears before the Choose Configuration page.

3. Select either of the following options:


• Use Specified Dimensions
• Use Dimensions of Existing Picture

74
Creating Pictures

4. Click Next.
5. Select the attributes that you would like for the picture.
6. Click Next.
7. Specify a filename for the picture, then click Next. The Summary page lists the filename of
the picture that will be created when you click Finish.
8. Optionally, select the Do Not Show Wizard check box to prevent the wizard from running the
next time you select New Picture from the File menu.
9. Click Previous to change your picture, or Finish to exit and add the new picture to your
system tree.

Changing the Dimensions of Predefined Pictures

To change the dimensions of predefined pictures:

1. In Classic view, in the iFIX WorkSpace, click the New Picture button on the toolbar.
-Or-
In Ribbon view, click the WorkSpace button, select New, and click Picture.
2. Proceed through the Create Picture Wizard until the Choose Configuration page appears.
NOTE: You must select Create Picture(s) from a Predefined Configuration from the
Introduction page to be able to change the attributes of predefined pictures.

3. On the Choose Configuration page, click the Modify Configuration button.


4. From the Sizes tab, select a predefined picture, then edit the active fields for that picture.
There are only certain fields that you can change for each predefined picture. The following
list indicates the active fields for each predefined picture:

• Main – top, left, width, or height


• Header – height
• Footer – height
• Left Navigation – width
5. For Faceplate pictures, select the location of the picture on the screen, as shown in the icons
on the Sizes tab. There is no resizing available for faceplates.
Each picture within a predefined configuration is dependent on the other pictures. If you
change the dimensions of one picture, the adjacent pictures automatically change their
dimensions to remain adjacent. The configuration as a whole also continues to occupy the
entire screen.

For example, the Header picture is adjacent to the Main picture along the top of the Main
picture. If you change the height of the Main picture, the bottom border of the Header picture
remains adjacent to the top border of the Main picture, and the height of the Header stretches
to occupy the space from the top of the screen to the top of the Main picture.

75
Creating Pictures

Changing the Attributes of Predefined Pictures

To change the attributes of predefined pictures:

1. In Classic view, in the iFIX WorkSpace, click the New Picture button on the toolbar.
-Or-
In Ribbon view, click the WorkSpace button, click New, and click Picture.
2. Proceed through the Create Picture Wizard until the Choose Configuration page appears.
NOTE: You must select Create Picture(s) from a Predefined Configuration from the
Introduction page to be able to change the attributes of predefined pictures.

3. On the Choose Configuration page, click the Modify Configuration button.


4. From the Attributes tab, select a predefined picture, then enable or clear the check boxes for
the following attributes:
• Show Title Bar – Adds a title bar to your picture.
• Show System Menu – Adds system menus to your picture.
• Resizable – Adds sizing borders to the picture.
• Always on Top – Configures the window so that it is always on top when you open
it.
• Allow this picture to be cached – Configures the window so that when it is opened
and closed it is held in memory and, when reopened, is read from memory.
5. Click the Background Color button to set the actual background color of the picture. This
color will not appear in the preview pane, since the colors in the preview pane are used only
in the Create Picture Wizard.

Working with Other Applications


The open architecture of iFIX lets you easily incorporate features of external applications. The
following sections detail how to add other applications into iFIX pictures.

• Working with ActiveX Controls


• Working with Bitmaps
• Working with Windows Metafiles
• Creating Alarms Using Pictures

Working with ActiveX Controls


iFIX graphics are created and saved as ActiveX documents, which allows you to view your pictures in
any application that supports ActiveX controls, such as the Proficy iFIX WorkSpace or Internet
Explorer. In fact, you can think of the Proficy iFIX WorkSpace simply as a container for ActiveX
controls.

76
Creating Pictures

Working with Bitmaps


You can import bitmaps from another drawing application directly into a picture. Once a bitmap is
pasted into your picture, you can work with the image as you would any iFIX object. In fact, you have
additional options for a bitmap. When you right-click a bitmapped object, you can select the operations
listed in the following table.

Bitmap Operations Available Through the Pop-Up Menu

Use this To...


Operation...

Animations Animate a bitmap using the Animations dialog box.

Undo Cancel the previous operation.

Cut Remove the bitmap from the picture and places it into the clipboard.

Copy Copy the bitmap to the clipboard.

Delete Remove the bitmap from the picture.

Duplicate Create a duplicate copy of the bitmap and place it slightly offset from the
original.

Group Combine one or more bitmaps into one grouped object.

Bring to Front Move the selected bitmap to the front or top of the picture.

Send to Back Move the selected bitmap to the back or bottom of the picture.

Load Image Load a primary or secondary bitmap, either from a file or from the
clipboard, that can be displayed in your picture.

Enable/Disable Enables or disables the Transparency property in the bitmap.


Transparency

Transparent Color Assign a color to the Transparency of the bitmap.


If you have your display configured for true colors, transparent bitmaps may
not display properly. This may be related to the type of video card in your
PC. To avert this problem, change your Windows display settings to 65536.

Button Styles Assign a button style (No Button, PushButton, or MultiState) to the bitmap.

77
Creating Pictures

Bitmap Operations Available Through the Pop-Up Menu

Use this To...


Operation...

Edge Style Assign an edge style (None, Sunken, Raised, Etched, Bump) to the bitmap.

Edit Script Open the Visual Basic Editor, which allows you to edit Visual Basic scripts.

Property Window Display the Properties Window, which allows you to view and change
property values.

Let's say you want to import a bitmap, and then be able to easily view a different image related to the
first. You can do this using the Load Image operation from the bitmap's pop-up menu as follows:

To use the Load Image operation:

1. In Classic view, on the Shapes toolbar, click the Bitmap button, if enabled.
-Or-
In Ribbon view, on the Format tab, in the Insert group, click Objects/Links and then click
Bitmap.
-Or-
If the Toolbox is enabled, click the Bitmap button on the Toolbox.
2. Select the desired directory and bitmap and click Open. The image is added to the picture with
object handles.
3. With the image selected, right-click the mouse and select Load Image - Secondary from the
object's pop-up menu.
4. Select the file from the Open File dialog box, and click Open.
5. To switch from one image to another, right-click the bitmap and select Display Primary or
Display Secondary from the pop-up menu.

Bitmaps can also be resized. To resize an imported bitmap, select it and then drag one of the sizing
handles in any direction. Bitmaps can be resized with little or no loss in picture quality.

NOTES:

• You can copy another object as a bitmap and paste it into another graphics application such
as Microsoft Paint, or copy and paste an existing object as a bitmap. You can also change the
properties of a bitmap by selecting the bitmap, and then selecting a property from the Object
menu.

• Bitmaps up to 24-bit graphics resolution are supported. If a picture contains a large 24-bit
bitmap, there may be a short delay when opening the picture in iFIX.

78
Creating Pictures

Working with Windows Metafiles


Another powerful feature of iFIX is that it lets you directly import Windows metafiles (files with the
extension .WMF) into your picture. When importing metafiles, you can improve your performance by
copying the object as a bitmap and then pasting it into the picture. Refer to the Working with Bitmaps
section for more information on how to do this. The bitmap will use much less system memory than
the metafile.

Creating Alarms Using Pictures


You can create pictures to monitor and display alarm conditions. For example, using animations and a
color by alarm strategy, you can set up thresholds to visually alert an operator that a data source is in a
particular alarm state.

For more information, refer to the Animating Object Properties chapter. Refer to the Implementing
Alarms and Messages manual for detailed information on how to employ an alarming strategy.

Optimizing Picture Performance


iFIX provides you with a performance-oriented picture development tool that is open and easy to use.
Because it is an event-driven system, iFIX does not allocate memory or use processor speed when it is
not necessary. When an event occurs, only then does the system access the CPU. This makes the
drawing environment of iFIX more efficient. You can draw a shape and link it to a live I/O source in a
matter of seconds. And, using the design considerations outlined in the previous section, you can save
even more time in your development and implementation.

Still, external to iFIX software, there are some guidelines that you should abide by to make iFIX
perform more effectively for your specific needs.

The two easiest ways to optimize the performance of your pictures are to make your pictures open
faster and update faster. Common to both attributes are:

Processor Speed – The faster the machine's processor, the faster your applications perform.

RAM – To avoid disk swapping, your computer must have enough memory to contain all
applications, databases, and cached pictures. If the computer does not have enough
memory, Windows swaps the applications to disk.

To optimize the speed at which iFIX initially displays pictures, iFIX includes a Resolve feature,
described in the Resolving Pictures section that follows. To further optimize the speed at which your
pictures are dynamically updated based on changes in process conditions, try doing one or more of the
following:

• Use computers that have a local bus video.


• Update to a faster graphics card, if necessary.
• Avoid blinking alarms. For more information, refer to the Blinking Alarms section.
• Use exception-based processing in your database.
• Change the refresh rate. For more information, refer to the Increasing the Refresh Rate section
in the Setting up the Environment manual.

79
Creating Pictures

Resolving Pictures
Database information for each data source in a picture is saved as part of the picture file on disk. When
a picture is displayed in the run-time environment, and the database information is not up-to-date, iFIX
queries the database and resolves the tag definitions. This can be a time-consuming process which
slows the opening of the picture.

Resolving pictures removes the need for iFIX to query the database. Therefore, resolved pictures open
faster in the run-time environment. The Resolve feature is available for both pictures and schedules,
and can be accessed using the Utilities toolbar or the Picture category of the Task Wizard (Classic
view), or on the Applications tab, in the Utilities group, in the Utilities list (Ribbon view).

When you resolve a picture that requires autoscaling, the iFIX Resolve Task Wizard now opens the
picture while resolving.

NOTE: If you delete tags from the process database after you resolve a picture, you need to run
Resolve again.

Blinking Alarms
Instead of using blinking alarms, use a color-by alarm or color-by value strategy to indicate alarm
status. Blinking is a very time-intensive operation because the blinking object and the surrounding
objects need to be redrawn each time the picture is refreshed at the specified picture refresh rate, even
though the information in the object has not changed. For more information on employing a color-by
alarm strategy, refer to the Implementing Alarms and Messages manual.

Using the Picture Converter Utility


You can update pictures from previous versions of the FIX to iFIX Version 2.5 and later, using the
Picture Converter utility. This utility (PictureConverter.exe) is installed along with the iFIX product.
To use this utility, open the Migration Tools toolbar.

You can update pictures from the following versions with this utility:

• FIX 5.65
• FIX 6.0
• FIX 6.12
• FIX 6.15
• FIX v7.0

The following sections detail how to use the Picture Converter utility.

• Running Picture Converter


• Updating Picture Components
• Reusing FIX32 Command Buttons in iFIX

For more information on the Picture Converter and other migration tools, refer to the Migrating from
FIX32 to iFIX guide (MG.chm). The MG.chm file can be found on your iFIX product DVD in the
MigrationTools folder, or with your installed iFIX documentation. By default, this folder is:

80
Creating Pictures

C:\Program Files\Proficy\ProficyDoc\1033\iFIX.

Running Picture Converter


The Picture Converter converts FIX32 .ODF files into iFIX compatible .GRF files. The steps below
describe how to run the Picture Converter.

For more information on the Picture Converter and other migration tools, refer to the to the Migrating
from FIX32 to iFIX guide (MG.chm). The MG.chm file can be found on your iFIX product DVD in
the MigrationTools folder, or with your installed iFIX documentation. By default, this folder is:
C:\Program Files\Proficy\ProficyDoc\1033\iFIX.

To run the Picture Converter:

1. On the Migration Tools toolbar, click the Picture Converter button, the second button on the
toolbar. The Picture Converter appears.
2. On the File menu, click Set Destination Directory. Or, you can click the Set Destination
Directory button on the toolbar. The Destination Registry dialog box appears.
3. Enter or Browse for the iFIX PIC folder. If you installed iFIX to the default location, the path
to this folder is C:\Program Files\Proficy\Proficy iFIX\PIC.
4. Click OK.
5. On the File menu, click Open ODF File to Convert. Or, you can click the Select ODF Files
button on the toolbar. The Select Picture Files for Conversion dialog box appears.
6. Select the ODF file(s) for the FIX picture(s) that you want to convert, and click Open. A
message box appears requesting a color palette selection.
7. If you have a custom color palette stored as a .PLT file, click Custom to select it. Otherwise,
click Default. The picture conversion process begins.
8. The overall progress is tracked in the status bar, and messages appear in the bottom half of the
screen as the conversion completes. Additionally, error and warning information is written to
the PictureName.log file, where PictureName refers to the actual name of the picture file.

Updating Picture Components


The following list describes the picture components that are converted, as well as the picture
components that are not converted.

Only MultiPen charts will be converted – since only MultiPen charts exist in the iFIX object set,
any other type of chart contained in a 6.x picture will be ignored. More specifically, the
following charts will be ignored: Multi-bar, XY Plot, X-Bar, R-Bar, S-Bar, and Histogram
charts. A warning will be logged.

Tag Groups and variable references are not converted – the object and its dynamic property
will be created in the new iFIX picture, but the animation will be tied to a data source that
doesn't exist. A warning will be logged.

Command language code will not be converted to Visual Basic code – command language
scripts will be pasted into the appropriate event on the iFIX object. Each line will be
commented out since the code will undoubtedly not compile under Visual Basic. You will

81
Creating Pictures

have to manually upgrade your scripts to VB code.

Alarm Summary objects are converted without properties – Alarm Summary objects will be
created in the new iFIX picture and correctly placed, but the other properties such as Node,
Filtering, etc. will not be converted. A warning will be logged.

Charts with no pens will not be converted – if a chart exists that no pens can be created for,
because the sources of the pens could not be connected to or because of other problems, the
chart will not be created in the new iFIX picture. A warning will be logged.

Dynamo Sets must be upgraded by the user – to upgrade a 6.x Dynamo Set, the user must first
rename the set to have the picture .odf extension. Use the Picture Converter utility to
upgrade the renamed Dynamo Set. All the prompts will be lost. Open the new iFIX picture
containing the Dynamo objects and drag them into a new iFIX Dynamo Set.

Group tags are not upgraded – the Group Tag property of groups in 6.x pictures will be ignored
when creating the group in the new iFIX picture.

Tag Group conversion – the first character of tag groups will be changed from a `?' to a `@' to
correspond with the new iFIX naming convention.

Picture properties Grid Settings and Security Area are not converted.

Numeric data entry is the only type converted – Datalinks using other types of data entry will
be converted to datalinks using numeric data entry. iFIX does not convert any other types of
data entry for datalinks. This includes slider entry, pushbutton entry, and ramp value entry.

Datalink Setpoints are converted to comments within VBA click events – to complete the
conversion, examine the comments and add the appropriate VBA code to handle these
parameters.

DataLink SQL open script is not converted.

DataLink Controllable property is not converted – there is no mapping property in iFIX.

Font size may appear 1 pt smaller – in some cases font size will appear 1 pt smaller in the new
iFIX picture.

Text on buttons may be clipped – since the space allowed for text in 6.x buttons and iFIX
buttons differs greatly, text in iFIX buttons may be clipped. You can fix this by making the
button bigger or making the font smaller.

Flash on new alarm for datalinks is not converted.

Reusing FIX32 Command Buttons in iFIX


When converting pictures created in FIX32 and earlier, command buttons are converted automatically
to bitmap buttons in iFIX. Because the caption of the new buttons is a bitmap instead of text, keep the
following in mind:

• To avoid distortion of the caption text, create a new iFIX button instead of resizing a bitmap

82
Creating Pictures

button.
• To use a picture containing a bitmap button on screens of different resolutions, convert a new
picture for each resolution.
• To make a bitmap button always appear on top, stack the button object so that it is on the top.

Using Picture Caching


iFIX provides a picture caching capability that optimizes the performance of the WorkSpace when
opening pictures by eliminating the need for picture files to be read from the disk drive. Instead,
pictures that have been previously opened and closed are held in memory and, when reopened, are read
from memory.

With picture caching, you can:

• Preload pictures that will always remain in the cache.


• Set the number of pictures to be reopened from the cache.

There are two types of pictures you can cache: run-time pictures and preload pictures. Run-time
pictures are loaded into the cache when they are closed. When the number of cached pictures exceeds
the cache size setting, the oldest picture is dropped from the cache and is replaced with the most
recently closed picture. Preload pictures are loaded when the WorkSpace is started and have a property
of AlwaysLoaded. They are never dropped from the cache while you are in run mode.

In a new installation of iFIX, picture caching is enabled by default with a picture count of five. In
upgrades to iFIX 2.5 and later, picture caching is not enabled by default.

• System Requirements
• Enabling Picture Caching
• Preloading Pictures
• Run-time Pictures

System Requirements
System requirements for picture caching depend on the number of pictures you choose to cache.

The current version of iFIX requires 128 megabytes of physical memory to run. However, as your
cache size increases, your memory requirements will increase. Use the following as a guide for
memory requirements when caching pictures. Memory should increase:

• 2 to 3 times the file size for each picture that does not include bitmaps and controls.
• 3 to 4 times the file size for each picture that includes bitmaps and controls.

For example, a 2 megabyte file that does not include bitmaps and controls requires a 4 to 6 megabyte
increase in memory. A 2 megabyte file that includes bitmaps and controls requires an increase in the
memory of 6 to 8 megabytes.

83
Creating Pictures

Enabling Picture Caching


You must enable picture caching in order to preload pictures into the cache or to cache pictures at run
time. You enable picture caching in the User Preferences Dialog box, shown in the figure below.

If you disable picture caching, the most recently used cache is disabled, no pictures will be preloaded,
and all pictures will be fully closed when the file is closed.

NOTE: Picture caching, by default, is disabled when you upgrade from a previous version of iFIX to
the current version. If you are installing iFIX 2.6 or later for the first time, picture caching, by default,
is enabled, with a default cache size of five.

Most users will not notice any difference in the way the system behaves with cache enabled. However,
if you have done extensive VBA scripting in your application, there will be a few minor differences in
the system behavior. If you are upgrading from a previous version of iFIX, you should review and
understand these changes before enabling picture caching. See the Making Changes to Pictures at Run
Time section of this document for more information.

84
Creating Pictures

Enabling Picture Cache

Preloading Pictures
You can preload frequently used pictures directly into the picture cache when the WorkSpace starts in
run mode. In order to do this, you need to modify the FixUserPreferences.ini file, located in the
C:\Program Files\Proficy\Proficy iFIX\LOCAL directory. Use a text editor to modify this file. The
following two configuration parameters are located in the [AppPreloadPicturePreferences] section of
the FixUserPreferences.ini file. These parameters are required to preload pictures.

TotalPreloadPicturePath=<nn>

85
Creating Pictures

PicturePath#0=Firstpicture.grf

TotalPreloadPicturePath indicates the number of pictures you want to preload in the cache.
PicturePath#N indicates the file name of each picture you want to preload. For example, to preload two
pictures into the cache, enter the following lines to the FixUserPreferences.ini file:

[AppPreloadPicturePreferences]

TotalPreloadPicturePath=2

PicturePath#0=Firstpicturename.grf

PicturePath#1=Secondpicturename.grf

NOTE: The WorkSpace will only preload pictures when picture caching is enabled and the Start
WorkSpace in Run mode check box is enabled. WorkSpace does not preload pictures when switching
from configure mode to run mode.

Ensure that the number of pictures you enter to preload in the FixUserPreferences.ini file does not
exceed the Cache Size you have set in the WorkSpace User Preferences dialog box.

Save and close the FixUserPreferences.ini file after making your changes. Restart the WorkSpace to
load the new preferences settings.

Preloaded pictures are designated as always loaded by definition. They will not be dropped from the
cache while you are in run mode. Displays are preloaded only when the WorkSpace is initially started
in run mode.

Run-time Pictures
At run time, you can also cache pictures that you open and then close.

When picture caching is enabled, the WorkSpace maintains a list of the most recently closed files.
When you close a file, that document is placed on the list of most recently closed files. If this list of
closed files exceeds the cache size, the first file closed is unloaded from memory and completely
closed. However, preloaded pictures are not dropped from the cache. You can view a list of cached
pictures by pressing Ctrl + Shift + C. The following figure shows the picture caching process.

86
Creating Pictures

How Picture Caching Works

NOTE: You cannot delete a picture that is closed into the cache. You must wait until that picture is
dropped or flushed from the cache before deleting.

Picture Caching only functions when the WorkSpace is in run mode. If you switch to configure mode,
the most recently closed cache is flushed and any files in the cache are fully closed. All preloaded
pictures in the loaded state are then closed. If you switch back to run mode, pictures in the preload list
are not loaded into memory.

If you disable picture caching, the most recently used cache is disabled, no pictures are preloaded, and
all pictures are then fully closed when the file is closed.

Making Changes to Pictures at Run Time


During run time, VBA allows you to write a script to change the properties of any object contained in a
picture. These changes are not written to the stored file, but are temporary changes made to the
displayed picture in memory. If picture caching is disabled, those changes are gone when you close the
picture.

87
Creating Pictures

When you enable picture caching, some of your run-time changes are preserved while your picture
remains cached. If you change any object properties (such as foreground color) through VBA or make
changes to a chart through a chart dialog in run mode, you will still see those changes when you close
the picture and reopen it from cache. However, your changes are not written to the stored file, and once
the picture drops from the cache, your changes are lost. If you use scripts to make those changes, you
should retest your displays with caching enabled.

All other behavior involving tag groups, or changing alarm summary sort or filter configurations, are
not preserved regardless of whether picture caching is enabled or disabled.

Disabling Picture Caching for Individual Pictures


iFIX also allows you to disable picture caching for individual pictures so that changes made during run
time will not persist when the picture is reopened.

To disable picture caching for a picture:

1. Right-click the picture name in the system tree, or right-click any area in the picture outside of
an object to display the pop-up menu.
2. Select Picture... to display the Edit Picture dialog.
3. Check the Disable caching for this picture check box from the Edit Picture dialog box.

Resizing Pictures
You can resize a picture in configure mode, so that every time you go into run mode the picture
appears in the location you want it to.

You can also resize a picture through VBA. For instance, you can create a push button with code
behind it that, when clicked in run-mode, resizes the picture. The steps below provide more details.

To resize a picture in configure mode:

1. In Classic view, in configure mode, on the WorkSpace menu, click User Preferences.
-Or-
In Ribbon View, on the Home tab, in the WorkSpace group, in the Settings list, click User
Preferences.
2. Click the Picture Preferences tab.
3. In the Window Properties area, make sure that the Title and Resizable check boxes are
selected.
NOTE: After you resize the picture, you can enable these options again, if required.

4. In Classic view, on the WorkSpace menu, click Full Screen.


-Or-
In Ribbon view, in the WorkSpace group, click Full Screen.
5. Click and drag a corner or side of the picture to resize it.

88
Creating Pictures

6. When the picture is in the desired location, right-click it and select Update Window Location.
7. Click Close Full Screen.
8. Save the picture.
TIP: If you want to restore the default picture height and width values, in configure mode,
right-click the picture and select Full View. You can now repeat steps 4-8 to resize the picture
again.

9. In Classic view, on the WorkSpace menu, select Run.


-Or-
In Ribbon view, on the Home tab, in the WorkSpace group, click Switch to Run.
10. Confirm that your picture appears in the desired location.

To use VBA to resize the current picture in run mode:

1. In the WorkSpace configure mode, add a push button to your picture.


2. Right-click the push button, and select Edit Script. The Microsoft Visual Basic Editor
appears.
3. Cut and paste the following code:
Private Sub Command1_Click()

Dim objFIXPic As Object

Dim dTopPct As Double

Dim dLeftPct As Double

Dim dHeightPct As Double

Dim dWidthPct As Double

Set objFIXPic = CreateObject("Workspace.Application")

dTopPct = 20

dLeftPct = 20

dHeightPct = 50

dWidthPct = 50

objFIXPic.ActiveDocument.Page.SetWindowLocation TopPct, dLeftPct,


dHeightPct, dWidthPct, True

Set objFIXPic = Nothing

End Sub

NOTE: You can modify the dTopPct, dLeftPct, dHeightPct, and dWidthPct resize percentage
values to the values specific to the picture you want to resize.

4. Close the Microsoft Visual Basic Editor.


5. Save your picture.

89
Creating Pictures

6. In Classic view, on the WorkSpace menu, select Run.


-Or-
In Ribbon view, on the Home tab, in the WorkSpace group, click Switch to Run.
7. Click the button to resize your picture.

Maximizing the WorkSpace on Open


If you want to be sure that the Proficy iFIX WorkSpace always opens maximized, you can add this
setting to the WorkSpace.ini file's [Misc] section:

AlwaysShowMaximized=1

If you later change the value from a 1 to a 0, or remove the line altogether, the iFIX WorkSpace starts
in the mode it was last open in. For instance, if the window was minimized and you shut it down, when
you restart the WorkSpace it will re-appear minimized. It does not matter if the WorkSpace was last in
configure mode or run mode.

To configure the iFIX WorkSpace to always open maximized:

1. Shut down the WorkSpace.


2. In Notepad or another text editor, open the WorkSpace.ini file in the iFIX LOCAL folder. If
you installed iFIX to the default location, you can find this file in the C:\Program
Files\Proficy\Proficy iFIX\LOCAL location.
3. In the [Misc] section, add this line:
AlwaysShowMaximized=0

4. Save the file.


5. Restart the WorkSpace.

Changing Picture Settings in the FixUserPreferences.ini File


iFIX provides you with the FixUserPreferences.ini file that allows you to make changes to user
preferences that are not available on the User Preferences dialog box, from the iFIX WorkSpace. You
can also make changes to preferences that are available on the dialog box. The FixUserPreferences.ini
file is installed with iFIX and is located in the LOCAL folder of the iFIX install directory. When you
install iFIX to the default location the path is: C:\Program Files\Proficy\Proficy iFIX\LOCAL.

You can also add user preferences to this file to control certain behavior.

Use caution when making changes to the FixUserPreferences.ini file, and ensure that you are changing
the correct settings. You must shut down iFIX before making your changes to this file, and then restart
it for the new settings to take effect.

Changing the Nudge Settings


The nudge settings determine the number of pixels or degrees your object will move, scale, or rotate.

90
Creating Pictures

Each action has both slow and fast settings. The setting is determined by whether you are using the
SHIFT or CTRL keys, a combination of both, or neither, depending on the action. The following table
indicates which keys or key combinations to use for these actions:

To perform the action... Use the following keys...

SlowNudgeMoveOffset The arrow keys.

FastNudgeMoveOffset SHIFT + arrow keys

SlowNudgeScaleOffset CTRL + arrow keys

FastNudgeScaleOffset CTRL + SHIFT + arrow keys

SlowNudgeRotateOffset + = Counter Clockwise


- = Clockwise

FastNudgeRotateOffset SHIFT + rotate (+ or - )

NOTE: To perform either of the rotate actions, right-click the object and choose Rotate, then press
either the SHIFT or CTRL key and use the rotate handles that appear.

To change the nudge settings:

1. Shut down iFIX if you haven't already done so.


2. Open the FixUserPreferences.ini file in a text editor, such as Notepad.
3. Find the [ShapePreferences2] section.
4. Change the nudge settings, as required.
5. Save the FixUserPreferences.ini file and restart iFIX.

Allowing a group click event


iFIX provides you with the ability to group objects in a picture and treat that group as if it is a single
object. You can animate the group just like you can animate individual objects. By default, however,
iFIX prevents certain objects in a group from performing events that are defined in the Visual Basic
Editor, such as a message script. To allow all objects in a group to perform the desired events, change
the PassControlClickEvent setting to 1 in the [AppRunPreferences] section of the
FixUserPreferences.ini file.

To allow a group click event:

1. Shut down iFIX if you haven't already done so.


2. Open the FixUserPreferences.ini file in a text editor, such as Notepad.
3. Find the PassControlClickEvent=0 setting under the [AppRunPreferences] section.

91
Creating Pictures

4. Change the setting to 1.


5. Save the FixUserPreferences.ini file and restart iFIX.

Disabling the Right-Click Menu


iFIX provides you with the ability to disable the right-click menu in the WorkSpace run mode. To
disable the right-click menu in run mode, change the DisableRuntimeRightClickMenu setting to 1 in
the [AppRunPreferences] section of the FixUserPreferences.ini file. By default, the right-click menu is
enabled.

To disable the right-click menu in the WorkSpace:

1. Shut down iFIX if you haven't already done so.


2. Open the FixUserPreferences.ini file in a text editor, such as Notepad.
3. Find the DisableRuntimeRightClickMenu=0 setting under the [AppRunPreferences] section.
4. Change the setting to 1.
5. Save the FixUserPreferences.ini file and restart iFIX.

Developing Objects in Pictures


iFIX gives you all the tools you need to create simple or complex pictures for your process
environment. This chapter gives you an overview of all the functionality available to you, and gives
specific instructions on how to perform various operations that help you expedite picture development.

• Adding Objects to Pictures


• Performing Basic Functions with Objects
• Performing Advanced Functions with Objects
• Creating Complex Objects

Adding Objects to Pictures


Using the Shapes toolbar, you can add an array of different objects to your picture. The following table
shows you which objects are available and how to add them using the toolbar buttons:

92
Creating Pictures

Shapes Toolbar

Click this Which can also be accessed To add... Double-click


button... in Ribbon view... for multiple
creation
mode?

From the Insert tab, in the Rectangles. Yes


Shapes group, click Shapes, and
then click Rectangle.

From the Insert tab, in the Straight lines. Yes


Shapes group, click Shapes, and
then click Straight Line.

From the Insert tab, in the Ovals. Yes


Shapes group, click Shapes, and
then click Oval.

From the Insert tab, in the Arcs (curved line Yes


Shapes group, click Shapes, and segments).
then click Arc.

From the Insert tab, in the Rounded rectangles. Yes


Shapes group, click Shapes, and
then click Rounded Rectangle.

From the Insert tab, in the Polygons. Yes


Shapes group, click Shapes, and
then click Polygon.

From the Insert tab, in the Polylines (two or Yes


Shapes group, click Shapes, and more connected line
then click Polylines. segments).

From the Insert tab, in the Chords (a curved line Yes


Shapes group, click Shapes, and connecting a line
then click Chord. segment).

From the Insert tab, in the Pie shapes (wedges of Yes


Shapes group, click Shapes, and a circle).
then click Pie.

From the Insert tab, in the Pipes. Yes


Shapes group, click Shapes, and
then click Pipe.

93
Creating Pictures

Shapes Toolbar

Click this Which can also be accessed To add... Double-click


button... in Ribbon view... for multiple
creation
mode?

From the Insert tab, in the Text. Yes


Objects/Links group, click
Objects/Links, and then click
Text.

From the Insert tab, in the Charts (compound Yes


Charts group, click desired chart objects made of lines,
type. text, and rectangles).

From the Insert tab, in the Bitmaps. Yes


Objects/Links group, click
Objects/Links, and then click
Bitmap.

From the Insert tab, in the Data links. No


Objects/Links group, in the
Objects/Links list, click
Datalink.

From the Insert tab, in the Alarm Summaries. No


Objects/Links group, click
Objects/Links, and then click
Alarm Summary.

From the Insert tab, in the Push Buttons. No


Objects/Links group, click
Objects/Links, and then click
Push Button.

From the Insert tab, in the Variable objects. No


Objects/Links group, click
Objects/Links, and then click
Variable

From the Insert tab, in the OLE objects. No


Objects/Links group, click
Objects/Links, and then click
OLE object.

94
Creating Pictures

Shapes Toolbar

Click this Which can also be accessed To add... Double-click


button... in Ribbon view... for multiple
creation
mode?

From the Insert tab, in the Timer Objects. No


Objects/Links group, click
Objects/Links, and then click
Timer.

From the Insert tab, in the Event Objects. No


Objects/Links group, click
Objects/Links, and then click
Event.

From the Insert tab, in the Current Time (a text Yes


Objects/Links group, click object).
Objects/Links, and then click
Current Time.

From the Insert tab, in the Current Date (a text Yes


Objects/Links group, click object).
Objects/Links, and then click
Current Date.

By default, all of the buttons in the above table appear in the Toolbox when you create or open a
picture. If you have the Toolbox enabled, you can add objects to your pictures by clicking the
appropriate button on the Toolbox.

TIP: To add multiple objects of the same type, double-click the appropriate button on the Toolbox.
When you are done adding the objects, press ESC, click another button, or click the pointer selection
tool in the Toolbox. For information on which buttons allow multiple creation, refer to the previous
table.

A powerful feature of iFIX is the capability to add ActiveX controls (OCXs) to your pictures. ActiveX
controls provide functionality to your pictures without your having to write complex code. Because of
its open architecture, iFIX allows you to drag and drop any third-party object (OCX) into your
displays.

NOTE: Because third-party objects are self-contained applications in themselves, you should be
aware that problems that occur from these components are beyond the control of GE Intelligent
Platforms. However, iFIX does provide Secure Containment, which seals off a crashed ActiveX control
and allows iFIX to run normally.

Drawing Shapes
Once you select a shape (that is, a rectangle, rounded rectangle, oval, line, polyline, polygon, arc,
chord, pie, or pipe), it is easy to add it to a picture.

95
Creating Pictures

Some shapes are drawn by defining a series of points using the mouse.

To draw an arc:

1. In Classic view, click the Arc button on the Shapes toolbar.


-Or-
In Ribbon view, on the Insert tab, in the Shapes group, in the Shapes gallery, click Arc.
-Or-
If the Toolbox is enabled, click the button on the Toolbox.
The cursor changes to a plus sign.
2. Position the cursor where you want the first point of the arc to appear and click.
3. Move the cursor to define the width of the arc and click the mouse. An arc appears on the
screen.
4. Move the cursor until the height of the arc is the correct size and click.

See the following illustration.

Similarly, you draw a chord as illustrated in the following figure:

And you draw a pie as illustrated in the following figure:

96
Creating Pictures

Adding a Chart
You can choose to add either a Standard Chart or an Enhanced Chart to your picture. To add a chart to
your picture, click the desired chart button on the Shapes toolbar (Classic view) or on the Insert tab, in
the Charts group, select the desired Chart (Ribbon view). If you have the Toolbox enabled, click the
button on the Toolbox. The cursor becomes a plus sign. Click and drag the mouse in an area of the
picture where you want to place the chart. A chart appears on the screen, and also in the system tree.

By double-clicking the chart, you can define properties for the chart using the Chart Properties dialog
box. The properties available depend on the data source selected. Chart Properties are detailed fully in
the Trending Historical Data manual.

Trending Real-time Data in Your Picture

If you choose a real-time data source, certain properties are enabled or disabled, as shown in the
following table. Real-time data sources can also include T_DATA from Trend blocks.

Real-Time Data Source Chart Properties

Property Property State

Fixed Date Disabled

Fixed Time Disabled

Days Before Now Disabled

Duration Before Now Disabled

Duration Enabled

Interval Disabled

To plot real-time data, you must define a real-time data source. To do this, for Standard Charts, click
the Chart tab, for Enhanced Charts, click the Data Sources tab, on the Chart Configuration dialog box
and, at the top of the tabbed page, enter a real-time data source in the Data Source field. Use Data
Server.node.tag.field format. You can also use a local node alias by selecting THISNODE from the
list. Alternately, you can click the Browse button to display the Expression Builder, which allows you
to search global data sources through a data source browser. To learn how to use the Expression
Builder and define data sources, refer to the Animating Object Properties chapter.

Once you have defined a real-time data source, you can define how the data is presented. For Standard
Charts, using the data area of the Chart tabbed page, you can configure pen properties, pen styles, X
and Y axis properties, time ranges, grid styles. You can also define general chart properties such as a
name and description, scroll direction, attributes, and appearance. For Enhanced Charts, you can use
the multiple tabs available to configure every attribute of the chart's appearance and data
representation.

For Standard Charts only, default settings for charts are set in the Chart Preferences tabbed page of the

97
Creating Pictures

User Preferences dialog box. For more information on using charts and applying chart properties, refer
to the Trending Historical Data manual.

How F_CV Real-time Values Are Trended

The duration and number of samples determine how F_CV real-time values are trended in a chart. For
example, if you set the number of samples to 600 and the duration to one minute, then the chart
displays a value for every second. In this example, the trend array holds a maximum of 600 seconds of
data, or 10 minutes. You can change the duration to any value under or equal to 10 minutes, and the
trend line continues to be plotted. However, if you change the duration to a value greater then 10
minutes the trend is cleared, and the data is plotted based upon the new duration and number of
samples. The following table illustrates this example, and provides a few more.

NOTE: Be aware that if you want to change the duration from a small value, such as 10 minutes, to
larger value, such as an hour, and back, then it is highly recommended that you use either ETR
(Extended Trend Blocks) or Historical data.

Duration Number of Then the Trend Array Contains...


Samples

1 minute 600 samples 10 minutes of data, 1 value for every second

5 minutes 600 samples 10 minutes of data, 1 value for every second

10 minutes 600 samples 10 minutes of data,1 value for every second

1 hour 600 samples 1 hours of data, 1 value for every 6 seconds

6 hours 600 samples 1 hours of data, 1 value for every 36 seconds

12 hours 600 samples 1 hours of data, 1 value for every 72 seconds

24 hours 600 samples 1 hours of data, 1 value for every 144 seconds

Adding Text
A text object is a collection of characters within an invisible rectangle. To add text to your picture,
click the Text button on the Shapes toolbar (Classic view) or on the Insert tab, in the Objects/Links
group, on the Objects/Links list click Text (Ribbon view). If the Toolbox is enabled, click the button
on the Toolbox.

The default font properties for text are defined on the Shape Preferences tabbed page of the User
Preferences dialog box. To change a font option for new objects, make the appropriate selections in the
Font area. For example, to change the size of the font, enter a point size in the Font Size field.

If you use text with an italic font style in your pictures, the text may not always appear as expected. If
the text appears clipped in your picture, use the handles to resize the text block. Selecting a different
font may also correct this problem.

98
Creating Pictures

Text within a text object can be edited by:

• Double-clicking the text object and placing the cursor where you want to make your edits.
• Right-clicking the text object and selecting Edit Text from the pop-up menu that appears.
• Editing the Caption property. For instance, you can do this by right-clicking the text object
and selecting Property Window. In the Caption field, enter your changes and press Enter.

For more information on Shape Preferences, such as how to change the text color, style, and size, refer
to the Coloring and Styling Objects section.

Adding a Bitmap Image


With iFIX, it's easy to work with bitmaps that were created using other applications. By simply
clicking the Bitmap button, you can place a bitmap of your choice wherever you want in your picture,
and then work with the image like you would any other object. For more information on working with
bitmaps, refer to the Working with Bitmaps section.

Adding Data Links


Data links give operators a flexible tool for displaying text and values from process databases. To add
a data link to your picture, click the Datalink Stamper button on the Shapes toolbar. In Ribbon view,
from the Insert tab, in the Objects/Links group, in the Objects/Links list, click Datalink. If the Toolbox
is enabled, click the button on the Toolbox. In the Datalink dialog box, specify your choices for the
following settings:

• Access to any data source.


• Data entry.
• Flexible display formatting.
• Definable output error messages.

After completing the Datalink dialog box, click the mouse in the location where you want to place the
data link. Once you add a data link, you can access the Datalink dialog box by selecting DataLink
Custom Page from the data link's pop-up menu.

The initial size of the data link is determined both by the formatting settings you choose in the Datalink
dialog box and by the font settings in the User Preferences dialog box. To change the size of the font,
access the User Preferences dialog box through the WorkSpace menu (Classic view) or from the Home
tab, in the WorkSpace group, in the Settings list, click User Preferences (Ribbon view), and set the font
properties on the Shape Preferences tab. Once you have created a data link, you can resize it by
clicking on it and dragging the handles, and reformat it using the Datalink dialog box.

NOTE: If you add a data link by selecting Datalink from the Insert menu (Classic view) or from the
Insert tab, in the Objects/Links group, in the Objects/Links list and clicking Datalink (Ribbon view),
you first sketch the location and size of the data link, then complete the Datalink dialog box. In this
case the size of the data link is determined by your initial sketch.

Entering a Data Source

You can display data from any valid data source using your data link. In the Source field, enter the data
source you want. You can also select from the Expression Builder by clicking the Browse button.

99
Creating Pictures

Enabling Data Entry

To allow operators to enter data into the data link, select In-Place from the Type field's drop-down
menu. This lets you enter data in-place, meaning you can display data as you enter it in the Type field.
In the run-time environment, data entered is written to the appropriate database tag during the next
scan cycle. When you enable data entry, you can require that operators confirm that they want this data
to be written to the database before it is sent. To require confirmation, select the Confirm check box.

To help you configure data, use the Data Entry Expert. This Expert lets you determine which data
source the data link receives its data from, and how that data appears.

If you use the Data Entry Expert on a data link, you must set the Data Entry Type value in the Datalink
dialog box to None. If you set this value to In-Place, unexpected results may occur.

Use the Data Entry Expert to create the following types of data entry:

• Numeric/Alphanumeric
• Slider
• Pushbutton
• Ramp

NOTE: Do not name your picture after one of Data Entry Expert types. Picture names can conflict
with the script variable names used with the Data Entry Expert. For instance, if you name your picture
Pushbutton.grf and also use the Pushbutton data entry method, when you enter run mode, an error
message appears. If you rename the picture, Pushbutton1.grf, the error message does not appear,
since the picture name is now different than the data entry method.

You can access the Data Entry Expert from the Task Wizard. For more information on the fields of the
Expert, click the Help button. For more information on using the Task Wizard, refer to the Using
Experts and the Task Wizard section in the Understanding iFIX manual.

You can also create custom types of entry in VBA. For more information on VBA, refer to the Writing
Scripts manual.

Formatting Data

iFIX lets you format the data you want to display in the data link. First, you must choose one of the
following types of data to display:

• Raw
• Numeric
• Alphanumeric

To display data in its raw (or native, C code) format, select the Raw Format check box. You can then
edit the format by entering a C format string in the Format field. You can also enter a string of any
kind preceding the raw format string (to introduce what the data string represents, for example).

To format numeric data, first select Numeric from the Type field's drop-down menu. Next, enter an
integer from 0 to 7 to represent the:

• Whole digits – the number of digits displayed before the decimal point.

100
Creating Pictures

• Decimal digits – the number of digits displayed after the decimal point. This value is rounded
off to fit into the number of digits specified for the Data link.

The following table shows some examples of how formatted numbers affect the way the data link
displays in the run-time environment.

Whole Digits Decimal Digits Display at Run-time

2 4 12.1234

1 6 1.123456

6 1 123456.1

0 7 .1234567

7 0 1234567

NOTE: To format a data link to display scientific notation, first select a F_CV, E_CV or A_CV field,
enable the Raw Format check box, and specify %e in format field. F_CV and E_CV datalinks using %e
raw format, by default, display 6 places after the decimal point. To display more places after the
decimal point, for example 15, change %e to %1.15e. A_CV datalinks using %e raw format will
always display 15 places after decimal point. To display a leading zero in the link, use the F_CV field
and the raw format similar to %02.2f.

To format alphanumeric (or text) data, first select Alpha-Numeric from the Type field's drop-down
menu. Next, enter in the appropriate fields the number of lines and the number of characters per line
you want to display in the Data link. You can also justify the data to the left, right, or center, by
making the appropriate selection from the Justify field.

Be aware that float point precision can differ between a datalink and what is shown in the Database
Manager. In order to synchronize the two, use the following .INI file setting in the
FixUserPreferences.ini file in the iFIX Local folder:

[AppRunPerferences]

AllowPrecisionAdjustment=0

A value of 0 indicates that there is no special precision adjustment for a datalink, and it will be the
same precision as the Database Manager displays. The default behavior is to allow datalink precision
adjustment.

Using Tag Groups in Data Links

When using tag groups in data links and using raw format strings, you must be sure to match data types
between the values and the format string.

For example, if the tag used is going to be replaced by the value of Fix32.Thisnode.AI1.F_CV, the
format string must be %f, or some derivative (i.e. %7.2f). The default when entering a tag group is %s,
or string. If you do not adjust this and the types do not match, no formatting will occur and you will

101
Creating Pictures

only get the value.

Configuring the Output Error Mode

The Error Configuration area of the Datalink dialog box lets you determine how error conditions are
displayed by the data link should they appear. You can configure the output to derive its value from:

• An error table, or
• The current value.

For more information on output values and definitions, refer to the Classifying Animations Errors
section.

You can also display system information using the data link. To do this, add a data link to your picture
as described in this section. When selecting a data source, use the format FIX32.node:system:system
field. This data link can display a number of different system parameters of a particular node. Refer to
the iFIX Database Reference help for a list of system parameters.

Using the DataChange Event in a Data Link

If you are attempting to use the DataChange Event in a data link, you cannot create the VBA object
(such as Private Sub Format1_DataChange) by selecting Edit Script from the right-click menu.

To use the DataChange event with a data link, you must use the DataChange event with the Format
child object.

To use the DataChange event with a data link:

1. Create a data link.


2. Open the VBA Editor.
3. Type the following code and press ENTER:
Private Sub Format1_DataChange(ByVal DataValue As Variant, ByVal
TimeStamp as Date, ByVal Transition As Long, ByVal Reserved As Variant)

The VBA object gets created.

4. Enter any desired code.


5. Enter End Sub at the end of the subroutine.

NOTE: These steps assume that the Format object name is Format1.

Adding Historical Datalinks to Pictures


Historical datalinks give operators a flexible tool for displaying historical values from process
databases. In addition to displaying the text and values from a process database, the Historical Datalink
displays a time stamp. The time stamp, in most cases, indicates the end time of the interval for the data
collected. The only time this is not true is when the historical datalink is configured to collect the high,
low or current value for the interval. In those cases, the time the value occurred is displayed, rather
than the end time of the interval. The value in the Historical Datalink is updated at the update rate
specified during configuration.

102
Creating Pictures

To add a historical data link to your picture, in Ribbon view, from the Insert tab, in the Objects/Links
group, in the Objects/Links list, click Historical Datalink. In Classic view, click the Datalink Stamper
button on the Shapes toolbar. If the Toolbox is enabled, click the button on the Toolbox. In the
Historical Datalink dialog box, specify your choices for the following settings:

• Access to any data source


• Start date and time
• Historical mode
• Duration
• Update rate

After completing the Historical Datalink dialog box, click the mouse in the location where you want to
place the historical data link. After you add a historical data link, you can access the Historical
Datalink dialog box by selecting DataLink Custom Page from the historical data link's pop-up menu.

After you have created a data link, you can resize it by clicking on it and dragging the handles.

IMPORTANT: Be aware that Historical Datalinks or Historical Animations that use Sample or
Interpolated data from Proficy Historian may display a Lookup or Format error status of “Unknown”,
when the local computer's time is ahead of the Proficy Historian Server's time. (The “Unknown”
Lookup or Format data symbols are defined in the User Preferences, on the Animations Data Error
Defaults tab.)

Entering a Data Source

You can display data from any valid data source using your historical data link. In the Source field,
enter the data source you want. You can also select from the Expression Builder by clicking the
Browse button.

Configuring the Data to Display

Depending on the historical mode that you choose from the Historical Mode list, you can configure the
start date and time as well as the duration. If you choose the Current Value historical mode, you can
only configure the update rate for the historical data link. For all other historical modes, to determine
the start date for the historical data link, you can choose either a fixed, specific date, or a certain
number of days before the current date. Similarly, for the start time, you can choose either a fixed,
specific time, or a certain number of hours before the current time.

If you want to specify the time zone you can do so in the Time Zone area. To set the duration, or the
time range for the display, select the number of days, hours, minutes and seconds in the Duration area.
To set the rate at which the data is updated, set the update rate in the Update Rate area.

Configuring the Appearance of the Data

By default, the historical datalink displays with a timestamp. The timestamp is in the regional date and
time format configured for your system. If you do not want to display the timestamp with the data in
any of your historical datalinks, in the User Preferences dialog box, on the Shape Preferences tab, in
the Historical Datalink area, clear the Show Timestamp With Data check box. Changes made on the
User Preferences dialog box only apply to new Historical Datalinks and do not effect existing
historical datalinks. If you only want to hide the timestamp for the particular historical datalink you are
configuring, clear the Show Timestamp With Data check box on the Historical Datalink dialog box for

103
Creating Pictures

that historical datalink. Or, from the Property Window, for the Show Timestamp property, select False.
This change applies only to the selected historical datalink and is not subject to changes on the User
Preferences dialog box.

The historical datalink can be animated. To animate the historical datalink, from the right-mouse
menu, select Animations. Complete your animation configuration selections on the Basic Animations
dialog box.

Adding an Alarm Summary Object


Using Alarm Summary objects in your pictures gives you an effective way to monitor, acknowledge,
sort, and filter alarms using an OCX. You can color-code alarms by alarm status and priority in order
to provide operators with visual cues. You can also view how many alarm occurrences have taken
place between alarm acknowledgements (using the A_ALMOCCUR block field).

To add an Alarm Summary object to your picture, click the Alarm Summary button on the Shapes
toolbar (Classic view) or on the Insert tab, in the Objects/Links group, in the Objects/Links list, click
Alarm Summary (Ribbon View). If the Toolbox is enabled, click the button on the Toolbox.

The Alarm Summary object appears as a spreadsheet that you can modify in both the configuration and
run-time environments. For example, you can resize the object using the object's handles, resize the
columns in the spreadsheet, or select rows in the spreadsheet in both environments. Additionally, you
can perform many functions using the object's pop-up menu.

Before you add an Alarm Summary object to a picture, verify that specific alarming services and
networking options are enabled. Refer to the Understanding the Alarm Summary Object section in the
Implementing Alarms and Messages manual for more information on using the Alarm Summary
object.

NOTE: Inserting an alarm summary into a VBA form may cause unpredictable results when opening
the picture or switching environments from run-time to configuration or vice versa.

Adding Push Buttons


Push buttons are a visually effective way to invoke an action in your picture. They can help you:

• Toggle tags between Automatic and Manual mode.


• Open and close pictures.
• Toggle digital tags between OPEN and CLOSE.
• Manipulate files.
• Run other applications.

To add a Push Button to your picture:

• In Classic view, click the Push Button button on the Shapes toolbar.
-Or-
In Ribbon view, on the Insert tab, in the Objects/Links group, click Objects/Links, and then
click Push Button.
-Or-

104
Creating Pictures

If you have the Toolbox enabled, click the button on the Toolbox.

Adding Variable Objects


By clicking the Variable object button, you can assign a variable object to your picture or globally to
the entire system. The variable can represent different values at different times. The variables you
assign include the following:

• Boolean
• Byte
• Short
• Long
• Float
• Double
• String

In Classic view, to create a Variable object, click the Variable object button on the Shapes toolbar. In
Ribbon view, from the Insert tab, in the Objects/Links group, in the Objects/Links list, click Variable.
If the Toolbox is enabled, click the button on the Toolbox. Next, complete the fields on the Create a
Variable Object dialog box. To name a variable object, enter the name in the Variable Name field. The
name must be consistent with VBA conventions. For more information on the various fields, click the
Help button.

Adding OLE Objects


iFIX lets you insert a variety of OLE objects into your pictures. In Classic iew, to insert an OLE object,
click the OLE Object button on the Shapes toolbar. In Ribbon view, you may also add an OLE object
from the Insert tab, in the Objects/Links group, in the Objects/Links list, by clicking OLE Object. If
you have the Toolbox enabled, click the button on the Toolbox.

You have three choices on the Insert dialog box for inserting an OLE object: Create New, Create from
File, and Create Control.

Creating New OLE Objects

The Create New option button allows you to select from a list of objects registered on the local node.
To add a specific object, double-click it from the Object Type list box. For more information on adding
controls, refer to the Create a Control for an OLE Object section that follows.

Creating an OLE Object from a File

The Create from File option button lets you insert the contents of a file into a new object in your
picture. You can either select a file from the File field or click the Browse button to select a file from
any available directory.

Creating a Control for an OLE Object

The Create Control option button allows you to add an ActiveX Control (OCX) to a new object in your
picture. Click Add Control to display a browse dialog where you can select an OCX installed on the

105
Creating Pictures

local node. When you select the file, a new object is inserted into your picture with the specified
control. When you switch to the run-time environment, you activate the object with the control you
selected.

If the "Application Data Control" appears in the list of OLE objects you can insert into a picture, be
aware that you cannot use this control in a picture. This control is actually a control panel applet and is
not insertable. Do not use this control.

Adding a Third-Party Control

When adding third-party controls to a iFIX picture, some controls may display a message similar to the
following:

<OCX name>: License file for custom control not found...

The reason you get this message is because you are adding a control that you do not have the license
for. We recommend that you delete the control from your picture or install the license for this control
and re-insert the control.

Animating the String Property of an OLE Control

To animate the String property of an OLE Control, you must ensure that the data source is of a string
type by doing one of the following:

• Connecting directly to an A_field.


• Using a Format object to convert a F_field to a string format.

List Box Example

To add a Microsoft list box to an iFIX picture in configure mode, use the OLE Object named
Microsoft Forms 2.0 ListBox. The steps below describe how to do this.

To add a list box object to your iFIX picture:

1. In Classic view, from the iFIX WorkSpace, on the Insert menu, click OLE Object.
-Or-
In Ribbon View, on the Insert tab, in the Objects/Links group, click Objects/Links, and then
click OLE Object.
2. In the Object Type list, select the Microsoft Forms 2.0 ListBox.
3. Click OK.

Combo Box Example

To add a Microsoft combo box to an iFIX picture in configure mode, use the OLE Object named
Microsoft Forms 2.0 ComboBox. The steps below describe how to do this.

To add a combo box object to your iFIX picture:

1. In Classic view, from the iFIX WorkSpace, on the Insert menu, click OLE Object.

106
Creating Pictures

-Or-
In Ribbon View, on the Insert tab, in the Objects/Links group, click Objects/Links, and then
click OLE Object.
2. In the Object Type list, select the Microsoft Forms 2.0 ComboBox.
3. Click OK.

Adding a Proficy Portal Control


You can access Proficy Real-Time Information Portal displays from your iFIX picture using the
Proficy Portal ActiveX control. To insert this control in configure mode, on the Insert menu, select
Proficy Portal Control. You can configure the user name and password used to log in to the Proficy
Portal server, so that the iFIX user is not prompted for another password when switching from
configure to run mode. You can also specify the picture that you open in the Proficy Portal control, so
that the iFIX run mode user does not have to remember the location of the file or search for it.

IMPORTANT:

• In run mode, iFIX only supports one open picture with a single Proficy Portal control in it. If
you have multiple instances of the same picture open and each instance includes a Portal
Control, only the active picture updates the Portal Control.

• In run mode, you must be logged in as a Windows Administrator if you want to save an image,
by right-clicking the picture and selecting Save as Image.

• For best performance in Windows Vista, it is recommended that when you insert a Proficy
Portal control into your iFIX picture, that you do not insert any other ActiveX controls into
the same picture.

When using the Proficy Portal control in iFIX, you should configure your Proficy Portal users with
limited rights, because the control uses the PASSWORD parameter to build the URL to the Proficy
Real-Time Information Portal display. When using the PASSWORD parameter in Proficy Portal, the
URL can be viewed in the Internet Explorer history with a clear text password. For information on the
PASSWORD parameter, search for "PASSWORD Parameter" in the Proficy Real-Time Information
Portal online help. For information on creating users and limiting rights, search for the "Defining Roles
and Users" and "Securing Proficy Portal" topics in the Proficy Portal online help.

To add a Proficy Portal control to your iFIX picture:

1. In Classic view, from the iFIX WorkSpace, on the Insert menu, click OLE Object.
-Or-
In Ribbon View, on the Insert tab, in the Objects/Links group, click Objects/Links, and then
click OLE Object.
2. In the Object Type list, select ProficyPortalControl Control.
3. Click OK. The Proficy Real-Time Information Portal control appears in the picture.
4. Double-click the control to configure the properties.
5. In the Server Name field, enter the name or IP address of the Proficy Portal server to which
you want to connect.
6. In the Virtual Directory field, enter the virtual directory of the Proficy Portal server. By

107
Creating Pictures

default, this field is ProficyPortal.


NOTE: Be aware that the virtual directory is not validated until the display loads all the
required classes in run mode. That means, if you incorrectly enter the virtual directory
information in configure mode, a message does not appear and the information appearing in
the display list does not get updated accurately.

7. In the User Name, enter the Proficy Portal user name. Include the domain name with the user
name, if one is required on the Proficy Portal Server.
If a domain name is required, in the User Name field, enter:
domain\user

where domain is the name of the domain and user is the name of the user.
8. In the Password field, enter the password.
NOTES:

• If you enter the User Name and Password, you will not be prompted to enter the user
and password again when you switch to configure mode.

• The Show Displays button is not available until after you enter a Server Name, Virtual
Directory, and User Name.

9. Click Show Displays.


10. Select a display in the list box and click OK.
Be aware that the first time you go into run mode with this picture, you may be prompted to
install the Java Runtime installer. Click Install to continue. Follow the instructions on your
screen. Restart your computer after installing the Java Runtime update.

Adding a Proficy Plant Applications Dynamo


You can add a Proficy Plant Applications Dynamo to your pictures. The Dynamos simplify the process
of establishing a connection between the Proficy Plant Application Server and the Client as well
creating a display of the desired information, which is determined by the Dynamo selected.

To insert a Plant Applications Dynamo into a picture, first, locate the Dynamo Sets folder, which is in
the iFIX WorkSpace, under the System Tree. Expand the Dynamo Sets folder to display the Dynamo
sets. The Plant Applications Dynamos are in the Dynamos folder. Double-click on the
PlantApplications Dynamo set. The PlantApplications.fds file displays. From the file, drag and drop
the desired Dynamo into your picture. Then, complete the Dynamo configuration as prompted.

For More Information

Refer to the following table to determine where you can find more information about the Plant
Applications Dynamos.

Plant Applications Dynamo For more information, in the Plant Applications ebook,
refer to the chapter:

DynamoPAALC Autolog Display

108
Creating Pictures

Plant Applications Dynamo For more information, in the Plant Applications ebook,
refer to the chapter:

DynamoPAALM Alarm View Display

DynamoPADTN Downtime Displays

DynamoPADTP Downtime Displays

DynamoPAGVW Genealogy View Display

DynamoPANPT NonProductive Time View

DynamoPAOVW Production Overview Display

DynamoPASOE Sequence of Events Display

DynamoPASVW Schedule View Display

DynamoPAWASTE Waste Displays

DynamoPAWP Waste Displays

Adding Timer Objects


By adding timer objects to your picture, you can perform an action based on a time interval that you
specify.

Adding Event Objects


Event objects allow you to perform an operation based on an action that you specify. After you add an
event object, you must enter Visual Basic code to actually trigger the event.

Performing Basic Functions with Objects


The iFIX configuration environment provides many basic functions that you should be familiar with as
you develop objects. Once you learn how to perform a basic function on one object, you can perform
that function for all objects. These functions include:

• Using shortcut keys


• Selecting objects
• Moving objects

109
Creating Pictures

• Editing objects
• Renaming objects
• Changing Object Names in Scripts

Using Shortcut Keys


By pressing a sequence of keys (referred to as shortcut keys), you can perform specific drawing
operations that help you quickly accomplish a task. The following table shows you what shortcut keys
are available and their function.

Shortcut Keys for Pictures

Press these keys To do the following...


together...

<Alt> and <arrow key> Move from one object handle to another around an object.

<Ctrl> and <arrow Reshape an object by moving a point at an object handle.


key>

+ or - from numeric Rotate an object.


pad

<Ctrl> and mouse click Copy an object.

<Shift> and any of the Accelerate the operation. For example: <Shift> plus <Ctrl> and an
above arrow key quickly reshapes an object.

Specific uses of shortcut keys are included throughout this chapter.

Selecting Objects
You can select an object by clicking it with the mouse. Objects can be selected in the picture itself or
in the system tree. The selected object remains selected until you click another object. When you select
an object, the object's handles appear, permitting you to change the object's size. For more information
on object handles, refer to the Using Basic Drawing Tools section.

Selecting Multiple Objects

You can select multiple objects by enclosing two or more objects in a rectangle selector, or by
selecting the first object and then control-clicking additional objects. The following figure shows both
methods.

110
Creating Pictures

Moving Objects
You can move any object in a picture by clicking and dragging it to its new location. To move an
object quickly, hold down the Shift key and click and drag the object.

Nudging

Sometimes you need to move an object more precisely to better control its placement in the picture.
iFIX lets you move an object in small increments using the arrow keys. This concept is called nudging.

To nudge an object, select it and press an arrow key. The object moves one pixel in the direction
indicated by the arrow key. By repeatedly pressing the arrow keys, you can slowly move the object to
any desired location. To accelerate the movements, press Shift and an arrow key simultaneously.

111
Creating Pictures

Editing Objects
Naturally, you will occasionally make errors when you draw your pictures. Or, conversely, you may
create something that you want to apply everywhere in your picture In either case, iFIX's editing
functionality lets you quickly update how objects look in your picture.

A simple way to edit objects is to use the Edit Toolbar:

Click this Which can also be accessed in Ribbon To...


button... view...

From the Home tab, in the Clipboard Cut an object.


group, click Cut.

From the Home tab, in the Clipboard Copy an object.


group, click Copy.

From the Home tab, in the Clipboard Paste an object.


group, click Paste.

From the Home tab, in the Editing group, Undo an actions performed on
click Undo. an object.

By default, the buttons in the above table appear in the Toolbox when you create or open a picture. If
you have the Toolbox enabled, simply click the button on the Toolbox that corresponds to the editing
function you want. These functions, as well as the other available editing functions, are detailed in the
following sections.

Cutting Objects

When you cut an object, you remove the object from the picture and place it into the Clipboard. Once
an object is in the Clipboard, it can be retrieved by pasting it back into the picture.

To cut an object, in Classic view, click the Cut button on the Edit toolbar. In Ribbon view, on the
Home tab, in the Clipboard group, click Cut. If the Toolbox is enabled, click the button on the
Toolbox.

Deleting Objects

Unlike cutting an object, deleting an object permanently removes it from the picture, unless you undo
the operation. To delete an object, select the object and press Delete. Or, select Delete from the object's
pop-up menu.

Copying and Pasting Objects

iFIX lets you copy objects in two ways: by placing a duplicate copy of the object into the clipboard for
pasting into your picture, or by duplicating the object. To copy an object, use one of the following
methods:

112
Creating Pictures

• Select Copy from the object's pop-up menu.


• Select the object and click the Copy button on the Edit toolbar (Classic view).
• Select Copy from the Clipboard group on the Home tab (Ribbon view).

To paste the object use one of the following methods:

• Select Paste from the picture pop-up menu.


• Click the button on the Toolbox, if the Toolbox is enabled.
• Click Paste on the Edit toolbar (Classic view).
• Click Paste from the Clipboard group on the Home tab (Ribbon view).

Duplicating an object is the easier method of copying and pasting, as it combines the copy-and-paste
action into one step by avoiding copying the object to the clipboard. To duplicate an object, select the
object you want to copy and select:

• Duplicate from the object's pop-up menu, or


• Duplicate from the Editing group on the Home tab (Ribbon view).

A second object with identical properties of the original appears slightly offset from the original. In the
following figure, the oval to the lower right is a duplicate of the original.

Duplicating an Object

You can copy any iFIX object using the copy or duplicate methods, including bitmaps and OCXs.

Undoing Actions

iFIX has a number of actions that cannot be undone. If a particular task cannot be undone, the Undo
command in the Edit menu is unavailable after you complete the action. For example, if you try to
undo moving a chart, the command is unavailable. Typically, actions involving Standard Charts and
Historical Data Links cannot be undone.

Renaming Objects
When you add an object to your picture, iFIX automatically names the object in the system tree and
numbers it in the order it was created. For example, the second rectangle added to your picture would
be titled Rect2 in the Pictures directory. To more easily recognize your objects, or to assign a specific
name that represents a common property in your process, you can give it an alternate name.

113
Creating Pictures

To rename an object, right-click the object name in the system tree and select Property Window from
the pop-up menu. Place the cursor in the second column of the Name row and enter a name. You can
also select Animations from the pop-up menu and rename the object from the Animations dialog box.

IMPORTANT: When you rename an object, avoid the use of underscores in the name. Underscores
my cause problems with scripts associated with the object. For more information, refer to the VBA
Naming Conventions section of the Writing Scripts manual.

Changing Object Names in Scripts


If you change the name of an object in a script, and then change the name back to its original, you may
also change the edit event that is called from that script. iFIX attempts not to use an older name that is
already used in a code or global module, but may not always be able to determine which names are
valid.

Renaming Objects with Associated Script

By default, if you change the name of an object that has script associated with it, iFIX automatically
renames the event name and the references to the object within the script for that object. Therefore, you
do not have to explicitly do anything in your scripts to make these objects work.

However, if you are indirectly referencing any object names in a script from another object (for
example, setting Rect1.HorizontalPositional from the click event on Oval1), this reference is not
renamed.

To rename these references:

1. In the WorkSpace, perform a Find and Replace to rename all objects. We do not recommend
that you use the Include Scripts option in the Find and Replace feature from the Workspace to
perform this function. Doing so will replace objects that we are automatically renaming.
2. In the Visual Basic Editor, perform a Find and Replace to change any specific object
references.

NOTE: Renaming objects in the Property Window can greatly affect how your scripts run using VBA.
For more information, refer to the Writing Scripts manual.

Performing Advanced Functions with Objects


Creating and manipulating objects in iFIX may often require more than cutting and pasting or moving
static objects around the screen. Although these are necessary functions, there are many advanced
functions that you can perform when developing or modifying your pictures or working with specific
objects. These functions include:

• Manipulating objects using toolbars


• Resizing objects
• Rotating objects
• Manipulating objects with points
• Reshaping objects

114
Creating Pictures

• Coloring and styling objects


• Aligning objects
• Flipping objects
• Splitting Polylines and Pipes
• Extending Lines to Intersect
• Trimming Line at the Intersection
• Converting Lines to Polyline
• Making Lines Horizontal or Vertical
• Converting Lines and Polylines to Pipe
• Modifying Pipe Characteristics
• Adding and Deleting Connection Points
• Using the Connector Tools

Manipulating Objects Using Toolbars

Using the Tools Toolbar

Many of the advanced functions described in this section can be performed using the Tools toolbar.
The following table shows you which functions are available and how they are used.

NOTE: Although hidden by default, you can access and use toolbars in Ribbon view. To access the
Tools toolbar in Ribbon view, on the Home tab, in the WorkSpace group, click Settings, and then click
Toolbars. You can also open a toolbar from the WorkSpace tree, by opening the Project Toolbar Files
folder and double-clicking the toolbar you want to open.

Manipulating Objects in Pictures Using the Tools Toolbar

Click this Which can also be accessed in the Ribbon To...


button... view...

From the Format tab, in the Arrange group, click Align objects to the left
Align, and then click Align Left. edge.

From the Format tab, in the Arrange group, click Align objects to each
Align, and then click Align Horizontal Center. other's horizontal center.

From the Format tab, in the Arrange group, click Align objects to the right
Align, and then click Align Right. edge.

From the Format tab, in the Arrange group, click Align objects to the top
Align, and then click Align Top. edge.

115
Creating Pictures

Manipulating Objects in Pictures Using the Tools Toolbar

Click this Which can also be accessed in the Ribbon To...


button... view...

From the Format tab, in the Arrange group, click Align objects to each
Align, and then click Align Vertical Center. other's vertical center.

From the Format tab, in the Arrange group, click Align objects to the
Align, and then click Align Bottom. bottom edge.

From the Format tab in the Arrange group, click Group objects.
Group Objects.

From the Format tab in the Arrange group, click Ungroup objects.
Ungroup Objects.

From the Format tab in the Arrange group, click Bring an object in front of
Bring to Front. another.

From the Format tab in the Arrange group, click Send an object to the back
Send to Back. of another.

From the Format tab, in the Arrange group, click Vertically space objects
Space Evenly, and then click Space Evenly evenly.
Vertical.

From the Format tab, in the Arrange group, click Horizontally space objects
Space Evenly, and then click Space Evenly evenly.
Horizontal.

From the Format tab, in the Styles group, click Apply color to an object
Color. or objects.

From the Format tab, in the Font group, click Apply a font to a text
Font. object or objects.

From the Format tab, in the Arrange group, click Turn picture grid on and
Grid, and then click Toggle Grid. off.

From the Format tab, in the Picture group, click Select layers for objects.
Layers, and then click Set Layer.

From the Format tab, in the Picture group, click Display layers for
Layers, and then click Display Layer. selected objects.

116
Creating Pictures

By default, all of the buttons in the above table appear in the Toolbox. If you have the Toolbox
enabled, click the button on the Toolbox.

Using the CAD Toolbar

The iFIX configuration environment provides a CAD (computer assisted drawing) toolbar with
functions for manipulating line and polyline objects. The following table shows you which functions
are available and how they are used.

Manipulating Objects in Pictures Using the CAD Toolbar

Click this Which can also be accessed in


button... the Ribbon view... To...

From the Format tab, in the Picture Extend a selected line to intersect
group, click Drawing Tools, and with another selected line. Refer to
then click Extend Lines. Extending Lines for more
information.

From the Format tab, in the Picture Trim the selected lines to the
group, click Drawing Tools, and intersection point. Refer to
then click Trim Lines. Trimming Lines for more
information.

From the Format tab, in the Picture Convert the selected lines to a
group, click Drawing Tools, and polyline object. Refer to Converting
then click Convert Lines to Polyline. Lines to Polyline for more
information.

From the Format tab, in the Picture Change the selected line(s) to
group, click Drawing Tools, and horizontal. Refer to Making Lines
then click Make Lines Horizontal. Horizontal or Vertical for more
information.

From the Format tab, in the Picture Change the selected line(s) to
group, click Drawing Tools, and vertical. Refer to Making Lines
then click Make Lines Vertical. Horizontal or Vertical for more
information.

From the Format tab, in the Picture Convert the selected line(s) or
group, click Drawing Tools, and polyline(s) to a pipe object. Refer to
then click Convert Line/Polyline to Converting Lines and Polylines to
Pipe. Pipe for more information.

117
Creating Pictures

Manipulating Objects in Pictures Using the CAD Toolbar

Click this Which can also be accessed in


button... the Ribbon view... To...

From the Format tab, in the Styles Open the Modify Pipe
group, click Pipe Styles, and then Characteristics dialog box for the
click Modify Pipe Characteristics. selected pipes. Refer to Modifying
Pipe Characteristics for more
information.

From the Format tab, in the Picture Add a connection point to anchor
group, click Drawing Tools, and the selected connector to a shape.
then click Add Connection Point. Refer to Adding and Deleting
Connection Points for more
information.

From the Format tab, in the Picture Delete a connection point anchor
group, click Drawing Tools, and from the selected connector. Refer
then click Delete Connection Point. to Adding and Deleting Connection
Points for more information.

From the Format tab, in the Insert Draw a connecting line between two
group, click Connectors, and then shapes. Refer to Using the
click Line Connector. Connector Tools for more
information.

From the Format tab, in the Insert Draw a right angle connecting line
group, click Connectors, and then between two shapes. Refer to Using
click Right Angle Line Connector. the Connector Tools for more
information.

From the Format tab, in the Insert Draw a connecting pipe between
group, click Connectors, and then two shapes. Refer to Using the
click Pipe Connector. Connector Tools for more
information.

Using the Translation Toolbar

The iFIX configuration environment provides a translation toolbar with functions for exporting and
importing language files. The following table shows you which functions are available and how they
are used.

118
Creating Pictures

Exporting and Importing Language Files using the Translation Toolbar

Click this button... To...

Export the language file for the active picture.

Export separate language files for one or more pictures.

Import the translated language file for the active picture.

NOTE: Translation functions are not available from the Ribbon in Ribbon view. To access these
functions, you must display the Translation Toolbar. To access this toolbar in Ribbon view, on the
Home tab, in the WorkSpace group, click Settings, and then click Toolbars. You can also open a
toolbar from the WorkSpace tree, by opening the Project Toolbar Files folder and double-clicking the
toolbar you want to open.

Resizing Objects
Objects other than lines, arcs, chords, and pies are automatically added with resize handles, and the
default operation available through their pop-up menu is Resize. Any object can be resized, including
those with points. However, for lines, arcs, chords, and pies, you must select Resize from the pop-up
menu; it is not selected automatically. When you resize an object, the object changes shape uniformly,
without changing its shape.

NOTE: Ovals, rounded rectangles, charts, and bitmaps do not have the Resize option in the pop-up
menu, but do have resize handles, allowing you to resize these objects.

To resize an object, simply select the object and click and drag one of its handles.

Rotating Objects
Objects naturally rotate around a center of rotation, designated by a dot enclosed with a circle. When
you select Rotate from an object's pop-up menu, the object displays its center of rotation, and rotation
handles showing the direction you can rotate the object. See the following figure.

119
Creating Pictures

Rotation Handles

To rotate an object around its center of rotation, click and drag one of the object's rotation handles.
You can also rotate an object using the Rotate Expert, which allows you to specify minimum and
maximum angles of rotation. To use the Expert, click the Rotate Expert from the Expert toolbar
(Classic view) or on the Tools tab, in the Animations group, click Rotate (Ribbon view) or the
Toolbox, if enabled. For help on the fields of the Expert, click the Help button.

iFIX also lets you rotate objects based on a selected center of rotation. To change the center of rotation,
click and drag the default center of rotation to the desired location in the picture. When you place the
cursor over the center of rotation, the cursor becomes a crosshair. Now when you click and drag one of
the object's handles, the object rotates around the new center of rotation. This is illustrated in the
following figure.

Rotating an Object Around a New Center of Rotation

To relocate the object's default center of rotation, click the current center of rotation. The cursor
becomes a crosshair, and another crosshair appears at the object's center. Move the center of rotation
over the crosshair inside the object.

120
Creating Pictures

You can rotate any object except ovals, rounded rectangles, and charts.

NOTE: You can resize or rotate an object by animating it. For more information on animating an
object, refer to the Animating Object Properties chapter.

Manipulating Objects with Points


Some objects work a little differently than shapes such as rectangles and ovals, because they consist of
a series of connected points. Objects with points include polygons, polylines, lines, arcs, chords, and
pie shapes. The following figure illustrates the various types of objects with points.

Objects with Points

Reshaping Objects
When you create an object that consists of points, the object is added to your picture with reshape
handles, and the default operation available through the pop-up menu is Reshape. The following figure
illustrates an object with reshape handles. For polygons and polylines, objects are added with resize
handles, because you do not need reshape handles in order to reshape these objects. You can move the
points in the object to reshape the object at 15-degree increments.

Reshape Cursors

121
Creating Pictures

For lines, arcs, chords, and pies, you can reshape the object by clicking and dragging a reshape cursor
on the object.

Adding and Deleting Points in Polygons and Polylines

To reshape polygons and polylines, you add points to or delete points from the shape. When you add a
point, the cursor changes to a circle with a plus sign inside. If the cursor is black, you can add a point
to the polygon or polyline. If the cursor is white, you cannot, because the cursor is not close enough to
the object's edge. Move the cursor closer until it turns black or becomes partially black, as the
following figure shows.

Adding and deleting points can be performed using a circular cursor. A plus sign inside the circle
indicates that you are adding a point; a minus sign in the circle indicates that you are deleting a point.

Adding a Point

After you add a point, all the points in the object are displayed as small plus signs. You can click any
of these plus signs and drag the mouse to adjust the size or position of the point it represents. This, in
turn, changes the overall shape of the object.

Deleting a point is similar to adding a point, except the cursor changes to a circle with a minus sign
inside. A black cursor means you can delete a point; a white cursor means you cannot. When the cursor
is white, move it over the point you want to delete until it turns black. You can then delete that point.
See the following figure.

122
Creating Pictures

Deleting a Point

Coloring and Styling Objects


Depending on the object you are working with, you can apply one or more of the following color and
style properties to that object:

• Fade color
• Foreground color
• Background color
• Background style
• Edge color
• Edge style
• Edge width
• Fill style

The relationship of these properties is depicted in the following figure.

123
Creating Pictures

Object Color and Style Properties

The following table shows the color and style properties that can be changed for each object that you
can add to a picture.

Color and Style Properties

Object Foreground Background Background Edge Edge Edge Fill Fade


Color Color Style Color Style Width Style Type

Current * * * * * * * *
Time

Current * * * * * * * *
Date

Rectangle * * * * * * * *

Rounded * * * * * * * *
Rectangle

124
Creating Pictures

Color and Style Properties

Object Foreground Background Background Edge Edge Edge Fill Fade


Color Color Style Color Style Width Style Type

Oval * * * * * * * *

Chord * * * * * * * *

Polygon * * * * * * * *

Pie * * * * * * * *

Pipe * * * * * * *

Arc * * *

Line * * *

Polyline * * *

Text * * * * * * *

Push
Button

OLE * * * * * * *
Object

Data * * * * * * * *
Link

Alarm
Summary

Variable
Object

Timer
Object

Event
Object

125
Creating Pictures

Color and Style Properties

Object Foreground Background Background Edge Edge Edge Fill Fade


Color Color Style Color Style Width Style Type

Charts * * * * *

Bitmaps * *

NOTE: If you apply an edge style other than solid, and then change the edge width to a value greater
than 1, the edge style will not appear as defined in the Properties Window. This is because Microsoft
Windows does not permit edge styles to be applied to edge widths greater than 1. Therefore, make sure
your edge widths are no greater than 1 for lines that are not solid.

Selecting Object Color and Style Properties

To select or change object properties for a shape, select the shape and do one of the following:

• Select a property from the object's pop-up menu.


• Select the object and then select the property from the Object menu.
• Select a property from the Shape Preferences dialog box.
• Change a property value in the Properties Window.
• Animate the object.

To set a property using the object pop-up menu, right-click the object in the picture (or by clicking the
name in the system tree) and select the property from the pop-up menu. For more information on the
pop-up menu and the options you have for each property, refer to the Using the Object Pop-up Menu
section.

Depending on the object you are working with, specific property options are also available under the
Object menu. To access these properties, select the object, and then select the appropriate property
from the Object menu. When you do not have an object selected, the Object menu is disabled.

The following table lists the properties that are available from the Shape Preferences tabbed page on
the User Preferences dialog box. This dialog box displays the default property value for new objects,
unless that value is changed by any of the means outlined in this section.

Shape Preferences

126
Creating Pictures

Preference Function Options

Color Applies color properties to objects. • Fade Color


• Foreground
• Background
• Edge
For more information on selecting
colors, refer to the Working with
Color section.

Font Applies a font to text. • Name


• Size
• Style
For more information on selecting
colors, refer to the Adding Text
section.

Edge Style Applies an edge style to lines in • Solid


objects.
• Dash
• DashDot
• DashDotDot
• Dot
• Null
• Inside Frame

Edge Width Applies an edge width to lines in Any width, entered in pixels.
objects.
NOTE: Edge widths do not
autoscale.

Fill Style Applies a fill style to shapes. • CrossHatch


• Diagonal CrossHatch
• Downward Diagonal
• Gradient
• Hollow
• Horizontal
• Solid
• Upward Diagonal
• Vertical

127
Creating Pictures

Shape Preferences

Preference Function Options

Hit Test Size With Click and Stick enabled, Any logical units.
determines the minimum distance the
cursor can be from a shape before the
shape can be selected (known as a hit
test).

Background Applies a background style to objects. • Opaque


Style
• Transparent

Blend Percent Applies a percentage of blending Any number from 0 through 100.
between the foreground color and the
fade color.

Fade Type Applies a fade type to shapes. • Concentric


• Linear
• Reflected
• Radial

Thickness Applies a thickness to pipe objects. Any thickness from 10 through


300 pixels.

Elbow Style Applies an elbow style to pipe • Round


objects.
• Square

Start Cap Applies a cap style to the beginning • Round


of pipe objects.
• Square
• Horizontal Diagonal
• Vertical Diagonal

End Cap Applies a cap style to the end of pipe • Round


objects.
• Square
• Horizontal Diagonal
• Vertical Diagonal

Remove Leading Removes extra spaces when Data • Selected (default)


and Trailing links are displayed in the run-time
• Cleared
Spaces environment.

128
Creating Pictures

For more information on selecting properties using the Properties Window, refer to the Controlling
Object Properties chapter. You can also dynamically change the color, fill, and edge styles of an object
by animating it. For more information on animations, refer to the Animating Object Properties chapter.

Aligning Objects
To help create and maintain attractive pictures, you can align objects to a grid or in relation to each
other. The following sections show you how to align objects in your pictures.

Aligning Objects to the Grid

Each picture maintains an invisible grid that you can use to align objects precisely as you create them.
By enabling the Snap to Grid function, you can align objects with minimal effort, as objects stick (or
snap) to the nearest grid point. When this function is disabled, you can align objects visually by
displaying the grid and moving objects with the mouse, or by selecting the object you want to snap to a
grid point and in Classic View, selecting Snap Objects to Grid from the Format menu. In Ribbon view,
select the object, and on the Format tab in the Arrange group, in the Grid List, click Snap Objects to
Grid.

When you display the grid, an evenly-spaced array of dots appear in the background of the picture.
These dots represent the intersection of the grid lines, measured in pixels.

The Grid Settings dialog box lets you quickly set your options for using a grid. You can elect to show
the grid, enable the Snap to Grid function, and define the grid's spacing using this dialog box. In
Classic view, you can also select Snap to Grid from the Format menu, without using the Grid Settings
dialog box. In Ribbon view, you can enable the Snap to Grid function from the Format tab, in the
Arrange group, on the Grid list, by clicking Snap to Grid. If enabled, the Snap to Grid function works
whether or not you display the grid. To disable Snap to Grid, deselect the Snap to Grid check box on
the Grid Settings dialog box.

If enabled, the Snap to Grid function works whether or not you display the grid. To disable Snap to
Grid, deselect the Snap to Grid check box on the Grid Settings dialog box.

Default settings for Grid Enable and Snap to Grid can be entered in the Picture Preferences tabbed
page of the User Preferences dialog box.

NOTE: Snap to Grid does not work by nudging objects. You must use the mouse.

The following illustration shows an object moved with the grid displayed and Snap to Grid enabled.
The box to the lower left shows the outline of the object as it is being moved to that position. Notice
that the object sticks to the grid points.

129
Creating Pictures

Aligning Objects to the Grid

Aligning Objects to Each Other

IMPORTANT: You can also align two or more objects in relation to each other using the Align
buttons on the Tools toolbar or the Toolbox, if enabled. When using these buttons, you can vertically
align the top, bottom, or center of the objects and horizontally align the left, right, or center of the
objects, as the following figure shows. In Ribbon view, you can also align objects using options from
the Align list, in the Arrange group in the Format tab.

Original
Picture

130
Creating Pictures

Horizontal
Alignment

Vertical
Alignment

Aligning Objects in Relation to Each Other

Spacing Objects in a Vertical or Horizontal Line

Another way you can align objects is to space them. In Classic view, you can space two or more
objects vertically or horizontally with the Space Evenly Vertical and Space Evenly Horizontal buttons
on the Tools toolbar. In Ribbon view, you may access these options on the Format tab, in the Arrange
group, in the Space list. Both methods create an equal amount of spacing between each object; the
difference is that vertical spacing creates rows, and horizontal spacing creates columns. Both types of
alignment are illustrated in the following figure.

131
Creating Pictures

Vertical Spacing

Horizontal Spacing

Positioning and Scaling Objects

Another way to align objects in your picture is to position them. Positioning places the object where
you want it, based on either relative or absolute alignment and the horizontal or vertical axis. In Classic
view, you can position your objects using the Position Expert located on the Experts toolbar, or in
Ribbon view from the Tools tab, in the Animations group, click Animations. If the Toolbox is enabled,
click the button on the Toolbox. For help on the Expert fields, click the Help button on the Expert.

Alternately, you can scale an object. Scaling actually changes the dimensions of the object's height or
width, as you specify. To scale an object, use the Scale Expert located on the Experts toolbar or the
Toolbox, if enabled, or in Ribbon view from the Tools tab, in the Animations group, click Animations.
For help on the Expert fields, click the Help button on the Expert.

Flipping Objects
One simple way to change the way your objects appear in relation to each other is to flip them. When
you flip an object, the object reflects along its vertical or horizontal axis and reappears as a mirror
image of the original.

132
Creating Pictures

There are two ways to flip an object. You can flip an object simply by dragging a handle of an object
from one side to its opposite side. The drawback to this approach is that it also stretches the object. The
following figure shows a manually-flipped object that was accidentally reshaped.

Flipping Objects Manually

A more effective way to flip an object is to use the Flip Horizontal and Flip Vertical method. This
method flips the object while maintaining its original size and shape. The following figure illustrates
this effect.

Flipping Objects Effectively

Splitting Polylines and Pipes


After you have created a polyline or pipe, you may decide that it is not exactly the shape you want. Or,
you may want to insert another shape so that the polyline (or pipe) flows into and out of the new shape;
for example, a pipe flowing in one end of a tank and out the other end.

You can split a polyline or pipe into two or more objects. The following sections show you how it's
done.

133
Creating Pictures

Split Polyline

Figure 1 shows the selected polyline with reshape handles. In Figure 2, the arrow points to the
splitting cursor, which turns black when it is close to the polyline.

Figure 3 shows that the polylines still appear joined, however the reshape handles now surround only
the polyline on the left. Figure 4 shows the polylines separated. You can now move the individual
polylines around the picture or choose to delete one of them.

134
Creating Pictures

Split Pipe

Figure 1 shows the selected pipe with reshape handles. In Figure 2 the arrow points to the splitting
cursor, which changes to a contrasting color when the cursor is inside the pipe.

In Figure 3, the arrow points to the split you created in the original pipe object. Note that the reshape
handles now surround only the pipe on the left. Figure 4 shows the pipes separated. You can now move
the individual pipes around the picture or choose to delete one of them.

NOTE: When you split a polyline or pipe, you create a new object. Therefore, if you undo a polyline or
pipe split, the new object is deleted first and you must perform a second undo action to revert to the
original object.

135
Creating Pictures

Extending Lines to Intersect

Joining two or more lines can be tedious and time-consuming if it is done manually and
if there are many lines in your picture that need to be joined. Using the Extend Lines
button on the CAD Toolbar (Classic view) or Extend Lines, in the Drawing Tools list, in
the Picture group, on the Format tab (Ribbon view), you can easily extend single or
multiple lines to an intersection point.

NOTE: You can intersect lines in configuration mode only.

There are two types of intersection points:

on-line off-line

Intersecting Lines to a Single Intersection Point

Each intersection of lines can involve only two lines whether the intersection point is on-line or off-
line. If you select more than two lines, then more than one intersection point is involved and a separate
operation for each intersection is required. For more information about intersecting multiple lines to
multiple intersection points, see Intersecting Lines to Multiple Intersection Points.

Example 1: On-line intersection point

The following diagrams show an example of extending and intersecting a single line (line 1) with the
intersection point located on another line (line 2). This is an example of an on-line intersection point.

Example 2: Off-line intersection points

136
Creating Pictures

The following diagrams show examples of extending and intersecting two lines (lines 1 and 2) with an
intersection point that is not located on either source line (off-line). When the intersection point of two
lines is found at a point off the two source lines, both lines are extended to the intersection point.

IMPORTANT: Lines may appear to be perfectly vertical or horizontal, but if they are even slightly off,
they will extend well beyond the boundaries of your computer screen. In the following diagram, the
"horizontal" lines were extended to the intersection points on the vertical line, but also extend to the
right, past the edge of the viewing area on the computer screen.

For this reason, it is best to use the Make lines horizontal and/or Make lines vertical buttons on the
CAD Toolbar (Classic View) or from the Format tab, in the Picture group, in the Drawing Tools list
(Ribbon view) before extending lines to the intersection points. For more information, see Making
Lines Horizontal or Vertical.

137
Creating Pictures

Intersecting Lines to Multiple Intersection Points

In cases where there is more than one potential intersection point, the closest intersection point is
always used. However, an on-line intersection point always takes precedence over an off-line
intersection point, regardless of it's proximity to the intersecting lines, and the number of lines and
intersection points. The following diagrams show examples of these rules.

Example 1: No on-line intersection point

In the first example, the blue circle indicates the closest of the two intersection points, and because
there is no on-line intersection point, only lines 2 and 3 are extended to the closest intersection point.
Line 1 does not intersect with line 3.

Example 2: On-line and off-line intersection points

In this example, the blue circle indicates the on-line intersection point, and because on-line intersection
points take precedence over off-line intersection points, line 3 is extended to the on-line point on line
1. Line 2 does not intersect with line 3.

Example 3: On-line and off-line intersection points

The following diagrams provide examples of extending multiple lines.

In the following example, lines 1 and 5 connect with the off-line intersection point (in the upper left
corner), because there is no on-line point to take precedence. Line 4 goes through the off-line
intersection points to connect with the on-line point on line 1 and lines 2 and 3 go through the off-line

138
Creating Pictures

points to connect with the on-line intersection points on line 5.

In the next example, lines 1 and 6 connect with the off-line intersection point (in the upper left corner),
because there is no on-line point to take precedence. Lines 2, 4, and 5 go through the off-line points to
the on-line points on lines 6 and 1. Line 3 connects only with the first on-line intersection point on line
5.

The final example below, shows line 5 going through the off-line intersection points (red circles) to the
on-line intersection point in the top left corner on line 1. Lines 3 and 4 intersect at the off-line point on
the right because there is no on-line intersection point to take precedence. If you click the Extend Lines
button again, lines 2 and 3 are extended to line 5 where on-line intersection points exist.

139
Creating Pictures

Trimming Lines at the Intersection

After you have intersected lines in your picture, you can trim the intersected lines to
remove unnecessary portions. Trimming lines can be tedious and time-consuming if it is
done manually and if there are many lines in your picture that need to be trimmed. Using
the Trim Lines button on the CAD Toolbar (Classic view) or Trim Lines in the Drawing
Tools list, in the Picture list, in the Picture group, on the Format tab (Ribbon view), you
can easily trim single or multiple lines. The following diagrams show examples of
trimmed intersected lines.

NOTE: Regardless of the trim option set in the User Preferences dialog box, the shortest portion of the
line from the intersection point will always be trimmed first.

Converting Lines to Polyline

Joining multiple lines to create a polyline can be tedious and time-consuming if it is


done manually. Using the Convert Lines to Polyline button on the CAD Toolbar,
(Classic view) or Convert Lines to Polyline, in the Drawing Tools list, in the Picture list,
in the Picture group, on the Format tab (Ribbon view), you can easily draw the
individual lines required and convert them to a polyline. You can create single or
multiple polylines.

140
Creating Pictures

Converting lines to a single polyline

The following diagrams show an example of creating a single polyline from individual lines.

The lines are drawn, as in Figure 1, and then all are selected. When you click the Convert Lines to
Polyline button, it extends the lines (as shown in Figure 2), and then it trims the lines (as shown in
Figure 3). For more information, refer to Extending Lines to Intersect and Trimming Lines at the
Intersection.

Figure 4 shows the points of the polyline. The points of a polyline are determined when two lines are
connected and have the same intersection point at the start or end point.

Converting lines to multiple polylines

The following diagrams show an example of creating multiple polylines from individual lines.

141
Creating Pictures

As with converting lines to a single polyline, the selected lines are first extended to the intersection
points and then trimmed. In this example, two polylines have been created.

Figure 4 shows the points of each polyline; that is, points 1-1 through 1-6 are the points of Polyline 1
and points 2-1 through 2-3 are the points of Polyline 2. The points of a polyline are determined when
two lines are connected and have the same intersection point at the start or end point.

Making Lines Horizontal or Vertical

Drawing straight horizontal or vertical lines can be tedious and time-consuming if


done manually. Using the Make Lines Horizontal or Make Lines Vertical buttons
on the CAD Toolbar, (Classic view) or Make Lines Horizontal or Make Lines
Vertical, in the Drawing Tools list, in the Picture group, on the Format tab (Ribbon
view), you can easily change the position of your lines. The following diagrams
show examples of making lines horizontal and vertical.

142
Creating Pictures

Make Line Horizontal

Make Line Vertical

Converting Lines and Polylines to Pipe

Creating pipe objects from lines and polylines is simplified using the Convert Lines and
Polylines to Pipe button on the CAD toolbar (Classic View) or Convert Lines and
Polylines to Pipe, in the Drawing Tools list, in the Picture group, on the Format tab
(Ribbon view). Create the required lines and polylines, or select existing lines and
polylines, then convert them to pipes.

The new pipe object inherits the property values, animation settings, and VBA scripts from the original
line/polyline object. The pipe-specific properties have the default values configured in the User
Preferences dialog box. You can change the pipe-specific properties using the Modify Pipe
Characteristics dialog box.

143
Creating Pictures

The following diagrams show examples of converting lines and polylines to pipes.

Single Line Line Converted to Pipe

Polyline Polyline Converted to Pipe

Modifying Pipe Characteristics

You can modify the characteristics of pipe objects by using either the Modify Pipe
Characteristics dialog box, or the Select Color dialog box when you choose Fade from
the Color pop-up menu. The same pipe properties are available on both dialog boxes.

To access the Modify Pipe Characteristics dialog box, use one of the following methods:

• Right-click a pipe object and choose Modify Pipe Characteristics.


• Select one or more pipe objects and click the Modify Pipe button on the CAD Toolbar, if it is
enabled (Classic view).
• Select one or more pipe objects and on the Format tab, in the Styles group, from the Pipe

144
Creating Pictures

Styles list, click Modify Pipe Characteristics (Ribbon view).

To access the Select Color dialog box, right-click a pipe object, point to Color and choose Fade.
Whichever dialog box you choose to access, you can define the same characteristics for your pipe
objects.

NOTE: If you select multiple pipe objects, you cannot access these dialog boxes with the right-click
pop-up menu. You can, however, use the Modify Pipe button on the CAD Toolbar (Classic view) or
Modify Pipe Characteristics in the Pipe Styles list, in the Styles group on the Format tab (Ribbon view)
to change characteristics of multiple pipe objects, as shown in the following illustration.

In these dialog boxes you can change the appearance of the selected pipes, including the foreground
and fade colors, blend percentage, edge and fill styles, thickness and edge width, the appearance of the
start and end caps, and elbow style. If you select more than one pipe, the changes are applied to all
pipes. Note that if you select Gradient as the fill style, the only fade type available for pipe objects is
reflected.

The following diagrams show different combinations of cap and elbow styles.

NOTE: Elbow styles must be either all round or all square; you cannot mix elbow styles on a single
pipe object.

145
Creating Pictures

Round start caps, end caps, and elbows

Square start caps, end caps, and elbows

Horizontal diagonal start cap, Vertical diagonal end cap, and round elbows

Adding and Deleting Connection Points

Connection points are used to anchor connectors to shapes in your pictures.

146
Creating Pictures

If the Always Show Connection Nodes check box on the User Preferences dialog box is selected, the
default connection points and points that you add to shapes are always visible. If this check box is
cleared, the connection points are not visible, but can be displayed using one of the following methods:

• Select a connector and move it towards the shape to anchor it to a certain connection point on
the shape.

- Or -

• Select the shape and click either the Add Connection Point button or Delete Connection Point
button on the CAD Toolbar.

Adding Connection Points

You can add new connection points to a shape or use the default connection points to anchor a
connector. For more information about anchoring, refer to Using the Connector Tools.

The following diagrams show you how to add connection points.

In Figure 1, the red arrow points to the Add Connection Point cursor that appears when you are
adding a connection point. The black arrow in Figure 2 points to the new connection point.

NOTE: The shape you are adding a connection point to must be selected. Reshape handles appear
around the shape when it is selected.

Default Connection Points

Most shapes are provided with default connection points and allow you to add custom connection
points. The following table lists the different shapes, the number of default connection points and the
number of custom connection points that can be added.

Default Custom
Object Connection Connection
Points Points

147
Creating Pictures

0
Pipes, Lines, Polylines 0

3
Arcs 0

3
Pies, Chords 13

8
Text, Datalink 8

8
Rectangles, Round Rectangles, Ovals, 8
Polygons

2
Line Connector, Right Angle Line Connector, 0
Pipe Connector

NOTE: Pipes, lines, and polylines display connection nodes only at their end points and only when a
connector object attempts to connect or is connected to the object. At no other time are connection
nodes visible for these objects, regardless of whether the Always Show Connection Nodes check box is
selected.

Deleting Connection Points

You can delete connection points that you add to a shape but you cannot delete default connection
points. The following diagrams show you how to delete a connection point.

148
Creating Pictures

In Figure 1, the black arrow points to the custom connection point you added. The red arrow in Figure
2 points to the Delete Connection Point cursor that appears when you move the cursor over a
custom connection point. The gold arrow in Figure 3 points to the cursor that appears when you
move the cursor over a default connection point, to indicate that the connection point cannot be
deleted.

NOTE: The shape you are deleting a connection point from must be selected. Reshape handles appear
around the shape when it is selected.

Using the Connector Tools

Connectors are used to connect two shape objects together. This is helpful
when you want to move your shapes around the picture but keep them
connected. If only one of the connector's ends is anchored to a shape object,
whenever that shape is moved, the connector object follows it. If both ends of
the connector are anchored to two shapes, it will stretch or shrink itself when
one of the shapes is moved or resized.

Line Connector

The Line Connector tool allows you to draw a straight line to connect two shapes, as illustrated in the
following figure.

149
Creating Pictures

Right Angle Line Connector

The Right Angle Line Connector tool allows you to draw a right angle line to connect two shapes, as
illustrated in the following figure.

Pipe Connector

The Pipe Connector tool allows you to draw a pipe connector between two shapes, as illustrated in the
following figure.

150
Creating Pictures

Moving Connectors

You can move your connector to any position simply by selecting it and dragging it to a spot anywhere
in the picture. However, there will be times when you want to be more precise about positioning the
connector. There are a number of ways you can do this:

• Click and drag a connector handle


• Hold down the CTRL key and click and drag a connector handle
• Use the arrow keys
• Hold down the SHIFT key and use the arrow keys
• Hold down the CTRL key and use the arrow keys
• Hold down the SHIFT + CTRL key and use the arrow keys
• Use the + or - keys to rotate
• Use the SHIFT and + or - key to rotate

Using the SHIFT or CTRL keys, or a combination of both, while moving, scaling, or rotating your
connectors provides you with an extra level of precision when performing these actions. You can
change that level of precision by changing the settings for these actions by increasing or decreasing the
number of pixels or degrees your connector moves, scales, or rotates. For more information about
changing these settings, see the Changing the Nudge Settings section in Changing Picture Settings in
the FixUserPreferences.ini file.

Click and Drag a Connector Handle

When you click and drag a connector handle, only the selected end of the connector moves as you drag
it, and the connector itself is stretched or shrunk, depending on how you move the connector. When
you release the mouse button, the connector handle is placed at that position. However, if you place the
connector handle near a connection point on an object, the connector handle snaps to that connection
point. This is very useful when anchoring a connector. For more information about anchoring, see
Anchoring Connectors.

151
Creating Pictures

CTRL + Click and Drag a Connector Handle

When you press the CTRL key and click and drag a connector handle the connector is moved, stretched,
or shrunk similar to clicking and dragging; however, when you hold down the CTRL key and drag the
connector in an arc formation, the connector only moves in 15 degree increments. That is, as you drag
the connector handle through a 90 degree arc, there are only six positions it can be dropped on. As you
drag it through 180 degrees, there are 12 positions it can be dropped on, and so forth.

If you drop the connector handle near a connection point on an object when you are holding down the
CTRL key, it will not snap to the connection point; it will simply drop at the indicated position. If you
want the connector handle to snap to a connection point, you must click and drag it without using the
CTRL key.

The Arrow Keys

Use the arrow keys to move the connector horizontally and vertically in the picture. The number of
pixels the connector moves each time you press an arrow key depends on the SlowNudgeMoveOffset
setting in the FixUserPreferences.ini file.

SHIFT + the Arrow Keys

When you press the SHIFT key and one of the arrow keys, the connector moves horizontally or
vertically, depending on the arrow key used. The number of pixels the connector moves is defined in
the FastNudgeMoveOffset setting in the FixUserPreferences.ini file.

CTRL + the Arrow Keys

When you press the CTRL key and the up or down arrow keys, the connector moves or scales vertically,
depending on the position of the connector and the arrow key used. If you press the left or right arrow
key while pressing the CTRL key, the connector moves or scales horizontally. For example, if you draw
a horizontal connector, it will move vertically when you use the up or down arrow key with the CTRL
key, and will scale horizontally when you use the left or right arrow key with the CTRL key. If you
draw a vertical connector, it will scale vertically when you use the up or down arrow key with the CTRL
key, and will move horizontally when you use the left or right arrow key with the CTRL key.

When scaling the connector, only the end moves. For example, if you draw a pipe connector from left
to right, the right side of the connector (the end) stretches or shrinks when you use the CTRL key and
left or right arrow key. If you rotate the connector 180 degrees, the left side becomes the end and the
connector will be scaled from that side. The number of pixels the connector moves or is scaled when
you use the CTRL key with the arrow keys depends on the SlowNudgeMoveOffset and
SlowNudgeScaleOffset settings in the FixUserPreferences.ini file.

SHIFT + CTRL + the Arrow Keys

When you press SHIFT + CTRL and one of the arrow keys, the connector moves or scales horizontally or
vertically, depending on the position of the connector and the arrow key used. For example, if you
draw a horizontal connector, it will move vertically when you use the up or down arrow key with the
SHIFT + CTRL keys, and will scale horizontally when you use the left or right arrow key with the SHIFT
+ CTRL keys. If you draw a vertical connector, it will scale vertically when you use the up or down
arrow key with the SHIFT + CTRL keys, and will move horizontally when you use the left or right arrow
key with the SHIFT + CTRL keys. The number of pixels the connector moves or scales when you use the
SHIFT + CTRL keys with the arrow keys depends on the FastNudgeMoveOffset and
FastNudgeScaleOffset settings in the FixUserPreferences.ini file.

152
Creating Pictures

The + or - keys

Use the + or - keys to rotate your connector. When you right-click the object and choose Rotate, four
rotate handles appear around the object. Use the + key on the number keypad to rotate the connector in
a counter clockwise direction; use the - key on the number keypad to rotate the connector in a
clockwise direction. The number of degrees the connector rotates each time you press the + or - key
depends on the SlowNudgeRotateOffset setting in the FixUserPreferences.ini file.

SHIFT and + or - key

When you press the SHIFT key and either the + or - key, the connector rotates either counter clockwise
or clockwise, depending on the key used. The number of degrees the connector moves is defined in the
FastNudgeRotateOffset setting in the FixUserPreferences.ini file.

Anchoring Connectors

You must add connection points to shapes or use the default connection points to anchor the connector.
Anchoring a connector allows you to move the shapes around the picture until you are satisfied with
their locations, while keeping them connected. The connector stretches and reshapes itself as you move
or resize the shapes.

The following diagrams show you how to anchor a connector.

In Figure 1, the green arrow points to the line connector and the black arrows point to connection
points you added. For information about adding connection points, refer to Adding and Deleting
Connection Points.

Figure 2 shows the anchored connector. When you select the connector and move the cursor over the
handles, the cursor becomes a crosshair. Click and drag each connector handle to a connection point.
The handles change to red and black when the connector is anchored.

NOTE: You can anchor a connector to default connection points.

153
Creating Pictures

Connected Shapes that Overlap

All shapes have a bounding box that defines the outside boundary of the shape. The bounding box is
visible when a shape is selected and dragged. The following picture shows the bounding box of a pipe
connector that is being moved. Only the bounding box moves while you're dragging the connector.
When you let go of the mouse button, the shape then moves and the bounding box disappears.

As you add shapes to your picture, the shape that was drawn last is always placed "on top." This means
that the bounding box of the newest shape may overlap an existing shape. When you are adding pipe
and line connector shapes to your picture, this overlap can prevent you from selecting the previously
drawn shape.

For example, you have anchored both a pipe connector and a line (or right angle line) connector to two
shapes, and the bounding box of the pipe connector is on top because you drew it last. As the following
picture shows, the line connector is positioned within the pipe connector's bounding box; therefore,
you cannot select it.

You must either move the pipe connector so that its bounding box no longer overlaps the line
connector or right-click the pipe connector and choose Send to Back. This allows you to select and

154
Creating Pictures

move the line connector and anchor it to the desired connection points.

NOTE: To allow shapes to be selectable at all times, regardless of the location of a shape's bounding
box, clear the Always Show Connection Nodes check box on the Drawing Options tab of the User
Preferences dialog box.

Creating Complex Objects


One of the most powerful features in iFIX is the ability to easily create complex objects from simple
ones. Because iFIX uses object-oriented graphics in an open picture environment, you have the
flexibility to develop more intuitive pictures with a few clicks of the mouse. The ways you can
manipulate objects to design advanced pictures include:

• Stacking
• Bringing to Front and Sending to Back
• Layering and Visibility
• Grouping and ungrouping

Stacking
Stacking allows you to place one object on top of another so that it forms a more complex, multi-
dimensional figure.

It is an effective method for taking simple, existing objects and forming more intuitive ones. For
example, by stacking two ovals and two rectangles, you can create a picture that resembles a pump, as
depicted in the following figure.

To form more precise connections, such as the two rectangles meeting flush with the edge of the
outside circle in the figure above, try nudging the object exactly where you want it. For more
information on moving objects and nudging, refer to the Moving Objects section.

You can stack as many objects as you want. The object on top does not have to cover the other object
completely and does not alter its properties.

Bringing to Front and Sending to Back


When you initially draw multiple objects, the object that appears on top is always the last one drawn.
However, you can change the order of objects in a stack with the Send to Back and Bring to Front
buttons. The following figure illustrates this concept.

155
Creating Pictures

You can move multiple objects in a stack so that they keep their relative position to each other, as the
following figure shows.

Making Multiple Objects the Same Size

When you create multiple objects in a picture, you can easily resize one or more of the objects to
match the size of another resized object. For example, lets say you add an oval to your picture. Next,
you add a rectangle, and then you manually resize the rectangle. You can make the oval the same size
as the rectangle by selecting both objects and using the Make Same Size function. By default, Make
Same Size resizes the objects in the picture according to the most recently modified object's
dimensions. If you want to resize objects using the dimensions of any other object, you must select that
object and resize it first.

Layering and Visibility


Layering objects is a powerful way to control specific objects in a complex picture or process. One of
the most common uses for layering is when you are developing large displays, and you want your
operators to be able to easily distinguish specific parts of the picture. By assigning a layer or multiple
layers to objects in the picture, you determine which objects within the picture are visible to the
operator. Further, layers are an effective security feature in that you can turn off a specific layer so that
certain objects cannot be viewed by one or a set of operators.

You can establish layering using the Set Layer and Display Layers buttons on the Tools toolbar
(Classic view) or from the Format tab in the Picture group, in the Layers list (Ribbon view). Setting a
layer assigns a layer to a selected object. Displaying layers, on the other hand, applies to the entire
picture, and determines what layers are displayed in your picture.

The following illustration shows two objects, Oval1 and Rect1, added to a picture.

156
Creating Pictures

Next, layers are assigned to the objects as follows:

1. The object Oval1 is set with a layer of 1.


2. The object Rect1 is set with a layer of 2.

Then, display layers are set to 1. The following figure shows what is displayed based on the layering
that was assigned.

Next, the same objects are grouped, and layers are assigned to the objects as follows:

1. The object Oval1 is set with a layer of 1.


2. The object Rect1 is set with a layer of 2.
3. The grouped object Group1 is set with a layer of 1.

Then, display layers are set to 1. The grouped object is displayed, including one of its member objects
(the oval).

Layers are controlled by the LayerName property, which can be animated using the Misc tab in the
Advanced Animations dialog box, or by writing VBA scripts. In addition to the examples cited above,
you can also effectuate the layering function in the run-time environment. After assigning layers to a
set of objects, the objects appear at run-time according to the layering you have set.

What appears on your screen, whether you are in the configuration or run-time environments, is
determined by the Visible property. However, this is only true if the layer assigned to that object is
displayed. For example, if you assign the Visible property for an object to True, but that object does
not appear in your picture, it is probably because the object is assigned to a layer that is not displayed
(the LayerName property takes precedence over the Visible property).

Using the Visibility Expert

You can also set conditions for the Visible property using the Visibility Expert. This Expert lets you

157
Creating Pictures

assign a data source to the property, or create an expression using conditional values and relational
operators. To use the Visibility Expert, click the Visibility Expert button on the Experts toolbar
(Classic view), or access the Visibility Expert from the Tools tab, in the Animations group (Ribbon
View). If the Toolbox is enabled, click the button on the Toolbox. For help on the Expert fields, click
the Help button on the Expert.

Setting the Layer Property Through VBA

When you set the Layer property through VBA, the layers are related to the property number by a bit
mask. In the following equation, n is the layer number that you want to display:

picture.displaylayer = 2n-1

For example, if you want to display layer 3, picture.displaylayer would be equal to 23-1, which is
simplified to 22, which is equal to 4. So, you would use the following VBA code:

picture.displaylayer = 4

If you want to display layer 4, picture.displaylayer would be equal to 24-1, which is simplified to 23,
which is equal to 8. So, you would use the following VBA code:

picture.displaylayer = 8

Grouping and Ungrouping Objects


You can group objects together to create a new single object. This is called a group, or grouped object.
A grouped object is like having a rubber band around your picture that contains all the objects you
grouped together.

The power of grouped objects is that they let you create custom objects which you can reuse without
building new ones from scratch. Like other objects, grouped objects have properties you can modify
and control. You can manipulate a group as an object while maintaining individual object properties
and animations. However, grouped objects do not need to be permanent. You can always destroy a
grouped object by ungrouping it. When you ungroup it, the rubber band containing the objects in the
group is deleted, but the member objects are not.

Nesting Grouped Objects

You can nest a group inside another group. For example, you can create a pump from a group of
rectangles and ovals and group them. When you group these objects, the Proficy iFIX WorkSpace adds
a group name (Group 1) to the system tree for the group object and lists the individual objects that
comprise the group one level down from the group name. The following figure illustrates this concept.

System Tree Grouped Objects

158
Creating Pictures

If you draw a valve (Polygon1), a connector (PolyLine1), and group it with the pump (Group1),
another object named Group 2 is created which contains the first group (the pump) and the objects
used to create the valve (the Polygon1 and PolyLine1), as the following figure shows.

System Tree Grouped Objects

Editing Grouped Objects

Once you create a grouped object, you can manipulate it like any other individual object, including
moving, cutting, copying, and resizing it. Keep in mind, however, that when you ungroup an object,
any changes you make to it affect the member objects. For example, if you resize a group before you
ungroup it, you resize each individual object in the group.

Changing a group's animations, however, does not affect the member objects when you ungroup. To
change the properties of individual objects, you must drill down into the group to select the object you
want, without ungrouping the object.

Drilling Down into a Group

Drilling down allows you to meticulously control complex grouped objects. To drill down, select Enter
DrillDown from the object pop-up menu and select the object in the group that you want to change.
You can also hold down the shift key and click the object in the group that you want to change.
Drilling down also lets you change the order in which the objects are stacked within the group.

For example, suppose you want to change the color and size of the polygon (the valve) in the following
figure.

One way to do this would be to ungroup, make changes to the polygon, and regroup the objects.
However, this can be tedious and time-consuming, particularly if you have many objects in the group
that you need to change. In addition, if the group contains animations or scripts, the animation settings
and the scripts are destroyed when you ungroup the object.

159
Creating Pictures

A more effective way to modify the polygon is to drill down into the group and make changes without
ungrouping. This approach saves time because you don't have to ungroup and then regroup, and
consequently you preserve any animations or scripts you have assigned to the group.

When you drill down into a group to change an object, a box of dashed lines appear around the group.
Any additional groups will also display a dashed line box. To change only a specific object in a group,
first select the group that contains that object. Then right-click the group and select Enter DrillDown
from the pop-up menu. Now you can select the object you want. You can also hold down the shift key
and click the object in the group that you want to select, as the following figure illustrates.

Nested Group Objects

Pictures Dialog Boxes


The WorkSpace application includes the following dialog boxes for working with pictures (listed in
alphabetical order):

• Add Alarm Extension Field1 Dialog Box


• Add Alarm Extension Field2 Dialog Box
• Add Area Dialog Box
• Add ColorSet Dialog Box
• Add Date In Dialog Box
• Add Date Last Dialog Box
• Add Description Dialog Box
• Add Node Dialog Box
• Add Priority Dialog Box
• Add Tag Dialog Box
• Add Time In Dialog Box
• Add Time Last Dialog Box

160
Creating Pictures

• Advanced Animations Dialog Box


• Advanced Lookup Options Dialog Box
• Alarm Summary Configuration Dialog Box
• Basic Animation Dialog Box
• Chart Configuration Dialog Box
• Color Selection Dialog Box
• Create Picture Wizard Dialog Box
• Custom Lookup Table Dialog Box
• Datalink Dialog Box
• Edit Picture Dialog Box
• Enhanced Chart Configuration Dialog Box
• Grid Settings Dialog Box
• Historical Datalink Dialog Box
• Modify Area Dialog Box
• Modify Configuration Dialog Box
• Modify Pipe Characteristics Dialog Box
• New Level Dialog Box
• Select BackgroundColor
• Select Color Dialog Box
• Select EdgeColor
• Select FadeColor Dialog Box
• Select ForegroundColor

Add Ack Dialog Box


The Add Ack dialog box displays the following items:

Acknowledged

Lists the alarms that have been acknowledged.

Unacknowledged

Lists the alarms that have not been acknowledged.

Add Alarm Extension Field1 Dialog Box


The Add Alarm Extension Field1 dialog box displays the following items:

161
Creating Pictures

Containing

Allows you to configure the Alarm Summary object to display only those alarms that contain the text
string entered in the Description field.

Not Containing

Allows you to configure the Alarm Summary object to display all alarms that do not contain the text
string entered in the Description field.

Containing Only

Allows you to configure the Alarm Summary object to display all alarms that contain an exact match
of the text string entered in the Description field.

Alarm Extension Field1

Allows you to enter the text description for which to filter alarms. You can use the asterisk (*)
wildcard character to match substrings; for example, my* would filter the description "mynode". You
can also use the question mark (?) wildcard character to match individual characters; for example,
myno?e would also filter the description "mynode".

Add Alarm Extension Field2 Dialog Box


The Add Alarm Extension Field2 dialog box displays the following items:

Containing

Allows you to configure the Alarm Summary object to display only those alarms that contain the text
string entered in the Description field.

Not Containing

Allows you to configure the Alarm Summary object to display all alarms that do not contain the text
string entered in the Description field.

Containing Only

Allows you to configure the Alarm Summary object to display all alarms that contain an exact match
of the text string entered in the Description field.

Alarm Extension Field2

Allows you to enter the text description for which to filter alarms. You can use the asterisk (*)
wildcard character to match substrings; for example, my* would filter the description "mynode". You
can also use the question mark (?) wildcard character to match individual characters; for example,
myno?e would also filter the description "mynode".

162
Creating Pictures

Add Area Dialog Box


The Add Area dialog box displays the following items:

Available

Lists the alarm areas that are currently available. To filter alarms by alarm area, select the area(s) from
this list and select the In or Not In option button.

In

Allows you to filter alarms by the alarm areas that are currently selected in the Available list. When
this option is selected, the Alarm Summary object displays only those alarms from the selected alarm
areas.

Not In

Allows you to filter alarms by the alarm areas that are currently selected in the Available list. When
this option is selected, the Alarm Summary object ignores all alarms from the selected alarm areas.

Add Area Not Currently in List Edit Box

Allows you to add an alarm area name to the Available list, if it does not appear by default. Enter the
alarm area name in this field and click Add to add it to the list.

Add Button

Allows you to add an alarm area name to the Available list, if it does not appear by default. Enter the
alarm area name in the Add Area Not Currently In List field and click this button to add it to the
Available list.

Add ColorSet Dialog Box


The Add ColorSet dialog box displays the following item:

Name

Allows you to enter a name for your color set.

Add Date In Dialog Box


The Add Date In dialog box displays the following items:

163
Creating Pictures

Operator

Item Description

= Allows you to configure the Alarm Summary object to display only


those alarms that are equal to the value of the field to the right. For
example, if the equal operator is used in conjunction with the Time In
field, and the value in the Time In field is 10:00:00, then the Alarm
Summary object will display only those alarms that first occurred at
10:00:00.

<> Allows you to configure the Alarm Summary object to display only
those alarms that are not equal to the value of the field to the right.
For example, if the not equal operator is used in conjunction with the
Time In field, and the value in the Time In field is 10:00:00, then the
Alarm Summary object will display all alarms that did not first occur
at 10:00:00.

> Allows you to configure the Alarm Summary object to display only
those alarms that are greater than the value of the field to the right.
For example, if the greater than operator is used in conjunction with
the Time In field, and the value in the Time In field is 10:00:00, then
the Alarm Summary object will display only those alarms that first
occurred after 10:00:00.

>= Allows you to configure the Alarm Summary object to display only
those alarms that are greater than or equal to the value of the field to
the right. For example, if the greater than or equal to operator is used
in conjunction with the Time In field, and the value in the Time In
field is 10:00:00, then the Alarm Summary object will display all
alarms that first occurred at or after 10:00:00.

< Allows you to configure the Alarm Summary object to display only
those alarms that are less than the value of the field to the right. For
example, if the less than operator is used in conjunction with the
Time In field, and the value in the Time In field is 10:00:00, then the
Alarm Summary object will display only those alarms that first
occurred before 10:00:00.

<= Allows you to configure the Alarm Summary object to display only
those alarms that are less than or equal to the value of the field to the
right. For example, if the less than or equal to operator is used in
conjunction with the Time In field, and the value in the Time In field
is 10:00:00, then the Alarm Summary object will display all alarms
that first occurred at or before 10:00:00.

Date In

The date when the block first generated the alarm – used as a condition to filter alarms.

164
Creating Pictures

Add Date Last Dialog Box


The Add Date Last dialog box displays the following items:

Operator

Item Description

= Allows you to configure the Alarm Summary object to display only


those alarms that are equal to the value of the field to the right. For
example, if the equal operator is used in conjunction with the Time In
field, and the value in the Time In field is 10:00:00, then the Alarm
Summary object will display only those alarms that first occurred at
10:00:00.

<> Allows you to configure the Alarm Summary object to display only
those alarms that are not equal to the value of the field to the right.
For example, if the not equal operator is used in conjunction with the
Time In field, and the value in the Time In field is 10:00:00, then the
Alarm Summary object will display all alarms that did not first occur
at 10:00:00.

> Allows you to configure the Alarm Summary object to display only
those alarms that are greater than the value of the field to the right.
For example, if the greater than operator is used in conjunction with
the Time In field, and the value in the Time In field is 10:00:00, then
the Alarm Summary object will display only those alarms that first
occurred after 10:00:00.

>= Allows you to configure the Alarm Summary object to display only
those alarms that are greater than or equal to the value of the field to
the right. For example, if the greater than or equal to operator is used
in conjunction with the Time In field, and the value in the Time In
field is 10:00:00, then the Alarm Summary object will display all
alarms that first occurred at or after 10:00:00.

< Allows you to configure the Alarm Summary object to display only
those alarms that are less than the value of the field to the right. For
example, if the less than operator is used in conjunction with the
Time In field, and the value in the Time In field is 10:00:00, then the
Alarm Summary object will display only those alarms that first
occurred before 10:00:00.

165
Creating Pictures

Item Description

<= Allows you to configure the Alarm Summary object to display only
those alarms that are less than or equal to the value of the field to the
right. For example, if the less than or equal to operator is used in
conjunction with the Time In field, and the value in the Time In field
is 10:00:00, then the Alarm Summary object will display all alarms
that first occurred at or before 10:00:00.

Date Last

The date when the block last generated the alarm – used as a condition to filter alarms.

Add Description Dialog Box


The Add Description dialog box displays the following items:

Containing

Allows you to configure the Alarm Summary object to display only those alarms that contain the text
string entered in the Description field.

Not Containing

Allows you to configure the Alarm Summary object to display all alarms that do not contain the text
string entered in the Description field.

Containing Only

Allows you to configure the Alarm Summary object to display all alarms that contain an exact match
of the text string entered in the Description field.

Description

Allows you to enter the text description for which to filter alarms. You can use the asterisk (*)
wildcard character to match substrings; for example, my* would filter the description "mynode". You
can also use the question mark (?) wildcard character to match individual characters; for example,
myno?e would also filter the description "mynode".

Add Node Dialog Box


The Add Node dialog box displays the following items:

Available

Lists the nodes that are currently available. To filter alarms by node, select the node from this list and
select the In or Not In option button.

166
Creating Pictures

In

Allows you to filter alarms by the nodes that are currently selected in the Available list. When this
option is selected, the Alarm Summary object displays only the available nodes.

Not In

Allows you to filter alarms by the nodes that are currently selected in the Available list. When this
option is selected, the Alarm Summary object ignores all alarms from the selected alarm areas.

Add Priority Dialog Box


The Add Priority dialog box displays the following items:

Operator

Item Description

= Allows you to configure the Alarm Summary object to display only


those alarms that are equal to the priority listed on the right.

<> Allows you to configure the Alarm Summary object to display only
those alarms that are not equal to the priority listed on the right.

>= Allows you to configure the Alarm Summary object to display only
those alarms that are greater than or equal to the priority listed on the
right.

<= Allows you to configure the Alarm Summary object to display only
those alarms that are less than or equal to the priority listed on the
right.

Priority Drop-Down List

Allows you to select an INFO, LOLO, LOW, MEDIUM, HIGH, HIHI, or CRITICAL priority
condition to filter the alarms.

Add Tag Dialog Box


The Add Tag dialog box displays the following items:

167
Creating Pictures

Operator

Item Description

= Allows you to configure the Alarm Summary object to display only


those alarms that are generated from the tagname entered in the
Tagname field.

<> Allows you to configure the Alarm Summary object to display all
alarms that are not generated from the tagname entered in the
Tagname field.

Tagname

Allows you to enter a tagname for which you want to filter alarms.

Add Time In Dialog Box


The Add Time In dialog box displays the following items:

Operator

Item Description

= Allows you to configure the Alarm Summary object to display only


those alarms that are equal to the value of the field to the right. For
example, if the equal operator is used in conjunction with the Time In
field, and the value in the Time In field is 10:00:00, then the Alarm
Summary object will display only those alarms that first occurred at
10:00:00.

<> Allows you to configure the Alarm Summary object to display only
those alarms that are not equal to the value of the field to the right.
For example, if the not equal operator is used in conjunction with the
Time In field, and the value in the Time In field is 10:00:00, then the
Alarm Summary object will display all alarms that did not first occur
at 10:00:00.

> Allows you to configure the Alarm Summary object to display only
those alarms that are greater than the value of the field to the right.
For example, if the greater than operator is used in conjunction with
the Time In field, and the value in the Time In field is 10:00:00, then
the Alarm Summary object will display only those alarms that first
occurred after 10:00:00.

168
Creating Pictures

Item Description

>= Allows you to configure the Alarm Summary object to display only
those alarms that are greater than or equal to the value of the field to
the right. For example, if the greater than or equal to operator is used
in conjunction with the Time In field, and the value in the Time In
field is 10:00:00, then the Alarm Summary object will display all
alarms that first occurred at or after 10:00:00.

< Allows you to configure the Alarm Summary object to display only
those alarms that are less than the value of the field to the right. For
example, if the less than operator is used in conjunction with the
Time In field, and the value in the Time In field is 10:00:00, then the
Alarm Summary object will display only those alarms that first
occurred before 10:00:00.

<= Allows you to configure the Alarm Summary object to display only
those alarms that are less than or equal to the value of the field to the
right. For example, if the less than or equal to operator is used in
conjunction with the Time In field, and the value in the Time In field
is 10:00:00, then the Alarm Summary object will display all alarms
that first occurred at or before 10:00:00.

Time In

The time that the block first generated the alarm – used as a condition to filter alarms.

Add Time Last Dialog Box


The Add Time Last dialog box displays the following items:

Operator

Item Description

= Allows you to configure the Alarm Summary object to display only


those alarms that are equal to the value of the field to the right. For
example, if the equal operator is used in conjunction with the Time In
field, and the value in the Time In field is 10:00:00, then the Alarm
Summary object will display only those alarms that first occurred at
10:00:00.

169
Creating Pictures

Item Description

<> Allows you to configure the Alarm Summary object to display only
those alarms that are not equal to the value of the field to the right.
For example, if the not equal operator is used in conjunction with the
Time In field, and the value in the Time In field is 10:00:00, then the
Alarm Summary object will display all alarms that did not first occur
at 10:00:00.

> Allows you to configure the Alarm Summary object to display only
those alarms that are greater than the value of the field to the right.
For example, if the greater than operator is used in conjunction with
the Time In field, and the value in the Time In field is 10:00:00, then
the Alarm Summary object will display only those alarms that first
occurred after 10:00:00.

>= Allows you to configure the Alarm Summary object to display only
those alarms that are greater than or equal to the value of the field to
the right. For example, if the greater than or equal to operator is used
in conjunction with the Time In field, and the value in the Time In
field is 10:00:00, then the Alarm Summary object will display all
alarms that first occurred at or after 10:00:00.

< Allows you to configure the Alarm Summary object to display only
those alarms that are less than the value of the field to the right. For
example, if the less than operator is used in conjunction with the
Time In field, and the value in the Time In field is 10:00:00, then the
Alarm Summary object will display only those alarms that first
occurred before 10:00:00.

<= Allows you to configure the Alarm Summary object to display only
those alarms that are less than or equal to the value of the field to the
right. For example, if the less than or equal to operator is used in
conjunction with the Time In field, and the value in the Time In field
is 10:00:00, then the Alarm Summary object will display all alarms
that first occurred at or before 10:00:00.

Time Last

The time when the alarm condition or status last changed – used as a condition to filter alarms.

Advanced Animations Dialog Box


The Advanced Animation dialog box can display the following tabs:

• General Tab
• Visibility Tab

170
Creating Pictures

• Size Tab
• Miscellaneous Tab
• Position Tab
• Color Tab
• Style Tab
• Rotate Tab
• Fill Tab
• Gradient Tab
• Text Tab
• Behavior Tab
• Appearance Tab
• Picture Tab

General Tab - Advanced Animations Dialog Box

The General tab of the Advanced Animations dialog box displays the following items:

Name

Allows you to enter a name for the selected object. The name that you specify appears in the
WorkSpace system tree and in the Name row of the VBA Property window.

Description

Allows you to enter a description for the selected object. The description that you specify appears in
the ToolTip for the object (provided that the Enable ToolTips option is enabled) and in the Description
row of the VBA Property window.

Help Context ID

Allows you to enter a help context ID for the selected object if you are creating your own context-
sensitive, picture-specific help files. See the Mastering iFIX manual for more information.

Enable Tooltips

Select this check box to display an on-screen description of the object when the pointer pauses on it.

Enable Highlight

Select this check box to display a highlight around the object when the pointer is over it.

Enable Select

Select this check box to allow operators to select the object at run-time.

171
Creating Pictures

Visibility Tab - Advanced Animations Dialog Box

The Visibility tab of the Advanced Animations dialog box displays the following items:

Properties

Provides options that allow you to select the properties that you want to animate. For a brief
description of each property, read the property description on the right side of the dialog box.

Animate

Select this check box to open dynamic settings for the visible property. When selected, the Dynamic
Setting for the Visible Property area appears directly below the Properties area.

Dynamic Settings for Property

Data Source

Allows you to enter a data source or expression for this object.

Data source refers to a reference to a source of information, such as iFIX tagnames and historical files,
or other OPC-compliant data servers. A data source may also consist of iFIX objects (such as shapes,
charts, and variables) or 3rd party OLE controls.

Expression refers to constants, data sources, or a combination of constants and data sources that are
connected with one or more operators. Use the Browse (...) button to open the Expression Builder
dialog box. Use the Quick Modify button to modify a database block directly without launching the
Database Manager.

Animation Properties Tab

The Animation Properties tab contains the following items:

172
Creating Pictures

Item Description

Data Conversion Allows you to select the type of data conversion to apply to the data
from the source listed in the Data Source field. A data conversion
defines how the incoming data should be processed or formatted so
that your objects behave according to the properties you have
assigned to them. You can apply any of the following data
conversion:
• Range – uses a range of values on which to animate an
object.
• Table – attempts to match the incoming value from the data
source to an entry in a lookup table. If a match occurs, the
selected property is changed to match the output value.
• Format – provides several options for formatting text data.
• Object – processes the data received from the data source at
its exact value.
NOTE: If you change the Data Conversion option from Table to
Range, Format, or Object, the bottom half the dialog box changes
accordingly.

Output Error Mode Allows you to configure how an animation behaves if an error
occurs. Depending on the type of data conversion, the output error
mode can be any of the following:
• Use Current Output – Displays the data exactly as it
appeared in when the error occurred.
• Use Error Table – Displays an error message that matches
the current error, based on the error definitions in the
Animations Data Error Defaults tab of the User Preferences
dialog box.
• Use Minimum Value – Displays the lowest possible value
that is valid for the data source when an error occurs.
• Use Maximum Value – Displays the highest possible value
that is valid for the data source when an error occurs.

Exact Match Allows you to specify that incoming data must exactly match the
configured input value in the lookup table in order to format the data
as the corresponding output value.

Range Comparison Allows you to specify that incoming data must fall within a range of
input values in the lookup table in order to format the data as the
corresponding output value.

Insert Row Inserts a new row into the data conversion table.

173
Creating Pictures

Item Description

Modify Row Displays the New Level Dialog Box so that you can modify an
existing row in the data conversion table.

Delete Row Deletes an existing row of the data conversion table.

Advanced Displays the Advanced Lookup Options Dialog Box that allows you
to configure several more lookup options.

Historical Properties Tab


The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

174
Creating Pictures

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.
• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.
• Total – The total of all valid data found during the specified interval.
Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

175
Creating Pictures

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Size Tab - Advanced Animations Dialog Box

The Size tab of the Advanced Animations dialog box displays the following items:

Properties

Provides options that allow you to select the properties that you want to animate. For a brief
description of each property, read the property description on the right side of the dialog box.

Animate

Select this check box to open dynamic settings for the visible property. When selected, the Dynamic
Setting for Property area appears directly below the Properties area.

176
Creating Pictures

Dynamic Settings for Property

Data Source

Allows you to enter a data source or expression for this object.

Data source refers to a reference to a source of information, such as iFIX tagnames and historical files,
or other OPC-compliant data servers. A data source may also consist of iFIX objects (such as shapes,
charts, and variables) or 3rd party OLE controls.

Expression refers to constants, data sources, or a combination of constants and data sources that are
connected with one or more operators. Use the Browse (...) button to open the Expression Builder
dialog box. Use the Quick Modify button to modify a database block directly without launching the
Database Manager.

Animation Properties

The Animation Properties tab contains the following items:

Item Description

Data Conversion Allows you to select the type of data conversion to apply to the data
from the source listed in the Data Source field. A data conversion
defines how the incoming data should be processed or formatted so
that your objects behave according to the properties you have
assigned to them. You can apply any of the following data
conversion:
• Range – uses a range of values on which to animate an
object.
• Table – attempts to match the incoming value from the data
source to an entry in a lookup table. If a match occurs, the
selected property is changed to match the output value.
• Format – provides several options for formatting text data.
• Object – processes the data received from the data source at
its exact value.
NOTE: If you change the Data Conversion option from Range to
Table, Format, or Object, the bottom half the dialog box changes
accordingly.

177
Creating Pictures

Item Description

Output Error Mode Allows you to configure how an animation behaves if an error
occurs. Depending on the type of data conversion, the output error
mode can be any of the following:
• Use Current Output – Displays the data exactly as it
appeared in when the error occurred.
• Use Error Table – Displays an error message that matches
the current error, based on the error definitions in the
Animations Data Error Defaults tab of the User Preferences
dialog box.
• Use Minimum Value – Displays the lowest possible value
that is valid for the data source when an error occurs.
• Use Maximum Value – Displays the highest possible value
that is valid for the data source when an error occurs.

Minimum Input Allows you to specify the low limit value for incoming data.

Minimum Output Allows you to apply linear signal conditioning to the data by
mapping the range of input values specified in the Minimum and
Maximum Input fields to a range of output values. Enter the
minimum value, in logical units, for the output range in this field.

Maximum Input Allows you to specify the high limit value for incoming data.

Maximum Output Allows you to apply linear signal conditioning to the data by
mapping the range of input values specified in the Minimum and
Maximum Input fields to a range of output values. Enter the
maximum value, in logical units, for the output range in this field.

Fetch Input Range on Select this check box to automatically fetch the minimum and
Open maximum input values for the data source at run-time.

Historical Properties Tab

The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

178
Creating Pictures

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.

179
Creating Pictures

• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.
• Total – The total of all valid data found during the specified interval.
Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

180
Creating Pictures

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Miscellaneous Tab - Advanced Animations Dialog Box

The Miscellaneous tab of the Advanced Animations dialog box displays the following items:

Properties

Provides options that allow you to select the properties that you want to animate. For a brief
description of each property, read the property description on the right side of the dialog box.

Animate

Select this check box to open dynamic settings for the visible property. When selected, the Dynamic
Setting for Property area appears directly below the Properties area.

Dynamic Settings for Property

Data Source

Allows you to enter a data source or expression for this object.

Data source refers to a reference to a source of information, such as iFIX tagnames and historical files,
or other OPC-compliant data servers. A data source may also consist of iFIX objects (such as shapes,
charts, and variables) or 3rd party OLE controls.

Expression refers to constants, data sources, or a combination of constants and data sources that are
connected with one or more operators. Use the Browse (...) button to open the Expression Builder
dialog box. Use the Quick Modify button to modify a database block directly without launching the
Database Manager.

Animation Properties

The Animation Properties tab contains the following items:

181
Creating Pictures

Item Description

Data Conversion Allows you to select the type of data conversion to apply to the data
from the source listed in the Data Source field. A data conversion
defines how the incoming data should be processed or formatted so
that your objects behave according to the properties you have
assigned to them. You can apply any of the following data
conversion:
• Range – uses a range of values on which to animate an
object.
• Table – attempts to match the incoming value from the data
source to an entry in a lookup table. If a match occurs, the
selected property is changed to match the output value.
• Format – provides several options for formatting text data.
• Object – processes the data received from the data source at
its exact value.
NOTE: If you change the Data Conversion option from Table to
Range, Format, or Object, the bottom half the dialog box changes
accordingly.

Output Error Mode Allows you to configure how an animation behaves if an error
occurs. Depending on the type of data conversion, the output error
mode can be any of the following:
• Use Current Output – Displays the data exactly as it
appeared in when the error occurred.
• Use Error Table – Displays an error message that matches
the current error, based on the error definitions in the
Animations Data Error Defaults tab of the User Preferences
dialog box.
• Use Minimum Value – Displays the lowest possible value
that is valid for the data source when an error occurs.
• Use Maximum Value – Displays the highest possible value
that is valid for the data source when an error occurs.

Exact Match Allows you to specify that incoming data must exactly match the
configured input value in the lookup table in order to format the data
as the corresponding output value.

Range Comparison Allows you to specify that incoming data must fall within a range of
input values in the lookup table in order to format the data as the
corresponding output value.

Insert Row Inserts a new row into the data conversion table.

182
Creating Pictures

Item Description

Modify Row Displays the New Level Dialog Box so that you can modify an
existing row in the data conversion table.

Delete Row Deletes an existing row of the data conversion table.

Advanced Displays the Advanced Lookup Options Dialog Box that allows you
to configure several more lookup options.

Historical Properties Tab


The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

183
Creating Pictures

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.
• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.
• Total – The total of all valid data found during the specified interval.
Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

184
Creating Pictures

Item Description

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Position Tab - Advanced Animations Dialog Box

The Position tab of the Advanced Animations dialog box displays the following items:

Properties

Provides options that allow you to select the properties that you want to animate. For a brief
description of each property, read the property description on the right side of the dialog box.

Animate

Select this check box to open dynamic settings for the visible property. When selected, the Dynamic
Setting for Property area appears directly below the Properties area.

185
Creating Pictures

Dynamic Settings for Property

Data Source

Allows you to enter a data source or expression for this object.

Data source refers to a reference to a source of information, such as iFIX tagnames and historical files,
or other OPC-compliant data servers. A data source may also consist of iFIX objects (such as shapes,
charts, and variables) or 3rd party OLE controls.

Expression refers to constants, data sources, or a combination of constants and data sources that are
connected with one or more operators. Use the Browse (...) button to open the Expression Builder
dialog box. Use the Quick Modify button to modify a database block directly without launching the
Database Manager.

The Animation Properties Tab

The Animation Properties tab contains the following items:

Item Description

Data Conversion Allows you to select the type of data conversion to apply to the data
from the source listed in the Data Source field. A data conversion
defines how the incoming data should be processed or formatted so
that your objects behave according to the properties you have
assigned to them. You can apply any of the following data
conversion:
• Range – uses a range of values on which to animate an
object.
• Table – attempts to match the incoming value from the data
source to an entry in a lookup table. If a match occurs, the
selected property is changed to match the output value.
• Format – provides several options for formatting text data.
• Object – processes the data received from the data source at
its exact value.
NOTE: If you change the Data Conversion option from Range to
Table, Format, or Object, the bottom half the dialog box changes
accordingly.

186
Creating Pictures

Item Description

Output Error Mode Allows you to configure how an animation behaves if an error
occurs. Depending on the type of data conversion, the output error
mode can be any of the following:
• Use Current Output – Displays the data exactly as it
appeared in when the error occurred.
• Use Error Table – Displays an error message that matches
the current error, based on the error definitions in the
Animations Data Error Defaults tab of the User Preferences
dialog box.
• Use Minimum Value – Displays the lowest possible value
that is valid for the data source when an error occurs.
• Use Maximum Value – Displays the highest possible value
that is valid for the data source when an error occurs.

Minimum Input Allows you to specify the low limit value for incoming data.

Minimum Output Allows you to apply linear signal conditioning to the data by
mapping the range of input values specified in the Minimum and
Maximum Input fields to a range of output values. Enter the
minimum value, in logical units, for the output range in this field.

Maximum Input Allows you to specify the high limit value for incoming data.

Maximum Output Allows you to apply linear signal conditioning to the data by
mapping the range of input values specified in the Minimum and
Maximum Input fields to a range of output values. Enter the
maximum value, in logical units, for the output range in this field.

Use Offset Select this check box to perform an animation on an object in its
current position, not in the absolute position specified by the logical
unit value in the Minimum Output field.

Fetch Input Range on Select this check box to automatically fetch the minimum and
Open maximum input values for the data source at run-time.

Historical Properties Tab

The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

187
Creating Pictures

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.

188
Creating Pictures

• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.
• Total – The total of all valid data found during the specified interval.
Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

189
Creating Pictures

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Color Tab - Advanced Animations Dialog Box

The Color tab of the Advanced Animations dialog box displays the following items:

Properties

Provides options that allow you to select the properties that you want to animate. For a brief
description of each property, read the property description on the right side of the dialog box.

Animate

Select this check box to open dynamic settings for the visible property. When selected, the Dynamic
Setting for Property area appears directly below the Properties area.

Dynamic Settings for Property

Data Source

Allows you to enter a data source or expression for this object.

Data source refers to a reference to a source of information, such as iFIX tagnames and historical files,
or other OPC-compliant data servers. A data source may also consist of iFIX objects (such as shapes,
charts, and variables) or 3rd party OLE controls.

Expression refers to constants, data sources, or a combination of constants and data sources that are
connected with one or more operators. Use the Browse (...) button to open the Expression Builder
dialog box. Use the Quick Modify button to modify a database block directly without launching the
Database Manager.

Animations Properties Tab

The Animations Properties tab contains the following items:

190
Creating Pictures

Item Description

Data Conversion Allows you to select the type of data conversion to apply to the data
from the source listed in the Data Source field. A data conversion
defines how the incoming data should be processed or formatted so
that your objects behave according to the properties you have
assigned to them. You can apply any of the following data
conversion:
• Range – uses a range of values on which to animate an
object.
• Table – attempts to match the incoming value from the data
source to an entry in a lookup table. If a match occurs, the
selected property is changed to match the output value.
• Format – provides several options for formatting text data.
• Object – processes the data received from the data source at
its exact value.
NOTE: If you change the Data Conversion option from Table to
Range, Format, or Object, the bottom half the dialog box changes
accordingly.

Output Error Mode Allows you to configure how an animation behaves if an error
occurs. Depending on the type of data conversion, the output error
mode can be any of the following:
• Use Current Output – Displays the data exactly as it
appeared in when the error occurred.
• Use Error Table – Displays an error message that matches
the current error, based on the error definitions in the
Animations Data Error Defaults tab of the User Preferences
dialog box.
• Use Minimum Value – Displays the lowest possible value
that is valid for the data source when an error occurs.
• Use Maximum Value – Displays the highest possible value
that is valid for the data source when an error occurs.

Exact Match Allows you to specify that incoming data must exactly match the
configured input value in the lookup table in order to format the data
as the corresponding output value.

Range Comparison Allows you to specify that incoming data must fall within a range of
input values in the lookup table in order to format the data as the
corresponding output value.

Insert Row Inserts a new row into the data conversion table.

191
Creating Pictures

Item Description

Modify Row Displays the New Level Dialog Box so that you can modify an
existing row in the data conversion table.

Delete Row Deletes an existing row of the data conversion table.

Advanced Displays the Advanced Lookup Options Dialog Box that allows you
to configure several more lookup options.

Historical Properties Tab


The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

192
Creating Pictures

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.
• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.
• Total – The total of all valid data found during the specified interval.
Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

193
Creating Pictures

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Style Tab - Advanced Animations Dialog Box

The Style tab of the Advanced Animations dialog box displays the following items:

Properties

Provides options that allow you to select the properties that you want to animate. For a brief
description of each property, read the property description on the right side of the dialog box.

Animate

Select this check box to open dynamic settings for the visible property. When selected, the Dynamic
Setting for Property area appears directly below the Properties area.

194
Creating Pictures

Dynamic Settings for Property

Data Source

Allows you to enter a data source or expression for this object.

Data source refers to a reference to a source of information, such as iFIX tagnames and historical files,
or other OPC-compliant data servers. A data source may also consist of iFIX objects (such as shapes,
charts, and variables) or 3rd party OLE controls.

Expression refers to constants, data sources, or a combination of constants and data sources that are
connected with one or more operators. Use the Browse (...) button to open the Expression Builder
dialog box. Use the Quick Modify button to modify a database block directly without launching the
Database Manager.

Animations Properties Tab

The Animations Properties tab contains the following items:

Item Description

Data Conversion Allows you to select the type of data conversion to apply to the data
from the source listed in the Data Source field. A data conversion
defines how the incoming data should be processed or formatted so
that your objects behave according to the properties you have
assigned to them. You can apply any of the following data
conversion:
• Range – uses a range of values on which to animate an
object.
• Table – attempts to match the incoming value from the data
source to an entry in a lookup table. If a match occurs, the
selected property is changed to match the output value.
• Format – provides several options for formatting text data.
• Object – processes the data received from the data source at
its exact value.
NOTE: If you change the Data Conversion option from Table to
Range, Format, or Object, the bottom half the dialog box changes
accordingly.

195
Creating Pictures

Item Description

Output Error Mode Allows you to configure how an animation behaves if an error
occurs. Depending on the type of data conversion, the output error
mode can be any of the following:
• Use Current Output – Displays the data exactly as it
appeared in when the error occurred.
• Use Error Table – Displays an error message that matches
the current error, based on the error definitions in the
Animations Data Error Defaults tab of the User Preferences
dialog box.
• Use Minimum Value – Displays the lowest possible value
that is valid for the data source when an error occurs.
• Use Maximum Value – Displays the highest possible value
that is valid for the data source when an error occurs.

Exact Match Allows you to specify that incoming data must exactly match the
configured input value in the lookup table in order to format the data
as the corresponding output value.

Range Comparison Allows you to specify that incoming data must fall within a range of
input values in the lookup table in order to format the data as the
corresponding output value.

Insert Row Inserts a new row into the data conversion table.

Modify Row Displays the New Level Dialog Box so that you can modify an
existing row in the data conversion table.

Delete Row Deletes an existing row of the data conversion table.

Advanced Displays the Advanced Lookup Options Dialog Box that allows you
to configure several more lookup options.

Historical Properties Tab

The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

196
Creating Pictures

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.

197
Creating Pictures

• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.
• Total – The total of all valid data found during the specified interval.
Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

198
Creating Pictures

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Rotate Tab - Advanced Animations Dialog Box

The Rotate tab of the Advanced Animations dialog box displays the following items:

Properties

Provides options that allow you to select the properties that you want to animate. For a brief
description of each property, read the property description on the right side of the dialog box.

Animate

Select this check box to open dynamic settings for the visible property. When selected, the Dynamic
Setting for Property area appears directly below the Properties area.

Dynamic Settings for Property

Data Source

Allows you to enter a data source or expression for this object.

Data source refers to a reference to a source of information, such as iFIX tagnames and historical files,
or other OPC-compliant data servers. A data source may also consist of iFIX objects (such as shapes,
charts, and variables) or 3rd party OLE controls.

Expression refers to constants, data sources, or a combination of constants and data sources that are
connected with one or more operators. Use the Browse (...) button to open the Expression Builder
dialog box. Use the Quick Modify button to modify a database block directly without launching the
Database Manager.

Animations Properties Tab

The Animations Properties tab contains the following items:

199
Creating Pictures

Item Description

Data Conversion Allows you to select the type of data conversion to apply to the data
from the source listed in the Data Source field. A data conversion
defines how the incoming data should be processed or formatted so
that your objects behave according to the properties you have
assigned to them. You can apply any of the following data
conversion:
• Range – uses a range of values on which to animate an
object.
• Table – attempts to match the incoming value from the data
source to an entry in a lookup table. If a match occurs, the
selected property is changed to match the output value.
• Format – provides several options for formatting text data.
• Object – processes the data received from the data source at
its exact value.
NOTE: If you change the Data Conversion option from Range to
Table, Format, or Object, the bottom half the dialog box changes
accordingly.

Output Error Mode Allows you to configure how an animation behaves if an error
occurs. Depending on the type of data conversion, the output error
mode can be any of the following:
• Use Current Output – Displays the data exactly as it
appeared in when the error occurred.
• Use Error Table – Displays an error message that matches
the current error, based on the error definitions in the
Animations Data Error Defaults tab of the User Preferences
dialog box.
• Use Minimum Value – Displays the lowest possible value
that is valid for the data source when an error occurs.
• Use Maximum Value – Displays the highest possible value
that is valid for the data source when an error occurs.

Minimum Input Allows you to specify the low limit value for incoming data.

Minimum Output Allows you to apply linear signal conditioning to the data by
mapping the range of input values specified in the Minimum and
Maximum Input fields to a range of output values. Enter the
minimum value, in logical units, for the output range in this field.

Maximum Input Allows you to specify the high limit value for incoming data.

200
Creating Pictures

Item Description

Maximum Output Allows you to apply linear signal conditioning to the data by
mapping the range of input values specified in the Minimum and
Maximum Input fields to a range of output values. Enter the
maximum value, in logical units, for the output range in this field.

Fetch Input Range on Select this check box to automatically fetch the minimum and
Open maximum input values for the data source at run-time.

Historical Properties Tab

The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

201
Creating Pictures

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.
• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.
• Total – The total of all valid data found during the specified interval.
Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

202
Creating Pictures

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Fill Tab - Advanced Animations Dialog Box

The Fill tab of the Advanced Animations dialog box displays the following items:

Properties

Provides options that allow you to select the properties that you want to animate. For a brief
description of each property, read the property description on the right side of the dialog box.

Animate

Select this check box to open dynamic settings for the visible property. When selected, the Dynamic
Setting for Property area appears directly below the Properties area.

203
Creating Pictures

Dynamic Settings for Property

Data Source

Allows you to enter a data source or expression for this object.

Data source refers to a reference to a source of information, such as iFIX tagnames and historical files,
or other OPC-compliant data servers. A data source may also consist of iFIX objects (such as shapes,
charts, and variables) or 3rd party OLE controls.

Expression refers to constants, data sources, or a combination of constants and data sources that are
connected with one or more operators. Use the Browse (...) button to open the Expression Builder
dialog box. Use the Quick Modify button to modify a database block directly without launching the
Database Manager.

Animation Properties Tab

The Animation Properties tab contains the following items:

Item Description

Data Conversion Allows you to select the type of data conversion to apply to the data
from the source listed in the Data Source field. A data conversion
defines how the incoming data should be processed or formatted so
that your objects behave according to the properties you have
assigned to them. You can apply any of the following data
conversion:
• Range – uses a range of values on which to animate an
object.
• Table – attempts to match the incoming value from the data
source to an entry in a lookup table. If a match occurs, the
selected property is changed to match the output value.
• Format – provides several options for formatting text data.
• Object – processes the data received from the data source at
its exact value.
NOTE: If you change the Data Conversion option from Range to
Table, Format, or Object, the bottom half the dialog box changes
accordingly.

204
Creating Pictures

Item Description

Output Error Mode Allows you to configure how an animation behaves if an error
occurs. Depending on the type of data conversion, the output error
mode can be any of the following:
• Use Current Output – Displays the data exactly as it
appeared in when the error occurred.
• Use Error Table – Displays an error message that matches
the current error, based on the error definitions in the
Animations Data Error Defaults tab of the User Preferences
dialog box.
• Use Minimum Value – Displays the lowest possible value
that is valid for the data source when an error occurs.
• Use Maximum Value – Displays the highest possible value
that is valid for the data source when an error occurs.

Minimum Input Allows you to specify the low limit value for incoming data.

Minimum Output Allows you to apply linear signal conditioning to the data by
mapping the range of input values specified in the Minimum and
Maximum Input fields to a range of output values. Enter the
minimum value, in logical units, for the output range in this field.

Maximum Input Allows you to specify the high limit value for incoming data.

Maximum Output Allows you to apply linear signal conditioning to the data by
mapping the range of input values specified in the Minimum and
Maximum Input fields to a range of output values. Enter the
maximum value, in logical units, for the output range in this field.

Fetch Input Range on Select this check box to automatically fetch the minimum and
Open maximum input values for the data source at run-time.

Historical Properties Tab

The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

205
Creating Pictures

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.

206
Creating Pictures

• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.
• Total – The total of all valid data found during the specified interval.
Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

207
Creating Pictures

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Gradient Tab - Advanced Animations Dialog Box

The Gradient tab of the Advanced Animations dialog box displays the following items:

Properties

Provides options that allow you to select the properties that you want to animate. For a brief
description of each property, read the property description on the right side of the dialog box.

Animate

Select this check box to open dynamic settings for the visible property. When selected, the Dynamic
Setting for Property area appears directly below the Properties area.

Dynamic Settings for Property

Data Source

Allows you to enter a data source or expression for this object.

Data source refers to a reference to a source of information, such as iFIX tagnames and historical files,
or other OPC-compliant data servers. A data source may also consist of iFIX objects (such as shapes,
charts, and variables) or 3rd party OLE controls.

Expression refers to constants, data sources, or a combination of constants and data sources that are
connected with one or more operators. Use the Browse (...) button to open the Expression Builder
dialog box. Use the Quick Modify button to modify a database block directly without launching the
Database Manager.

Animation Properties Tab

The Animation Properties tab contains the following items:

208
Creating Pictures

Item Description

Data Conversion Allows you to select the type of data conversion to apply to the data
from the source listed in the Data Source field. A data conversion
defines how the incoming data should be processed or formatted so
that your objects behave according to the properties you have
assigned to them. You can apply any of the following data
conversion:
• Range – uses a range of values on which to animate an
object.
• Table – attempts to match the incoming value from the data
source to an entry in a lookup table. If a match occurs, the
selected property is changed to match the output value.
• Format – provides several options for formatting text data.
• Object – processes the data received from the data source at
its exact value.
NOTE: If you change the Data Conversion option from Table to
Range, Format, or Object, the bottom half the dialog box changes
accordingly.

Output Error Mode Allows you to configure how an animation behaves if an error
occurs. Depending on the type of data conversion, the output error
mode can be any of the following:
• Use Current Output – Displays the data exactly as it
appeared in when the error occurred.
• Use Error Table – Displays an error message that matches
the current error, based on the error definitions in the
Animations Data Error Defaults tab of the User Preferences
dialog box.
• Use Minimum Value – Displays the lowest possible value
that is valid for the data source when an error occurs.
• Use Maximum Value – Displays the highest possible value
that is valid for the data source when an error occurs.

Exact Match Allows you to specify that incoming data must exactly match the
configured input value in the lookup table in order to format the data
as the corresponding output value.

Range Comparison Allows you to specify that incoming data must fall within a range of
input values in the lookup table in order to format the data as the
corresponding output value.

Insert Row Inserts a new row into the data conversion table.

209
Creating Pictures

Item Description

Modify Row Displays the New Level Dialog Box so that you can modify an
existing row in the data conversion table.

Delete Row Deletes an existing row of the data conversion table.

Advanced Displays the Advanced Lookup Options Dialog Box that allows you
to configure several more lookup options.

Historical Properties Tab


The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

210
Creating Pictures

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.
• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.
• Total – The total of all valid data found during the specified interval.
Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

211
Creating Pictures

Item Description

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Text Tab - Advanced Animations Dialog Box

The Text tab of the Advanced Animations dialog box displays the following items:

Properties

Provides options that allow you to select the properties that you want to animate. For a brief
description of each property, read the property description on the right side of the dialog box.

Animate

Select this check box to open dynamic settings for the visible property. When selected, the Dynamic
Setting for Property area appears directly below the Properties area.

212
Creating Pictures

Dynamic Settings for Property

Data Source

Allows you to enter a data source or expression for this object.

Data source refers to a reference to a source of information, such as iFIX tagnames and historical files,
or other OPC-compliant data servers. A data source may also consist of iFIX objects (such as shapes,
charts, and variables) or 3rd party OLE controls.

Expression refers to constants, data sources, or a combination of constants and data sources that are
connected with one or more operators. Use the Browse (...) button to open the Expression Builder
dialog box. Use the Quick Modify button to modify a database block directly without launching the
Database Manager.

Animation Properties Tab

The Animation Properties tab contains the following items:

Item Description

Data Conversion Allows you to select the type of data conversion to apply to the data
from the source listed in the Data Source field. A data conversion
defines how the incoming data should be processed or formatted so
that your objects behave according to the properties you have
assigned to them. You can apply any of the following data
conversion:
• Range – uses a range of values on which to animate an
object.
• Table – attempts to match the incoming value from the data
source to an entry in a lookup table. If a match occurs, the
selected property is changed to match the output value.
• Format – provides several options for formatting text data.
• Object – processes the data received from the data source at
its exact value.
NOTE: If you change the Data Conversion option from Format to
Range, Table, or Object, the bottom half the dialog box changes
accordingly.

213
Creating Pictures

Item Description

Output Error Mode Allows you to configure how an animation behaves if an error
occurs. Depending on the type of data conversion, the output error
mode can be any of the following:
• Use Current Output – Displays the data exactly as it
appeared in when the error occurred.
• Use Error Table – Displays an error message that matches
the current error, based on the error definitions in the
Animations Data Error Defaults tab of the User Preferences
dialog box.

Type Allows you to configure whether or not operators can enter data into
the animation at run-time. To allow operators to enter data into
animation and write a new value to the database tag during the next
scan cycle, select In-Place from the list. To prohibit data entry at
run-time, select None.

Confirm When selected, requires operators to confirm that they want to write
data to the database after they have entered a new value into the
animation at run-time.
This option is only available if In-Place is selected in the Data Entry
Type list.

Raw Format Allows you to enter data in its raw (or native C code) format. If this
check box is enabled, you can edit the format by entering a C
format string in the Format field.

Format Allows you to enter a C format string to display data in its raw,
native C code format. You can also enter a string of any kind
preceding the raw format string (for example, to introduce what the
data string represents).
This option is only available if Raw Format is selected.

Justify Allows you to justify the alignment (left, center, or right) of data in
the animation.
This option is only available if the Raw Format check box is
cleared.

214
Creating Pictures

Item Description

Type Allows you to configure whether the data represented by the


animation should be formatted as numeric or alphanumeric data. To
format numeric data, select Numeric from this list and enter an
integer from 0 to 7 in the Whole Digits field and 0 to 5 in the
Decimal field. To format alpha-numeric data, select Alpha-Numeric
from this list and enter the number of lines and the desired number
of characters per line.
This option is only available if the Raw Format check box is
cleared.

Lines Allows you to enter the number of lines that you want to display in
an alpha-numerically formatted animation.
This option is only available if the Raw Format check box is
cleared.

Chars/Line Allows you to enter the number of characters per line that you want
to display in an alpha-numerically formatted animation.
This option is only available if the Raw Format check box is
cleared.

Historical Properties Tab


The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

215
Creating Pictures

Item Description

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.
• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.

216
Creating Pictures

• Total – The total of all valid data found during the specified interval.
Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Behavior Tab - Advanced Animations Dialog Box

The Behavior tab of the Advanced Animations dialog box displays the following items:

217
Creating Pictures

Properties

Provides options that allow you to select the properties that you want to animate. For a brief
description of each property, read the property description on the right side of the dialog box.

Animate

Select this check box to open dynamic settings for the visible property. When selected, the Dynamic
Setting for Property area appears directly below the Properties area.

Dynamic Settings for Property

Data Source

Allows you to enter a data source or expression for this object.

Data source refers to a reference to a source of information, such as iFIX tagnames and historical files,
or other OPC-compliant data servers. A data source may also consist of iFIX objects (such as shapes,
charts, and variables) or 3rd party OLE controls.

Expression refers to constants, data sources, or a combination of constants and data sources that are
connected with one or more operators. Use the Browse (...) button to open the Expression Builder
dialog box. Use the Quick Modify button to modify a database block directly without launching the
Database Manager.

Animation Properties Tab

The Animation Properties tab contains the following items:

218
Creating Pictures

Item Description

Data Conversion Allows you to select the type of data conversion to apply to the data
from the source listed in the Data Source field. A data conversion
defines how the incoming data should be processed or formatted so
that your objects behave according to the properties you have
assigned to them. You can apply any of the following data
conversion:
• Range – uses a range of values on which to animate an
object.
• Table – attempts to match the incoming value from the data
source to an entry in a lookup table. If a match occurs, the
selected property is changed to match the output value.
• Format – provides several options for formatting text data.
• Object – processes the data received from the data source at
its exact value.
NOTE: If you change the Data Conversion option from Table to
Range, Format, or Object, the bottom half the dialog box changes
accordingly.

Output Error Mode Allows you to configure how an animation behaves if an error
occurs. Depending on the type of data conversion, the output error
mode can be any of the following:
• Use Current Output – Displays the data exactly as it
appeared in when the error occurred.
• Use Error Table – Displays an error message that matches
the current error, based on the error definitions in the
Animations Data Error Defaults tab of the User Preferences
dialog box.
• Use Minimum Value – Displays the lowest possible value
that is valid for the data source when an error occurs.
• Use Maximum Value – Displays the highest possible value
that is valid for the data source when an error occurs.

Exact Match Allows you to specify that incoming data must exactly match the
configured input value in the lookup table in order to format the data
as the corresponding output value.

Range Comparison Allows you to specify that incoming data must fall within a range of
input values in the lookup table in order to format the data as the
corresponding output value.

Insert Row Inserts a new row into the data conversion table.

219
Creating Pictures

Item Description

Modify Row Displays the New Level Dialog Box so that you can modify an
existing row in the data conversion table.

Delete Row Deletes an existing row of the data conversion table.

Advanced Displays the Advanced Lookup Options Dialog Box that allows you
to configure several more lookup options.

Historical Properties Tab


The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

220
Creating Pictures

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.
• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.
• Total – The total of all valid data found during the specified interval.
Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

221
Creating Pictures

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Appearance Tab - Advanced Animations Dialog Box

The Appearance tab of the Advanced Animations dialog box displays the following items:

Properties

Provides options that allow you to select the properties that you want to animate. For a brief
description of each property, read the property description on the right side of the dialog box.

Animate

Select this check box to open dynamic settings for the visible property. When selected, the Dynamic
Setting for Property area appears directly below the Properties area.

222
Creating Pictures

Dynamic Settings for Property

Data Source

Allows you to enter a data source or expression for this object.

Data source refers to a reference to a source of information, such as iFIX tagnames and historical files,
or other OPC-compliant data servers. A data source may also consist of iFIX objects (such as shapes,
charts, and variables) or 3rd party OLE controls.

Expression refers to constants, data sources, or a combination of constants and data sources that are
connected with one or more operators. Use the Browse (...) button to open the Expression Builder
dialog box. Use the Quick Modify button to modify a database block directly without launching the
Database Manager.

Animation Properties Tab

The Animation Properties tab contains the following items:

Item Description

Data Conversion Allows you to select the type of data conversion to apply to the data
from the source listed in the Data Source field. A data conversion
defines how the incoming data should be processed or formatted so
that your objects behave according to the properties you have
assigned to them. You can apply any of the following data
conversion:
• Range – uses a range of values on which to animate an
object.
• Table – attempts to match the incoming value from the data
source to an entry in a lookup table. If a match occurs, the
selected property is changed to match the output value.
• Format – provides several options for formatting text data.
• Object – processes the data received from the data source at
its exact value.
NOTE: If you change the Data Conversion option from Range to
Table, Format, or Object, the bottom half the dialog box changes
accordingly.

223
Creating Pictures

Item Description

Output Error Mode Allows you to configure how an animation behaves if an error
occurs. Depending on the type of data conversion, the output error
mode can be any of the following:
• Use Current Output – Displays the data exactly as it
appeared in when the error occurred.
• Use Error Table – Displays an error message that matches
the current error, based on the error definitions in the
Animations Data Error Defaults tab of the User Preferences
dialog box.
• Use Minimum Value – Displays the lowest possible value
that is valid for the data source when an error occurs.
• Use Maximum Value – Displays the highest possible value
that is valid for the data source when an error occurs.

Minimum Input Allows you to specify the low limit value for incoming data.

Minimum Output Allows you to apply linear signal conditioning to the data by
mapping the range of input values specified in the Minimum and
Maximum Input fields to a range of output values. Enter the
minimum value, in logical units, for the output range in this field.

Maximum Input Allows you to specify the high limit value for incoming data.

Maximum Output Allows you to apply linear signal conditioning to the data by
mapping the range of input values specified in the Minimum and
Maximum Input fields to a range of output values. Enter the
maximum value, in logical units, for the output range in this field.

Fetch Input Range on Select this check box to automatically fetch the minimum and
Open maximum input values for the data source at run-time.

Historical Properties Tab

The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

224
Creating Pictures

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.

225
Creating Pictures

• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming new data points between the starting and
ending values. All data points are estimated except the starting point and the ending point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.
• Total – The total of all valid data found during the specified interval.
Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

226
Creating Pictures

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Picture Tab - Advanced Animations Dialog Box

The Picture tab of the Advanced Animations dialog box displays the following items:

Properties

Provides options that allow you to select the properties that you want to animate. For a brief
description of each property, read the property description on the right side of the dialog box.

Animate

Select this check box to open dynamic settings for the visible property. When selected, the Dynamic
Setting for Property area appears directly below the Properties area.

Dynamic Settings for Property

Data Source

Allows you to enter a data source or expression for this object.

Data source refers to a reference to a source of information, such as iFIX tagnames and historical files,
or other OPC-compliant data servers. A data source may also consist of iFIX objects (such as shapes,
charts, and variables) or 3rd party OLE controls.

Expression refers to constants, data sources, or a combination of constants and data sources that are
connected with one or more operators. Use the Browse (...) button to open the Expression Builder
dialog box. Use the Quick Modify button to modify a database block directly without launching the
Database Manager.

Animation Properties Tab

The Animation Properties tab contains the following items:

227
Creating Pictures

Item Description

Data Conversion Allows you to select the type of data conversion to apply to the data
from the source listed in the Data Source field. A data conversion
defines how the incoming data should be processed or formatted so
that your objects behave according to the properties you have
assigned to them. You can apply any of the following data
conversion:
• Range – uses a range of values on which to animate an
object.
• Table – attempts to match the incoming value from the data
source to an entry in a lookup table. If a match occurs, the
selected property is changed to match the output value.
• Format – provides several options for formatting text data.
• Object – processes the data received from the data source at
its exact value.
NOTE: If you change the Data Conversion option from Table to
Range, Format, or Object, the bottom half the dialog box changes
accordingly.

Output Error Mode Allows you to configure how an animation behaves if an error
occurs. Depending on the type of data conversion, the output error
mode can be any of the following:
• Use Current Output – Displays the data exactly as it
appeared in when the error occurred.
• Use Error Table – Displays an error message that matches
the current error, based on the error definitions in the
Animations Data Error Defaults tab of the User Preferences
dialog box.
• Use Minimum Value – Displays the lowest possible value
that is valid for the data source when an error occurs.
• Use Maximum Value – Displays the highest possible value
that is valid for the data source when an error occurs.

Exact Match Allows you to specify that incoming data must exactly match the
configured input value in the lookup table in order to format the data
as the corresponding output value.

Range Comparison Allows you to specify that incoming data must fall within a range of
input values in the lookup table in order to format the data as the
corresponding output value.

Insert Row Inserts a new row into the data conversion table.

228
Creating Pictures

Item Description

Modify Row Displays the New Level Dialog Box so that you can modify an
existing row in the data conversion table.

Delete Row Deletes an existing row of the data conversion table.

Advanced Displays the Advanced Lookup Options Dialog Box that allows you
to configure several more lookup options.

Historical Properties Tab


The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

229
Creating Pictures

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.
• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.
• Total – The total of all valid data found during the specified interval.
Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

230
Creating Pictures

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Advanced Lookup Options Dialog Box


The Advanced Lookup Options dialog box displays the following items:

Toggle Source

Allows you to enter a data source or expression to provide an additional animation to an object.

Toggle Value

Allows you to specify a second output color to which you want to convert the input value or range of
values in the lookup table, based on the value of the data source in the Toggle Source field.

231
Creating Pictures

Table

Allows you to override the default lookup table completely and use a user-defined lookup table that is
defined in the User Global page.

Toggle Rate

Allows you to modify the blink rate of the animations that are tied to the selected object, if you have
specified a second data source through the Toggle Source field.

Unmatched Level

Allows you to specify the color value for the data if the conversion does not match a level that is
defined in the lookup table.

Tolerance for Exact Match Table

Allows you to specify the allowable deviation from the exact match table. For example, if the exact
match table has a configured level of 20, and you enter a tolerance of .1, then the conversion will
proceed even with a value of 19.9.

Alarm Summary Configuration Dialog Box


Click the following links for more information about the Alarm Summary Configuration dialog box:

• General Tab
• Operator Tab
• Filter Tab
• Sort Tab
• Color Tab
• Column Tab
• Display Tab

General Tab - Alarm Summary Configuration Dialog Box

The General tab of the Alarm Summary Configuration dialog box contains the following item:

Description

Allows you to enter a description for the Alarm Summary object.

Alarm Summary Column Headers

Displays the font selected for the column headings in the Alarm Summary object. Only the font name
appears in this field. Click the browse (...) button to change the font name, style, size, or script.

After you select a new font and click Apply or OK, the font gets applied to the Alarm Summary object
– in both configure and run mode. If the font is larger than the area allowed, the height of the area is

232
Creating Pictures

adjusted.

Browse (...) Button 1

Click to select a font name, style, size, and script for the column headings in the Alarm Summary
object.

Status Bar

Displays the font selected for the status bar in the Alarm Summary object. Only the font name appears
in this field. Click the browse (...) button to change the font name, style, size, or script.

After you select a new font and click Apply or OK, the font gets applied to the Alarm Summary object
– in both configure and run mode. If the font is larger than the area allowed, the height of the area is
adjusted.

Browse (...) Button 2

Click to select a font name, style, size, and script for the text in the status bar of the Alarm Summary
object.

Operator Tab - Alarm Summary Configuration Dialog Box

The Operator tab of the Alarm Summary Configuration dialog box displays the following items:

Operator Run Time Settings

Item Description

Allow Alarm When selected, allows operators to acknowledge alarms through the
Acknowledgement Alarm Summary object at run-time. The operator can right-click the
object and acknowledge the currently selected alarm, all of the alarms that
match the current filter, or all of the alarms that are currently displayed on
the screen.

When selected, allows operators to delete alarms through the Alarm


Allow Alarm Summary object at run-time. The operator can right-click the object and
Deletion delete the currently selected alarm or all of the alarms that match the
current filter.

Allow Run Time When selected, allows operators to change the filter and sort configuration
Configuration of the Alarm Summary object at run-time.

Enable Column When selected, allows operators to click the heading of any of the Alarm
Quick Sort Summary object’s columns to sort alarms by the attribute listed in that
column.

233
Creating Pictures

Item Description

Display Right When selected, allows operators to right-click the Alarm Summary object
Mouse Menu and select from a list of related commands.

Allow Acknowledge When selected, this feature allows operators to acknowledge all alarms for
All Alarms the Alarm Summary object. By default this option is enabled.
IMPORTANT: The iFIX Electronic Signature option does not support
Acknowledge All Alarms capability. If you are operating in a regulated
environment, GE Intelligent Platforms encourages you to clear the Allow
Acknowledge All Alarms check box.

Filter Tab - Alarm Summary Configuration Dialog Box

The Filter tab of the Alarm Summary Configuration dialog box displays the following items:

Column List Box

Allows you to choose the column of the Alarm Summary object that you want to add a filter condition
to. To add the filter condition, select the column name from this list and click the Add Filter Condition
button or Insert Filter Condition button. Note that the Insert Filter Condition button is available only if
you have a previously defined filter condition.

Add Filter Condition

Allows you to add a filter condition to the Alarm Summary object’s column that is selected in the
Columns field. Select a field and click Add Filter Condition to open the associated dialog box:

• Add Ack Dialog Box


• Add Area Dialog Box
• Add Date In Dialog Box
• Add Date Last Dialog Box
• Add Description Dialog Box
• Add Node Dialog Box
• Add Priority Dialog Box
• Add Tag Dialog Box
• Add Time In Dialog Box
• Add Time Last Dialog Box
• Add Alarm Extension Field1 Dialog Box
• Add Alarm Extension Field2 Dialog Box

When you add the filter condition, it appears at the end of the Display Alarms Where list. The Alarm
Summary object supports up to nine filter conditions.

234
Creating Pictures

Insert Filter Condition

Allows you to add a filter condition to the Alarm Summary object’s column that is selected in the
Columns field. Select a field and click Insert Filter Condition to open the associated dialog box:

• Add Area Dialog Box


• Add Date In Dialog Box
• Add Date Last Dialog Box
• Add Description Dialog Box
• Add Node Dialog Box
• Add Priority Dialog Box
• Add Tag Dialog Box
• Add Time In Dialog Box
• Add Time Last Dialog Box
• Add Alarm Extension Field1 Dialog Box
• Add Alarm Extension Field2 Dialog Box

When it is inserted, the filter condition appears before the currently-selected filter condition in the
Display Alarms Where list. The Alarm Summary object supports up to nine filter conditions.

Display Alarms Where... List Box

Lists all configured filter conditions. You can modify, delete, or add relational and comparison
operations to these filter conditions by clicking the buttons on the right.

Additional Buttons

The following buttons are included next to the Display Alarms list box:

Item Description

Modify Opens the Modify Area Dialog Box. This dialog box allows you to edit the
filter condition that is currently selected in the Display Alarms Where list.

Remove Allows you to delete the filter condition that is currently selected in the
Display Alarms Where list.

And Use this button to logically connect two expressions that must both be true.

Or Use this button to logically connect two expressions where only one of the
conditions in the expression can be true.

( Use this button to logically group two or more expressions. This button must
be used in conjunction with the ) operator.

235
Creating Pictures

Item Description

) Use this button to logically group two or more expressions. This button must
be used in conjunction with the ( operator.

Not Use this button to logically negate expressions.

Sort Tab - Alarm Summary Configuration Dialog Box

The Sort tab of the Alarm Summary Configuration dialog box displays the following items:

Sort By

Allows you to select the attribute (column) of the Alarm Summary object you want to sort by.

Ascending

Sorts the rows of the Alarm Summary object’s spreadsheet in the ascending order of the attribute that
is currently displayed in the Sort By field.

Descending

Sorts the rows of the Alarm Summary object’s spreadsheet in the descending order of the attribute that
is currently displayed in the Sort By field.

Color Tab - Alarm Summary Configuration Dialog Box

The Color tab of the Alarm Summary Configuration dialog box displays the following items:

Foreground Alarm Color

Item Description

Unacknowledged Select this check box to display all unacknowledged alarms in the Alarm
Alarm Color Summary object with the selected color. This check box overrides all
entries listed in the Foreground Alarm Color grid.

Foreground Alarm Allows you to modify the foreground color and attributes for the alarms
Color grid displayed in the Alarm Summary object.

236
Creating Pictures

Background Alarm Color

Item Description

Color By Priority Select this option to color the background of alarms using the alarm priority.

Color By Status Select this option to color the background of alarms using the alarm status.

Blink to Color Select this check box to define a blink color for the background. You set the
color for the blink in the Background Color grid, in the second column.

Background Color Allows you to modify the background color for the alarm. The first column
grid is the background color, while the second column (if Blink to Color is
enabled) is the blink color for the background.

Run Status Color – Blink

Specifies whether the Alarm Summary object’s run indicator blinks while the spreadsheet is not
paused.

Pause Status Color – Blink

Specifies whether the Alarm Summary object’s pause indicator blinks while the spreadsheet is paused.

Paused Alarm Status Color – Blink

Specifies whether the Alarm Summary object’s pause indicator blinks when new alarms are received
while the spreadsheet is paused.

Column Tab - Alarm Summary Configuration Dialog Box

The Column tab of the Alarm Summary Configuration dialog box displays the following items:

Columns Area

Item Description

Available Lists the columns that are available to be added to the Alarm Summary
Columns object. To add a column, select the column name and click Add. The name
of the column appears in the Selected Columns list, and appears in the Alarm
Summary object at run-time.

Add Allows you to add the currently selected column in the Available Columns
list to the Alarm Summary object.

237
Creating Pictures

Item Description

Remove Allows you to remove the currently selected column in the Selected Columns
list from the Alarm Summary object.

Selected Columns Lists the columns that appear in the Alarm Summary object at run-time. To
remove a column from the list, select the column name and click Remove.
To change the order of the columns, select the column name and use the up
and down arrows to move the column to the desired positon.

Up Moves the selected column name up in the Selected Columns list. This has
the effect of moving the column to the left in the Alarm Summary object at
run-time.

Down Moves the selected column name down in the Selected Columns list. This
has the effect of moving the column to the right in the Alarm Summary
object at run-time.

User Definable Columns

Item Description

User Defined Allows you to assign a different ASCII (A_) block field to the User Defined
Field 1 Field 1 column. The default field is A_CUALM. This field is available only
if the User Defined Field1 column has been added to the Selected Columns
list.

<> (first instance) Changes the ASCII (A_) block field that is represented by the User Defined
Field 1 entry in the Selected Columns list to the field currently entered in the
User Defined Field.

User Defined Allows you to assign a different ASCII (A_) block field to the User Defined
Field 2 Field 2 column. The default field is A_AUTO. This field is available only if
the User Defined Field2 column has been added to the Selected Columns list.

<> (second Changes the ASCII (A_) block field that is represented by the User Defined
instance) Field 2 entry in the Selected Columns list to the field currently entered in the
User Defined Field 2 field.

User Defined Specifies the text displayed in the header of the Alarm Summary object’s
Field Name 1 User Defined Field1 column. The text you specify cannot match the text of
any existing column header, including the text used in the User Defined
Field2 column header. The maximum length of this name is 50 characters.

238
Creating Pictures

Item Description

User Defined Specifies the text displayed in the header of the Alarm Summary object’s
Field Name 2 User Defined Field2 column. The text you specify cannot match the text of
any existing column header, including the text used in the User Defined
Field1 column header. The maximum length of this name is 50 characters.

Display Tab - Alarm Summary Configuration Dialog Box

The Display tab of the Alarm Summary Configuration dialog box displays the following items:

Display Settings

Item Description

Show Headers Shows/Hides the column names of the Alarm Summary object.

Show Scroll Bars Enables/Disables horizontal and vertical scroll bars for the Alarm Summary
object.

Show Row Shows/Hides the row numbers for each row in the Alarm Summary object.
Numbers

Reverse Color on Select this check box to allow for the reversal in color (between foreground
Acknowledge and background) of the acknowledged alarms visible in the Alarm Summary
object. The foreground and background colors are defined on the Color tab.
When this check box is selected, the blink rate is set to 0. When cleared, the
blink rate is set back to the default of 1.

Show Status Bar Shows/Hides the status bar of the Alarm Summary object.

Show Grid Lines Shows/Hides the spreadsheet grid of the Alarm Summary object.

Blink Unack When selected, the Alarm Summary object flashes new unacknowledged
Alarms alarms at run-time. The rate at which the unacknowledged alarms flash is
defined by the value in the Blink Rate field.

239
Creating Pictures

Item Description

Show Current Select this option to show the current alarm status in the Alarm Summary
Alarm Status window.

Show Latched Select this option to show the latched alarm status in the Alarm Summary
Alarm Status window.

Refresh Settings

Item Description

Alarm Refresh Allows you to configure how often the Alarm Summary object examines the
Interval queue for new alarms at run-time.

Data Refresh Allows you to configure how often the Alarm Summary object updates the
Interval alarm values currently displayed at run-time.

Blink Rate If the Blink Unack Alarms check box is selected, allows you to configure
how often an unacknowledged alarm flashes at run-time.
When Blink Unack Alarms is selected, the alarm background alternates
between Foreground color and Background color at the speed set in the Blink
Rate field.
By default, this value is 1. When using a blink rate of 0, an unacknowledged
alarm’s background will be steadily colored in the foreground color.

Selection Allows you to configure how long a row in the spreadsheet remains selected
Timeout at run-time.

Basic Animation Dialog Box


The Basic Animation dialog box displays the following items:

General

Item Description

Object Name Allows you to enter a name for the selected object. The name that
you specify appears in the WorkSpace system tree and in the Name
row of the VBA Property window.

240
Creating Pictures

Item Description

Description Allows you to enter a description for the selected object. The
description that you specify appears in the ToolTip for the object
(provided that the Enable ToolTips option is enabled) and in the
Description row of the VBA Property window.

Enable Tooltip Select this option to display an on-screen description of the object
when the pointer pauses on it. You can only use this in conjunction
with the Enable Highlight option.

Enable Highlight Select this option to display a highlight around the object when the
pointer is on it. To use the ToolTip option, you must also select this
option.

Enable Select Select this check box to allow operators to select the object at run-
time.

Color

Item Description

Foreground Check Box Select this option to animate the foreground color property of the
selected object. If this check box is selected, a Foreground Color
property animation already exists for this object.
To modify the existing animation, click the Foreground Color
Expert button. To remove the Foreground Color animation, clear the
check box.

NOTE: Lines, polylines, and bitmaps do not have foreground


color properties.

Foreground Button Click this button to animate the foreground color property of the
selected object. If the Foreground check box is selected, click this
button to modify the existing foreground color animation.
NOTE: Lines, polylines, and bitmaps do not have foreground color
properties.

Edge Check Box Select this option to animate the edge color property of the selected
object. If this check box is selected, an Edge Color property
animation already exists for this object.
To modify the existing animation, click the Edge Color Expert
button. To remove the Edge Color animation, clear the check box.

241
Creating Pictures

Item Description

Edge Button Click this button to animate the edge color property of the selected
object. If the Edge check box is selected, click this button to modify
the existing edge color animation.

Background Check Box Select this option to animate the background color property of the
selected object. If this check box is selected, a Background Color
property animation already exists for this object.
To modify the existing animation, click the Background Color
Expert button. To remove the Background Color animation, clear
the check box.

Background Button Click this button to animate the background color property of the
selected object. If the Background check box is selected, click this
button to modify the existing background color animation.

Movement

Item Description

Position Check Box Select this option to animate the Horizontal or Vertical Position
property of the selected object.
If this check box is selected, a Position property animation already
exists for this object.
To modify the existing animation, click the Position Expert button.
To remove the Horizontal or Vertical Position animation, clear the
check box.

Position Button Click this button to animate the Horizontal or Vertical Position
property of the selected object.
If the Position check box is selected, click this button to modify the
existing Position animation.

Scale Check Box Select this option to animate the Uniform Height and Width Scale
property of the selected object. These animations allow you to scale
the object proportionally, by height, or by width.
If the Scale check box is selected, a Scale property animation already
exists for this object.
To modify the existing animation, click the Scale Expert button. To
remove the Scale animation, clear the check box.

242
Creating Pictures

Item Description

Scale Button Click this button to animate the Uniform Height and Width Scale
property of the selected object. These animations allow you to scale
the object proportionally, by height, or by width.
If the Scale check box is selected, click this button to modify the
existing Scale animation.

Rotate Check Box Select this option to animate the RotationAngle property of the
selected object. This animation allows you to define the angle of
rotation. If the Rotation check box is selected, a RotationAngle
property animation already exists for this object.
To modify the existing animation, click the Rotation Expert button.
To remove the RotationAngle animation, clear the check box.
NOTE: Ovals, rounded rectangles, and charts do not have rotation
properties.

Rotate Button Click this button to animate the RotationAngle property of the
selected object. This animation allows you to define the amount to
rotate an object. If the RotationAngle check box is selected, click this
button to modify the existing RotationAngle animation.
NOTE: Ovals, rounded rectangles, and charts do not have rotation
properties.

Fill

Item Description

Fill Percentage Check Select this option to animate the Fill property of the selected object.
Box You can animate both the Horizontal and Vertical Fill properties
and specify whether the Fill animates based on a percentage.
If the Fill check box is selected, a Fill property animation already
exists for this object. To modify the existing animation, click the Fill
Expert button. To remove the Fill animation, clear the check box.

Fill Percentage Button Click this button to animate the Fill property of the selected object.
You can animate both the Horizontal and Vertical Fill properties and
specify whether the Fill animates based on a percentage. If the Fill
check box is selected, click this button to modify the existing Fill
animation.

243
Creating Pictures

Visibility

Item Description

Visible Check Box Select this option to animate the Visible property of the selected
object. This animation allows you to make an object visible or
invisible. If the Visibility check box is selected, a Visible property
animation already exists for this object.
To modify the existing animation, click the Visibility Expert button.
To remove the Visibility animation, clear the check box.

Visible Button Click this button to animate the Visible property of the selected
object. This animation allows you to make an object visible or
invisible. If the Visibility check box is selected, click this button to
modify the existing Visibility animation.

Additional Animations

Item Description

Advanced Animations Select this option to open the Advanced Animations dialog box.
Check Box This dialog box allows you to access all of the property animations
available to the selected object and also provides a more detailed
interface for adding or modifying property animations.
If this check box is selected, one or more advanced animations
already exist for this object.
To modify the existing animations, click the Configure button. To
delete the existing Advanced Animations, clear this check box.

Configure Click this button to open the Advanced Animations dialog box. This
dialog box allows you to access all of the property animations
available to the selected object and also provides a more detailed
interface for adding or modifying property animations.
If the Advanced Animations check box is selected, one or more
advanced animations already exist for this object.
To modify the existing animations, click the Configure button. To
delete the existing Advanced Animations, clear this check box.

244
Creating Pictures

Command

Item Description

Click Check Box Select this option to specify one or more click commands for your
object. If this check box is selected, a command script already exists
for this object.
To modify the existing command script, click the Click button to
launch the Multiple Command Script Wizard. To delete the existing
script, clear this check box.

Click Button Click this button to specify one or more click commands for your
object. If the Click check box is selected, click this button to modify
the script in the Multiple Command Script Wizard.

Chart Configuration Dialog Box


The Chart Configuration dialog box is composed of the following tabs:

• General Tab
• Chart Tab

General Tab - Chart Configuration Dialog Box

The General tab of the Chart Configuration dialog box displays the following items:

Name

Allows you to enter a specific name for your chart.

Description

Allows you to add a description for your chart.

Help Context ID

Allows you to attribute a help context ID for your own help files.

Highlightable

Allows you to highlight the chart at run time.

Selectable

Allows you to select the chart at run time.

245
Creating Pictures

Modifiable

Allows you to modify the chart at run time.

Scroll Direction

Item Description

Scroll Right to Left Specifies that when you scroll the chart, it will do so from right to
left.

Scroll Left to Right Specifies that when you scroll the chart, it will do so from left to
right.

Reset Allows you to assign a reset value for a left-to-right scroll. The data
and its time shifts according to this percentage when the data plot
reaches the right edge of the chart.

Appearance

Item Description

Refresh Rate Allows you to specify how quickly a chart updates the data plot at
run time.

Historical Update Rate Allows you to specify the rate at which the historical chart is
updated. The default rate of zero disables the chart from being
automatically updated. The rate format is hh:mm:ss. The rate limit is
one hour.

Transparent Makes the chart transparent.

Foreground Color To change the foreground color, click this button to open the Select
Color dialog box.

Background Color To change the background color, click this button to open the Select
Color Dialog box.

Show Multiple Values Allows you to display all of the chart pen's axes at run time.

Show Multiple Times Allows you to display all of the chart pen's time scales at run time.

Show Time Cursor Allows you to display all of the chart pen's time cursors at run time.

246
Creating Pictures

Item Description

Show Time Cursor Tool Allows you to display the pens’ time cursor ToolTips at run time.
Tips

Zooming

Item Description

Horizontal Allows you to zoom into a chart on its horizontal axis at run time.

Vertical Allows you to zoom into a chart on its vertical axis at run time.

Both Allows you to zoom into a chart on both its horizontal and vertical
axes at run time.

Chart Tab - Chart Configuration Dialog Box

The Chart tab of the Chart Configuration dialog box displays the following items:

Data Sources

Allows you to add a pen to your chart by double-clicking a blank field in the list. This in turn allows
you to select a data source for the pen.

Apply to All Pens

Allows you to apply any properties that you select from this dialog box to all pens in a chart.

Pen Tab

Item Description

High Limit Allows you to enter the high limit value defined for the selected data source.

Low Limit Allows you to enter the low limit value defined for the selected data source.

Number of Allows you to specify the number of decimal places the pen displays for
Decimal Places to EGU limits. Enter a number from 0-7.
Display

Fetch Limits Specifies whether or not to automatically retrieve the low and high limits
assigned to the selected data source at run time.

247
Creating Pictures

Item Description

Show Line Specifies whether or not to display the trend line for the selected data source.

Constant Line Specifies whether or not to display a constant horizontal line at the current
value of the pen.

Show Gaps Specifies whether or not to display a blank space to represent an area in a
plot where there is no data.

Use Regional Specifies whether or not to use the Windows Regional Settings. Disabling
Settings this feature allows you to enter user-defined decimal place settings. By
default, this feature is enabled.

Maximum Allows you to specify how many data points will be displayed in the chart
Display Points over a given span duration.

Line Style Allows you to apply a style to the pen’s plot line. The options are:
• Solid – Applies a solid pen line style.
• Dash – Applies a dashed pen line style.
• Dot – Applies a dotted pen line style.
• DashDot – Applies a dash-dot combination line style.
• DashDotDot – Applies a dash-dot-dot combination line style.

Line Color Allows you to specify the color of the pen's plot line.

Line Width Allows you to specify the width of a pen’s plot line.

Marker Style Allows you to specify a style for the pen’s marker type.

248
Creating Pictures

Item Description

Historical Mode Allows you to determine how iFIX selects data from a historical data source
and displays it in the chart, and determines what each displayed value
represents. The options are:
• Sample – The last valid value found is trended, up to and including
the start of the interval.
• Avg – 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 – 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 – The lowest valid data point value 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.]
• Interpolated – The data is interpreted by assuming that the line
between two values is a straight line. All points along that line are
estimated except the starting point and the ending point. Available for
Historian only.

Type This field is informational. You cannot edit this field.

Time Tab

Item Description

Fixed Date Specifies whether or not to enter a specific date on which to start the display,
in the format MM/DD/YY (month/day/year).

Days Before Now Specifies whether or not to enter a number of days prior to today to start the
display. Allows you to enter the number of days prior to today to start the
display. For example, if you want to define a time group to display data
collected two days before the current date, enter 2.

Fixed Time Specifies whether or not to designate a specific time to start the display,
based on a 24 hour clock.

Lock Time Locks the current Fixed Time, even if you change the time zone in the Date
and Time Properties dialog box in the Control Panel. This field is available
only when you designate a specific time to start the display using the Fixed
Time field.

249
Creating Pictures

Item Description

Duration Before Specifies whether or not to enter the duration prior to the current time to start
Now the display. The minimum duration for a display is 0 seconds; the maximum
is 23 hours, 59 minutes, and 59 seconds.

Time Zone Allows you to select the time zone to associate with the start time. You can
select a specific time zone, or you can select the client time (time zone for
your computer), the server time (time zone used by the Historian server), or
the collector time (time zone of the collector machine). The default time
zone is that of the client machine. This field is available only when Historian
is being used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Saving This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel. This field is available
only when Historian is being used.

Days Allows you to enter the duration for the display, which determines how
much data to display on the x axis. The minimum duration for a display is 1
second; the maximum is 99 days, 23 hours, 59 minutes, and 59 seconds.

Time Displays the time.

Display Displays milliseconds on the time axis and time cursor in the chart and
Milliseconds milliseconds in the (Interval) Time field when Historian is being used. This
field is available only when Historian is being used.

X-Axis Tab

Item Description

Show X Axis Specifies whether or not to display the x axis in the chart.

Number of Allows you to specify how many labels the x axis will contain. You can enter
Labels a maximum of 21 labels.

Number of Ticks Allows you to specify how many ticks the x axis will contain. You can enter
a maximum of 21 ticks.

Axis Color Allows you to choose a color for the axis.

Show Date Allows you to display the current date in the x axis of the chart.

250
Creating Pictures

Item Description

Allow Reset of Lets you control changes to the limits on the x (time) axis in a chart. Initially,
Axis Limits the limits are set to match the time specified on the Time tab of the Chart
Configuration dialog box. However, when you select this check box, you
enable the time axis limits of your chart to be reset after you right-click the
object to zoom out. The chart resets the time axis limits to the values of the
Start Time and End properties.

Show Title Specifies whether or not to display the title of the x axis in the chart.

Title Allows you to specify a title for the x axis in the chart. You can enter a title
of up to 255 characters.

Y-Axis Tab

Item Description

Show Y Axis Specifies whether or not to display the y axis in the chart.

Number of Allows you to specify how many labels the y axis will contain. You can enter
Labels a maximum of 21 labels.

Number of Ticks Allows you to specify how many ticks the x axis will contain. You can enter
a maximum of 21 ticks.

Axis Color Allows you to choose a color for the axis.

Allow Reset of Lets you control changes to the limit on the y (value) axis in a chart. Initially,
Axis Limits the limits are set to match the High and Low limits specified on the Pen tab
of the Chart Configuration dialog box. However, when you select this check
box, you enable the value axis limits of your chart to be reset after you right-
click the object to zoom out. The chart resets the value axis limits to the
values of the HiLimit and LoLimit properties.

Show Title Specifies whether or not to display the title of the x axis in the chart.

Title Allows you to specify a title for the x axis in the chart. You can enter a title
of up to 255 characters.

251
Creating Pictures

Grid Tab

Item Description

Show Horizontal Specifies whether or not to display the horizontal grid in a chart.
Grid

Number of Lines Allows you to specify the number of lines in the horizontal grid. The
(Horizontal) maximum number of lines you can have in your grid is 21.

Grid Color Allows you to specify a color for the grid.


(Horizontal)

Grid Style Allows you to apply a style to the chart’s horizontal grid line. The options
(Horizontal) are the same as for the chart's line styles.

Scroll Grid Specifies whether or not to scroll the grid.


(Horizontal)

Show Vertical Specifies whether or not to display the vertical grid in a chart.
Grid

Number of Lines Allows you to specify the number of lines in the vertical grid. The maximum
(Vertical) number of lines you can have in your grid is 21.

Grid Color Allows you to specify a color for the grid.


(Vertical)

Grid Style Allows you to apply a style to the chart’s vertical grid line. The options are
(Vertical) the same as for the chart's line styles.

Legend Tab

Item Description

Source Specifies whether or not to display a data source in the legend.

Description Specifies whether or not to display a description in the legend.

Value Allows you to enter the number of characters that represents the length of
the value.

Units Specifies whether or not to display data units in the legend.

252
Creating Pictures

Item Description

Mode Specifies whether or not to display a data mode in the legend.

High Limit Specifies whether or not to display a data high limit value in the legend.

Low Limit Specifies whether or not to display a data low limit value in the legend.

Interval Specifies whether or not to display a data interval in the legend.

High Over Range Specifies whether or not to display the high data value of a pen in a specified
time range.

Low Over Range Specifies whether or not to display the low data value of a pen in a specified
time range.

Average Over Specifies whether or not to display the average data value of a pen in a
Range specified time range.

Order Allows you to display the items you select in any order in the legend (left to
right). To rearrange the order in the list, select the item and click the Up or
Down arrow.

Color Selection Dialog Box


The Color Selection dialog box displays the following items:

Property

Displays the color property (foreground, background, or edge) for which you are currently defining a
color.

Color Set

Lists all color sets that are currently configured on your system. You can add your own color set by
clicking the New Color Set button, naming the color set, and customizing the individual colors within
the set.

Color Tab

Allows you to attribute a color for the selected object. To change an object’s color, click the Color tab,
select a color from the color box, and click OK. Optionally, you can attribute a named color by
clicking the Name tab, selecting the name of a color from the list, and clicking OK.

253
Creating Pictures

Name Tab

Displays the named colors of the color set listed in the Color Set list. To change the name of a color,
double-click it from the list and enter a new name in the highlighted field.

Customize Color

Allows you to create a unique color from one of the available color sets listed in the ColorSet list.

NOTE: This button is disabled if the System Default color set is selected.

New Color Set

Allows you to add a custom color set to the ColorSet list. This button displays the Add ColorSet dialog
box.

Create Picture Wizard Dialog Box

Common Wizard Elements

The Create Picture Wizard guides you when creating pictures in Configure mode that will appear the
way you intend in Run mode. Each page in the Wizard includes the following elements:

• Preview Pane – Shows a picture configuration based on the currently selected options.
• Help Button – Launches the Help topics for the Create Picture Wizard.
• Cancel Button – Exits the Create Picture Wizard without creating any new pictures, and
without changing WorkSpace appearance.
• Previous Button – Returns you to the previous page in the Wizard.
• Next Button – Sends you to the following page in the Wizard.
• Finish Button – Creates the new pictures that you have specified, and sets the WorkSpace
appearance that you have specified. This button is only enabled when the Wizard has
collected enough information to successfully create new pictures.

Create Picture Paths

The Create Picture Wizard dialog box displays three paths to create new pictures. For more
information on the screens that appear when you select a path, refer the following sections:

• Create Picture(s) from a Predefined Configuration


• Create a Custom Picture
• Create a Default Untitled Picture

Show WorkSpace Appearance Page

Indicates whether you want to view the WorkSpace Appearance page in the wizard. This page only
needs to be accessed once per WorkSpace session.

254
Creating Pictures

Do not show this Wizard from the new picture menu and Exit now

Prevents the wizard from running the next time you select New Picture from the File menu. The Finish
Button changes to an OK button, and allows you to close the wizard.

Create Picture(s) from a Predefined Configuration

When you select the Create Picture(s) from a Predefined Configuration option in the first screen of the
Create Picture Wizard, the wizard then displays the following screens:

WorkSpace Appearance Screen

This screen provides you with Proficy iFIX WorkSpace settings.

Item Description

WorkSpace Full Screen in When you select this option, the WorkSpace hides its title bar, menu
Run Mode bar, and status bar in the run environment. If you clear this option,
you can select any of the other options on the page.

Show WorkSpace Title Displays the title bar across the top of the screen in run mode.
Bar

Show WorkSpace Menu This is available only if Show WorkSpace Title Bar is enabled.
Bar Select this option to display the menu bar across the screen under
the title bar in run mode.

Show Status Bar Displays the status bar across the bottom of the screen in run mode.

Choose Configuration Screen

This screen provides you with predefined picture configurations. You can select a configuration as is,
or modify it through the Modify Configuration button. When you highlight a configuration name in the
list box, the preview pane displays the configuration.

There are five generic names for predefined pictures: Main, Header, Footer, Left Navigation, and
Faceplate. If you create a custom picture, the generic name is Custom. The background color of the
generic name corresponds to the color of the picture in the preview pane.

Item Description

Modify Configuration Opens the Modify Configuration Dialog Box that allows you to
specify attributes and sizes for your picture.

Delete Configuration Deletes the selected configuration from the Choose Configuration
list.

255
Creating Pictures

Select Filename(s) Screen

The Select Filename(s) page allows you to assign a filename to each picture in the configuration. Valid
filenames must:

• be alphanumeric
• begin with an alphabetic character
• contain no more than 31 characters
• contain none of the following characters: spaces, @, &, $, #, !, or %
• have a .grf extension

Summary Screen

This page summarizes the settings that will be used to create the picture.

Do not show this Wizard from the new picture menu Check Box

Prevents the wizard from running the next time you select New Picture from the File menu (Classic
view) or from the WorkSpace button (Ribbon View). The Finish Button changes to an OK button, and
allows you to close the wizard.

Create a Custom Picture

When you select the Create a Custom Picture option in the first screen of the Create Picture Wizard,
the wizard then displays the following screens:

WorkSpace Appearance Screen

This screen provides you with Proficy iFIX WorkSpace settings.

Item Description

WorkSpace Full Screen in When you select this option, the WorkSpace hides its title bar, menu
Run Mode bar, and status bar in the run environment. If you clear this option,
you can select any of the other options on the page.

Show WorkSpace Title Displays the title bar across the top of the screen in run mode.
Bar

Show WorkSpace Menu This is available only if Show WorkSpace Title Bar is enabled.
Bar Select this option to display the menu bar across the screen under
the title bar in run mode.

Show Status Bar Displays the status bar across the bottom of the screen in run mode.

256
Creating Pictures

Define Custom Picture Screen

Allows you to define a picture by either specifying dimensions or using the dimensions of an existing
picture. The dimensions that you enter are checked for range. The preview pane updates to show the
picture that you are defining. Valid ranges for dimensions:

• For Width and Height, dimensions must be greater than zero.


• For Top and Left, dimensions can be zero or any positive or negative number.

Settings that you can configure in this area include:

Item Description

Use Specified Dimensions Selecting this check box allows you to specify the dimensions used
to create the picture.

Left Distance from the left of the screen to the left edge of the picture.

Top Distance from the top of the screen to the top edge of the picture.

Width Distance from the left edge of the picture to the right edge of the
picture.

Height Distance from the top edge of the picture to the bottom edge of the
picture.

Percentage Units Indicates the size and location of the picture is based on percentage
of the screen.

Pixel Units Indicates the size and location of the picture is based on the number
of pixels.

Use Dimensions of Allows you to use an existing picture as the template for a new
Existing Picture picture.

Edit Box Enter the picture name that you want to use the dimension of, or
click the browse (...) button to select it.

Define Custom Picture Attributes Screen

Item Description

Show Title Bar Adds a title bar to your picture.

257
Creating Pictures

Item Description

Show System Menu Adds system menus to your picture.

Resizable Adds sizing borders to the picture.

Always on Top Configures the window so that it is always on top when you open it.

Allow this Picture to be Configures the window so that when it is opened and closed it is
Cached held in memory and, when reopened, is read from memory.

Background Color Click the Background Color button to set the actual background
color of the picture. This color will not appear in the preview pane,
since the colors in the preview pane are used only in the Create
Picture Wizard.

Select Filename(s) Screen

Allows you to specify the filename for the custom picture.

Summary Screen

This page summarizes the settings that will be used to create the picture.

Do not show this Wizard from the new picture menu Check Box

Prevents the wizard from running the next time you select New Picture from the File menu (Classic
view), or from the Application Button (Ribbon View). The Finish Button changes to an OK button,
and allows you to close the wizard.

Create a Default Untitled Picture

When you select the Create a Default Untitled Picture option in the first screen of the Create Picture
Wizard, no additional screens appear. Click Finish to create your picture.

Custom Lookup Table Dialog Box


The Custom Lookup Table dialog box displays the following items:

Source Property Type

Allows you to specify the input data type for which you want to configure a custom lookup table. You
can create a custom lookup table for the following data types: Boolean, integer, float, and string values.

258
Creating Pictures

Object Property Type

Allows you to specify the output data type that corresponds to the input data type specified in the
Source Property Type field. You can specify the following data types as output values: Boolean,
integer, float, string, and color.

Exact Match

Allows you to specify that incoming data must exactly match the configured input value in the lookup
table in order to format the data as the corresponding output value.

Range Comparison

Allows you to specify that incoming data must fall within a range of input values in the lookup table in
order to format the data as the corresponding output value.

Grid

Allows you to configure the lookup table for this property. Double-click any cell in the table to
configure the input data, output data, and toggle (blink to) data.

Insert Row

Inserts a new row into the data conversion table.

Modify Row

Displays the New Level Dialog Box so that you can modify an existing row in the data conversion
table.

Delete Row

Deletes an existing row of the data conversion table.

Advanced

Displays the Advanced Lookup Options Dialog Box that allows you to configure several more lookup
options.

Datalink Dialog Box


The Datalink dialog box displays the following items:

259
Creating Pictures

Source

Item Description

Edit Box Allows you to enter a data source or expression for this Data link.
Data source refers to a reference to a source of information, such as
iFIX tagnames and historical files, or other OPC-compliant data
servers. A data source may also consist of iFIX objects (such as
shapes, charts, and variables) or 3rd party OLE controls. Single
lettered tags named A through P are not allowed.
Expression refers to constants, data sources, or a combination of
constants and data sources that are connected with one or more
operators.

Browse Button Use the Browse (...) button to open the Expression Builder dialog
box.

Quick Modify Button Use the Quick Modify button to modify a database block directly
without launching the Database Manager.

Data Entry

Item Description

Type Allows you to configure whether or not operators can enter data into
the Data link at run-time. To allow operators to enter data into the
link and write a new value to the database tag during the next scan
cycle, select In-Place from the list. To prohibit data entry at run-time,
select None.

Confirm When enabled, requires operators to confirm that they want to write
data to the database after they have entered a new value in a Data
link at run-time. Note that this option is only available if In-Place is
selected in the Data Entry Type list.

Output Error Mode

Allows you to specify how errors are processed for this Data link. To accept an input value and return
a corresponding output value, select Use Current Output. To use values from a lookup table, select
Use Error Table. If an incoming input value matches an entry in the table, that output value is returned.

For more information on different error configurations, see the Creating Pictures electronic book.

260
Creating Pictures

Formatting

Item Description

Raw Format Allows you to enter data in its raw (or native C code) format. If this
check box is enabled, you can edit the format by entering a C format
string in the Format field.

Format Allows you to enter a C format string to display data in its raw,
native C code format. You can also enter a string of any kind
preceding the raw format string (for example, to introduce what the
data string represents).
Displays when the Raw Format check box is selected.

Type Allows you to configure whether the data represented by the Data
link should be formatted as numeric or alphanumeric data. To
format numeric data, select Numeric from this list and enter an
integer from 0 to 7 in the Whole Digits and Decimal fields. To
format alpha-numeric data, select Alpha-Numeric from this list and
enter the number of lines and the number of characters per line that
you want to display in the Data link.
Displays when the Raw Format check box is cleared.

Justify Allows you to justify the alignment of the Data link’s text. Text can
be aligned to the left, center, or right of the Data link.
Displays when the Raw Format check box is cleared.

Lines Allows you to enter the number of lines that you want to display in
an alpha-numerically formatted Data link.
Displays when the Raw Format check box is cleared.

Char/Lines Allows you to enter the number of characters per line that you want
to display in an alpha-numerically formatted Data link.
Displays when the Raw Format check box is cleared.

Edit Picture Dialog Box


The Edit Picture dialog box displays the following items:

Window Width

Specifies the width of the iFIX picture that is currently open. Picture width is measured in logical
units. See the Creating Pictures electronic book for more information on logical units.

261
Creating Pictures

Window Height

Specifies the height of the iFIX picture that is currently open. Picture height is measured in logical
units. See the Creating Pictures electronic book for more information on logical units.

Window Styles

Item Description

Title Bar Select this check box to display the title bar of the currently opened
picture.

System Menu Select this check box to display the system menu controls in the title
bar of the currently opened picture. These controls allow you to
perform such window-related actions as Restore, Move, Size,
Minimize, Maximize, Close, and Next.

Resizable Select this check box to indicate that the picture can be resized.

Always on Top Select this check box to indicate that the current picture is displayed
on top of all other windows.

Runtime Visible Select this check box to indicate that the current picture can be
viewed in the run-time environment.

Gradient

Item Description

Gradient Enabled Select this check box to apply a gradient to the background color of
the current picture.

Linear Select this option to apply a linear gradient fade type to the
background of the current picture. This option is available only
when the Gradient enabled check box is selected.

Reflected Select this option to apply a reflected gradient fade type to the
background of the current picture. This option is available only
when the Gradient enabled check box is selected.

Radial Select this option to apply a radial gradient fade type to the
background of the current picture. This option is available only
when the Gradient enabled check box is selected.

262
Creating Pictures

Item Description

Concentric Select this option to apply a concentric gradient fade type to the
background of the current picture. This option is available only
when the Gradient enabled check box is selected.

Background Color Use this button to open the Select BackgroundColor dialog box to
configure the background color of the picture that is currently open.

Blend Slider Use this slider to set the percentage of fade color to blend with the
current picture’s background color. The higher the percentage, the
more fade color is visible. This slider is available only when the
Gradient enabled check box is selected.

Fade Color Use this button to open the Select FadeColor dialog box to configure
the fade color of the picture that is currently open.

Gradient Angle Slider Use this slider to set the angle of the gradient for the current
picture’s background color. This slider is available only when the
Gradient enabled check box is selected.

Message Reflection

Some messages are normally sent to the parent control. Under normal conditions, these messages are
actually reflected back to the sending control, so that the control can handle its own message. This
message reflection can be handled by the container, which will reflect the messages back as events.
However, some controls cannot handle message reflection.

If your picture contains OLE controls, and those controls are behaving poorly, try disabling the
Message Reflection check box.

Disable Caching for this Picture

Select this check box to indicate that when you close the current picture, it will NOT be loaded into the
cache. With this check box selected, the picture file will always be opened directly from the disk drive.

If you clear this check box, picture caching is enabled for the current picture, if you also enabled it in
the User Preferences dialog box on the Picture tab. With picture caching enabled, iFIX reads and opens
the previously opened picture from memory.

Enhanced Chart Customization Dialog Box


• The Enhanced Chart Customization dialog box is composed of the following tabs:
• General Tab
• Data Sources Tab
• Chart Style Tab

263
Creating Pictures

• Subsets Tab
• Axis Tab
• Font Tab
• Color Tab
• Plotting Style Tab
• Exporting Enhanced Chart Dialog Box

General Tab - Enhanced Chart Configuration Dialog Box

The General tab of the Enhanced Chart Configuration dialog box displays the following items:

Main Title

Allows you to enter a main title for your chart.

Subtitle

Allows you to enter a subtitle for your chart.

Object Name

Allows you to enter an object name for your chart. This name appears in the system tree. It must be
unique and is limited to the standard object naming conventions.

Description

Allows you to add a description for your chart, which is the standard object description shared by all
object types.

Highlightable

Allows you to highlight the chart at run time so it can be modified.

Selectable

Allows you to select the chart at run time. By default, this option is selected.

Modifiable

Allows you to modify the chart at run time.

264
Creating Pictures

Zooming

Item Description

Horizontal Allows you to zoom into a chart along its horizontal axis at run time.

Vertical Allows you to zoom into a chart along its vertical axis at run time.

Both Allows you to zoom into a chart along both its horizontal and
vertical axes at run time.

Appearance

Item Description

Chart Update Rate Allows you to specify how quickly a chart updates the data plot at
run time. When used for real-time data, the fastest update rate is 0.1
seconds and the slowest is 1800 seconds. When used for historical
data, the fastest update rate is 5 seconds and the slowest is 1800
seconds.
This value is not used for Histogram and SPC charts. They update at
the rate of their data sources.
For XY charts, this rate specified applies to both real-time and
historical data sources.
NOTE: If you choose to use a real-time data source for your XY or
line/multiline chart, be aware that when you view it in run mode, the
first data points will not be plotted until the time specified in the
Chart Update Rate field has elapsed. Therefore, there will be a lag
time between when you open the chart in run mode and when the
data is plotted; the first data point does not immediately display.
This applies to tag group substitution, as well.

Historical Update Rate Allows you to specify the rate at which the historical chart is
updated. The default rate of zero disables the chart from being
automatically updated. The format is hh:mm:ss. The fastest update
rate is five seconds, the slowest, 1800 seconds, or thirty minutes.
NOTE: This field is not available for XY charts.

265
Creating Pictures

Item Description

Number of Points Allows you to specify the number of points in the chart. Limits the
chart's data display for each data source to no more than the number
specified.
NOTES:

• You cannot specify the number of points for SPC or


Histogram charts.

• Do not select 2 for the number of points setting if your


chart is a Line/Multiline chart and your chart includes
both the graph and the table. Doing so will cause the
graph to disappear.

• If you set the Number of Points too high, the Hourglass


will continuously flicker. In most cases, the default value
of 500 is high enough to accommodate the data points
required and low enough to avoid this situation.

• For XY charts, using historical data sources, the value in


the Number of Points field adjusts automatically to the
value closest to the value you entered that will produce
evenly spaced data, based on the duration configured
and the auto adjusted interval.

Show Time Cursor Allows you to display the time cursor and time cursor legend for the
chart data sources at run time.

Show Time Cursor Tool Allows you to display the time cursor tool tips for the chart data
Tips source at run time.

Display Milliseconds Displays milliseconds on the time axis and time cursor in the chart
and milliseconds in the (Interval) Time field.
NOTE: This field is not available for XY charts.

Enable Advanced Allows you to improve the visual quality of the chart by permitting
Graphics the use of bitmap/gradient styles, drop-shadow, 3D effects, a variety
of plotting style lines and improved font appearance. Disabling this
option removes smoothing from fonts and graphics (Anti-Aliasing),
as well as disabling transparencies (Alpha Blending) and removing
Bitmap and Gradient functionality.
IMPORTANT: Enabling Advanced Graphics may affect chart
plotting performance.

266
Creating Pictures

Duration

NOTE: These fields do not apply to XY charts plotting real-time data.

Item Description

Allows you to enter the number of days for the duration of the
Days display. This field can be used in conjunction with the following
field.
The duration for the display determines how much data to display on
the x axis. The minimum duration for a display is 0 seconds; the
maximum is 365 days, 23 hours, 59 minutes, and 59 seconds. The
durations apply to all chart data sources.

Allows you to enter the number of hours, minutes and seconds for
Time the duration for the display. This field can be used in conjunction
with the preceding field.

Export

Click to access the Exporting dialog box.

Snapshot

Click to get a maximized static snapshot of the chart, presented at full-screen size.

Data Sources - Enhanced Chart Configuration Dialog Box

The Data Sources tab of the Enhanced Chart Configuration dialog box displays the following items:

267
Creating Pictures

Data Sources List

Item Description

Data Source Allows you to add a data source to your chart by double-clicking a blank field
Selection List in the list.
Acceptable data sources:
• X Bar, R Bar, and S Bar – SD block (Statistical Data)
• Histogram – HS block (Histogram)
• Line/Multiline – Any block
• XY – Any block, except SD, HS, ETR, SQT, SQD, or PA
Any changes made to the Data Sources List are applied immediately; clicking
Cancel does not undo any changes.
Allowable number of data sources, by chart type:
• X Bar, R Bar, S Bar, and Histogram – one
• XY – two (one for the X axis and one for the Y axis)
• Line/Multiline – multiple

Add Allows you to add a data source to the chart.

Delete Allows you to remove a data source from the chart.

Move Up Allows you to move the selected data source up in position in the list.

Move Down Allows you to move the selected data source down in position in the list.

X Axis

Allows you to select the data source to use for the X axis.

NOTES:

• By default, the data source at the top of the Data Sources List is used for the X axis.

• This field is only available for XY charts.

• Any changes made to the X axis selection are applied immediately; clicking Cancel does not
undo any changes.

268
Creating Pictures

Apply to All Data Sources

Select this check box to apply all Time and Legend tab choices to all data sources.

NOTES:

• Apply to All Data Sources does not remain checked once you click Apply or Ok.

• For XY charts, this check box is selected by default and cannot be cleared.

Data Tab

Item Description

High Limit Specify the high limit value for the selected data source.

Low Limit Specify the low limit value for the selected data source.

Fetch Select this check box to specify that at run-time, the low and high limits of the
Limits selected data source are retrieved. Clear the check box to activate the High and Low
Limit fields.

Show Determines whether a blank space or a line is displayed to represent an area in a plot
Gaps where there is no data.
NOTE: This field is not available for XY charts.

Interpolate Causes the lines between plotted data to display as slopes, rather than flat lines. In
Data the following illustration, the line on the left uses interpolated data. The line on the
right does not.

NOTE: This field is not available for XY charts.

Maximum Specify the number of data points to display for a data source over a given duration;
Display the duration is indicated on the General Tab. This number cannot exceed the number
Points specified on the General Tab in the Number of Points field.
NOTE: This field is not available for XY charts.

269
Creating Pictures

Item Description

Auto Causes the intervals to automatically adjust, based on the Duration and Number of
Adjust Points specified on the General tab, resulting in evenly spaced data display. This
Interval option is automatically selected. If you choose Trend from the Historical Mode list,
you cannot disable this option.
NOTE: This field is not available for XY chart, because the intervals are already
automatically adjusted.

Historical Allows you to determine how iFIX selects data from a historical data source and
Mode displays it in the chart, and determines what each displayed value represents. The
options are:
• Sample – The last valid value found is trended, up to and including the start
of the interval.
• Avg – The average of all valid data found during the interval is trended,
starting at the beginning of the interval, 12:00:00.
• High – The highest valid data point value found during the interval is
trended, starting at the beginning of the interval, 12:00:00.
• Low – The lowest valid data point value found during the interval is trended,
starting at the beginning of the interval, 12:00:00.
• Interpolated – The data is interpreted by assuming that the line between two
values is a straight line. All points along that line are estimated except the
starting point and the ending point.
• Trend – The raw data for the minimum and maximum values for each
interval is returned.
NOTE: This field is not available for XY charts.

Time Tab

NOTES:

• The following fields are only available if the data source is historical.

• For XY charts, configuration choices made for the X axis data source are also applied to the
Y axis data source.

Item Description

Fixed Date Specifies whether to enter a specific date on which to start the display.

Days Before Now Specifies whether to enter the number of days prior to today to start the
display. Allows you to enter the number of days prior to today to start the
display. For example, if you want to define a time group to display data
collected two days before the current date, enter 2.

270
Creating Pictures

Item Description

Fixed Time Specifies whether to designate a specific time to start the display, based on a
24 hour clock.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start the display using the Fixed Time
field.

Duration Before Specifies whether to enter the duration prior to the current time to start the
Now display. The minimum duration for a display is 0 seconds; the maximum is
23 hours, 59 minutes, and 59 seconds.

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel. This field is available
only when Historian is being used.

Interval Specifies the amount of time between data collection. The value of this field
must be less than the value entered in the Duration area on the General tab.
If you are using a historical data source, the Interval value defaults to a time
that results in evenly spaced data based on the Duration and Number of
Points specified on the General tab. If you enabled Auto Adjust Interval, you
cannot change the default. However, if you did not enable Auto Adjust
Interval, you can enter a different interval. Nonetheless, if the Interval you
enter results in more samples being returned from Historian than the Number
of Points specified on the General Tab, the Interval will be still be adjusted
so that the returned samples equals the Number of Points defined.
NOTES:
• This field is not available for XY charts.
• If the Auto Adjust Interval check box is selected, this field is not
available.

Legend Tab

NOTE: For XY charts, selections made on the Legend tab for the selected data source apply to all
data sources.

271
Creating Pictures

Item Description

Source Specifies if the chart's data source appears in the legend.

Description Specifies that a description of the data source appears in the legend.

Quality Specifies that a description of the quality of the data source appears in the
legend. This option is not available for histogram charts.

Value Specifies that the value of the chart's data source appear in the legend. This
option is not available for histogram charts.

Low Limit Specifies that the low limit specified on the Data Source Data tab appears in
the legend.

High Limit Specifies that the high limit specified on the Data Source Data tab appears in
the legend.

Export

Click to access the Exporting dialog box.

Snapshot

Click to get a maximized static snapshot of the chart, presented at full-screen size.

Chart Style Tab - Enhanced Chart Configuration Dialog Box

The Chart Style tab of the Enhanced Chart Configuration dialog box displays the following items:

Border Style

Item Description

Shadow Specifies whether the chart has a drop-shadow.

No Border Specifies whether the chart has a border.

Line Specifies whether the chart has a line border.

3D Inset Specifies whether the chart is inset.

272
Creating Pictures

Numeric Precision

NOTE: Even though you set the numeric precision, the number of decimal points specified does not
appear on the chart unless it is necessary. For example, if you specified the use of two decimal places,
but all of the data values in your chart are whole numbers, decimal points would not be used because
they are not necessary. This setting does not apply to the axes graduations and ticks.

Item Description

0 Specifies the use of no decimals.

1 Specifies the use of one decimal.

2 Specifies the use of two decimals.

3 Specifies the use of three decimals.

4 Specifies the use of four decimals.

5 Specifies the use of five decimals.

6 Specifies the use of six decimals.

7 Specifies the use of seven decimals.

Miscellaneous

Item Description

Mark Data Points Specifies whether each individual data point is plotted on the chart.

Show Plotting Specifies whether the legend appears on the chart. The plotting style legend
Style Legend shows the line type or point type, color, and data source.

Show Data Specifies whether the data source legend appears on the chart. The data
Source Legend source legend appears at the bottom of the chart and includes the tag name
and other items specified on the Legend tab of the Data Sources tab.

Extend Y Axis Specifies whether Y Axis ticks are extended across the chart.
Ticks

273
Creating Pictures

Item Description

Include Data Specifies whether data labels are placed next to data points. The labels have
Labels the number of decimal places specified in the Numeric Precision field.
NOTE: This option is available only for XY charts.

Grid Lines

Description
Item

Grid in Front of Specifies that the grid appears in front of the data.
Data

NOTE: You can choose only one line display option from the following four choices.

None Specifies that no grid lines display on the chart.

X Specifies that only grid lines for the X-axis display on the chart.

Y Specifies that only grid lines for the Y-axis display on the chart.

Both Specifies that grid lines for both the X and Y-axes display on the chart.

NOTE: You can only choose one line style from the following five options.

Thin Specifies that grid lines are thin.

Thick Specifies that grid lines are thick.

Dotted Specifies that grid lines are dotted.

Dashed Specifies that grid lines are dashed.

One Pixel Specifies that grid lines are one pixel thick. This setting is primarily for
printing, because it only affects the look of a printed chart.

Legend Column Widths

NOTE: The following settings apply to all data sources legends and not to any individual data source.

274
Creating Pictures

Item Description

Source Specifies the column width of the data source name in the legend.

Description Specifies the column width of the data description in the legend.

Quality Specifies the column width of the data quality in the legend.

Value Specifies the column width of the data value in the legend.

Low Limit Specifies the column width of the low limit in the legend.

High Limit Specifies the column width of the high limit in the legend.

Order Allows you to display the items you select in any order in the legend (left to
right). To rearrange the order in the list, select the item and click the Up or
Down arrow.

X-Axis Label Orientation

Item Description

Auto Specifies that the orientation of the X-axis label is determined by iFIX.
NOTE: This option is not available for XY charts.

Vertical Specifies that the X-axis label is vertical.

Horizontal Specifies that the X-axis label is horizontal.

Slanted Specifies that the X-axis label is slanted.


NOTE: This option is not available for XY charts.

Display

NOTE: The Display fields are not available for the XY chart.

Item Description

Graph Specifies that the graph portion of the chart is displayed.

275
Creating Pictures

Item Description

Table Specifies that the table portion of the chart is displayed in a table.

Both Specifies that both the graph and table portions of the chart are displayed.

Export

Click to access the Exporting dialog box.

Snapshot

Click to get a maximized static snapshot of the chart, presented at full-screen size.

Subsets Tab - Enhanced Chart Configuration Dialog Box

The Subsets tab of the Enhanced Chart Configuration dialog box, which appears only when
configuring a Line Chart, displays the following items:

Baseline Subsets to Graph

Item Description

Subset Selection Allows you to select which subsets will always show in the graph. Those data
List sources not selected become part of the scrolling subsets.

Select All Allows you select all data sources to use as subsets.

Clear All Allows you clear all selected data sources from the subsets to graph.

Scrolling Subsets

Specifies the number of subsets to view in one group. If zero is selected, no scroll bar appears.

Example

Assuming there are four data sources, then the following results occur:

Data Sets Subsets Results...


Selected... Specified...

4 1 Each data source appears separately in four vertically arranged


groups in a scrolling chart window.

276
Creating Pictures

Data Sets Subsets Results...


Selected... Specified...

2 0 Only the two selected data sources appear on a chart.

2 1 Three data sources appear on two charts, which are arranged


vertically in a scrolling chart window.

Export

Click to access the Exporting dialog box.

Snapshot

Click to get a maximized static snapshot of the chart, presented at full-screen size.

Axis Tab - Enhanced Chart Configuration Dialog Box

The Axis tab of the Enhanced Chart Configuration dialog box displays the following items:

Labels

Item Description

X-Axis Label Allows you to specify the X-axis label.

Y-Axis Label Allows you to specify the Y-axis label.

Y Axis

Item Description

Linear Specifies whether the Y-axis uses linear values.

Log Specifies whether the Y-axis uses log values.

Auto Allows iFIX to automatically scale the Y-axis so that all data points are within the
visible area of the chart.

Min Select to activate the Min field.

Max Select to activate the Max field.

277
Creating Pictures

Item Description

Min/Max Select to activate both the Min and Max fields.

Use Data Select to allow iFIX to automatically determine the minimum and maximum axis
Source limits using the limits of all selected data sources.
Limits

Min Allows you to specify the minimum value for the Y-axis.
NOTE: When you select this option the maximum axis value will be automatically
scaled based on the data points in the chart and padding field.

Max Allows you to specify the maximum value for the Y-axis.
NOTE: when you select this option the minimum axis value will be automatically
scaled based on the data points in the chart and padding field.

Padding Allows you to set the percentage of the total range of the Y-axis allocated to
providing space above and below the highest and lowest data points when the axis
values are automatically scaled. Padding prevents the data points from intersecting
with the top or the bottom of the chart. Acceptable values: 0-100.
Your selection for Auto, Min, Max, or Min/Max determines if and where padding
is applied. The selections have the following results:
• Auto – padding is applied to both the bottom and the top of the range.
• Min – padding is applied to the top of the range.
• Max – padding is applied to the bottom of the range.
• Min/Max – padding is not applied.

X Axis

NOTE: The X Axis fields are only available for the XY chart.

Item Description

Linear Specifies whether the X-axis uses linear values.

Log Specifies whether the X-axis uses log values.

Use Data Select to allow iFIX to automatically determine the minimum and maximum axis
Source limits using the limits of all selected data sources.
Limits
Clear the checkbox to allow iFIX to automatically scale the X-axis so that all data
points are within the visible area of the chart. In effect, this enables auto-scaling.

278
Creating Pictures

Item Description

Padding Allows you to set the percentage of the total range of the X-axis allocated to
providing space above and below the highest and lowest data points. Padding
prevents the data points from intersecting with the top or the bottom of the chart.
Acceptable values: 0-100.
NOTE: For XY charts, for the X axis, Use Data Source Limits must not be selected
for padding to apply.

Export

Click to access the Exporting dialog box.

Snapshot

Click to get a maximized static snapshot of the chart, presented at full-screen size.

Font Tab - Enhanced Chart Configuration Dialog Box

The Font tab of the Enhanced Chart Configuration dialog box displays the following items:

Chart Font Size

Item Description

Large Specifies that the size of all chart fonts is large.

Medium Specifies that the size of all chart fonts is medium-sized.

Small Specifies that the size of all chart fonts is small.

Font Styles

Item Description

Main Title Specifies the font style for the chart's main title. You can also specify if the
title is bold, italic, underlined, or any combination.

Sub-Title Specifies the font style for the chart's sub-title. You can also specify if the
title is bold, italic, underlined, or any combination.

Subset / Point / Specifies the font style for the chart's subset, point, and axis labels. You can
Axis Labels also specify if the title is bold, italic, underlined, or any combination.

279
Creating Pictures

Item Description

Table Data Specifies the font style for the chart's table data.

Sample Displays a sample of the selected font and typeface options.

Export

Click to access the Exporting dialog box.

Snapshot

Click to get a maximized static snapshot of the chart, presented at full-screen size.

Color Tab - Enhanced Chart Configuration Dialog Box

The Color tab of the Enhanced Chart Configuration dialog box displays the following items:

Viewing Style

Item Description

Color Specifies that the chart displays in color.

Monochrome Specifies that the chart displays in black, gray and white.
NOTE: The axes, legends and time cursor appear in color, even if this
option is selected.

Monochrome and Specifies that the chart displays in black, gray and white and includes
Symbols symbols in the legend.
NOTE: The axes, legends and time cursor appear in color, even if this
option is selected.

Graph Attributes

Item Description

Desk Foreground Select to allow specification of the color of the title, sub-titles, and legends.

Desk Background Select to allow specification of the color of the area behind the graph, table,
title, sub-titles, and legends.

280
Creating Pictures

Item Description

Shadow Color Select to allow specification of the color of the drop shadow, if present.

Graph Foreground Select to allow specification of the color of the graph grid.

Graph Select to allow specification of the graph's background color.


Background

Table Foreground Select to allow specification of the color of the table's data.

Table Background Select to allow specification of the color of the table's interior.

Color buttons Click to choose the desired color for selected graph attributes. Double-click a
color button to define a custom color.

Pre-set Styles

Item Description

Bitmap / Select to choose a bitmap or gradient style for the chart.


Gradient Styles

Light Inset
(Bitmap /
Gradient
selected)

Medium Inset
(Bitmap /
Gradient
selected)

281
Creating Pictures

Item Description

Dark Inset
(Bitmap /
Gradient
selected)

Light Shadow
(Bitmap /
Gradient
selected)

Medium
Shadow
(Bitmap /
Gradient
selected)

Dark Shadow
(Bitmap /
Gradient
selected)

Light Line
(Bitmap /
Gradient
selected)

282
Creating Pictures

Item Description

Medium Line
(Bitmap /
Gradient
selected)

Dark Line
(Bitmap /
Gradient
selected)

Light No Border
(Bitmap /
Gradient
selected)

Medium No
Border
(Bitmap /
Gradient
selected)

Dark No Border
(Bitmap /
Gradient
selected)

Export

Click to access the Exporting dialog box.

283
Creating Pictures

Snapshot

Click to get a maximized static snapshot of the chart, presented at full-screen size.

Plotting Style Tab - Enhanced Chart Configuration Dialog Box

The Plotting Style tab of the Enhanced Chart Configuration dialog box displays the following items:

Line Style

Item Description

Subset Selection Allows you to select the data source your Color, Point Type, and Line Type
List selections will apply to.

Colors Click to choose the desired color for the selected data source. Double-click a
color button to define a custom color.

Point Type Specifies the point type for the selected data source.
NOTE: Point types appear in the chart only if the Chart Plotting Style
includes points, such as Point + Line, for example.

Line Type Specifies the line type for the selected data source.

Chart Plotting Style

NOTE: The following styles are available only for Line/Multiline and XY Charts.

Item Description

Area Specifies that the area under the plot line is filled with the color selected in
the Line Style area.

284
Creating Pictures

Item Description

Bar Specifies that data is presented using bars.

Histogram Specifies that data is presented in a histogram.

NOTE: This style is not available for XY charts.

Line Specifies that data is presented using lines.

Points Specifies that data is presented using points.

285
Creating Pictures

Item Description

Point + Best Fit Specifies that data is presented showing all data points and plots a best fit
Curve curve for all points in the chart.

Point + Best Fit Specifies that data is presented showing all data points and plots a best fit
Curve II curve for only the currently visible points in the chart.

NOTE: This style is not available for XY charts.

Point + Best Fit Specifies that data is presented showing all data points and plots a best fit line
Line for all points in the chart.

Point + Best Fit Specifies that data is presented showing all data points and plots a best fit line
Line II for only the currently visible points in the chart.

NOTE: This style is not available for XY charts.

286
Creating Pictures

Item Description

Point + Line Specifies that data is presented using points and lines.

Point + Spline Specifies that data is presented using points and splines.

Spline Specifies that data is presented using splines.

Data Shadows

Item Description

Off Specifies that there are no shadows for the chart data.

Shadow Specifies that there are shadows for the chart data.
NOTE: Shadows can be applied only to Line/Multiline charts that use Area
or Bar for their Plotting Style and to Histograms.

3D Specifies that the chart's data is 3D.


NOTE: 3D can be applied only to Histogram charts. It does not work with
SPC Bar charts or Line/Multiline charts.

287
Creating Pictures

Export

Click to access the Exporting dialog box.

Snapshot

Click to get a maximized static snapshot of the chart, presented at full-screen size.

Exporting Enhanced Chart Dialog Box

The Exporting Enhanced Chart dialog box displays the following items:

Export

Item Description

EMF Specifies EMF file format for chart export.

WMF Specifies WMF file format for chart export.

BMP Specifies BMP file format for chart export.

JPG Specifies JPG file format for chart export.

PNG Specifies PNG file format for chart export.

Text/Data Specifies text/data file format for chart export.

Export Destination

Item Description

Clipboard Specifies that data is exported to the clipboard.

File Specifies that data is exported to a file.

Browse Click to choose a destination file and folder for export.

Printer Specifies that data is sent to a printer.

288
Creating Pictures

Export Size

Item Description

Full Page Prints the exported chart on a full page.


(available only if
Printer is selected
in Export
Destination)

No Specific Size Specifies that no specific size is used for the exported chart.
(only available if
WMF is selected
in Export)

Pixel Specifies the unit of measure for the exported chart. This option is auto-
(available only if selected for BMP, JPG and PNG file format and cannot be deselected.
BMP, JPG, or
PNG is selected in
Export)

Millimeters Specifies that the size for the exported chart is measured in millimeters.

Inches Specifies that the size for the exported chart is measured in inches.

Points Specifies that the size for the exported chart is measured in points.

Width Specifies the dimensions for the printed exported chart.

The following fields are available only if Clipboard or File is selected in Export Destination.

DPI Specifies the dots per inch. The higher the number the better the quality.

Large Font Specifies a large size font is used in exported chart.

Export

Click to export data to selected destination.

Export Enhanced Chart Dialog Box

The Export Enhanced Chart dialog box displays the following items:

289
Creating Pictures

Export What

Item Description

Data Exports the chart's data.

Data and Labels Exports the chart's data along with the data labels.

Export Style

Item Description

List Specifies that data is exported in list format.

Tab Specifies that data is delimited using a tab.


(only available if
List is selected)

Comma Specifies that data is delimited using a comma.


(only available if
List is selected)

Table Specifies that data is exported in table format.

Subsets/Points Specifies that data is exported with one row for the point data and one
(only available if additional row for each subset.
Table is selected)

Points/Subsets Specifies that data is exported with one row for each point and an additional
(only available if column for each subset.
Table is selected)

Numeric Precision

Item Description

Current Precision Exports the data using the level of numeric precision specified on the Chart
Style tab.

Maximum Exports the data using the highest level of numeric precision available on the
Precision Chart Style tab, which is seven decimal places.

290
Creating Pictures

Export

Click to export the data.

Global Time Control Configuration Dialog Box


The Global Time Control Configuration dialog box displays the following items:

Time Definition

Item Description

Click to set the time to now. The value displayed in this field is applied after
clicking OK.

Start Time – Date Enter the date of the start time. The format for the day comes from your local
regional settings.

Start Time – Enter the time of the start time. The format for the time comes from your
Time local regional settings.
NOTE: The Start Time Date and Time settings apply to all objects that
contain historical animations.

End Time – Date Enter the date of the end time. The format for the day comes from your local
regional settings. This field is only available if you did not select Define
Duration.

End Time – Time Enter the time of the end time. The format for the time comes from your local
regional settings. This field is only available if you did not select Define
Duration.
NOTE: The End Time Date and Time settings apply to all objects that
contain historical animations.

Define Duration Select to define the duration of the data, in days, hours, minutes, and seconds.
Clear this check box to define the duration using the Start Time and End
Time fields.

Days Enter the number of days for the duration. This field is only available if you
selected Define Duration.

Hours Enter the number of hours for the duration. This field is only available if you
selected Define Duration.

Mins Enter the number of minutes for the duration. This field is only available if
you selected Define Duration.

291
Creating Pictures

Item Description

Secs Enter the number of seconds for the duration. This field is only available if
you selected Define Duration.

Historical Update Rate

Item Description

Hours Select the number of hours for the historical update rate.

Mins Select the number of minutes for the historical update rate.

Secs Select the number of seconds for the historical update rate.

Scroll Rates

Item Description

Scroll as % of Select to set the scroll rate as a percentage of duration. Clear this check box
Duration to enter an exact value for the scroll rate. For example, 1.25 hours, or 75
minutes.

Slow Enter the slow scroll value in this field, or use the arrows to increase or
decrease the value. The Slow Scroll Value applies to both the Forward and
Backward Slow Scroll buttons. By default, this value is set to 25 percent.
If the Scroll as % of Duration check box is selected, this value is a
percentage. For example, if you enter 10, it means 10 percent of the total
duration is used for the scroll.
If the Scroll as % of Duration check box is cleared, the number you enter is
an exact value. For example, if you enter 1.2 and then select the Minutes
option, the scroll will be a value of 1.2 minutes.
NOTE: This value cannot be greater than the value you enter in the Fast
field.

Slow – Days Select to set the unit of measure as days. This field is only available if you
did not select Scroll as % of Duration.

Slow – Hours Select to set the unit of measure as hours. This field is only available if you
did not select Scroll as % of Duration.

292
Creating Pictures

Item Description

Slow – Mins Select to set the unit of measure as minutes. This field is only available if you
did not select Scroll as % of Duration.

Slow – Secs Select to set the unit of measure as seconds. This field is only available if you
did not select Scroll as % of Duration.

Fast Enter the fast scroll value in this field, or use the arrows to increase or
decrease the value. The Fast Scroll Value applies to both the Forward and
Backward Fast Scroll buttons. By default, this value is set to 50 percent.
If the Scroll as % of Duration check box is selected, this value is a
percentage. For example, if you enter 10, it means 10 percent of the total
duration is used for the scroll.
If the Scroll as % of Duration check box is cleared, the number you enter is
an exact value. For example, if you enter 1.2 and then select the Minutes
option, the scroll will be a value of 1.2 minutes.
NOTE: This value cannot be greater than the value you enter in the Slow
field.

Fast – Days Select to set the unit of measure as days. This field is only available if you
did not select Scroll as % of Duration.

Fast – Hours Select to set the unit of measure as hours. This field is only available if you
did not select Scroll as % of Duration.

Fast – Mins Select to set the unit of measure as minutes. This field is only available if you
did not select Scroll as % of Duration.

Fast – Secs Select to set the unit of measure as seconds. This field is only available if you
did not select Scroll as % of Duration.

Grid Settings Dialog Box


The Grid Settings dialog box displays the following items:

Show the Grid

Select this check box to shows a grid of evenly spaced dots to help you guide the placement of objects
for precise vertical or horizontal alignment.

Snap to Grid

Select this check box to force the top left corner of every object you create or move to stick to the
closest grid point.

293
Creating Pictures

Grid Interval

Specifies the amount of space, in pixels, between each evenly spaced dot in the grid.

Historical Datalink Dialog Box


The Historical Datalink dialog box displays the following items:

Source

Item Description

Edit Box Allows you to enter a data source or expression for this historical
data link.
A data source is a reference to a source of information, such as
historical files.
an expression includes constants, data sources, or a combination of
constants and data sources that are connected with one or more
operators.

Browse Button Use the Browse (...) button to open the Expression Builder dialog
box.

Quick Modify Button Not available.

Show Time Stamp with Data

Select this check box to specify that the Historical Datalink include the time stamp with the data. The
time stamp appears only at run-time. By default, this check box is selected.

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

Start Date

Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

294
Creating Pictures

Start Time

Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

Time Zone

Item Description

Time Zone Allows you to select the time zone associated with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode

• Allows you to determine how iFIX selects and fetches data from a historical data source and,
determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.
• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate

295
Creating Pictures

field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.
• Total – The total of all valid data found during the specified interval.

Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest is 1:59:59.

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

296
Creating Pictures

Item Description

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Modify Area Dialog Box


The Modify Area dialog box displays the following items:

Available

Lists the alarm areas that are currently available. To filter alarms by alarm area, select the area(s) from
this list and select the In or Not In option button.

In

Allows you to filter alarms by the alarm areas that are currently selected in the Available list. When
this option is selected, the Alarm Summary object displays only those alarms from the selected alarm
areas.

Not In

Allows you to filter alarms by the alarm areas that are currently selected in the Available list. When
this option is selected, the Alarm Summary object ignores all alarms from the selected alarm areas.

Add Area Not Currently in List Edit Box

Allows you to add an alarm area name to the Available list, if it does not appear by default. Enter the
alarm area name in this field and click Add to add it to the list.

Add Button

Allows you to add an alarm area name to the Available list, if it does not appear by default. Enter the
alarm area name in the Add Area Not Currently In List field and click this button to add it to the
Available list.

Modify Configuration Dialog Box


You access the Modify Configuration dialog box from the Create Picture Wizard. The Modify
Configuration dialog box displays the following items:

297
Creating Pictures

Attributes Tab

Item Description

Show Title Bar Adds a title bar to your picture.

Show System Menu Adds system menus to your picture.

Resizable Adds sizing borders to the picture.

Always on Top Configures the window so that it is always on top when you open it.

Allow this Picture to be Configures the window so that when it is opened and closed it is
Cached held in memory and, when reopened, is read from memory.

Background Color Click the Background Color button to set the actual background
color of the picture. This color will not appear in the preview pane,
since the colors in the preview pane are used only in the Create
Picture Wizard.

Sizes Tab

Item Description

Left Distance from the left of the screen to the left edge of the picture.

Top Distance from the top of the screen to the top edge of the picture.

Width Distance from the left edge of the picture to the right edge of the
picture.

Height Distance from the top edge of the picture to the bottom edge of the
picture.

Percentage Units Indicates the size and location of the picture is based on percentage
of the screen.

Pixel Units Indicates the size and location of the picture is based on the number
of pixels.

Help

Displays the Help for the current topic.

298
Creating Pictures

Save

Saves the changes for this picture only.

Save As

Saves the current options as a new configuration. When you select this option, the Enter New
Configuration Name dialog box appears. Enter the name for the new configuration (up to 80
characters) in the Name field, then click OK to return to the Modify Configuration dialog box.

Return to Wizard

Closes the Modify Configuration dialog box and returns to the Create Picture Wizard.

Modify Pipe Characteristics Dialog Box


The Modify Pipe Characteristics dialog box display the following items:

Preview

Displays a preview of the object with the properties you select.

Start Cap

Specifies the start cap you want to apply to the selected pipe. Start caps can be round, square,
horizontal-diagonal, or vertical-diagonal. Start caps are determined by the point where you start the
pipe drawing.

End Cap

Specifies the end cap you want to apply to the selected pipe. End caps can be round, square,
horizontal-diagonal, or vertical-diagonal. End caps are determined by the point where you end the pipe
drawing.

Elbow

Specifies the elbow style you want to apply to the selected pipe. Elbow styles can be either round or
square.

Foreground

Click this button to open the Select Color dialog box where you can choose the foreground color for
the selected object.

Blend Slider

Move this slider to apply the desired amount of fade color to the selected foreground type.

299
Creating Pictures

Fade

Click this button to open the Select Color dialog box where you can choose the fade color for the
selected object.

Edge Style

Specifies the edge style you want to apply to the selected pipe. Edge styles for pipes can be either solid
or none.

Fill Style

Specifies the fill style you want to apply to the selected pipe. Fill styles for pipes can be either solid or
gradient. If you select Gradient, the fade type of the pipe defaults to reflected, and cannot be changed.

Thickness

Specifies the thickness you want to apply to the selected pipe. Pipe thickness can range from 10 to 300
pixels.

Edge Width

Specifies the edge width, in pixels, you want to apply to the selected pipe. Edge widths can range from
1 to 200 pixels.

New Level Dialog Box


The New Level dialog box displays the following items:

Low

If configuring an exact match data conversion table, this field allows you to specify the exact value that
incoming data must match in order to format the data as the corresponding output value. If configuring
a range comparison data conversion table, this field allows you to specify the low value of the range
that incoming data must match in order to format the data as the corresponding output value.

High

Allows you to specify the high value of the range that incoming data must match in order to format the
data as the corresponding output value.

Primary

Allows you to specify the output value to which you want to convert the input value or range of values
in the lookup table.

Toggle

Allows you to specify a second output value to which you want to convert the input value or range of
values in the lookup table, essentially providing a second animation for the object.

300
Creating Pictures

Select BackgroundColor Dialog Box


The Select BackgroundColor dialog box displays the following items:

Property

Displays the color property (foreground, background, or edge) for which you are currently defining a
color.

Color Set

Lists all color sets that are currently configured on your system. You can add your own customized
color set by clicking the Color button on the Toolbar to bring up the Color Selection dialog box, then
clicking the New Color Set button.

Color Tab

Allows you to attribute a color for the selected object. To change an object’s color, click the Color tab,
select a color from the color box, and click OK. Optionally, you can attribute a named color by
clicking the Name tab, selecting the name of a color from the list, and clicking OK.

Name Tab

Displays the named colors of the color set listed in the Color Set list. To change the name of a color,
double-click it from the list and enter a new name in the highlighted field.

Select Color Dialog Box


The Select a Color dialog box displays the following items:

Property

Displays the color property (foreground, background, or edge) for which you are currently defining a
color.

Color Set

Lists all color sets that are currently configured on your system. You can add your own color set by
clicking the New Color Set button, naming the color set, and customizing the individual colors within
the set.

Color Tab

Allows you to attribute a color for the selected object. To change an object’s color, click the Color tab,
select a color from the color box, and click OK. Optionally, you can attribute a named color by
clicking the Name tab, selecting the name of a color from the list, and clicking OK.

Name Tab

Displays the named colors of the color set listed in the Color Set list. To change the name of a color,

301
Creating Pictures

double-click it from the list and enter a new name in the highlighted field.

Select EdgeColor Dialog Box


The Select EdgeColor dialog box displays the following items:

Property

Displays the color property (foreground, background, or edge) for which you are currently defining a
color.

Color Set

Lists all color sets that are currently configured on your system. You can add your own customized
color set by clicking the Color button on the Toolbar (Classic view) or on the Format tab, in the Styles
group, by clicking Color Selections (Ribbon view) to bring up the Color Selection dialog box, then
clicking the New Color Set button.

Color Tab

Allows you to attribute a color for the selected object. To change an object’s color, click the Color tab,
select a color from the color box, and click OK. Optionally, you can attribute a named color by
clicking the Name tab, selecting the name of a color from the list, and clicking OK.

Name Tab

Displays the named colors of the color set listed in the Color Set list. To change the name of a color,
double-click it from the list and enter a new name in the highlighted field.

Select FadeColor Dialog Box


The Select FadeColor dialog box displays the following items:

Preview

Displays a preview of the object with the properties you select.

Linear

Select this option to apply a linear fade effect to the selected fade color.

Reflected

Select this option to apply a reflected fade effect to the selected fade color.

Radial

Select this option to apply a radial fade effect to the selected fade color.

302
Creating Pictures

Concentric

Select this option to apply a concentric fade effect to the selected fade color.

Foreground

Click this button to open the Select Color dialog box where you can choose the foreground color for
the selected object.

Blend Slider

Move this slider to apply the desired amount of fade color to the selected fade type.

Fade

Click this button to open the Select Color dialog box where you can choose the fade color for the
selected object.

Gradient Angle Slider

Move this slider to apply the desired angle of fade color to the selected fade type.

Select ForegroundColor Dialog Box


The Select ForegroundColor dialog box displays different items, depending on whether the object that
has been selected has a gradient color fill or not. Consult the following tables for descriptions in each
case:

Gradient Color Fill

Item Description

Preview Displays a preview of the object with the properties you select.

Linear Select this option to apply a linear fade effect to the selected fade color.

Reflected Select this option to apply a reflected fade effect to the selected fade color.

Radial Select this option to apply a radial fade effect to the selected fade color.

Concentric Select this option to apply a concentric fade effect to the selected fade color.

Foreground Click this button to open the Select Color dialog box where you can choose
the foreground color for the selected object.

303
Creating Pictures

Item Description

Blend Slider Move this slider to apply the desired amount of fade color to the selected fade
type.

Fade Click this button to open the Select Color dialog box where you can choose
the fade color for the selected object.

Gradient Angle Move this slider to apply the desired angle of fade color to the selected fade
Slider type.

Non-Gradient Color Fill

Item Description

Property Displays the color property (foreground, background, or edge) for which you are
currently defining a color.

Color Lists all color sets that are currently configured on your system. You can add your
Set own customized color set by clicking the Color button on the Toolbar to bring up the
Color Selection dialog box, then clicking the New Color Set button.

Color Allows you to attribute a color for the selected object. To change an object’s color,
Tab click the Color tab, select a color from the color box, and click OK. Optionally, you
can attribute a named color by clicking the Name tab, selecting the name of a color
from the list, and clicking OK.

Name Displays the named colors of the color set listed in the Color Set list. To change the
Tab name of a color, double-click it from the list and enter a new name in the highlighted
field.

How Do I...
The following sections explain how to work with pictures in the Proficy iFIX WorkSpace:

• Working with Objects


• Working with Charts
• Working with the Alarm Summary Object
• Working with Groups
• Using Color

Click a section above for steps on how to use or configure this part of a picture.

304
Creating Pictures

Working with Objects


In the Proficy iFIX WorkSpace, you can perform the following steps with objects:

• Adding, Drawing, and Creating Objects


• Manipulating Objects

Adding Charts to Pictures

To add a chart to your picture:

1. In Classic view, in the iFIX WorkSpace, on the Shapes toolbar, click the desired chart button.
-Or-
In Ribbon view, on the Insert tab, in the Charts group, click the desired chart type.
-Or-
If the Toolbox is enabled, click the Chart button on the Toolbox.
The cursor changes to a plus sign.
2. Click and drag the mouse to define an area of the picture where you want to place the chart,
and release the mouse.
TIP: To add multiple charts, double-click the desired chart button on the Toolbox. When you
are done adding charts, press ESC, click another button, or click the pointer selection tool in
the Toolbox.

Adding, Drawing, and Creating Objects

In the Proficy iFIX WorkSpace, you can perform the following steps to add, draw, or create objects:

• Adding Charts to Pictures


• Adding Text to Pictures
• Adding Bitmaps to Pictures
• Adding Data Links to Pictures
• Adding Data Links Using the Data Entry Expert
• Adding Historical Data Links to Pictures
• Adding the Current Time to Pictures
• Adding the Current Date to Pictures
• Drawing Rectangles, Rounded Rectangles, Ovals, Pipes, and Lines
• Drawing Polylines and Polygons
• Drawing Arcs, Chords, and Pies
• Creating Variable Objects
• Creating New Objects from Files
• Creating New OLE Objects

305
Creating Pictures

• Creating a Control for a New OLE Object


• Creating Timer Objects
• Creating Event Objects
• Create a Custom Lookup Table
• Selecting Commands Using the Multiple Command Script Wizard

Adding Text to Pictures

To add text to your picture:

1. In Classic view, in the iFIX WorkSpace, on the Shapes toolbar, click the Text button.
-Or-
In Ribbon view, on the Insert tab, in the Object/Links group, click Object/Links, and then
click Text.
-Or-
If the Toolbox is enabled, click the Text button on the Toolbox.
The cursor changes to an I-beam.
2. Position the cursor where you want the text to appear.
3. Enter the text you want. Use <Backspace> to delete the text and <Enter> to start a new line.
TIPS:

• To add multiple text objects, double-click the Text button on the Toolbox. Place the
cursor where you want to add the first text object and enter your text. Click outside the
text object or press ESC, and then place the cursor where you want to add the second
object. Repeat these steps for each text object you want to add.

When you are done adding text objects, click the Text button again, the pointer selection
tool, or another button in the Toolbox.

• To edit the text within a text object, you can double-click the text object, or right-click
the text object and select Edit Text from the pop-up menu that appears.

Adding Bitmaps to Pictures

To add a bitmap image to your picture:

1. In Classic view, in the iFIX WorkSpace, on the Shapes toolbar, click the Bitmap button.
-Or-
In Ribbon view, on the Insert tab, in the Object/Links group, click Object/Links, and then
click Bitmap.
-Or-
If the Toolbox is enabled, click the Bitmap button on the Toolbox.
The cursor changes to a plus sign.

306
Creating Pictures

2. Select a file from the Open dialog box and click Open.
TIP: To add multiple bitmaps, double-click the Bitmap button on the Toolbox. When you are
done adding bitmaps, press ESC, click another button, or click the pointer selection tool in
the toolbox.

Adding Data Links to Pictures

To add a data link to your picture:

1. In Classic view, in the iFIX WorkSpace, on the Shapes toolbar, click the Datalink Stamper
button.
-Or-
In Ribbon view, from the Insert tab in Objects/Links group, click Objects/Links, and then
click Datalink.
-Or-
If the Toolbox is enabled, click the Datalink button on the Toolbox.
2. In the Source field, enter a data source for the data link. To use the Expression Builder, click
the Browse button.
3. To enable data entry on the data link, select In-Place from the Type field’s drop-down menu.
If you want confirmation from the operator when the value is changed, select the Confirm
check box.
4. In the Formatting area, select the type of data you want to display from the Type field’s drop-
down menu.
For numeric data, enter an integer between 0 and 7 to represent the number of whole digits
(those before the decimal point) and decimal digits (those after the decimal point) in the
Whole Digits and Decimal fields, respectively. If needed, justify the data by making the
appropriate selection from the Justify drop-down menu.

Although you can enter an integer between 0 and 40 in the Whole Digits field, when you view
the data link in Run mode the number of digits is truncated to at most 7.

For alphanumeric data, enter the number of lines and the number of characters per lines in the
Lines and Chars/Lines fields, respectively. If desired, justify the data by making the
appropriate selection from the Justify drop-down menu.

For raw data, select the Raw Format check box and enter the format in the Format field.

NOTE: To format a data link to display scientific notation, first select a F_CV, E_CV or
A_CV field, enable the Raw Format check box, and specify %e in format field. F_CV and
E_CV datalinks using %e raw format, by default, display 6 places after the decimal point. To
display more places after the decimal point, for example 15, change %e to %1.15e. A_CV
datalinks using %e raw format will always display 15 places after decimal point. To display a
leading zero in the link, use the F_CV field and the raw format similar to %02.2f.

5. In the Error Configuration area, select how you want output errors to be defined in the Output
Error Mode field. To define errors through an error table, select Use Error Table. To define
errors using the current output value, select Use Current Output.
6. Click OK. The cursor changes to a stamper.

307
Creating Pictures

7. Position the cursor where you want to place the data link, and click the mouse. The data link
appears in the picture. The size of the data link is determined both by the settings you chose in
the Datalink dialog box and by the font size you set in the User Preferences dialog box.
TIP: In Classic view, access the User Preferences dialog box from the WorkSpace menu. In
Ribbon view, access User Preferences from the Home tab, in the WorkSpace group, in the
Settings list. Set the font size on the Shape Preferences tab.

NOTE: If you create a data link by selecting Datalink from the Insert menu (Classic View), or
by selecting it from the Insert tab, in the Objects/Links group, in the Objects/Links list
(Ribbon view), you will first sketch the size of the data link, then configure the content of the
data link as described in steps 2 through 5.

Adding Data Links Using the Data Entry Expert

To add a data link using the Data Entry Expert:

1. In the iFIX WorkSpace, double-click a Data link.


2. In the Data Entry Type field of the Datalink dialog box, select None and click OK.
NOTE: If you set the Data Entry Type field to In-Place, unexpected results may occur.

3. In Classic view, on the Standard toolbar, click the Task Wizard button.
-Or-
In Ribbon view, on the Tools tab, in the Tasks/Experts group, click the Tasks/Experts dialog
box launcher.
4. From the Task Categories list, select Data Entry Expert and click Perform Task.
5. In the Data Source field, enter a data source for the data link. To use the Expression Builder,
click the Browse button.
6. In the Choose Data Entry Method area, select the appropriate data entry option.
7. Set the values of the fields corresponding to the data entry method you chose.
8. Click OK.

Adding Historical Datalinks to Pictures

To add a historical datalink to your picture:

1. In Classic view, in the Proficy Pulse WorkSpace, on the Shapes toolbar, click the Historical
Datalink Stamper button.
-Or-
In Ribbon view, from the Insert tab in Objects/Links group, click Objects/Links, and then
click Historical Datalink.
-Or-
If the Toolbox is enabled, click the Historical Datalink button on the Toolbox.
2. In the Source field, enter a data source for the historical data link. To use the Expression
Builder, click the Browse button.

308
Creating Pictures

TIP: To display a one-hour average in your historical data link, in Historian, create a
calculation tag to calculate the one-hour average. Then, select the tag that you created when
choosing the data source for your historical data link.

3. To display a time stamp with the historical datalink, select the Show Time stamp With Data
check box. To hide the time stamp, clear the Show Time stamp With Data check box.
4. From the Historical Mode list, select the data type to display. If you selected Current Value,
go to step 9. Otherwise, proceed to step 5.
5. In the Start Date area, choose select either Fixed Date or Days Before Now to set when the
date for the display to begin and enter the desired time or value.
6. In the Start Time area, choose either Fixed Time or Duration Before Now to set the start time
for the data display and enter the desired time or value.
7. Optionally, to configure the historical datalink to open at the Fixed Time and to ignore
changes to the time zone in the Date and Time Properties dialog box in the Control Panel,
select Lock Time.
8. Optionally, to adjust for daylight saving time, if it is not already selected, click Adjust for
Daylight Savings Time and select a time zone from the Time Zone list.
9. In Duration area, select or enter the time range for the data.
10. In the Update Rate area, select or enter the update rate for the data.
11. Click OK. The cursor changes to a stamper.
12. Position the cursor where you want to place the historical data link, and click the mouse. The
historical data link appears in the picture.

Adding the Current Time to Pictures

To add the current time to your picture:

1. In Classic view, in the iFIX WorkSpace, on the Shapes toolbar, click the Time button.
-Or-
In Ribbon view, on the Insert tab, in the Objects/Links group, click Objects/Links, and then
click Current Time.
-Or-
If the Toolbox is enabled, click the Time button on the Toolbox.
The cursor changes to a stamper.
2. Position the cursor where you want the time to appear and click again.
TIP: To add multiple instances of the current time, double-click the Time button on the
Toolbox. When you are done adding instances, press ESC, click another button, or click the
pointer selection tool in the Toolbox.

Adding the Current Date to Pictures

To add the current date to your picture:

1. In Classic view, in the iFIX WorkSpace, on the Shapes toolbar, click the Date button.

309
Creating Pictures

-Or-
In Ribbon view, on the Insert tab, in the Objects/Links group, click Objects/Links, and then
click Current Date.
-Or-
If the Toolbox is enabled, click the Date button on the Toolbox.
The cursor changes to a stamper.
2. Position the cursor where you want the date to appear and click again.
TIP: To add multiple instances of the current date, double-click the Date button on the
Toolbox. When you are done adding instances, press ESC, click another button, or click the
pointer selection tool in the Toolbox.

Drawing Rectangles, Rounded Rectangles, Ovals, Pipes, and Lines

To draw a rectangle, rounded rectangle, oval, pipe, or line:

1. In Classic view, in the iFIX WorkSpace, on the Shapes toolbar, click the appropriate button.
-Or-
In Ribbon view, on the Insert tab, in the Shapes group, click Shapes, and then click the
desired shape.
-Or-
If the Toolbox is enabled, click the button on the Toolbox.
The cursor changes to a plus sign.
2. Place the cursor where you want to draw the shape.
3. Click and drag in the picture until the shape is the desired size.
TIP: To add multiple rectangles, rounded rectangles, ovals, pipes, or lines, double-click the
appropriate button on the Toolbox. When you are done adding the objects, press ESC, click
another button, or click the pointer selection tool in the Toolbox.

Drawing Polylines and Polygons

To draw a polyline or polygon:

1. In Classic view, in the iFIX WorkSpace, on the Shapes toolbar, click the Polyline or Polygon
button.
-Or-
In Ribbon view, on the Insert tab, in the Shapes group, click Shapes, and then click Polyline
or Polygon.
-Or-
If the Toolbox is enabled, click the button on the Toolbox.
The cursor changes to a plus sign.
2. Place the cursor where you want to start your polyline or polygon.

310
Creating Pictures

3. Click once for each point you want in the polyline or polygon. Double-click to end the shape.
TIP: To add multiple polylines or polygons, double-click the appropriate button on the
Toolbox. When you are done adding the objects, press ESC, click another button, or click the
pointer selection tool in the Toolbox.

Drawing Arcs, Chords, and Pies

To draw an arc, chord, or pie:

1. In Classic view, in the iFIX WorkSpace, on the Shapes toolbar, click the Arc, Chord, or Pie
button.
-Or-
In Ribbon view, on the Insert tab, in the Shapes group, click Shapes, and then click the Arc,
Chord, or Pie.
-Or-
If the Toolbox is enabled, click the button on the Toolbox.
The cursor changes to a plus sign.
2. Position the cursor where you want the first point of the shape to appear and click the mouse.
3. Drag the cursor where you want the second point of the shape to appear and click the mouse.
4. Move the cursor to define the height and width of the shape and click again.
TIP: To add multiple arcs, chords, or pies, double-click the appropriate button on the
Toolbox. When you are done adding the objects, press ESC, click another button, or click the
pointer selection tool in the Toolbox.

Creating Variable Objects

To create a variable object:

1. In Classic view, in the iFIX WorkSpace, on the Shapes toolbar, click the Variable Object
button.
-Or-
In Ribbon view, on the Insert tab, in the Objects/Links group, click Objects/Links, and then
click Variable.
-Or-
If the Toolbox is enabled, click the Variable Object button on the Toolbox.
2. Complete the fields on the Create a Variable Object dialog box. For more information on
these fields, click Help.

Creating New Objects from Files

To create a new object from a file:

1. In Classic view, in the iFIX WorkSpace, on the Insert menu, click the OLE Object.

311
Creating Pictures

-Or-
In Ribbon View, on the Insert tab, in the Objects/Links group, click Objects/Links, and then
click OLE Object.
2. Select the Create from File option.
3. In the File field, enter a directory path and file name, or click Browse to search available
drives for a file.

Creating New OLE Objects

To create a new OLE object:

1. In Classic view, in the iFIX WorkSpace, on the Insert menu, click the OLE Object.
-Or-
In Ribbon View, on the Insert tab, in the Objects/Links group, click Objects/Links, and then
click OLE Object.
2. Select the Create New option.
3. In the Object Type list box, double-click the object you want to create.

Creating a Control for a New OLE Object

To create a control for a new OLE object:

1. In Classic view, in the iFIX WorkSpace, on the Insert menu, click the OLE Object.
-Or-
In Ribbon View, on the Insert tab, in the Objects/Links group, click Objects/Links, and then
click OLE Object.
2. Select the Create Control option.
3. Click OK to create the control.

Creating Timer Objects

To create a timer object:

1. In Classic view, in the iFIX WorkSpace, on the Shapes toolbar, click the Timer Object button.
-Or-
In Ribbon view, on the Insert tab, in the Objects/Links group, click Objects/Links, and then
click Timer.
-Or-
If the Toolbox is enabled, click the Timer button on the Toolbox.
2. Complete the fields on the Create a Timer Object dialog box.

312
Creating Pictures

Creating Event Objects

To create an event object:

1. In Classic view, on the Shapes toolbar, click the Event Object button.
-Or-
In Ribbon view, from the Insert tab, in the Objects/Links group, click Objects/Links, and then
click Event.
-Or-
If the Toolbox is enabled, click the Event Object button on the Toolbox.
2. Complete the fields on the Event Object dialog box.

Create a Custom Lookup Table

To create a custom lookup table:

1. In the iFIX WorkSpace system tree, double-click the Globals folder.


2. Right-click the User icon and select Create Threshold Table from the pop-up menu. The
Custom Lookup Table dialog box appears.
3. In the Source Property Type list, select the input data type.
4. In the Objects Property Type list, select the output data type.
5. Select either the Range Comparison option (to define a range of values for each row in the
lookup table) or the Exact Match option (to define a single digital value for each row in the
lookup table).
6. Make sure you have the correct number of rows in the table. If you do not, click the Insert
Row button to add a row. If you have too many rows, click the Delete Row button to remove
a row from the table. To modify a row, click the Modify button to open the New Level dialog
box to make your changes.
7. Do one of the following:
• Enter the high and low values for each row in the lookup table.
• Enter a single lookup value in the Value column for each row in the lookup table.
8. Enter or select the comparison value for each row in the lookup table by doing one of the
following:
• If you want to define a color, double-click the color you want to modify and select a
new one from the Color dialog box when it appears.
• If you want to enter a string or a numeric value, enter it into the cell.
9. If you want the object to blink, enter a blink value for each row in the lookup table.
10. If you want to enter global toggle values, shared lookup objects, or other options such as the
toggle rate, click the Advanced button. The Advanced Lookup Options dialog box appears.
11. In the Advanced Lookup Options dialog box, enter the required settings and click OK.
12. Click OK.

313
Creating Pictures

Selecting Commands Using the Multiple Command Script Wizard

To select one or more commands using the Multiple Command Script Wizard:

1. In the Basic Animation dialog box, click the Click button or select the Command check box.
The Multiple Command Script Wizard appears.
2. Choose a command from the Select Action to Append list. The Expert associated with the
command you chose appears.
3. Complete the Expert with your desired settings and information.
4. Click OK. The Expert closes and appears in the Configured Actions list box of the Multiple
Command Script Wizard.
5. Optionally, repeat steps 2-4 if you want to add additional commands to your scripted
command sequence.
6. When you have finished choosing your command sequence, click OK to return to the Basic
Animation dialog box.

Manipulating Objects

In the Proficy iFIX WorkSpace, you can perform the following steps to manipulate objects:

• Copying and Pasting Objects as Bitmaps


• Moving Objects
• Copying and Pasting Objects
• Renaming Objects
• Rotating Objects
• Changing an Object's Center of Rotation
• Reshaping Objects
• Setting the Fade Type of an Object
• Setting the Gradient Angle of an Object's Fade Type
• Extending Lines to Intersect
• Trimming Intersected Lines
• Making Lines Horizontal or Vertical
• Converting Lines to a Polyline
• Converting Lines and Polylines to Pipe
• Modifying Pipes Overview
• Modifying Pipe Characteristics
• Adding and Deleting Connection Points
• Adding and Anchoring Connectors to Shapes
• Adding Points to Polygons and Polylines
• Deleting Points from Polygons and Polylines

314
Creating Pictures

• Splitting Polylines and Pipes


• Selecting an Object's Color or Style Property
• Selecting Multiple Objects
• Aligning Two or More Objects to Each Other
• Spacing Three or More Objects
• Flipping Objects
• Sending Objects in Back of Other Objects
• Bringing Objects to the Front of Other Objects
• Making Multiple Objects the Same Size
• Viewing Tag Status Pictures
• Viewing Quick Trend Pictures
• Viewing Tag Control Panel Pictures
• Adding and Deleting Tags in a Tag Control Panel Picture
• Saving Tag Lists in a Tag Control Panel Picture
• Loading Tag Lists in a Tag Control Panel Picture
• Configuring the Global Time Control
• Hiding the Historical Datalink Timestamp

Copying and Pasting Objects as Bitmaps

To copy and paste an object as a bitmap image:

1. In the iFIX WorkSpace, select the object you want to copy.


2. In Classic view, on the Edit menu, choose Copy as Bitmap.
-Or-
In Ribbon view, on the Home tab, in the Clipboard group, click Copy as Bitmap.
3. In Classic view, on the Edit menu, choose Paste.
-Or-
In Ribbon view, on the Home tab, in the Clipboard group, click Paste, and then click Paste.

Moving Objects

To move an object:

1. In the iFIX WorkSpace, select the object you want to move.


2. Click and drag the object to the desired location.

315
Creating Pictures

Copying and Pasting Objects

To copy and paste an object:

1. In the iFIX WorkSpace, right-click the object you want to copy, and click Copy.
2. Click anywhere in the picture to de-select the object.
3. Right-click the picture and select Paste.
4. Move the object to where you want it in the picture.
TIPS:
• If you want to copy and paste a Windows Metafile (WMF) from another application and
retain its group properties in the iFIX WorkSpace, do not use the right-click Cut and Paste
options. If you do, the pasted object will not be a grouped object, and instead will be a flat
Bitmap.
• To insert a WMF as grouped object, you can use Microsoft Excel . In Excel, use the Insert
menu to insert the WMF picture into a new spreadsheet. Right-click the picture and select
Edit Picture. A message box appears requesting that you convert the picture to a Microsoft
drawing object. Click Yes, and then copy the converted object from Excel. In the iFIX
WorkSpace, and select Paste > Paste Special. From the Paste Special dialog box, select
Enhanced Metafile and click OK. The grouped object should now appear in your picture.

Renaming Objects

To rename objects:

1. In the iFIX WorkSpace system tree, right-click the object and choose Property Window. The
Properties dialog box appears.
2. Place the cursor in the second column of the Name row and enter a name.

Rotating Objects

To rotate an object:

1. In the iFIX WorkSpace, right-click the object you want to rotate and choose Rotate from the
pop-up menu that appears.
2. Click and drag one of the rotation handles in the direction that you want to rotate the object.

Changing an Object's Center of Rotation

To change an object’s center of rotation:

1. In the iFIX WorkSpace, right-click the object you want to rotate and choose Rotate from the
pop-up menu that appears.
2. Click and drag the object’s center of rotation and move it to the desired location in your
picture. The cursor becomes a crosshair.
3. To relocate the object’s original center of rotation, click the current center of rotation and

316
Creating Pictures

move it to the crosshair that appears inside the object.

Reshaping Objects

To reshape an object:

1. In the iFIX WorkSpace, select the object. Reshape handles appear around the object.
2. Click and drag a reshape cursor. As you drag, the object changes shape.

Setting the Fade Type of an Object

To set the fade type of an object:

1. In the iFIX WorkSpace, right-click the object, point to Color, and choose Fade.
2. In the Fade Type area, select the fade type you want to apply to the object.
- Or -

If the object already has a gradient style applied to it, right-click the object, point to Fade Type
and choose the fade type you want to apply.

NOTE: Selecting a fade type in the Select FadeColor dialog box automatically sets the object’s
fill style to Gradient, regardless of the setting in the User Preferences dialog box.

Setting the Gradient Angle of an Object's Fade Type

To set the gradient angle of an object’s fade type:

1. In the iFIX WorkSpace, right-click the object, point to Color, and choose Fade. The Select
FadeColor dialog box appears.
2. Move the Gradient Angle slider to change the angle of the gradient. The gradient angle moves
around the shape in a counter-clockwise direction, starting from the right side of the shape, as
you increase the angle.
NOTE: Changing the gradient angle has no effect on a radial or concentric fade type.
Gradient angle applies only to the linear and reflected fade types.

3. Click OK.

Extending Lines to Intersect

To extend a line to intersect with another line:

1. In the iFIX WorkSpace, control-click the lines you want to intersect with each other.
2. In Classic view, on the CAD Toolbar, click the Extend Lines button.
-Or-
In Ribbon view, on the Format tab, in the Picture group, click Drawing Tools, and then click
Extend Lines.

317
Creating Pictures

Trimming Intersected Lines

To trim lines at the intersection point:

1. In the iFIX WorkSpace, control-click the intersected lines you want to trim.
2. In Classic view, on the CAD Toolbar, click the Trim Lines button.
-Or-
In Ribbon view, on the Format tab, in the Picture group, click Drawing Tools, and then click
Trim Lines.

Making Lines Horizontal or Vertical

To make lines horizontal:

1. In the iFIX WorkSpace, control-click the lines you want to make horizontal.
2. In Classic view, on the CAD Toolbar, click the Make Lines Horizontal button.
-Or-
In Ribbon view, on the Format tab, in the Picture group, click Drawing Tools, and then click
Make Lines Horizontal.

To make lines vertical:

1. In the iFIX WorkSpace, control-click the lines you want to make vertical.
2. In Classic view, on the CAD Toolbar, click the Make Lines Vertical button.
-Or-
In Ribbon view, on the Format tab, in the Picture group, click Drawing Tools, and then click
Make Lines Vertical.

Converting Lines to Polylines

To convert lines to a polyline:

1. In the iFIX WorkSpace, control-click the lines you want to convert to a polyline.
2. In Classic view, on the CAD Toolbar, click the Convert Lines to Polyline button.
-Or-
In Ribbon View, on the Format tab, in the Picture group, click Drawing Tools, and then click
Convert Lines to Polyline.

Converting Lines and Polylines to Pipe

To convert multiple lines and polylines to pipes:

1. In the iFIX WorkSpace, control-click the lines or polylines you want to convert to pipes.

318
Creating Pictures

2. In Classic view, on the CAD Toolbar, click the Convert Lines and Polylines to Pipe button.
-Or-
In Ribbon view, on the Format tab, in the Picture group, click Drawing Tools, and then click
Convert Lines and Polylines to Pipe.

To convert a single line or polyline to a pipe:

• In the iFIX WorkSpace, right-click the line or polyline you want to convert to a pipe and
choose Convert to Pipe.

Modifying Pipes Overview

When using pipe objects, you may want to:

• Add a fade or foreground color to a pipe.


• Set the blend percentage of a pipe’s fade color.
• Modify pipe characteristics

Modifying Pipe Characteristics

To modify pipe characteristics:

1. In the iFIX WorkSpace, select the pipe object(s) you want to modify.
2. In Classic view, on the CAD Toolbar, click the Modify Pipe button.
- Or -
In Ribbon view, from the Format tab, in the Styles group, in the Pipe list, click Modify Pipe
Characteristics.
- Or -

Right-click a single pipe, and choose Modify Pipe Characteristics.

- Or -

Right-click the single pipe, point to Color, and choose Fade.

- Or -

Control-click multiple pipes and in Classic View, click the Modify Pipe button on the CAD
toolbar. In Ribbon view, from the Format tab, in the Styles group, in the Pipe list, click Modify
Pipe Characteristics.

NOTE: The changes you make are applied to all of the selected pipe objects.

3. Change the pipe characteristics, as required.

319
Creating Pictures

Adding and Deleting Connection Points

To add a connection point:

1. In the iFIX WorkSpace, select the shape object you want to add connection points to.
2. In Classic view, on the CAD Toolbar, click the Add Connection Point button.
-Or-
In Ribbon view, on the Format tab, in the Picture group, click Drawing Tools, and then click
Add Connection Point.
3. Add the required connection points to the shape object.
NOTE: If the Always Show Connection Nodes check box on the User Preferences dialog box is
selected, the default connection points and points that you add to shapes are always visible. If
this check box is cleared, the connection points are not visible, but can be displayed either
when you select a connector and move it towards the shape to anchor it to a certain connection
point on the shape, or, in Classic view, by selecting the shape and clicking either the Add
Connection Point button or Delete Connection Point button on the CAD Toolbar. In Ribbon
view, select the shape and on the Format tab, in the Picture group, in the Drawing Tools list,
click either Add Connection Point or Delete Connection Point.

To delete a connection point:

1. In the iFIX WorkSpace, select the shape object you want to delete connection points from.
2. In Classic view, on the CAD Toolbar, click the Delete Connection Point button.
-Or-
In Ribbon View, on the Format tab, in the Picture group, click Drawing Tools, and then click
Delete Connection Point.
3. Delete the connection points, as required.

Adding and Anchoring Connectors to Shapes

To add and anchor a connector to shapes:

1. In Classic view, in the iFIX WorkSpace, on the CAD Toolbar, click the line connector button
you want to use to connect your shapes.
-Or-
In Ribbon view, on the Insert tab, in the Connectors group, click Connectors, and then click
the desired line connector.
You can choose from the Line Connector Tool, the Right Angle Line Connector, or the Pipe
Connector.
2. Draw a connector between two shapes.
3. Select the connector. The ends of the connector change to green squares.
4. Drag the end of the connector to the connection point. The connector end changes to a red
square when it is anchored to the connection point. If it is not anchored to the connection
point, it stays green.

320
Creating Pictures

NOTE: When you are anchoring a connector object, it is automatically sent to the back of the
object you are anchoring it to. The connector handles, however, are still visible and can be
selected and moved. When the anchoring process is completed, you can right-click the
connector object and choose Bring to Front.

5. Repeat steps 3 and 4 to anchor the connector to the second shape. The shapes can be moved
around the picture but remain connected. The connector stretches and reshapes as the shapes
are moved.

Adding Points to Polygons and Polylines

To add a point to a polygon or polyline:

1. In the iFIX WorkSpace, right-click the polygon or polyline and choose Add Point.
2. Position the cursor between two of the object’s points. Make sure the cursor is black or
partially black.
3. Click the mouse to add the new point.

Deleting Points from Polygons and Polylines

To delete a point from a polygon or polyline:

1. In the iFIX WorkSpace, right-click the polygon or polyline and choose Delete Point.
2. Position the cursor over the point you want to delete. Make sure the cursor is black.
3. Click the mouse to delete the point.

Splitting Polylines and Pipes

To split a polyline:

1. In the iFIX WorkSpace, right-click the polyline you want to split and choose Split Polyline.
The cursor becomes a splitting cursor. When you are close to the polyline, the splitting cursor
changes to black.
2. Click the spot on the polyline where you want to split it. New reshape handles appear on one
piece of the split polyline. You can use these handles to reshape the polyline or move it to a
new location in the picture.
NOTE: When you split a polyline or pipe, you create a new object. Therefore, if you undo a
polyline or pipe split, the new object is deleted first and you must perform a second undo
action to revert to the original object.

To split a pipe:

1. In the iFIX WorkSpace, right-click the pipe you want to split and choose Split Pipe. The
cursor becomes a splitting cursor. When you are inside the edges of the pipe, the splitting
cursor changes color.
2. Click the spot on the pipe where you want to split it. New reshape handles appear on one
piece of the split pipe. You can use these handles to reshape the pipe or move it to a new

321
Creating Pictures

location in the picture.


NOTE: When you split a polyline or pipe, you create a new object. Therefore, if you undo a
polyline or pipe split, the new object is deleted first and you must perform a second undo
action to revert to the original object.

Selecting an Object's Color or Style Property

To select an object’s color or style property:

• In the iFIX WorkSpace, right-click the object and do one of the following:
• Select the desired property from the pop-up menu.
• Select Property Window from the pop-up menu and enter a property value in the
second column of the Properties Window.

Selecting Multiple Objects

To select multiple objects:

1. In the iFIX WorkSpace, select an object.


2. Control-click the remaining objects. Each selected object displays with handles.

Aligning Two or More Objects to Each Other

To align two or more objects to each other:

1. In the iFIX WorkSpace, control-click the objects you want to align.


2. In Classic view, on the Tools toolbar, click the appropriate Align button.
-Or-
In Ribbon view, on the Format tab, in the Arrange group, click Align, and then click the
desired alignment type.
-Or-
If the Toolbox is enabled, click the button on the Toolbox.
The objects align according to your selection.

Spacing Three or More Objects

To space three or more objects:

1. In the iFIX WorkSpace, control-click the objects.


2. In Classic view, on the Tools toolbar, click the Space Evenly Vertical or Space Evenly
Horizontal button.
-Or-
In Ribbon view, on the Format tab, in the Arrange group, click Space Evenly, and then click

322
Creating Pictures

Space Evenly Vertical or Space Evenly Horizontal.


-Or-
If the Toolbox is enabled, click the button on the Toolbox.
The objects are spaced according to your selection.

Flipping Objects

To flip an object:

1. In the iFIX WorkSpace, select the object you want to flip.


2. In Classic view, on the Format menu, click Flip Horizontal to flip the object horizontally, or
Flip Vertical to flip the object vertically.
-Or-
In Ribbon view, on the Format tab, in the Arrange group, click Flip, and then choose either
Flip Horizontal to flip the object horizontally, or Flip Vertical to flip the object vertically.

Sending Objects in Back of Other Objects

To send an object in back of another object:

1. In the iFIX WorkSpace, select the object.


2. In Classic view, on the Tools toolbar, click the Send to Back button.
-Or-
In Ribbon view, on the Format tab, in the Arrange group, click Send to Back.
-Or-
If the Toolbox is enabled, click the button on the Toolbox.
The selected object is positioned behind other objects.

Bringing Objects to the Front of Other Objects

To bring an object in front of another object:

1. In the iFIX WorkSpace, select the object.


2. In Classic view, on the Tools toolbar, click the Bring to Front button.
-Or-
In Ribbon view, on the Format tab, in the Arrange group, click Bring to Front.
-Or-
If the Toolbox is enabled, click the Bring to Front button on the Toolbox.
The selected object is positioned in front of other objects.

323
Creating Pictures

Making Multiple Objects the Same Size

To make multiple objects the same size:

1. In the iFIX WorkSpace, select any objects you want to resize.


2. Select the object you want to use to specify the size. All previously selected objects will be
resized to match this object’s size.
3. In Classic view, on the Format menu, select Make Same Size and then Select Height, Width,
or Both, depending on which dimensions you want to change in the objects.
-Or-
In Ribbon view, on the Format tab, in the Arrange group, click Make Same Size, and then
click desired option.

Viewing Tag Status Pictures

To view a single Tag Status picture:

1. In the iFIX WorkSpace run-time environment, select the object you want to view the Tag
Status picture for.
2. Right-click the object and choose Tag Status. The Tag Status picture appears.

To view a Tag Status picture from the Tag Control Panel picture:

1. In the iFIX WorkSpace run-time environment, select the object(s) you want to view Tag
Status pictures for.
2. Right-click the objects and choose Tag Status. Another menu appears listing the first tag
found and the Tag Control Panel item.
NOTE: When you select multiple objects, the first associated tag of the first object selected is
displayed in the right-click menu.

3. Choose Tag Control Panel. The Tag Control Panel picture appears.
4. Click the Tag Status button for the Tag Status picture you want to view.

To view a Quick Trend chart from a Tag Status picture:

1. In the iFIX WorkSpace run-time environment, select the object you want to view Tag Status
picture for.
2. Right-click the object and choose Tag Status. The Tag Status picture appears.
3. Click the Quick Trend chart to select it, then right-click and choose Quick Trend. The Quick
Trend picture for the tag appears.
NOTE: Only tags that have an F_CV field associated with it will display a Quick Trend chart
in the Tag Status picture.

324
Creating Pictures

Viewing Quick Trend Pictures

To view a Quick Trend picture:

1. In the iFIX WorkSpace run-time environment, select the object you want to view the Quick
Trend picture for.
2. Right-click the object and choose Quick Trend. The Quick Trend picture appears, displaying
up to eight pens for the associated database tags.
NOTE: You can also select multiple objects and view a single Quick Trend picture for up to
eight tags.

To view a Quick Trend picture from the Tag Control Panel picture:

1. In the iFIX WorkSpace run-time environment, select the object(s) you want to view Quick
Trend pictures for.
2. Right-click the objects and choose Tag Status. Another menu appears listing the first tag
found and the Tag Control Panel item.
NOTE: When you select multiple objects, the first associated tag of the first object selected is
displayed in the right-click menu.

3. Choose Tag Control Panel. The Tag Control Panel picture appears.
4. Click the Quick Trend button for the Quick Trend picture you want to view.

Viewing Tag Control Panel Pictures

To view a Tag Control Panel picture:

1. In the iFIX WorkSpace run-time environment, select the object(s) you want to view a Tag
Control Panel picture for.
2. Right-click the objects and choose Tag Status. Another menu appears listing the first tag
found and the Tag Control Panel item.
NOTE: When you select multiple objects, the first associated tag of the first object selected is
displayed in the right-click menu.

3. Choose Tag Control Panel. The Tag Control Panel picture appears.
4. You can view Tag Status and Quick Trend pictures for the tags associated with the object(s)
you selected, as well as other tag information.

Adding and Deleting Tags in a Tag Control Panel Picture

To add a tag to a Tag Control Panel picture:

1. In the Tag Control Panel picture, click the Add Row button. The Expression Builder appears
with only the FIX Database tab available.
2. Use the Expression Builder to create a tag whose information you want to view.
3. Click OK on the Expression Builder. The tag is added to the list on the Tag Control Panel

325
Creating Pictures

picture.

To delete a tag from a Tag Control Panel picture:

• In the Tag Control Panel picture, select the tag you want to delete and click the Delete Selected
Row(s) button.
NOTE: A tag that is associated with an object is removed only from the Tag Control Panel
picture; it is not removed from the object.

Saving Tag Lists in a Tag Control Panel Picture

To save a tag list in the Tag Control Panel picture:

1. In the Tag Control Panel picture in WorkSpace's runtime environment, select the tags you
want to save to a tag list, by holding down the Control key and clicking each row you want to
include in the list.
2. Click the Save Tag List button. The Save As dialog box appears.
3. Save the tag list to the location you want.

Loading Tag Lists in a Tag Control Panel Picture

To load a tag list in the Tag Control Panel picture:

1. In the Tag Control Panel picture in WorkSpace's runtime environment, click the Load Tag
List button. The Open dialog box appears.
2. Locate the tag list you want to load and click Open. The tag list you selected is displayed in
the Tag Control Panel picture, overwriting the current list.

Configuring the Global Time Control

To configure the Global Time Control:

1. In Ribbon view, in run mode, click the Historical tab, and then click Configuration. The
Global Time Control dialog box appears.
2. In the Time Definition area, enter the Start Time.
3. Either choose an End Time or define the Duration of the display:
• To set the End Time, in the End Time area, enter a date.
• To set the Duration:
a. Select the Define Duration check box.
b. In the Days list, select the number of days.
c. Select the number of hours, minutes and seconds in their respective lists.
4. In the Historical Update Rate area, select the number of hours, minutes, and seconds from
their respective list, for the update rate.
5. In the Scroll Rates area, either set the scroll rate as a percentage of the duration or as a fixed

326
Creating Pictures

amount.
• To set the scroll rate as a percentage of the duration:
. Select Scroll as % of Duration check box.
a. In the Slow list, enter a value for the slow scroll speed.
b. In the Fast list, enter a value for the fast scroll speed.
• To set the scroll rate as a fixed amount:
. If necessary, clear the Scroll as % of Duration check box.
a. In the Slow area, select the unit of measurement: days, hours, minutes, or
seconds.
b. Enter the value for the unit selected.
c. In the Fast area, select the unit of measurement: days, hours, minutes, or
seconds.
d. Enter the value for the unit selected.
6. Click OK to apply changes to all open pictures.

Hiding the Historical Datalink Timestamp

To hide the historical datalink time stamp for all historical datalinks:

NOTE: The following procedure applies only to historical datalinks created after you
perform this procedure. Existing historical datalinks will not be affected.

1. In Classic view, in the iFIX WorkSpace, from the WorkSpace menu, select User Preferences.
-Or-
In Ribbon view, on the Home tab, in the WorkSpace group, click Settings, and then click User
Preferences.
2. Click the Shape Preferences tab.
3. In the Historical Datalink area, clear the Show Timestamp With Data check box.

To hide the historical datalink time stamp for a single historical datalink:

Method 1
1. Double-click the historical datalink. The Historical Datalink dialog box appears.
2. Clear the Show Timestamp With Data check box.
3. Click OK.
Method 2
1. From the right-mouse menu of the historical datalink, select Property Window. The Property
Window appears.
2. For the ShowTimeStamp property, select False.

327
Creating Pictures

Working with Charts


In the Proficy iFIX WorkSpace, you can perform the following steps with charts:

• Applying Properties to all Pens in a Chart


• Adding a Pen to a Chart
• Selecting a Historical Mode for a Pen
• Naming a Chart
• Entering a Chart Description
• Attributing a Help Context ID
• Changing the Refresh Rate
• Changing the Order of the Information in the Legend

Applying Properties to all Pens in a Chart

To apply properties to all pens in a chart:

1. In the iFIX WorkSpace, double-click the chart.


2. Click the Chart tab, then click the tab containing the properties you want to select.
3. Select the appropriate properties on the tabbed page.
4. Select the Apply to All Pens check box and then click OK.

Adding a Pen to a Chart

To add a pen to your chart:

1. In the iFIX WorkSpace, double-click the chart.


2. Click on the Chart tab.
3. In the Pen List area, click the Add Pen button, or click a blank area in the Pen List, and do one
of the following:
• Enter a data source using the Data Server.NODE.TAG.FIELD format.
• Select a data source from the drop-down list.
• Click the Browse button and select a data source from the Expression Builder.

Selecting a Historical Mode for a Pen

To select a historical mode for a pen:

1. In the iFIX WorkSpace, double-click the chart.


2. Click the Chart tab, and then click the Pen tab.
3. In the Pen List, select a historical data source.

328
Creating Pictures

4. In the Style area, select a historical mode from the Historical Mode field.

Naming a Chart

To name a chart:

1. In the iFIX WorkSpace, double-click the chart.


2. Click the General tab and, in the Name field, enter a name for the chart.
3. Click OK.

Entering a Chart Description

To enter a chart description:

1. In the iFIX WorkSpace, double-click the chart.


2. Click the General tab and, in the Description field, enter a chart description.
3. Click OK.

Attributing a Help Context ID

To attribute a help context ID:

1. In the iFIX WorkSpace, double-click the chart.


2. Click the General tab and, in the Help Context Id field, enter a context-sensitive help ID.
3. Click OK.

Changing the Refresh Rate

To change the refresh rate:

1. In the iFIX WorkSpace, double-click the chart.


2. Click the General tab and, in the Refresh Rate field, choose a refresh rate in seconds.
3. Click OK.

Changing the Order of the Information in the Legend

To change the order of the information in the legend of a chart:

1. In the iFIX WorkSpace, double-click the chart.


2. Click the Chart tab, then click the Legend tab.
3. In the Order area, select the information you want and click the up or down button to change
its order in the legend (left to right). For example, if you want to display the data source value
first, select Value and click the up arrow button until Value is listed first.

329
Creating Pictures

4. Click OK.

Working with Enhanced Charts


• In the Proficy iFIX WorkSpace, you can customize your enhanced charts using the following
procedures:
• Adding a Chart Description to Enhanced Charts
• Adding a Data Source Legend to an Enhanced Chart
• Adding a Plotting Style Legend to an Enhanced Chart
• Adding a Title to an Enhanced Chart
• Changing the Plotting Color and Style of an Enhanced Chart
• Changing the Chart Refresh Rate for an Enhanced Chart
• Choosing a Border Style for an Enhanced Chart
• Choosing Subsets for Enhanced Line Charts
• Configuring Data Sources for Enhanced Charts
• Configuring the X and Y Axis of an Enhanced Chart
• Customizing Enhanced Chart Grid Lines
• Customizing the Color and Look of Enhanced Charts
• Customizing the Data Source Legend for an Enhanced Chart
• Defining Run-time Attributes for Enhanced Charts
• Displaying Milliseconds on an Enhanced Chart
• Exporting Enhanced Chart Data
• Extending the Y Axis Ticks on an Enhanced Chart
• Naming an Enhanced Chart
• Removing the Plotting Style Legend from an Enhanced Chart
• Removing the Data Source Legend from an Enhanced Chart
• Selecting the Font Size and Type for an Enhanced Chart
• Setting Numeric Precision for Enhanced Charts
• Setting the Data Display Format for Enhanced Charts
• Showing Data Points on an Enhanced Chart
• Showing the Time Cursor in Enhanced Charts

Adding a Chart Description to Enhanced Charts

To add a chart description to an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the General tab and in the Description field, enter a chart description.

330
Creating Pictures

3. Click OK.

Adding a Data Source Legend to an Enhanced Chart

To add a data source legend to an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the Chart Style tab and in the Miscellaneous area, select Show Data Source Legend.
3. Click OK.

Adding a Plotting Style Legend to an Enhanced Chart

To add a plotting style legend to an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the Chart Style tab and in the Miscellaneous area, select Show Plotting Style Legend.
3. Click OK.

Adding a Title to an Enhanced Chart

To add a title to an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the General tab, and in the Main Title field, enter a title for the chart.
3. Optionally, in the Subtitle field, enter a subtitle for the chart.
4. Click OK.

Changing the Plotting Color and Style of an Enhanced Chart

To change the plotting color and style of an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the Plotting Style tab and in the Line Style area, click the desired color. To create a
custom color, double-click a color.
NOTE: The selected color is applied to the X and Y axis markers, Data Sources table items,
and graph lines and points.

3. Line Charts Only: In the Chart Plotting Style area, select the desired style.
4. Line Charts Only: Select a Point Type.
NOTE: Point types appear only if the Chart Plotting Style includes points, such as Point +

331
Creating Pictures

Line, for example.

4. Select a Line Type.


5. In the Data Shadows area, click Off, Shadow, or 3D.
NOTE: 3D can be applied only to Histograms; Shadow can be applied to only Histograms
and Line/Multiline charts that use Area or Bar for their Plotting Style.

6. Click OK.

Changing the Chart Update Rate for an Enhanced Chart

To change the chart update rate of an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the General tab and, in the Chart Update Rate field, enter a refresh rate in seconds.
3. Click OK.

Choosing a Border Style for an Enhanced Chart

To choose a border style for an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the Chart Style tab and in the Border Style area, click the desired border style.
3. Click OK.

Choosing Subsets for Enhanced Line Charts

To choose the subsets for an enhanced line chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the Subsets tab and in the Scrolling Subsets area, choose the number of subsets to view
in one group.
3. To add a subset to a graph select it from the Baseline Subsets to Graph list.
4. Click OK.

Configuring Data Sources for Enhanced Charts

To configure data sources for an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the Data Sources tab and in the Data Sources List do one of the following:

332
Creating Pictures

• Enter a data source using the Data Server.NODE.TAG.FIELD format.


• Select a data source from the drop-down list.
• Click the Browse button and select a data source from the Expression Builder.
3. To use the data range of the data source, on the Data tab, if it is not already selected, click
Fetch Limits.
4. To set the data range yourself, clear the Fetch limits check box and enter the upper limit of the
range in the High Limit field and enter the lower limit of the range in the Low Limit field.
5. For Line/Multiline charts only: Enter the maximum number of display points in the Maximum
Display Points field.
6. To cause gaps to appear on the chart if they are present in the data, select Show Gaps.
7. To use interpolated data, select Interpolated Data.
8. Historical Data Charts only: Choose a mode from the Historical Mode list.
9. Configure the time parameters for historical data sources on the Time tab.
NOTE: The Time tab is available only for historical data sources.

a. In the Start Time area, in the Date section, select either Fixed Date or Days Before
Now and enter the desired date or value.
b. In the Time section, select either Fixed Time or Duration Before Now and enter the
desired time or value.
c. Optionally, to configure the chart to open at the Fixed Time and to ignore changes to
the time zone in the Date and Time Properties dialog box in the Control Panel, select
Lock Time.
d. Optionally, to adjust for daylight saving time, if it is not already selected, click
Adjust for Daylight Savings Time and select a time zone from the Time Zone list.
e. In the Interval section, in the Time field, enter the desired interval.
NOTE: The value for the Interval field cannot exceed the value entered in the
Duration area on the General Tab.

f. To apply all of the preceding settings to all historical data sources, select Apply To
All Data Sources, and then click Apply.
10. Click OK.

Configuring the X and Y Axis of an Enhanced Chart

To configure the X and Y axis of an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the Axis tab and in the X Axis Label field, enter a label for the X axis.
3. In the Y Axis field, enter a label for the Y axis.
4. Line/Multiline Charts only: Select Linear or Log format for the Y axis units.
5. To use automatically generated limits for the Y axis, select Use Data Source Limits.

333
Creating Pictures

6. To specify which values you want to set for the Y axis, clear the Use Data Source Limits
check box and select Min, Max, or Min/Max.
7. Enter the desired value in the Min and/or Max fields.
8. Select Auto if you want the chart to dynamically resize to the values plotted.
NOTE: Auto is available only if Use Data Source Limits is selected.

9. In the Padding field, enter a value.


10. On the Chart Style tab, in the X Axis Label Orientation area, click the orientation of the X
axis.
11. Click OK.

Customizing Enhanced Chart Grid Lines

To customize enhanced chart grid lines:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the Chart Style tab and in the Grid Lines area, click Grid in Front of Data to make the
grid lines appear in front of the data.
3. Click which, if any, grid lines you want to display on the chart.
4. Click the desired style for the grid lines.
5. Click OK.

Customizing the Color and Look of Enhanced Charts

To customize the color and look of an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the Color tab and in the Viewing Style area, select Color, Monochrome, or
Monochrome + Symbols.
3. To design your own custom color graph:
a. In the Graph Attributes area, click the attribute you want to change the color for.
b. Click the desired color for the selected attribute. To create a custom color, double-
click a color.
c. Repeat steps a and b until you have modified all desired attributes.
4. To use a pre-set style:
a. Select Bitmap/Gradient Styles.
b. Click the desired Bitmap/Gradient style.
5. Click OK.

334
Creating Pictures

Customizing the Data Source Legend for an Enhanced Chart

To customize the data source legend for an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the Data Sources tab and then the Legend tab.
3. In the Items area, select the items that you want to appear in the data sources Legend.
4. To apply your selections to all data sources, select Apply To All Data Sources.
5. To change the order in which the selected items appear, on the Chart Style tab, in the Legend
Column Width area, in the Order list, select the item you want to move. Use the Up arrow to
move the item's location to the right or the Down arrow to move the item's location to the left.
6. To change the width of a data source legend column, in the Legend Column Width area, enter
the desired column width in the corresponding column field. For example, to change the
width of the Source column of the data source legend, enter the desired width in the Source
field.
7. In the Miscellaneous area, select Show Data Source Legend.
8. Click OK.

Defining Run-time Attributes for Enhanced Charts

To define run time attributes for enhanced charts:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the General tab.
3. Select the attributes (Hightlightable, Selectable, Modifiable), if any, you want to permit at run
time.
4. In the Zooming area, select the desired zoom function.
5. Click OK.

Displaying Milliseconds on an Enhanced Chart

To display milliseconds on an enhanced charts:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the General tab and in the Appearance area, select Display Milliseconds.
3. Click OK.

335
Creating Pictures

Enabling Advanced Graphics

To enable advanced graphics for an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the General tab and in the Appearance area, select Enable Advanced Graphics.
3. Click OK.

Exporting Enhanced Chart Data

To export enhanced chart data:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click Export.
3. In the Export area, select the desired file format type.
4. In the Export Destination area, select the desired export location. If you chose File, click
Browse to set the destination.
5. For Export options EMF, WMF, BMP, JPG, and PNG only, configure the export size. To do
so:
a. If applicable, select the unit of measure.
b. Enter the export size in the Width fields.
c. Select the DPI.
d. If desired, click Large Font.
6. Click Export. If you selected the EMF, WMF, BMP, JPG, or PNG formats for export, your
data is exported. Otherwise, the Exporting Enhanced Chart dialog box appears.
7. On the Exporting Enhanced Chart dialog box, in the Export What area, select whether you
want to export only the data or the data with its labels.
8. In the Export Style area, choose to export the data in either list or table format. If you chose
List, in the Delimited area, select either Tab or Comma. If you chose Table, in the Row vs
Column area, select either Subsets/Points or Points/Subsets.
9. In the Numeric Precision area, choose your level of precision.
10. Click Export.

Extending the Y Axis Ticks on an Enhanced Chart

To show the Y Axis ticks on an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the Chart Style tab and in the Miscellaneous area, select Extend Y Axis Ticks.
3. Click OK.

336
Creating Pictures

Naming an Enhanced Chart

To name an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the General tab and, in the Object Name field, enter a name for the chart.
3. Click OK.

Removing the Plotting Style Legend from an Enhanced Chart

To remove the plotting style legend from an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the Chart Style tab and in the Miscellaneous area, clear the Show Plotting Style Legend
check box.
3. Click OK.

Removing the Data Source Legend from an Enhanced Chart

To remove the data source legend from an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the Chart Style tab and in the Miscellaneous area, clear the Show Data Source Legend
check box.
3. Click OK.

Selecting the Font Size and Type for an Enhanced Chart

To select the font size and type for an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the Font tab and in the Chart Font Size area, select a size for the chart's fonts.
3. In the Font Styles area, select a font type for the Main Title, Sub-Title, Subset / Point / Axis
Labels, and Table Data.
4. Optionally, select a font face for the Main Title, Sub-Title, Subset / Point / Axis Labels, and
Table Data.
NOTE: To help you visualize how your choices look, an example is displayed in the Sample
field.

5. Click OK.

337
Creating Pictures

Setting Numeric Precision for Enhanced Charts

To set the numeric precision for an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the Chart Style tab and in the Numeric Precision area, select the desired level of
precision.
3. Click OK.

Setting the Data Display Format for Enhanced Charts

To set the data display format for an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the Chart Style tab and in the Display field, select the desired data display format.
3. Click OK.

Showing Data Points on an Enhanced Chart

To show data points on an enhanced chart (method 1):

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the Plotting Style tab and in the Chart Plotting Style area, select a plotting style that
includes "Points" in the name.
3. Select a Point Type for each data source.
4. Choose a color for each data source.
5. Click OK.

To show data points on an enhanced chart (method 2):

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the Chart Style tab and in the Miscellaneous area, select Mark Data Points.
3. Click OK.

Showing the Data Points Labels in an XY Chart

To show data points labels on an XY chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.

338
Creating Pictures

2. Click the Chart Style tab and in the Miscellaneous area, select Include Data Labels.
3. Click OK.

Showing the Time Cursor in Enhanced Charts

To show the time cursor in an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the General tab and in the Appearance area, select Show Time Cursor.
3. Click OK.

Showing the Time Cursor Tool Tips in Enhanced Charts

To show the time cursor tool tips in an enhanced chart:

1. In the iFIX WorkSpace picture, double-click the chart. The Enhanced Chart Configuration
dialog box appears.
2. Click the General tab and in the Appearance area, select Show Time Cursor Tool Tips.
3. Click OK.

Working with the Alarm Summary Object


In the Proficy iFIX WorkSpace, you can perform the following steps with Alarm Summary objects:

• Setting a SCADA Server's Alarm Priority


• Adding Alarm Summary Objects to a Picture
• Displaying the Object's Properties Window
• Changing the General Appearance
• Configuring Colors, Fonts, and Styles
• Filtering or Sorting Alarms
• Acknowledging Alarms
• Changing Default Settings
• Working with Run-Time Settings and Properties

Setting a SCADA Server's Alarm Priority

To set a SCADA server’s alarm priority:

1. In the iFIX WorkSpace configuration environment, open or create a picture.


2. In Classic view, from the Shapes toolbar, click the Data link button.
-Or-

339
Creating Pictures

In Ribbon view, on the Insert tab, in the Objects/Links group, click Objects/Links, and then
click Datalink.
-Or-
If the Toolbox is enabled, click the Datalink button on the Toolbox.
The cursor changes to a plus sign.
3. Click and drag the mouse to define the size of the Data link. The Datalink dialog box appears.
4. In the Source field, enter the data source Fix32.node.System.A_SACPR.
5. From the Type drop down menu in the Data Entry area, select In-Place.
6. Complete the remainder of the Datalink dialog box.
7. Switch to the run-time environment and enter the SCADA server’s alarm priority.

Adding Alarm Summary Objects to a Picture

To add an Alarm Summary object to a picture:

• In Classic view, in the iFIX WorkSpace, from the Shapes toolbar, select the Alarm Summary
button.
-Or-
In Ribbon view, on the Insert tab, in the Objects/Links group, click Objects/Links, and then
click Alarm Summary.
-Or-
If the Toolbox is enabled, click the Alarm Summary button on the Toolbox.

Displaying the Object's Properties Window

To display the object’s Properties window:

1. In the iFIX WorkSpace, right-click the object.


2. Select Property Window. The Properties window appears.

Displaying The Number of Occurrences of an Alarm Since Last Acknowledgement

To display the number of occurrences of an alarm since last acknowledgement in an


Alarm Summary object:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Column tab.
3. From the Available Columns list, double-click the user-defined field you want to add to the
spreadsheet.
4. In the user-defined field, assign the A_ALMOCCUR block field. In the user-defined field
name, type a name for the column header.

340
Creating Pictures

Changing the General Appearance

In the Proficy iFIX WorkSpace, you can perform the following steps to change the general appearance
of your working area:

• Blinking Unacknowledged Alarms


• Changing the Alarm Summary Object's Columns
• Changing the Column Order
• Configuring User-Defined Fields
• Showing or Hiding Alarm Summary Object Controls

Blinking Unacknowledged Alarms

To blink unacknowledged alarms:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Display tab.
3. Select Blink Unack Alarms.

Changing the Alarm Summary Object's Columns

To change the columns displayed by the Alarm Summary object:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Column tab.
3. Double-click the columns in the Available Columns box to add them to the object.
4. Double-click the columns in the Selected Columns box to remove them from the object.

Changing the Column Order

To change the column order:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Column tab.
3. Select the column you want to move from the Selected Columns box.
4. Click the up arrow button to move the column left in the spreadsheet.
5. Click the down arrow button to move the column right in the spreadsheet.

341
Creating Pictures

Configuring User-Defined Fields

To configure a user-defined field:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Column tab.
3. From the Available Columns list, double-click the user-defined field you want to add to the
spreadsheet.
4. Enter a block field name you want to assign to the user-defined field in the User Definable
Columns area and click the <> button. The maximum length of the field name is 50
characters.

Showing or Hiding Alarm Summary Object Controls

To show or hide column headings, scroll bars, row numbers, grid lines, or the status
bar:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Display tab.
3. Select the check boxes of the items you want to display.
4. Clear the check boxes of the items you want to hide.

Configuring Fonts, Colors, and Styles

In the Proficy iFIX WorkSpace, you can perform the following steps with fonts, colors, and styles:

• Configuring Fonts for the Column Headings and Status Bar


• Configuring Unacknowledged Alarm Colors
• Selecting an Alarm's Font and Style
• Selecting the Alarm Foreground Color
• Selecting the Alarm Background Color

Configuring Fonts for the Column Headings and Status Bar

To configure fonts for the Alarm Summary column headings and status bar:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. On the General tab, in the Fonts area, click the browse (...) button next to either the Alarm
Column Headings or Status bar field. The font dialog box appears.
3. Select the font name, style, size, and/or script that you want to use.
4. Optionally, repeat steps 2 and 3 for the other configurable field.

342
Creating Pictures

5. Click OK to accept your changes and close the Font dialog box.
6. In the Alarm Summary Configuration dialog box, click Apply.

Configuring Unacknowledged Alarm Colors

To configure the color for unacknowledged alarms:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Color tab.
3. Select the Unacknowledged Alarm Color check box to enable it.
4. Click the option’s color button. The Select Color dialog box appears.
5. Select a color for unacknowledged alarms, then click OK.

Selecting an Alarm's Font and Style

To select an alarm’s font and style:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Color tab.
3. Select the font button for the alarm you want to configure.
4. Select the font and style from the dialog box that appears.

Setting the Alarm Foreground Color

To select the alarm foreground color:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Color tab.
3. In the Foreground Alarm Color area, double-click the color of an alarm. The Select Color
dialog box appears.
4. Select a new color for the alarm and then click OK.

Selecting the Alarm Background Color

To select the alarm background color:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Color tab.
3. In the Background Alarm Color area, next to the alarm priority or status, double-click the

343
Creating Pictures

color. The Select Color dialog box appears.


4. Select a new color for the alarm and then click OK.
5. Repeat steps 3-4 for each row in the Background Alarm Color area.
6. If the Blink to Color option is enabled, in the second column for each alarm priority or status,
select a blinking color. Double-click the color in the second row to define the blink color.
7. Repeat step 6 for each row that you want to define a color for the blink feature.
8. Click Apply.

Filtering or Sorting Alarms

In the Proficy iFIX WorkSpace, you can perform the following steps with alarms:

• Appending Filter Conditions


• Changing Boolean Operators
• Configuring Alarm Summary to Sort Alarms
• Creating Filter Conditions
• Deleting Filter Conditions
• Inserting Filter Conditions
• Modifying Filter Conditions

Appending Filter Conditions

To append a filter condition:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Filter tab.
3. Select the column you want to add to your filter condition.
4. Click Add Filter Condition and complete the dialog box that appears.
NOTE: The Alarm Summary object supports up to ten filter conditions.

Changing Boolean Operators

To change the Boolean operator:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Filter tab.
3. Select the portion of the filter condition you want to modify.
4. Click OR, AND, or NOT to change the Boolean operator.

344
Creating Pictures

Configuring Alarm Summary to Sort Alarms

To configure the Alarm Summary object to sort alarms:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Sort tab.
3. Select the attribute you want to sort by.
4. Select whether you want to sort alarms in ascending or descending order.

Creating Filter Conditions

To create a filter condition:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Filter tab.
3. Double-click each column you want to filter on and complete the dialog box that appears.
NOTE: The Alarm Summary object supports up to ten filter conditions.

Deleting Filter Conditions

To delete a filter condition:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Filter tab.
3. From the Display Alarms Where box, select the portion of the filter condition you want to
delete and click Remove.

Inserting Filter Conditions

To insert a filter condition:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Filter tab.
3. From the Display Alarms Where box, highlight the portion of the filter condition where you
want to insert a new condition.
4. From the Fields box, select the column you want to add to the filter condition.
5. Click Insert Filter Condition and complete the dialog box that appears.
NOTE: The Alarm Summary object supports up to ten filter conditions.

345
Creating Pictures

Modifying Filter Conditions

To modify a filter condition:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Filter tab.
3. From the Display Alarms Where box, select the portion of the filter condition you want to
modify.
4. Click Modify. The Modify Area dialog box appears.
5. In the Modify Area dialog box, enter the required changes and click OK.

Acknowledging Alarms

In the Proficy iFIX WorkSpace, you can perform the following steps with alarm acknowledgments:

• Acknowledging Alarms with the Alarm Summary Object


• Creating a Data Link That Displays Alarms

Acknowledging Alarms with the Alarm Summary Object

To acknowledge alarms with the Alarm Summary object:

• For a single alarm, right-click the object in the iFIX WorkSpace and select Acknowledge
from the pop-up menu.
• For all alarms, right-click the object in the iFIX WorkSpace and select Acknowledge All from
the pop-up menu.
• For all alarms currently displayed on the screen, right-click the object in the iFIX WorkSpace
and select Acknowledge Page from the pop-up menu.

Creating a Data Link That Displays Alarms

To create a Data link that displays alarms:

1. Open or create a picture in the iFIX WorkSpace.


2. In Classic view, from the Shapes toolbar, click the Data link button.
-Or-
In Ribbon view, on the Insert tab, in the Objects/Links group, click Objects/Links, and then
click Datalink.
-Or-
If the Toolbox is enabled, click the Datalink button on the Toolbox.
The cursor changes to a plus sign.
3. Click and drag the mouse to define the size of the Data link.

346
Creating Pictures

4. In the Source field, enter the data source you want to use. Use the A_CUALM field name
when entering a data source to show the current alarm.
5. Complete the remainder of the Datalink dialog box.

Changing Default Settings

In the Proficy iFIX WorkSpace, you can perform the following steps with the default settings:

• Restoring the Alarm Summary Object's Default Settings


• Saving the Alarm Summary Object's Current Settings

Restoring the Alarm Summary Object's Default Settings

To restore the Alarm Summary object’s default settings:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Click Reset. The default settings get applied to the selected Alarm Summary object.
TIP: Only the settings in the selected Alarm Summary object get restored. If you want other
Alarm Summary objects that you create after this one to also use the same default settings,
click Save. This saves your Alarm Summary settings to the AlarmSummary.ini file in the
LOCAL folder (by default: C:\Program Files\Proficy\Proficy iFIX\LOCAL), so that
subsequent Alarm Summary objects will apply these default settings when you first drop the
object into your picture.

Saving the Alarm Summary Object's Current Settings

To save the Alarm Summary object’s current settings:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Click Save. This saves the currently selected Alarm Summary object's settings into the
AlarmSummary.ini file in the LOCAL folder (by default: C:\Program Files\Proficy\Proficy
iFIX\LOCAL), so that subsequent Alarm Summary objects that you add to your pictures will
use these settings by default.

Working with Run-Time Settings and Properties

In the Proficy iFIX WorkSpace, you can perform the following steps with the run-time settings and
properties:

• Configuring the Selection Timeout


• Enabling and Disabling Alarm Summary Operator Properties
• Setting the Alarm Refresh Rate
• Setting the Blink Rate
• Setting the Data Refresh Rate

347
Creating Pictures

• Showing the Latched or Current Alarm Status


• Reversing the Color of Alarms on Acknowledgement

Configuring the Selection Timeout

To configure the selection timeout:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Display tab.
3. Enter the number of seconds the Alarm Summary object should wait before deselecting an
alarm.

Enabling and Disabling Alarm Summary Operator Properties

To enable and disable the Alarm Summary operator properties:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Operator tab.
3. Select the check box of each property you want to enable.
4. Clear the check box of any property you want to disable.

Setting the Alarm Refresh Rate

To set the alarm refresh rate:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Display tab.
3. Enter the number of seconds the Alarm Summary object should wait before reading its queue
for new alarms.

Setting the Blink Rate

To set the blink rate:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Display tab.
3. Enter the rate, in seconds, that the Alarm Summary object should flash unacknowledged
alarms.

348
Creating Pictures

Setting the Data Refresh Rate

To set the data refresh rate:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Display tab.
3. Enter the number of seconds the Alarm Summary object should wait before updating the
alarm values displayed on the screen.

Showing the Latched or Current Alarm Status

To show the latched or current alarm status in the Alarm Summary window:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Display tab.
3. Select the Show Current Alarm Status or Show Latched Alarm Status option.
4. Click Apply.

Reversing the Color of Alarms on Acknowledgement

To reverse the color of alarms on acknowledgement:

1. In the iFIX WorkSpace, double-click the Alarm Summary object. The Alarm Summary
Configuration dialog box appears.
2. Select the Display tab.
3. Select the Reverse Colors on Acknowledge tab check box.
NOTE: This check box is available only when the Blink Unack Alarms is selected. When you
select this check box, the Blink Rate changes to 0. The foreground and background colors are
defined on the Color tab.

4. Click Apply.

Working with Groups


In the Proficy iFIX WorkSpace, you can perform the following steps with grouping objects and layers:

• Grouping Two or More Objects


• Ungrouping Objects
• Animating Grouped Objects
• Drilling Down into a Group
• Setting Object Layers
• Displaying Layers in Pictures

349
Creating Pictures

Grouping Two or More Objects

To group two or more objects:

1. In the iFIX WorkSpace, control-click the objects.


2. In Classic view, from the Tools toolbar, click the Group button.
-Or-
In Ribbon view, on the Format tab, in the Arrange group, click Group.
-Or-
If the Toolbox is enabled, click the button on the Toolbox.
The objects are grouped together and a group object appears in the WorkSpace system tree.

Ungrouping Objects

To ungroup an object:

1. In the iFIX WorkSpace, select the grouped object.


2. In Classic view, from the Tools toolbar, click the Ungroup button.
-Or-
In Ribbon view, on the Format tab, in the Arrange group, click Ungroup.
-Or-
If the Toolbox is enabled, click the Ungroup button on the Toolbox.
The group object is removed from the system tree but the member objects remain.

Animating Grouped Objects

To animate a grouped object:

1. In the iFIX WorkSpace, right-click the group you want to animate, and select Animations.
The Basic Animation dialog box appears.
2. Click the appropriate Expert button.
3. Enter the configuration information for the Animation Expert.

Drilling Down into a Group

To drill down into a group:

1. In the iFIX WorkSpace, select the group containing the object you want to modify.
2. Right-click the group and choose Enter DrillDown. A box appears around the group.
3. Select the object in the group you want to change.
4. Make the changes you require. When finished, deselect the object and the group. The box
disappears.

350
Creating Pictures

Setting Object Layers

To set a layer for an object:

1. In the iFIX WorkSpace, select the object you want to set a layer for.
2. In Classic view, on the Tools toolbar, click the Set Layer button.
-Or-
In Ribbon view, on the Format tab, in the Picture group, click Layers, and then click Set
Layer.
-Or-
If the Toolbox is enabled, click the Set Layer button on the Toolbox.
3. Click the button that represents the number of the layer you want to assign. To assign multiple
layers, select the Allow for Multiple Layers check box and then click the numbered buttons,
or click Select All. If you make a mistake, click Deselect All and repeat this step.
4. Click OK.

Displaying Layers in Pictures

To display layers in a picture:

1. In Classic view, in the iFIX WorkSpace Tools toolbar, click the Display Layers button.
-Or-
In Ribbon view, on the Format tab, in the Picture group, click Layers, and then click Display
Layer.
-Or-
If the Toolbox is enabled, click the Display Layers button on the Toolbox.
2. Click the button that represents the layer you want to display. To select all possible layers to
be displayed, click Select All Layers. If you make a mistake, click Deselect All Layers and
repeat this step.
3. Click OK.

Using Color
In the Proficy iFIX WorkSpace, you can perform the following steps with colors:

• Color Selection Overview – Modal


• Color Selection Overview – Modeless
• Adding Fade, Foreground, Background, or Edge Colors to Objects
• Setting the Background Color of a Picture
• Setting the Fade Color of a Picture
• Setting the Blend Percentage of a Picture's Fade Color
• Setting the Blend Percentage of an Object's Fade Color

351
Creating Pictures

• Selecting Color Sets


• Assigning Colors to Properties
• Creating Custom Color Sets
• Assigning a Custom Name to a Color
• Coloring Objects by Analog Values
• Coloring Objects by Digital Values

Color Selection Overview – Modal

Color Selection Overview – Modal Windows

The following sections provide information about color selection for modal windows.

• Add fade, foreground, background, or edge color to objects


• Set the background color of a picture
• Set the fade color of a picture
• Set the blend percentage of a picture's fade color
• Set the blend percentage of an object's fade color
• Select a color set

Adding Fade, Foreground, Background, or Edge Colors to Objects

To add a fade color to a specific object:

1. In the iFIX WorkSpace, right-click the object, point to Color, and choose Fade. The Select
FadeColor dialog box appears.
2. Click the Fade button. The Select Color dialog box appears.
3. Select a color and click OK. To select a name, click the Name tab and select a color name
from the list.

To add a foreground color to a specific object with no gradient fill:

1. In the iFIX WorkSpace, right-click the object, point to Color, and choose Foreground. The
Select ForegroundColor dialog box appears.
2. Select a color and click OK. To select a name, click the Name tab and select a color name
from the list.

To add a foreground color to a specific object with a gradient fill:

1. In the iFIX WorkSpace, right-click the object, point to Color, and choose Foreground. The
Select ForegroundColor dialog box appears.
2. Click the Foreground button. The Select Color dialog box appears.
3. Select a color and click OK. To select a name, click the Name tab and select a color name

352
Creating Pictures

from the list.

To add a background color to a specific object:

1. In the iFIX WorkSpace, right-click the object, point to Color, and choose Background. The
Select BackgroundColor dialog box appears.
2. Select a color and click OK. To select a name, click the Name tab and select a color name
from the list.

To add an edge color to a specific object:

1. In the iFIX WorkSpace, right-click the object, point to Color, and choose Edge. The Select
EdgeColor dialog box appears.
2. Select a color and click OK. To select a name, click the Name tab and select a color name
from the list.

Setting the Background Color of a Picture

To set the background color of a picture:

1. In the iFIX WorkSpace, right-click any area in the picture outside of an object and choose
Picture. The Edit Picture dialog box appears.
2. Click the Background Color button. The Select BackgroundColor dialog box appears.
3. Select the color you want and click OK.

Setting the Fade Color of a Picture

To set the fade color of a picture:

1. In the iFIX WorkSpace, right-click any area in the picture outside of an object and choose
Picture.
2. Click the Fade Color button.
3. Select the color you want and click OK.

Setting the Blend Percentage of a Picture's Fade Color

To set the blend percentage of a picture’s fade color:

1. In the iFIX WorkSpace, right-click any area in the picture outside of an object and choose
Picture. The Edit Picture dialog box appears.
2. Select the Gradient enabled check box and then select the fade type you want to apply to the
gradient.
3. Move the Blend slider to increase or decrease the amount of fade color you want applied to
the fade type. The higher the percentage, the more fade color is visible.

353
Creating Pictures

Setting the Blend Percentage of an Object's Fade Color

To set the blend percentage of an object’s fade color:

1. In the iFIX WorkSpace, right-click the object, point to Color, and choose Fade. The Select
FadeColor dialog box appears.
2. Move the Blend slider to increase or decrease the amount of fade color you want applied to
the fade type. The higher the percentage, the more fade color is visible.

Selecting Color Sets

To select a color set:

1. In the iFIX WorkSpace, right-click an object, point to Color, and choose Fade, Foreground,
Background, or Edge. The applicable Select Color dialog box appears.
- Or -

Select an object and click the Color button in the Toolbox. The Select Color dialog box
appears.

2. In the Color Set field, select a color set from the list box.

Color Selection Overview – Modeless

Color Selection Overview – Modeless Windows

The following sections provide information about color selection for modeless windows.

• Assign colors to properties


• Select a color set
• Create a custom color set
• Assign a custom name to a color
• Color objects by analog values
• Color objects by digital values

Assigning Colors to Properties

To assign a color to a property:

1. In Classic view, in the iFIX WorkSpace, on the Tools toolbar, click the Color button.
-Or-
In Ribbon view, on the Format tab, in the Styles group, click Color Selection.
-Or-
If the Toolbox is enabled, click the Color button on the Toolbox.

354
Creating Pictures

2. In the Property field, select the property you want. Use the drop-down menu if necessary.
3. Select a color from the Color Selection dialog box.

Selecting Color Sets

To select a color set:

1. In the iFIX WorkSpace, right-click an object, point to Color, and choose Fade, Foreground,
Background, or Edge. The applicable Select Color dialog box appears.
- Or -

Select an object and click the Color button in the Toolbox. The Select Color dialog box
appears.

2. In the Color Set field, select a color set from the list box.

Creating Custom Color Sets

To create a custom color set:

1. In Classic view, in the iFIX WorkSpace, on the Tools toolbar, click the Color button.
-Or-
In Ribbon view, on the Format tab, in the Styles group, click Color Selection.
-Or-
If the Toolbox is enabled, click the Color button on the Toolbox.
2. Click either the Color tab to display the color palette, or the Name tab to display a list of
colors.
3. Click New Color Set.
4. Enter a palette name in the Name field and click OK. The palette name is added to the Color
Set list box.

Assigning a Custom Name to a Color

To assign a custom name to a color:

1. In Classic view, in the iFIX WorkSpace, on the Tools toolbar, click the Color button.
-Or-
Ribbon view, on the Format tab, in the Styles group, click Color Selection.
-Or-
If the Toolbox is enabled, click the Color button on the Toolbox.
2. From the Color Set field, select a color set.
3. Click the Customize Color button.
NOTE: The Customize Color button is not available if you selected System Default as the

355
Creating Pictures

color set.

4. Click a location in the palette that most closely represents the color you want.
5. Specify the shade of the color spectrum by clicking the mixer bar to the right of the palette
and click OK. For a more precise selection, adjust the slider by clicking and dragging it.
6. Enter a specific name to identify your color.

Coloring Objects by Analog Values

To color an object by analog value:

1. In the iFIX WorkSpace, select an object.


2. Click the appropriate Color Expert on the Experts toolbar.
-Or-
In Classic view, click the Task Wizard button on the WorkSpace toolbar.
-Or-
In Ribbon view, from the Tools tab, in the Animations group, click Animations. Select the
appropriate Color Expert from the Task Wizard dialog box and click the Perform Task button.
3. In the Data Source field, enter a data source.
4. Select the Range option above the lookup table.
5. Select a Minimum and Maximum cell in the lookup table row that corresponds to the color
you want to assign to those values.
6. Enter the appropriate low and high limit values for the color selection in the row.

Coloring Objects by Digital Values

To color an object by digital value:

1. In the iFIX WorkSpace, select an object.


2. Click the appropriate Color Expert on the Experts toolbar.
-Or-
In Classic view, click the Task Wizard button on the WorkSpace toolbar.
-Or-
In Ribbon view, from the Tools tab, in the Animations group, click Animations. Select the
appropriate Color Expert from the Task Wizard dialog box and click the Perform Task button.
3. In the Data Source field, enter a data source.
4. Select the Exact Match option above the lookup table.
5. If desired, enter a tolerance value in the Exact Match Tolerance field.
6. Double-click a Value cell in a lookup table row that corresponds to the color you want to
assign to that value.
7. Enter the appropriate digital value for the color selection in the row.

356
Creating Pictures

Using Process Assistants to Expedite


Pictures
By studying the trends in today's users, and focusing specifically on iFIX users, GE Intelligent
Platforms has developed a set of performance support tools that let you tap the power of iFIX with
minimal effort. These tools include:

• Wizards
• Experts
• Dynamos
• Global Subroutines
• Toolbars

Each of these tools are described in this chapter.

Using Wizards and Experts


GE Intelligent Platforms developed Wizards and Experts with one goal in mind – allow users to
unleash the power of iFIX quickly and easily. Wizards and Experts are essentially simplified user
interfaces that help you accomplish a task.

The fundamental difference between Wizards and Experts is:

• Wizards consist of a series of dialog boxes that guide you through a process and engage you
in dialog that helps you understand that process.
• Experts consist of one dialog box that requires minimum input to quickly perform a task.
They provide an easier way to animate objects or execute scripts, tasks that you can also
accomplish using the Basic Animations dialog box.

iFIX Wizards and Experts were created to help both advanced and novice users. Advanced users can
carry the process to additional steps, perhaps by using a powerful feature of VBA, re-entering an
Expert after performing another function, or learning a new feature by implementing it.

Novice users can run a Wizard or Expert in an effort to complete a more complicated task without
adapting to new concepts or technology. Although the underlying foundation of Wizards and Experts
is Visual Basic, you never need to be exposed to or versed in VBA to use these tools.

Ultimately, employing Wizards and Experts in your picture development means you can complete
desired tasks and enjoy the results.

Running Wizards
iFIX provides the following Wizards:

• Task – Access from a button on the Standard toolbar.


• Generate – Access through the Generate option on the Blocks menu of the Database

357
Creating Pictures

Manager.
• Backup and Restore – Access through the iFIX menu on the Programs menu of the Start
menu.
• Create Picture – Access through the Task wizard, using one of the following methods:
• by right-clicking on the Pictures folder in the system tree,
• by selecting New from the File menu in the WorkSpace (Classic view),
• by clicking Picture in the New group, on the Home tab (Ribbon view),
• by clicking the WorkSpace button, selecting new and clicking Picture (Ribbon view),
or
• from one of the following toolbars: Experts, Standard, or Toolbox.
NOTE: To access the Create Picture wizard from the Menu Bar, the Ribbon, the System Tree,
or the Standard toolbar, you must have the Show Picture Wizard from New Picture Menu
check box enabled on the Picture Preferences tab of the User Preferences dialog box.

• Multiple Command Script – Access from the Command category of the Task Wizard, the
Click Event button in the Basic Animation dialog box, or the Run Wizard button in the Key
Macro Editor or Scheduler.

The following table shows how these Wizards can be used in iFIX.

Wizards in iFIX

While doing the You can use To...


following... the...

Resolving a picture Task Wizard Run the Resolve utility. For more information, refer
to the Resolving Pictures section. To learn how to
use the Task Wizard, refer to the Using Experts and
the Task Wizard section of the Understanding iFIX
manual.

Building a database Generate Wizard Add blocks to your database. For more information,
refer to the Working with the Process Database
chapter in the Building a SCADA System manual.

Managing your Backup and Archive all of your iFIX configuration files. For
files Restore Wizard more information, refer to the Backing up and
Restoring Files section of the Understanding iFIX
manual.

Creating a picture Create Picture Set the sizes, locations, and properties of an
or set of pictures Wizard individual picture or a group of pictures. For more
information, refer to the Using the Create Picture
Wizard section in this manual.

358
Creating Pictures

Wizards in iFIX

While doing the You can use To...


following... the...

Assigning Multiple Create a sequence of commands that are executed


multiple Command in response to a trigger event such as a mouse
commands to an Script Wizard click, Scheduler entry, or key macro. For more
event information, refer to the Multiple Command
Script Wizard section.

Running Experts
You can easily access iFIX Experts in the WorkSpace while you are drawing your pictures. In our
online help, Experts are included in procedures to help you expedite your task. For more information
on how to complete the dialog fields in the Expert, use the Help provided with the Expert (in some
instances, you must click the Help button and access a procedures window). The following table shows
some examples of Experts used in iFIX.

Using Experts in iFIX

While doing the You can use To...


following... the...

Coloring objects Foreground Assign a foreground color to objects. For more


Color Expert information on defining a color strategy, refer to the
Working with Color section.

Creating schedules Script Write a script to schedule events (example: Toggle


Authoring Digital Point). For more information, refer to the
Expert Writing Scripts manual.

Developing Rotate Expert Rotate a selected object. For more information on


pictures rotating objects, refer to the Rotating Objects section.

To run an Expert, click the appropriate button on the Experts toolbar, complete the dialog fields and
click OK.

Using the Task Wizard to Run Experts

iFIX gives you a convenient organizer to access, customize, and run Experts – the Task Wizard. The
Task Wizard allows you to choose a category relating to what action you want to perform, and then
select a task specific to that category. All Experts can be accessed from the Task Wizard, but some are
not available from the Experts toolbar. These Experts can be accessed on the Buttons tabbed page of
the Customize Toolbars dialog box and added to a toolbar. In Ribbon view, all Experts can be accessed
via the Tasks/Experts launch button on the Tools tab in the Tasks/Experts group.

359
Creating Pictures

For more information on adding buttons to a toolbar, refer to the Customizing Toolbars section of the
Understanding iFIX manual.

The following table shows you which Experts are available on the Task Wizard and the Experts
toolbar, and what functions they perform:

iFIX Experts

Click this Expert Which can be accessed in To...


from the Experts the Ribbon view...
toolbar...

Fill From the Tools tab, in the Dynamically fill an object.


Animations group, click Fill.

Rotate From the Tools tab, in the Rotate an object.


Animations group, click
Rotate.

Position From the Tools tab, in the Move an object horizontally or


Animations group, click vertically across the screen.
Position.

Scale From the Tools tab, in the Scale an object.


Animations group, click Scale.

Visibility From the Tools tab, in the Make an object visible or invisible.
Animations group, click
Visibility.

Edge Color From the Tools tab, in the Change the edge color of an object.
Animations group, click Edge
Color.

Foreground Color From the Tools tab, in the Change the foreground color of an
Animations group, click object.
Foreground Color.

Background Color From the Tools tab, in the Change the background color of an
Animations group, click object.
Background Color.

Data Entry From the Tools tab, in the Modify a tag.


Tasks/Experts group, click
Data Entry Expert.

360
Creating Pictures

iFIX Experts

Click this Expert Which can be accessed in To...


from the Experts the Ribbon view...
toolbar...

Create Picture From the Tools tab, in the Create, size, and locate a group of
Wizard Tasks/Experts group, click pictures.
Picture and then click Create
Picture Wizard.

Open Picture From the Tools tab, in the Open a new picture on an object's click
Tasks/Experts group, click event.
Commands and then click
Open Picture.

Close Picture From the Tools tab, in the Close a picture on an object's click
Tasks/Experts group, click event.
Commands and then click
Close Picture.

Replace Picture From the Tools tab, in the Close an open picture and replace with
Tasks/Experts group, click a new picture on an object's click
Commands and then click event.
Replace Picture.

Open Digital Tag From the Tools tab, in the Open a digital point on an object's
Tasks/Experts group, click click event.
Commands and then click
Open Digital Tag.

Close Digital Tag From the Tools tab, in the Close a digital point on an object's
Tasks/Experts group, click click event.
Commands and then click
Close Digital Tag.

Toggle Digital Tag From the Tools tab, in the Toggle a digital point on an object's
Tasks/Experts group, click click event.
Commands and then click
NOTE: In this expert, use the F_CV
Toggle Digital Tag.
field as the data link. Using the A_CV
field may cause unpredictable results.

Acknowledge From the Tools tab, in the Acknowledge an alarm on an object's


Alarm Tasks/Experts group, click click event.
Commands and then click
Acknowledge Alarm.

361
Creating Pictures

iFIX Experts

Click this Expert Which can be accessed in To...


from the Experts the Ribbon view...
toolbar...

Alarm Horn From the Tools tab, in the Enable, disable, or silence the alarm
Tasks/Experts group, click horn. Also prompt for alarm horn
Commands and then click status in run mode and toggle the horn
Alarm Horn. status between enable and disable.

The following table shows you the additional Experts available from the Task Wizard (but not from the
Experts toolbar) and what functions they perform:

Additional Experts in the Task Wizard

From this Click this Which can be accessed in the To...


Task Expert... Ribbon View...
Category...

Ramp Tag From the Tools tab, in the Ramp a specified


Value Tasks/Experts group, click database tag by a
Commands and then Ramp Tag percentage or actual
Value. value that you define.

Write Value to From the Tools tab, in the Write a value you
Tag Tasks/Experts group, click select to the specified
Commands and then Write database tag.
Value to Tag.

Turn Tag On From the Tools tab, in the Turn a specified


Scan Tasks/Experts group, click database tag on scan.
Command
Commands and then Turn Tag
On Scan.

Turn Tag Off From the Tools tab, in the Turn a specified
Scan Tasks/Experts group, click database tag off scan.
Commands and then Turn Tag
Off Scan.

Toggle Scan From the Tools tab, in the Toggle a specified


Tasks/Experts group, click database tag on and
Commands and then Toggle off scan.
Scan.

362
Creating Pictures

Additional Experts in the Task Wizard

From this Click this Which can be accessed in the To...


Task Expert... Ribbon View...
Category...

Set Tag Auto From the Tools tab, in the Set a specified
Tasks/Experts group, click database tag to
Commands and then Set Tag automatic.
Auto.

Set Tag Manual From the Tools tab, in the Set a specified
Tasks/Experts group, click database tag to
Commands and then Set Tag manual.
Manual.

Toggle Tag From the Tools tab, in the Toggle a specified


Auto/Manual Tasks/Experts group, click database tag between
Commands and then Toggle Tag auto and manual.
Auto/Manual.

Acknowledge From the Tools tab, in the Acknowledge all new


All Alarms Tasks/Experts group, click alarms in the
Commands and then specified picture.
Acknowledge All Alarms.

Disable Alarm From the Tools tab, in the Disable all new
Tasks/Experts group, click alarms in the
Commands and then Disable specified picture.
Alarms.

Enable Alarm From the Tools tab, in the Enable all new
Tasks/Experts group, click alarms in the
Commands and then Enable specified picture.
Alarms.

Locate Object From the Tools tab, in the Find a specified


Tasks/Experts group, click object.
Commands and then Locate
Object.

Print Crystal From the Tools tab, in the Prints a specified


Report Tasks/Experts group, click Crystal Report.
Commands and then Print
Crystal Report.

363
Creating Pictures

Additional Experts in the Task Wizard

From this Click this Which can be accessed in the To...


Task Expert... Ribbon View...
Category...

Add Database From the Applications tab, in the Add a new database
Block Process Database group, click block without
Blocks and then click Add opening Database
Database Block. Manager.

Modify From the Applications tab, in the Modify a database


Database Block Process Database group, click block without
Blocks and then click Modify opening Database
Database Database Block. Manager.

Database Save From the Applications tab, in the Save the database.
Process Database group, click
Save Database.

Database From the Applications tab, in the Reload the database.


Reload Process Database group, click
Reload Database.

Data Entry Data Entry From the Tools tab, in the Enter the data source
Tasks/Experts group, click that the data entry
Tasks/Experts. Select Data Entry gets written to.
from the Task Categories menu
and Data Entry from the Task
list. Click Perform Task.

Resolve Files From the Tools tab, in the Resolve files before
Tasks/Experts group, click you enter into the
Tasks/Experts. Select Picture run-time
from the Task Categories menu environment.
and Resolve Files from the Task
list. Click Perform Task.

Generate New From the Tools tab, in the Generate a new


Picture
Picture Tasks/Experts group, click picture.
Picture and then click Generate
Picture Expert.

Refresh Rate From the Tools tab, in the Change the refresh
Tasks/Experts group, click rate for a selected
Picture and then click Refresh object or an entire
Rate Expert. picture.

364
Creating Pictures

Additional Experts in the Task Wizard

From this Click this Which can be accessed in the To...


Task Expert... Ribbon View...
Category...

Export Key From the Tools tab, in the Export all of the key
Macros Tasks/Experts group, click macros in the
Picture and then click Export selected object,
Key Macros. picture, or user
global page to a
.CSV file.

Save Files with From the Tools tab, in the Save thumbnails of
Thumbnail Tasks/Experts group, click existing pictures and
Preference Tasks/Experts. Select Picture dynamo sets.
from the Task Categories menu
and Save Files with Thumbnail
Preference from the Task list.
Click Perform Task.

Report Print Crystal From the Tools tab, in the Prints a specified
Report Tasks/Experts group, click Crystal Report.
Commands and then click Print
Crystal Report.

You can also create your own Experts to help you automate processes that you do often. This can be
done through VBA scripts. For more information on creating your own Experts, refer to the Writing
Scripts manual. To learn how to use the Task Wizard, refer to the Using Experts and the Task Wizard
section of the Understanding iFIX manual.

IMPORTANT: If you are working in a secure environment and using the Electronic Signature option,
you must be aware of the impact of unsigned writes to the process database. Unsigned writes can
originate from scripts Refer to the Implications of Database Writes With Electronic Signature section
of the Using Electronic Signatures manual for detailed information. When you use certain Experts,
such as Toggle Digital, you are prompted to sign if the associated tag is configured for electronic
signature. For complete information on a secure environment and electronic signatures, refer to the
Using Electronic Signatures manual.

Re-entering Experts

All of the Experts in the Animation category of the Task Wizard have re-entrance functionality,
allowing you to exit the Expert, make any changes you want within your picture, and then go back into
the Expert to resume inputting data to complete the task. These Experts include the following:

• Fill
• Foreground Color
• Edge Color
• Background Color

365
Creating Pictures

• Rotate
• Scale
• Visibility
• Position

You can also re-enter the Data Entry Expert, located in the Data Entry category of the Task Wizard.

NOTE: The Data Entry Expert writes a script to a selected object; therefore, it will not retain its re-
entrance functionality if you change the code. Instead, it will act as though there are no data entry
parameters, and will therefore write over the existing script.

Notes About VBA Code Generated by Experts

Some of the iFIX Experts generate VBA code. Occasionally, a conflict can occur between the VBA
code generated by the Expert and the VBA code for a picture, variable, or globals page because of
naming conflicts. When a conflict like this occurs, the solution is to change the name of your picture,
variable, of globals subroutine.

For example, do not name a picture after one of Data Entry Expert types. Picture names can conflict
with the script variable names used with the Data Entry Expert. For instance, if you name your picture
Pushbutton.grf and also use the Pushbutton data entry method, when you enter run mode, an error
message appears. If you rename the picture, Pushbutton1.grf, the error message does not appear, since
the picture name is now different than the data entry method.

Multiple Command Script Wizard


The Multiple Command Script Wizard enables you to create a sequence of commands, using one or
more Command Experts, that is triggered by one of these types of events: a mouse click on an object in
a picture, a time-based or event-based Scheduler entry, or a key macro.

When you open the wizard and select a command, the Expert associated with the command will
appear. The selections you make in the Expert automatically create a VBA script that is run when the
trigger event occurs. Each time you add a command in the wizard, its corresponding Expert will
appear, enabling you to append the Expert's VBA script to the scripts created by the previous
commands in the sequence.

You can use the wizard to delete or re-order commands in the sequence. When you do this, the VBA
script associated with the affected commands will be automatically deleted or re-ordered to reflect the
new sequence displayed in the wizard.

To use the Multiple Command Script Wizard:

1. In the Key Macro Editor, Scheduler, or the Basic Animation dialog box, access the Multiple
Command Script Wizard.
2. Add one or more commands by either selecting one from the Select Action to Append list, or
clicking the Append Action button to add the currently selected command.
3. Optionally, move a command to a different position in the sequence by selecting it and
clicking the Up or Down arrow button.
4. Optionally, delete a command from the sequence by selecting it and then clicking the Delete
Action button, or delete all commands by clicking the Delete All Actions button.

366
Creating Pictures

5. Optionally, modify a command by clicking the Modify a Selected Action button. When the
Expert for the associated command appears, make your changes to the Expert's settings and
click OK.

NOTES:

• Although the Multiple Command Script Wizard's purpose is to fully automate the VBA
command scripting process, you can manually edit scripts generated by the wizard with the
VB Editor. You may add or edit VBA scripts anywhere before the Scripts Authoring Tool
header line (***** Scripts Authoring Tool *****), or directly between a "WizardEnd" and a
“Wizard[x]=” statement. Do not edit any of the commented areas in the wizard-generated
script. If the Multiple Command Script Wizard detects an improperly customized VBA script,
you may encounter an error.

• The Multiple Command Script Wizard does not check the command sequence to make sure
commands occur in a logical order.

Experts Summary
The following experts are available for use in iFIX.

Animation Experts

• Color Experts
• Fill Expert
• Position Expert
• Rotate Expert
• Scale Expert
• Visibility Expert
• Display Layers Expert
• Set Layer Expert

Command Experts

• Selecting a Command
• Acknowledge Alarm
• Acknowledge All Alarms
• Alarm Horn
• Close Digital Tag
• Close Picture
• Disable Alarm
• Enable Alarm
• Locate Object
• Open Digital Tag

367
Creating Pictures

• Open Picture
• Print Crystal Report
• Ramp Tag Value
• Replace Picture
• Set Tag Auto
• Set Tag Manual
• Toggle Digital Tag
• Toggle Tag Auto/Manual
• Toggle Scan
• Turn Tag Off Scan
• Turn Tag On Scan
• Write Value to Tag

Data Entry Expert

• Data Entry Expert

Database Experts

• Add Database Block


• Database Reload
• Database Save
• Modify Database Block Expert
• Read a Value Expert

Picture Experts

• Export Key Macros


• Generate Picture Expert
• Refresh Rate Expert
• Resolve Files Expert
• Save Files with Thumbnail Preferences

Report Experts

• Cross Reference Tool


• Print Crystal Report
• Print Crystal Report (PrintReport Subroutine)

368
Creating Pictures

Create Objects

• Variable Object
• Timer Object
• Event Object

Animation Experts

The following list summarizes the Animation Experts available in Proficy Pulse:

• Color Experts
• Fill Expert
• Position Expert
• Rotate Expert
• Scale Expert
• Visibility Expert
• Display Layers Expert
• Set Layer Expert
IMPORTANT: Be aware that Historical Animations that use Sample or Interpolated data from
Proficy Historian may display a Lookup or Format error status of “Unknown”, when the local
computer's time is ahead of the Proficy Historian Server's time. (The “Unknown” Lookup or Format
data symbols are defined in the User Preferences, on the Animations Data Error Defaults tab.)

Color Expert

Lets you set the way the selected object(s) color is animated in the runtime environment. There are
three color experts:

• Background Color Expert


• Foreground Color Expert
• Edge Color Expert

Data Source

Allows you to enter the data source that animates the selected object(s) color property. Click the
browse button (...) to view all of data sources available in your system. Click the down button to view
the last data sources you used. Click the modify database block button to modify the selected data
source. You can add a database block by entering a new database block tag name and tabbing off this
field. The Quick Add dialog box appears and allows you to enter the appropriate values for the added
block.

Color Properties Tab

The Color Properties tab contains the following items:

369
Creating Pictures

Color By
Item Description

Current Allows you to enter a value or range of values and assign each a unique color in the
Value Color Threshold table to the right. When the current value of the data source falls
within or on that color definition, the selected object(s) change to that color.

Current Allows you to set up color thresholds to visually alert operators that a data source is in
Alarm a particular alarm state. This differs from the Latched Alarm option in how it handles
multiple alarm states. Selecting current alarm always displays the color assigned to
the current alarm.

Latched Allows you to set up color thresholds to visually alert operators that a data source is in
Alarm a particular alarm state. This differs from the Current Alarm option in how it handles
multiple alarm states. When a data source 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.

New Alarm
Item Description

Blink on Sets the selected object(s) to blink every time the data source registers a new alarm.
New The object stops blinking when the alarm is acknowledged. This setting overrides
Alarm the blinking settings defined for individual thresholds. The object blinks between
the color of the threshold table and the blink on a new alarm color.

Blink on Sets the color for the blink on new alarm if the Blink on New Alarm check box is
New selected.
Alarm
Color

Color Threshold
Item Description

Range If the value of the data source falls within a specified threshold range in the table
below, the selected object(s) change to the associated color.

Exact Match If the value of the data source exactly matches a threshold value in the table
below, the selected object(s) change to the associated color.

370
Creating Pictures

Item Description

Exact Match Lets you enter an allowable deviation from the current value of a data source.
Tolerance For example: If the current value is 10, and the tolerance is 5, the range that the
color will display is from 5 to 15.

Color List Allows you to animate an object’s color based on a specified value. To assign
Box values, click a cell within the Maximum, Minimum, and Value columns and
enter a value. To assign colors, double-click a cell within the Color and Blink To
columns and select a color from the color box.

No Blink Removes a blink color assigned to the selected row in the color table threshold.

Insert Row Inserts a new row into the color threshold table.

Delete Row Deletes the selected row of the color threshold table.

Reset to Resets the Color Threshold table to the default values.


Defaults

Use Shared Allows you to use a color table that is defined in globals or any color table that is
Threshold defined in a picture, which will be open in conjunction with the current picture.
Table

Shared Table Allows you to enter the data source for the shared color table. The shared table
data source must be a color threshold table found in the global user page or in
another picture.

Historical Properties Tab

The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

371
Creating Pictures

Item Description

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.
• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a

372
Creating Pictures

straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.
• Total – The total of all valid data found during the specified interval.

Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

373
Creating Pictures

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Get Data From New Selection

Allows you to select a different object in the Workspace while the Color Expert is still displayed. Click
this button and that object’s color animation parameters appear in the Color Expert. You can then
apply the parameters to a new selection.

Fill Expert

Lets you set the way the horizontal or vertical fill for the selected object(s) is animated in the runtime
environment.

Data Source

Allows you to enter the data source that animates the selected object’s fill property. Click the browse
button (...) to view all of data sources available in your system. Click the down button to view the last
data sources you used. Click the modify database block button to modify the selected data source. You
can add a database block by entering a new database block tag name and tabbing off this field. The
Quick Add dialog box appears and allows you to enter the appropriate values for the added block.

Fill Properties

Direction

Fills the selected object(s) vertically. You can select the Vertical and Horizontal check boxes to fill the
selected object(s) both horizontally and vertically.

Item Description

Vertical Fills the selected object(s) vertically. You can select the Vertical and Horizontal
check boxes to fill the selected object(s) both horizontally and vertically.

Horizontal Fills the selected object(s) horizontally.

374
Creating Pictures

Direction Settings
Item Description

Vertical Fill Sets the vertical fill direction: Bottom to Top, Top to Bottom, Top and
Direction Bottom from Center.

Horizontal Fill Sets the horizontal fill direction: Left to Right, Right to Left, Left and
Direction Right from Center.

Input Ranges
Item Description

Lowest Input Sets the minimum input value from the data source. The valid range is
Value dependent on the valid range of the data source. The default value is 0.

Highest Input Sets the maximum input value from the data source. The valid range is
Value dependent on the valid range of the data source. The default value is 100.

Fetch Limits at Fetches the low and high EGU limits from the data source automatically at
Runtime runtime.

Fill Percentages
Item Description

Minimum Allows you to calculate the amount you want the object filled when the data
Percentage source equals the lowest input value.

Maximum Allows you to calculate the amount you want the object filled when the data
Percentage source equals the highest input value.

Historical Properties Tab

The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

375
Creating Pictures

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.

376
Creating Pictures

• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.
• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.
• Total – The total of all valid data found during the specified interval.

Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

377
Creating Pictures

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Get Data From New Selection

Allows you to select a different object in the Workspace while the Fill Expert is still displayed. Click
this button and that object’s fill animation parameters appear in the Fill Expert. You can then apply the
parameters to a new selection.

Position Expert

Lets you set the way the selected object(s) vertical or horizontal position is animated in the runtime
environment.

Data Source

Allows you to enter the data source that animates the selected object’s position property. Click the
browse button (...) to view all of data sources available in your system. Click the down button to view
the last data sources you used. Click the modify database block button to modify the selected data
source. You can add a database block by entering a new database block tag name and tabbing off this
field. The Quick Add dialog box appears and allows you to enter the appropriate values for the added
block.

Position Properties Tab

Position
Item Description

Vertical Moves the selected object(s) vertically. You can select the Vertical and Horizontal
check boxes to move the selected object(s) both horizontally and vertically.

Horizontal Moves the selected object(s) horizontally. You can select the Vertical and Horizontal
check boxes to move the selected object(s) both horizontally and vertically.

378
Creating Pictures

Position Type
Item Description

Relative Allows you to set the selected object(s) start and end positions relative to its current
position in the runtime environment.

Absolute Allows you to make the selected object(s) movement always start and end in the same
position.

Input Values
Item Description

Lowest Input Sets the minimum input value from the data source. The valid range is
Value dependent on the valid range of the data source. The default value is 0.

Highest Input Sets the maximum input value from the data source. The valid range is
Value dependent on the valid range of the data source. The default value is 100.

Fetch Limits at Fetches the Low and High EGU limits from the data source automatically at
Runtime runtime.

Horizontal Position Output Values


Item Description

Minimum Offset Allows you to modify the distance that you want the object to move from its
origin when the data source value equals the lowest input value. Available
when you select the Relative Position.
This item is only available when the Relative option is selected.

Maximum Offset Allows you to specify the distance you want the object to move from its
origin when the data source value equals the highest input value.
This item is only available when the Relative option is selected.

Start Allows you to specify the position in the iFIX Workspace that you want the
object to move to when the data source value equals the lowest input value.
Available when you select Absolute as the position type.
This item is only available when the Absolute option is selected.

379
Creating Pictures

Item Description

End Allows you to specify the position in the iFIX Workspace that you want the
object to move to when the data source value equals the highest input value.
Available when you select Absolute as the position type.
This item is only available when the Absolute option is selected.

Get Value Button Allows you to select the object(s) in the iFIX Workspace and move the
(Minimum Offset) object(s) to the start or minimum offset position that you want. The position
is entered in the field to the left.

Get Value Button Allows you to select the object(s) in the iFIX Workspace and move the
(Maximum Offset) object(s) to the end or maximum offset position that you want. The position
is entered in the field to the left.

Historical Properties Tab

The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

380
Creating Pictures

Item Description

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.
• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.
• Total – The total of all valid data found during the specified interval.

381
Creating Pictures

Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Get Data from New Selection

Allows you to select a different object in the Workspace while the Position Expert is still displayed.
Click this button and that object’s position animation parameters appear in the Position Expert. You
can then apply the parameters to a new selection.

382
Creating Pictures

Rotate Expert

Lets you set the way the selected object(s) rotate in the runtime environment.

Data Source

Allows you to enter the data source that animates the selected object’s rotate property. Click the
browse button (...) to view all of data sources available in your system. Click the down button to view
the last data sources you used. Click the modify database block button to modify the selected data
source. You can add a database block by entering a new database block tag name and tabbing off this
field. The Quick Add dialog box appears and allows you to enter the appropriate values for the added
block.

Rotate Properties Tab

Input
Item Description

Lowest Input Sets the minimum input value from the data source. The valid range is
Value dependent on the valid range of the data source. The default value is 0.

Highest Input Sets the maximum input value from the data source. The valid range is
Value dependent on the valid range of the data source. The default value is 100.

Fetch Limits at Fetches the Low and High EGU limits from the data source at runtime.
Runtime

Output
Item Description

Minimum Angle Allows you to enter the value, in degrees, of the angle that you want the
of Rotation in object to rotate to when the data source equals the lowest input value. The
Degrees default value is 0.

Maximum Angle Allows you to enter the value, in degrees, of the angle that you want the
of Rotation in object to rotate to when the data source equals the highest input value. The
Degrees default value is 360.
NOTE: When the Minimum Angle is set to 0 and the Maximum Angle is set
to 360, the selected object(s) rotate counter clockwise. When the Minimum
Angle is set to 360 and the Maximum Angle is set to 0, the selected object(s)
rotate clockwise.

Historical Properties Tab

The Historical Properties tab allows you to set the parameters for a query that fetches historical data

383
Creating Pictures

from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode

384
Creating Pictures

• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.
• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.
• Total – The total of all valid data found during the specified interval.

Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

385
Creating Pictures

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Get Data from New Selection

Allows you to select a different object in the Workspace while the Rotate Expert is still displayed.
Click this button and that object’s rotate animation parameters appear in the Rotate Expert. You can
then apply the parameters to a new selection.

Scale Expert

Lets you set the way the selected object(s) scale is animated in the runtime environment.

Data Source

Allows you to enter the data source that animates the selected object’s scale property. Click the browse
button (...) to view all of data sources available in your system. Click the down button to view the last
data sources you used. Click the modify database block button to modify the selected data source. You
can add a database block by entering a new database block tag name and tabbing off this field. The
Quick Add dialog box appears and allows you to enter the appropriate values for the added block.

Scale Properties Tab

Scale Parameters
Item Description

Dimension to Lets you select the dimension of the object to scale.


Scale
Valid Entries: Uniform Height and Width, Height, Width

Scale Direction Lets you select the direction to scale the object. The options are dependent on
which dimension you choose to scale.

386
Creating Pictures

Input
Item Description

Lowest Input Sets the minimum input value from the data source. The valid range is
Value dependent on the valid range of the data source. The default value is 0.

Highest Input Sets the maximum input value from the data source. The valid range is
Value dependent on the valid range of the data source. The default value is 100.

Fetch Limits at Fetches the Low and High EGU limits from the data source at runtime.
Runtime

Output
Item Description

Minimum Allows you to enter the value, in degrees, of the amount that you want the
Percentage object to scale to when the data source equals the lowest input value.

Maximum Allows you to enter the value, in degrees, of the amount that you want the
Percentage object to scale to when the data source equals the highest input value.

Historical Properties Tab

The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

387
Creating Pictures

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.
• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a

388
Creating Pictures

result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified
interval.
• Total – The total of all valid data found during the specified interval.

Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

389
Creating Pictures

Item Description

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Get Data from New Selection

Allows you to select a different object in the Workspace while the Scale Expert is still displayed. Click
this button and that object’s scale animation parameters appear in the Scale Expert. You can then apply
the parameters to a new selection.

Visibility Expert

Lets you set the visibility conditions for the selected object(s) in the runtime environment.

Data Source

Allows you to enter the data source that animates the selected object’s visibility property. Click the
browse button (...) to view all of data sources available in your system. Click the down button to view
the last data sources you used. Click the modify database block button to modify the selected data
source. You can add a database block by entering a new database block tag name and tabbing off this
field. The Quick Add dialog box appears and allows you to enter the appropriate values for the added
block.

Visibility Properties Tab

Condition for Visibility


Condition

Lets you select the desired logical comparison. The selected object is visible when:

< Data source value is less than the entry in the Value field.

> Data source value is greater than the entry in the Value field.

= Data source value equals the entry in the Value field. This comparison lets you enter a
Tolerance amount.

<= Data source value is less than or equal to the entry in the Value field.

>= Data source value is greater than or equal to the entry in the Value field.

<> Data source value is not equal to the entry in the Value field.

390
Creating Pictures

Condition Value

Enter the number you want to compare with the data source value.

NOTE: Scientific notation cannot be used to specify the Condition Value.

Tolerance

Allows you to enter the allowable deviation from the entry in the Value field.

Condition Expression
View Visibility Condition

Click this button to view the condition you set in the Visibility Condition field.

Visibility Condition

When you click the View Visibility Condition button, this field displays the visibility condition you
have set.

The Historical Properties tab contains the following items:

Historical Properties Tab

The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

391
Creating Pictures

Item Description

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.
• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Standard Deviation – The standard deviation of all valid data found during the specified

392
Creating Pictures

interval.
• Total – The total of all valid data found during the specified interval.

Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

393
Creating Pictures

Display Layers Expert

Lets you view only the layers that you want.

Layer Numbers

Allows you to select the layer numbers to display. The button for the selected layer appears depressed.

Select All Layers

Allows all of the layers to be displayed.

Deselect All Layers

Allows none of the layers to be displayed.

Set Layer Expert

Lets you set which layers the selected object(s) display in. For example, if you have a series of objects
that make up the foreground of a picture and another series of objects that make up the background,
you can set the layer for the foreground objects to Level 1 and set the layer for the background objects
to Level 2. Then you can display just the foreground objects, just the background objects, or both at the
same time. See the Display Layer Expert for information on displaying layers.

Layer Numbers

Allows you to select the layer number for the selected object. The object is displayed when that display
layer is set. The button for the selected layer appears depressed.

Allow Multiple Layers

Lets you select additional layers for the object to appear.

Select All

Allows you to specify that the object will display in every layer. This button is enabled only if you
selected the Allow for Multiple Layers check box.

Deselect All

Allows the user to specify that the object will not display in any layer. This button is enabled only if
you select the Allow for Multiple Layers check box.

Command Experts

The following list summarizes the Command Experts available in iFIX. You can select a single
command Expert from the Experts toolbar, or you can use the Multiple Command Script Wizard to
build an object's command script with more than one Command Expert.

• Acknowledge Alarm

394
Creating Pictures

• Acknowledge All Alarms


• Alarm Horn
• Close Digital Tag
• Close Picture
• Disable Alarm
• Enable Alarm
• Locate Object
• Open Digital Tag
• Open Picture
• Print Crystal Report
• Ramp Tag Value
• Replace Picture
• Set Tag Auto
• Set Tag Manual
• Toggle Digital Tag
• Toggle Tag Auto/Manual
• Toggle Scan
• Turn Tag Off Scan
• Turn Tag On Scan
• Write Value to Tag

Acknowledge Alarm Expert

Acknowledges a new alarm for the specified database tag. This expert uses the AcknowledgeAlarm
subroutine.

Data Source

Allows you to enter the data source whose alarm you want to acknowledge. Click the browse button
(...) to view all of data sources available in your system. Click the down button to view the last data
sources you used. Click the Modify Database Block button to modify the selected data source. You can
add a database block by entering a new database block tag name and tabbing off this field. The Quick
Add dialog box appears and allows you to enter the appropriate values for the added block.

Use Database Tags

Allows you to acknowledge the alarms only on the selected object’s database tags. To make an object
selectable, open the object’s property page and set the property ‘IsSelectable’ to True.

NOTE: Before the action can be performed in the runtime environment, you must first click on the
object to select it.

395
Creating Pictures

Acknowledge All Alarms Expert

Acknowledges all new alarms in the specified picture. This expert uses the AcknowledgeAllAlarms
subroutine.

Picture Name

Allows you to specify the name of the picture whose alarms you want to acknowledge. Click the
browse button (...) to view all of the pictures available in your iFIX picture path.

Browse Button (...)

Allows you to view all of the saved pictures in your iFIX picture path.

Acknowledge All Alarms in Picture

Allows you to acknowledge all of the alarms in the current picture. When this check box is enabled,
the Picture Name field is disabled.

Alarm Horn Expert

Lets you configure an object to enable, disable, or silence the alarm horn. You can also toggle the
alarm horn between enable and disable, and prompt for horn status in run mode. This expert uses the
following subroutines:

• AlarmHornEnabled
• AlarmHornEnabledToggle
• AlarmHornSilence

Silence Horn

Silences the alarm horn for the current set of alarms.

Enable Horn

Enables the alarm horn.

Disable Horn

Disables the alarm horn.

Toggle Horn Enable

Toggles the alarm horn between enabled and disabled.

Prompt for Horn Status in Run Mode

Displays a dialog box in run mode that shows the current status of the Alarm Horn. You can also
silence the alarm horn from this dialog box.

396
Creating Pictures

Close Digital Tag Expert

Closes the specified digital tag. This expert uses the CloseDigitalPoint subroutine.

Data Source

Allows you to enter the digital tag you want to close (for example, set to 1). Click the browse button
(...) to view all of data sources available in your system. Click the down button to view the last data
sources you used. Click the Modify Database Block button to modify the selected data source. You can
add a database block by entering a new database block tag name and tabbing off this field. The Quick
Add dialog box appears and allows you to enter the appropriate values for the added block.

Use Database Tags

Allows you to close only the selected object’s digital blocks. To make an object selectable, open the
object’s property page and set the property ‘IsSelectable’ to True.

NOTE: Before the action can be performed in the runtime environment, you must first click on the
object to select it.

Close Picture Expert

Closes the specified picture. If there are multiple instances of a picture open, all instances of that
picture are closed. This expert uses the ClosePicture subroutine.

Picture Name

Allows you to specify the name of the picture you want to close. Click the browse button (...) to view
all of the pictures available in your iFIX picture path.

Browse (...)

Allows you to view all of the saved pictures in your iFIX picture path.

Use Alias

Allows you to use the picture’s alias name instead of its filename.

Picture Alias

Allows you to enter an optional alias for your picture instead of the name from the Picture Name field.

Close This Picture

Allows you to close the current picture in the runtime environment. When this check box is enabled,
the Picture Name field is disabled.

Disable Alarm Expert

Disables the alarm for the specified database tag. This expert uses the DisableAlarm subroutine.

397
Creating Pictures

Data Source

Allows you to enter the data source whose alarm you want to disable. Click the browse button (...) to
view all of data sources available in your system. Click the down button to view the last data sources
you used. Click the Modify Database Block button to modify the selected data source. You can add a
database block by entering a new database block tag name and tabbing off this field. The Quick Add
dialog box appears and allows you to enter the appropriate values for the added block.

Use Database Tags

Allows you to disable the alarms only on the selected object’s database tags. To make an object
selectable, open the object’s property page and set the property ‘IsSelectable’ to True.

NOTE: Before the action can be performed in the runtime environment, you must first click on the
object to select it.

Enable Alarm Expert

Enables the alarm for the specified database tag. This expert uses the EnableAlarm subroutine.

Data Source

Allows you to enter the data source whose alarm you want to enable. Click the browse button (...) to
view all of data sources available in your system. Click the down button to view the last data sources
you used. Click the Modify Database Block button to modify the selected data source. You can add a
database block by entering a new database block tag name and tabbing off this field. The Quick Add
dialog box appears and allows you to enter the appropriate values for the added block.

Use Database Tags

Allows you to enable the alarms only on the selected object’s database tags. To make an object
selectable, open the object’s property page and set the property ‘IsSelectable’ to True.

NOTE: Before the action can be performed in the runtime environment, you must first click on the
object to select it.

Locate Object Expert

Finds the object you specify. You can set it to find the object in one picture or in all open pictures. This
expert uses the LocateObject subroutine.

Object Name

Allows you to specify the name of the object that you want to locate.

Search Active Document

Allows you to search for the object in the currently active document.

Search All Documents

398
Creating Pictures

Allows you to search for the object in all open documents.

Open Digital Tag Expert

Opens the selected digital tag. This expert uses the OpenDigitalPoint subroutine.

Data Source

Allows you to enter the digital tag you want to open (for example, set to 0). Click the browse button
(...) to view all of data sources available in your system. Click the down button to view the last data
sources you used. Click the modify database block button to modify the selected data source. You can
add a database block by entering a new database block tag name and tabbing off this field. The Quick
Add dialog box appears and allows you to enter the appropriate values for the added block.

Use Database Tags

Allows you to open only the selected object’s digital blocks. To make an object selectable, open the
object’s property page and set the property ‘IsSelectable’ to True.

NOTE: Before the action can be performed in the runtime environment, you must first click on the
object to select it.

Open Picture Expert

Opens the specified picture. This expert uses the OpenPicture subroutine.

Picture Name

Allows you to specify the name of the picture you want to open. Click the browse button (...) to view
all of the pictures available in your iFIX picture path.

Picture Browse (...)

Allows you to view all of the saved pictures in your iFIX picture path.

Picture Alias

Allows you to enter an optional alias for your picture instead of the name from the Picture Name field.

Select Picture to Open in Run Mode

Allows you to be able to choose the picture to open in the runtime environment. When this check box
is enabled, the Picture Name field is disabled.

NOTE: This option is not available in the Scheduler.

Allow Multiple Instances of this Picture

Allows you to open a new instance of a picture, if the picture is already open in the WorkSpace when
you run the OpenPicture subroutine.

399
Creating Pictures

Top

Allows you to specify the topmost position that you want to open the picture. The default is 0.

Left

Allows you to specify the leftmost position that you want to open the picture. The default is 0.

Enable Tag Group Substitution

Allows you to be able to use tag group substitution invoked on the picture being opened.

Tag Group File

Allows you to specify the file to be used for the tag group substitution.

Select Tag Group file in Run Mode

Using this option will prompt the user for the tag group file to be used for the substitution after the
picture is opened. If both this and the select picture in run mode check box are selected, two prompts
will appear. First the picture and second the Tag Group File.

NOTE: This option is not available in the Scheduler.

Tag Group file Browse (…)

Allows you to specify the name of the Tag Group file you want to use for Tag Group Substitution.
Click the browse button (...) to view all of the Tag Group Files available in your iFIX picture path.

Tag Group Editor Button

This is the button directly to the right of the Tag Group Browse button (…). Allows you to launch the
Tag Group Editor. If a Tag Group File is specified, this file will be opened when the Tag Group Editor
is launched.

Ramp a Value Expert

Ramps the specified database tag by a percentage or actual value that you define. This expert uses the
RampValue subroutine.

Data Source

Allows you to enter the data source whose value you want to ramp. Click the browse button (...) to
view all of data sources available in your system. Click the down button to view the last data sources
you used. Click the Modify Database Block button to modify the selected data source. You can add a
database block by entering a new database block tag name and tabbing off this field. The Quick Add
dialog box appears and allows you to enter the appropriate values for the added block.

Ramp by Percentage

400
Creating Pictures

Allows you to ramp the value by a percentage.

Ramp by Value

Allows you to ramp the value by a set value.

Ramp Value

The value to ramp the database tag value by.

Use Database Tags

Allows you to ramp only the selected object’s database tag value. To make an object selectable, open
the object’s property page and set the property ‘IsSelectable’ to True.

NOTE: Before the action can be performed in the runtime environment, you must first click on the
object to select it.

Replace Picture Expert

Replaces the specified picture with another picture that you select. If the picture you select is already
open in the WorkSpace, another instance of that picture opens. This expert uses the ReplacePicture
subroutine.

Picture to Replace

Allows you to specify the name of a currently open picture you want to replace. Click the browse
button (...) to view all of the pictures available in your iFIX picture path.

Picture Browse (...)

Allows you to view all of the saved pictures in your iFIX picture path.

Picture Alias

Allows you to use the picture’s alias name instead of its filename.

Replace Current Picture in Run Mode

Allows you to replace the current picture in the runtime environment. When this check box is enabled,
the Picture to Replace field is disabled.

NOTE: This option is not available in the Scheduler.

New Picture File Name

The name of the new picture file to open. Click the browse button (...) to view all of the pictures
available in your iFIX picture path.

New Picture Browse (...)

401
Creating Pictures

Allows you to view all of the saved pictures in your iFIX picture path.

Enable Tag Group Substitution

Allows you to be able to use tag group substitution invoked on the picture being opened.

Tag Group File

Allows you to specify the file to be used for the tag group substitution.

Select Tag Group file in Run Mode

Using this option will prompt the user for the tag group file to be used for the substitution after the
picture is opened. If both this and the select picture in run mode check box are selected, two prompts
will appear. First the picture and second the Tag Group File.

NOTE: This option is not available in the Scheduler.

Tag Group file Browse (…)

Allows you to specify the name of the Tag Group file you want to use for Tag Group Substitution.
Click the browse button (...) to view all of the Tag Group Files available in your iFIX picture path.

Tag Group Editor Button

This is the button directly to the right of the Tag Group Browse button (…). Allows you to launch the
Tag Group Editor. If a Tag Group File is specified, this file will be opened when the Tag Group Editor
is launched.

Set Tag to Auto Expert

Sets the specified database tag to automatic. This expert uses the SetAuto subroutine.

Data Source

Allows you to enter the data source whose current mode you want to set to auto. Click the browse
button (...) to view all of data sources available in your system. Click the down button to view the last
data sources you used. Click the Modify Database Block button to modify the selected data source.
You can add a database block by entering a new database block tag name and tabbing off this field.
The Quick Add dialog box appears and allows you to enter the appropriate values for the added block.

Use Database Tags

Allows you to change the current mode to auto only on the selected object’s database tags. To make an
object selectable, open the object’s property page and set the property ‘IsSelectable’ to True.

NOTE: Before the action can be performed in the runtime environment, you must first click on the
object to select it.

402
Creating Pictures

Set Tag to Manual Expert

Sets the specified database tag to manual. This expert uses the SetManual subroutine.

Data Source

Allows you to enter the data source whose current mode you want to set to manual. Click the browse
button (...) to view all of data sources available in your system. Click the down button to view the last
data sources you used. Click the Modify Database Block button to modify the selected data source.
You can add a database block by entering a new database block tag name and tabbing off this field.
The Quick Add dialog box appears and allows you to enter the appropriate values for the added block.

Use Database Tags

Allows you to change the current mode to manual only on the selected object’s database tags. To make
an object selectable, open the object’s property page and set the property ‘IsSelectable’ to True.

NOTE: Before the action can be performed in the runtime environment, you must first click on the
object to select it.

Toggle Digital Tag Expert

Toggles the specified digital tag between open and closed. This expert uses the ToggleDigitalPoint
subroutine.

Data Source

Allows you to enter the digital tag you want to toggle (for example, from 0 to 1 and vice versa). Click
the browse button (...) to view all of data sources available in your system. Click the down button to
view the last data sources you used. Click the Modify Database Block button to modify the selected
data source. You can add a database block by entering a new database block tag name and tabbing off
this field. The Quick Add dialog box appears and allows you to enter the appropriate values for the
added block.

Use Database Tags

Allows you to toggle only the selected object’s digital blocks. To make an object selectable, open the
object’s property page and set the property ‘IsSelectable’ to True.

NOTE: Before the action can be performed in the runtime environment, you must first click on the
object to select it.

Toggle Scan Expert

Toggles the specified database tag on and off scan. This expert uses the ToggleScan subroutine.

Data Source

Allows you to enter the data source whose scan you want toggle on and off and vice versa. Click the
browse button (...) to view all of data sources available in your system. Click the down button to view
the last data sources you used. Click the Modify Database Block button to modify the selected data

403
Creating Pictures

source. You can add a database block by entering a new database block tag name and tabbing off this
field. The Quick Add dialog box appears and allows you to enter the appropriate values for the added
block.

Use Database Tags

Allows you to toggle the scan from on to off and vice versa only on the selected object’s database tags.
To make an object selectable, open the object’s property page and set the property ‘IsSelectable’ to
True.

NOTE: Before the action can be performed in the runtime environment, you must first click on the
object to select it.

Toggle Tag Between Auto and Manual Expert

Toggles the specified database tag between auto and manual. This expert uses the ToggleManual
subroutine.

Data Source

Allows you to enter the data source whose current mode you want to toggle from auto to manual and
vice versa. Click the browse button (...) to view all of data sources available in your system. Click the
down button to view the last data sources you used. Click the Modify Database Block button to modify
the selected data source. You can add a database block by entering a new database block tag name and
tabbing off this field. The Quick Add dialog box appears and allows you to enter the appropriate values
for the added block.

Use Database Tags

Allows you to toggle the current mode from auto to manual and vice versa only on the selected
object’s database tags. To make an object selectable, open the object’s property page and set the
property ‘IsSelectable’ to True.

NOTE: Before the action can be performed in the runtime environment, you must first click on the
object to select it.

Turn Tag Off Scan Expert

Turns the specified database tag off scan. This expert uses the OffScan subroutine.

Data Source

Allows you to enter the data source whose scan you want to turn off. Click the browse button (...) to
view all of data sources available in your system. Click the down button to view the last data sources
you used. Click the Modify Database Block button to modify the selected data source. You can add a
database block by entering a new database block tag name and tabbing off this field. The Quick Add
dialog box appears and allows you to enter the appropriate values for the added block.

Use Database Tags

Allows you to turn the scan off only the selected object’s database tags. To make an object selectable,

404
Creating Pictures

open the object’s property page and set the property ‘IsSelectable’ to True.

NOTE: Before the action can be performed in the runtime environment, you must first click on the
object to select it.

Turn Tag On Scan Expert

Turns the specified database tag on scan. This expert uses the OnScan subroutine.

Data Source

Allows you to enter the data source whose scan you want to turn on. Click the browse button (...) to
view all of data sources available in your system. Click the down button to view the last data sources
you used. Click the Modify Database Block button to modify the selected data source. You can add a
database block by entering a new database block tag name and tabbing off this field. The Quick Add
dialog box appears and allows you to enter the appropriate values for the added block.

Use Database Tags

Allows you to turn the scan on only the selected object’s database tags. To make an object selectable,
open the object’s property page and set the property ‘IsSelectable’ to True.

NOTE: Before the action can be performed in the runtime environment, you must first click on the
object to select it.

Write a Value Expert

Writes a value you select to the specified database tag. This expert uses the WriteValue subroutine.

Data Source

Allows you to enter the data source you want to write to. Click the browse button (...) to view all of the
data sources available in your system. Click the down button to view the last data sources you used.
Click the Modify Database Block button to modify the selected data source. You can add a database
block by entering a new database block tag name and tabbing off this field. The Quick Add dialog box
appears and allows you to enter the appropriate values for the added block.

Value

Allows you to specify the value to write to the current value of the database block. The default is 0.

Use Database Tags

Allows you to write only to the selected object’s database tag’s value. To make an object selectable,
open the object’s property page and set the property ‘IsSelectable’ to True.

NOTE: Before the action can be performed in the runtime environment, you must first click on the
object to select it.

Alpha-Numeric

405
Creating Pictures

Enabled when your database tag allows alphanumeric data entry.

Numeric

Enabled when your database tag only allows numeric data entry.

Data Entry Expert

Lets you select a data source and associate a data entry method for your object.

Data Source

Allows you to enter the data source that the new value will be written to. Click the browse button (...)
to view all of data sources available in your system. Click the down button to view the last data sources
you used. Click the modify database block button to modify the configuration of the selected data
source. You can add a database block by entering a new tag name and tabbing off this field. The Quick
Add dialog box appears and allows you to enter the appropriate values for the new block.

NOTE: If the tag requires electronic signatures, the data source will not update until the action is
successfully signed for.

Choose Data Entry Method

Item Description

Numeric/Alphanumeric Allows the operator to set a tag’s value by entering it directly at run
Entry time. You can configure the following options for the
Numeric/Alphanumeric Entry Method:
• Numeric Entry Option – Allows the operator to change a
tag’s value by entering it in a field in the picture. This allows
the operator to enter numeric values only.
• Alphanumeric Entry Option – Allows the operator to change
a tag’s value by entering it in a field in the picture. This allows
the operator to enter both numeric and alphanumeric values.
• Low Limit – Allows you to enter a value (up to seven decimal
places long) that represents the lowest value the operator can
enter. The valid range is dependent on the valid range of the
data source. The default value is 0.
• High Limit – Allows you to enter a value (up to seven decimal
places long) that represents the highest value the operator can
enter. The valid range is dependent on the valid range of the
data source. The default value is 1 for digital blocks, and 100
for analog blocks.
• Fetch Limits Check Box – Fetches the Low and High EGU
limits from the data source automatically at runtime. This
disables the high and low limit text boxes.

406
Creating Pictures

Item Description

Slider Entry Allows the operator to change a tag’s value by moving a slider control
or entering an integer value at run time. You can configure the
following options for the Slider Entry Method:
• Low Limit – Allows you to enter a value that represents the
lowest value the operator can enter. The valid range is
dependent on the valid range of the data source. The default
value is 0.
• High Limit – Allows you to enter a value that represents the
highest value the operator can enter. The valid range is
dependent on the valid range of the data source. The default
value is 1 for digital blocks, and 100 for analog blocks.
NOTE: The slider allows the operator to enter an integer value
or to move the slider to an integer value. If you would like the
operator to be able to enter a decimal value, use the
Numeric/Alphanumeric entry method.
• Fetch Limits Check Box – Fetches the Low and High EGU
limits from the data source automatically at runtime. This
disables the high and low limit textboxes.
• Write Continuously – Allows the operator to change the value
of the tag continuously in real time. As the operator moves the
slider control, the value of the tag updates both in the slider
control dialog box and at the data source.
NOTE: If the tag requires electronic signatures, the data
source will not update until the action is successfully signed
for, even if you select Write Continuously.

Pushbutton Entry Allows the operator to set a tag’s value to 0 or 1. This is mainly used
for Digital Output blocks. At run time, the operator is given two
pushbuttons. One button, when clicked, sets the value to 0, the other
sets the value to 1.
You can configure the following options for the Pushbutton Entry
Method:
• Open Button Title – Allows you to enter a title (up to 12
characters long) for the pushbutton that sets the value to 0.
• Close Button Title – Allows you to enter a title (up to 12
characters long) for the pushbutton that sets the value to 1.

407
Creating Pictures

Item Description

Ramp Entry Allows the operator to ramp a tag’s value up or down by two different
percentages at run time. You can configure the following options for
the Ramp Entry Method:
• Low Limit – Allows you to enter a value (up to seven decimal
places long) that represents the lowest value the operator can
enter. The valid range is dependent on the valid range of the
data source. The default value is 0.
• High Limit – Allows you to enter a value (up to seven decimal
places long) that represents the highest value the operator can
enter. The valid range is dependent on the valid range of the
data source. The default value is 1 for digital blocks and 100
for analog blocks.
• Fetch Limits Check Box – Fetches the Low and High EGU
limits from the data source automatically at runtime. This
disables the high and low limit textboxes.
• Ramp Percentage 1 – Allows you to enter a percentage that
defines how much to ramp a value. The operator can ramp the
tag’s value up or down.
• Ramp Percentage 2 – Allows you to enter a percentage that
defines how much to ramp a value. The operator can ramp the
tag’s value up or down.

Database Experts

The following list summarizes the Database Experts available in iFIX:

• Add Database Block


• Database Reload
• Database Save
• Modify Database Block Expert
• Read a Value Expert

Add Database Block Expert

Lets you add a new database block to your database without having to open Database Manager.

Data Source

Allows you to enter the tagname of the block you want to add to your database. Click the browse
button (...) to view all of data sources available in your system. Click the down button to view the last
data sources you used. Click the modify database block button to modify the selected data source. You
can add a database block by entering a new database block tag name and tabbing off this field. The
Quick Add dialog box appears and allows you to enter the appropriate values for the added block.

408
Creating Pictures

Add

Applies and saves any changes you have made and then closes this expert.

Database Reload

Lets you reload the current database without having to open Database Manager.

NOTE: The database in memory is replaced. No check is made to see if the database has been
modified.

Database Save

Lets you save your database without having to open Database Manager.

Modify Database Block Expert

Lets you modify a new database block in your database without having to open Database Manager.

Data Source

Allows you to enter the tagname of the block that you want to modify in your database. Click the
browse button (...) to view all of data sources available in your system. Click the down button to view
the last data sources you used. Click the modify database block button to modify the selected data
source. You can add a database block by entering a new database block tag name and tabbing off this
field. The Quick Add dialog box appears and allows you to enter the appropriate values for the added
block.

Modify

Applies and saves any changes you have made and then closes this expert.

Read a Value Expert

Retrieves the value from the specified database tag. This expert uses the ReadValue subroutine.

Data Source

Allows you to enter the data source you want to read the value from. Click the browse button (...) to
view all of data sources available in your system. Click the down button to view the last data sources
you used. Click the Modify Database Block button to modify the selected data source. You can add a
database block by entering a new database block tag name and tabbing off this field. The Quick Add
dialog box appears and allows you to enter the appropriate values for the added block.

Use Database Tags

Allows you to read only the selected object’s database tag’s value. To make an object selectable, open
the object’s property page and set the property ‘IsSelectable’ to True.

NOTE: Before the action can be performed in the runtime environment, you must first click on the
object to select it.

409
Creating Pictures

Picture Experts

The following list summarizes the Picture Experts available in iFIX:

• Export Key Macros


• Generate Picture Expert
• Refresh Rate Expert
• Resolve Files Expert
• Save Files with Thumbnail Preferences

Export Key Macros Expert

Lets you export all of the key macros in the selected object, picture, or user global page to a .CSV file.

Object

The object, picture, or user global page from which you want to export key macros. You cannot edit
this field from the expert.

Recursive (Include Children)

Lets you include key macros for all child objects. By default the Recursive (Include Children) check
box is selected.

File Name

The name of the file to which you want to save your key macros. Click the browse button (...) to view
all of the existing .CSV files. If you do not include a path, the .CSV file is saved to your Proficy iFIX
directory.

Browse (...)

Allows you to view all of the .CSV files in your iFIX picture path.

Append to File

If you enter or browse to an existing file name, select the Append to File check box to add key macros
to the end of an existing .CSV file.

Export

Click the Export button to export all of the key macros.

Generate Picture Expert

Generates a picture. This expert uses the GeneratePicture subroutine.

410
Creating Pictures

Window Location

Item Description

Top The preferred top window edge location of the picture being generated. The location
Unit, pixel or percent, is determined by the Pixels check box.

Left The preferred left window edge location of the picture being generated. The location
Unit, pixel or percent, is determined by the Pixels check box.

Height The preferred window height of the picture being generated. The dimension Unit, pixel
or percent, is determined by the Pixels check box.

Width The preferred window width of the picture being generated. The dimension Unit, pixel
or percent, is determined by the Pixels check box.

Pixels Determines whether the window location units are pixel or percent.

Window Styles

Item Description

Titlebar Defines whether or not the picture window has a title bar.

System Menu Defines whether or not the picture window has a system menu.

Resizable Defines whether or not the picture window is resizable using the mouse.

Always On Defines whether or not the picture window is always on top of other picture
Top windows.

Runtime Defines whether or not the picture is visible at runtime.


Visible

Background Color

Color button for defining the background color of the picture.

Picture Name

The name of the picture.

411
Creating Pictures

Refresh Rate Expert

Lets you change the refresh rate for a selected object or an entire picture. By default, the refresh rate is
set to 0.5.

You can modify the refresh rate to fast or slow values. For example, you might want to give faster
refresh rates to objects where you enter data sources.

Selected Objects

Select this option button to apply changes to the refresh rate for the selected object.

Entire Picture

Select this option button to apply changes to the refresh rate for the entire picture.

Tolerance

Specifies the current connection’s rounding factor. Typically, iFIX uses this value when comparing a
process value to a target value. If the process value is within the specified tolerance, iFIX assumes the
two values are equal. For example, if the target value is 1.0, the tolerance is 0.1, and the current value
of a data source is 0.8, iFIX does not assume the two values are equal because the data source is not
within the specified tolerance. The value must within the range 0.9 to 1.1 to equal the target value.

Deadband

Specifies the maximum fluctuation you want for the current connection before iFIX updates it. By
entering a dead band value, you create a +/- dead zone around the connection’s current value. As long
as the value is within this range, iFIX does not update the value. However, once the value exceeds the
maximum or minimum dead band, the value is updated.

Refresh Rate

Specifies the rate at which iFIX updates the current connection. iFIX updates the connection no faster
than the specified speed. For speeds less than 1 second, iFIX updates no faster than once every 50
milliseconds. For speeds greater than 60 seconds, iFIX updates no faster than once every 60 seconds.

Resolve Files Expert

Lets you resolve files before you enter into the Runtime environment. If you do not resolve your files
before switching to the Runtime environment, the Workspace queries the database and resolves all the
tag definitions. This can be a time consuming process that slows down opening a picture. By using the
Resolve Expert to resolve your files, you can improve the speed of opening pictures.

412
Creating Pictures

File Types

Item Description

Pictures Allows you to specify that you want to resolve pictures. Displayed in the list box
below will be the names of all the pictures saved in your iFIX picture path.

Schedules Allows you to specify that you want to resolve schedules. Displayed in the list box
below will be the names of all the schedules saved in your iFIX schedule path.

Directories

Item Description

Picture Directory Specifies the directory where the pictures that you want to resolve are
located.

Update Picture Files Refreshes the picture names in the file list if you change the path in the
Button Picture Directory field.

Schedule Directory Specifies the directory where the schedules that you want to resolve are
located.

Update Schedule Files Refreshes the schedule names in the file list if you change the path in
Button the Schedule Directory field.

Resolve Files

Allows you to select the files you want to resolve. Hold down the <CTRL> button to select multiple
files, or click the Select All button to select all of the files. The file names displayed are all of the files
saved in your iFIX picture and/or schedule directories.

Select All

Selects all of the files in the list box.

Deselect All

Deselects all of the files in the list box.

Save Files with Thumbnail Preference

Allows you to save thumbnail images of existing pictures. If you chose not to save existing pictures
(files) with thumbnails, you cannot view the images from the system tree.

413
Creating Pictures

File Types

Item Description

Pictures Populates the Save Files With list box with a list of all of the pictures (*.grf
files) saved in your iFIX picture path.

Dynamo Sets Populates the Save Files With list box with a list of all of the dynamo sets
(*.fds files) saved in your iFIX picture path.

Directories

Item Description

Pictures Specifies the directory where the pictures that you want to save with a
Directory thumbnail are located.

Refresh Picture Refreshes the picture names in the file list if you change the path in the
List Pictures Directories field.

Dynamo Sets Specifies the directory where the Dynamo sets that you want to save with a
Directory thumbnail are located.

Refresh Dynamo Refreshes the names of the Dynamo in the file list if you change the path in
Set List the Dynamo Sets Directories field.

Save Thumbnails

Allows you to save thumbnails with your files.

NOTE: This setting overrides the Save thumbnail setting on the Picture Preferences tab in the User
Preferences dialog box.

Save Files With

Allows you to select the files you want to save with a thumbnail. Hold down the <CTRL> button to
select multiple files, or click the Select All Button to select all of the files. The file names displayed are
all of the files saved in your iFIX picture and/or Dynamo sets directories.

Select All

Selects all of the files in the list box.

Deselect All

Deselects all of the files in the list box.

414
Creating Pictures

Report Experts

The following list summarizes the Reports Experts available in iFIX:

• Cross Reference Tool


• Print Crystal Report Expert
• Print Crystal Report (PrintReport Subroutine)

Cross Reference Tool

For more information, refer to "The Cross Reference Tool" chapter of the Mastering iFIX ebook.

Print Crystal Report Expert

Lets you select a Crystal Report, preview it, and print it.

Select Report

Allows you to open a Crystal Report for printing. You can only select reports that were created with
Crystal Reports.

Preview Report

Allows you to display a preview of the report. From the Preview window, you can print the report.

Report Name

Displays the full path of the selected report.

Print Crystal Report Expert (PrintReport Subroutine)

Prints the Crystal Report you specify. This expert uses the PrintReport subroutine.

Select Report

Allows you to search the iFIX picture path for the report you want to print.

Report Name

Displays the name of the selected report.

Print All

Allows you to print the entire selected report.

Print Selected Pages

Allows you to print only the pages of the selected report that you specify. This option is ignored in

415
Creating Pictures

Crystal XI.

From Page

Specifies the first page in a range of pages that you want to print only when you select Print Selected
Pages. This option is ignored in Crystal XI.

To Page

Specifies the last page in a range of pages that you want to print only when you select Print Selected
Pages. This option is ignored in Crystal XI.

Prompt User

Allows you to specify if you want to be prompted when the report is finished printing. This option is
ignored in Crystal XI.

Collate

Prints the report in the proper binding order. This option is ignored in Crystal XI.

Number of Copies

The number of copies that you want printed. This option is ignored in Crystal XI.

Create Objects

The following Create Objects are available from the toolbox in the iFIX WorkSpace:

• Variable Object
• Timer Object
• Event Object

Variable Object

You can insert a variable object in an iFIX picture. The variable object can belong to the current
picture or you can set it as a global object that is available to your entire system.

Variable Name

Allows you to specify the name of the new variable object. The variable name must consist of
alphanumeric values and must begin with a letter.

Variable Type

Allows you to specify the variable object’s type. Click the down button to view the list of types.

Assign Variable

416
Creating Pictures

Allows you to connect the variable object’s current value to a database block.

Data Source

Only enabled when the Assign Variable check box is checked, this allows you to enter the data source
to connect the variable to. Click the browse button (...) to view all of data sources available in your
system. Click the down button to view the last data sources you used. Click the modify database block
button to modify the selected data source. You can add a database block by entering a new database
block tag name and tabbing off this field. The Quick Add dialog box appears and allows you to enter
the appropriate values for the added block.

Local Variable

Allows you to define the variable as a local variable.

Global Variable

Allows you to define the variable as a global variable.

Timer Object

You can insert a timer object in an iFIX picture. The timer object performs an operation based on an
interval of time. You must enter VB code into the timer object’s event for anything to actually occur. If
you select the Edit Script button, VBE automatically launches and the cursor is positioned to the
timer’s OnTimeOut event. You can then enter code for the new timer object. If you select OK, the
timer object is created but you will have to go in at a later date and enter the VB code for the timer.

The timer object event that is invoked is the OnTimeOut event. The timer has four different types of
triggers for the OnTimeOut event:

• 0 – One Shot
• 1 – Continuous
• 2 – Daily
• 3 – Monthly

The default trigger type is Continuous. If you want to use a different trigger type, you will have to set
the timer’s TriggerType property to the correct number. For Example:

MyTimer.TriggerType = 0

Sets the timer trigger type to One-Shot.

Timer Name

Allows you to specify the name of the timer object.

Timer Description

Allows you to specify an optional description of the timer.

417
Creating Pictures

Start Time

Allows you to specify the start time for the Timer. The format must be in the following format:

hours: minutes: seconds

Interval

Allows you to specify the time interval in milliseconds.

Edit Script

Applies and saves changes you have made, launches VBE to the timer object’s OnTimeOut event, and
closes the expert.

Event Object

You can insert an event object in an iFIX picture. The event object performs an operation when its
event type is triggered. You must enter VB code into the object’s event for anything to actually to
occur. If you select the Edit Script button, VBE automatically launches and the cursor appears at the
event type that you select for the event object. You can then enter code for that event. If you select OK,
the event object is created but you will have to go in at a later date and enter the VB code for the event.

Event Source

Allows you to enter the data source to connect the event object to. Click the browse button (...) to view
all of data sources available in your system. Click the down button to view the last data sources you
used. Click the modify database block button to modify the selected data source. You can add a
database block by entering a new database block tag name and tabbing off this field. The Quick Add
dialog box appears and allows you to enter the appropriate values for the added block.

Event Properties Tab

The Event Properties tab contains the following items:

Item Description

Name Allows you to specify the name of the event object.

Description Allows you to specify an optional description of the event.

418
Creating Pictures

Item Description

Event Type Allows you to specify the type for the event object. The valid entry types
are:
• On Data Change – when the value of data source for the object
changes.
• On True – when the value of the data source for the object changes to
True.
• On False – when the value of the data source for the object changes
to False.
• While True – while the value of the data source for the object is True.
• While False – while the value of the data source for the object is
False.

Interval Specifies the time interval in milliseconds. Only enabled when the Event
Type is While True or While False.

Historical Properties Tab

The Historical Properties tab allows you to set the parameters for a query that fetches historical data
from Proficy Historian. The tab contains the following items:

NOTE: The following fields, with the exception of the Update Rate fields, are only available if you
select a Historical Mode other than Current Value.

Start Date
Item Description

Fixed Date Specifies whether to enter a specific start date for the query of the data
source.

Days Before Specifies whether to enter the number of days prior to today to fetch data
Now from Proficy Historian. For example, if you want to display data collected for
the data source two days ago, enter 2.

Start Time
Item Description

Fixed Time Specifies whether to designate a specific time to start. If selected, allows you
to enter an explicit start time.

419
Creating Pictures

Item Description

Lock Time Locks the Fixed Time, even if you change the time zone in the Date and
Time Properties dialog box in the Control Panel. This field is available only
when you designate a specific time to start using the Fixed Time field.

Duration Before Specifies whether to enter the duration prior to the current time to start. The
Now minimum duration is 0 seconds; the maximum is 23 hours, 59 minutes, and
59 seconds.

Time Zone
Item Description

Time Zone Allows you to select the time zone to associate with the start time. You can
select the client time (time zone for your computer), the server time (time
zone used by the Historian server), or the tag time (uses the time zone bias of
the tag, which is set in Historian). The default time zone is that of the client
machine. This field is available only when Historian is used.

Adjust for Adjusts the time if the zone you selected is experiencing daylight saving.
Daylight Savings This field works only if you selected the Automatically adjust clock for
Time daylight saving changes check box located on the Time Zone tab of the
Date/Time Properties dialog box in the Control Panel.

Historical Mode
• Allows you to determine how Proficy Analytic Client selects and fetches data from a
historical data source and, determines what each displayed value represents. The options are:
• Sample – The last valid value found, up to and including the start of the specified interval.
• Avg – The average of all valid data found during the specified interval.
• High – The highest valid data point value found during the specified interval.
• Low – The lowest valid data point value found during the specified interval.
• Interpolated – The data is interpreted by assuming that the line between two values is a
straight line. All points along that line are estimated except the starting point and the ending
point.
• Current Value – The current value of the data point.
IMPORTANT: The Current Value may update at a rate different from the rate set in the
Update Rate field. The update rate is not set solely by the rate entered in the Update Rate
field. It also depends on the collection rate, the rate for querying Historian, and the time
required to request an update from the Historian server and send it back to the client. As a
result, the time it takes to display the updates may be longer than anticipated. Additionally,
please be aware that the timestamp for this mode represents the timestamp from the Historian
server, not the client.

• Std Deviation – The standard deviation of all valid data found during the specified interval.

420
Creating Pictures

• Total – The total of all valid data found during the specified interval.

Duration

The duration determines the time range for the historical data source. The minimum duration for a
fetch is one second; the maximum is 365 days, 23 hours, 59 minutes, and 59 seconds.

Item Description

Days Allows you to enter the number of days. This field can be used in
conjunction with the other fields in this area.

Hours Allows you to enter the number of hours for the duration for the data
fetch query. This field can be used in conjunction with the other
fields in this area.

Mins Allows you to enter the number of minutes for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Secs Allows you to enter the number of seconds for the duration for the
data fetch query. This field can be used in conjunction with the other
fields in this area.

Update Rate

Allows you to specify the rate at which the data is updated. The default rate is five seconds. Zero is
permitted for a one-time fetch. The fastest update rate is five seconds, the slowest, 1:59:59.

Item Description

Hours Allows you to enter the number of hours for the rate of data update.
This field can be used in conjunction with the other fields in this
area.

Mins Allows you to enter the number of minutes for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Secs Allows you to enter the number of seconds for the rate of data
update. This field can be used in conjunction with the other fields in
this area.

Edit Script

Applies and saves changes you have made, launches VBE to the event type you selected for the event

421
Creating Pictures

object, and closes the expert.

Using Dynamos
As you develop a system of operator displays, you may want to use an object you created for one
picture in several other pictures. iFIX offers a convenient way to save custom-built objects and
application scripts into a higher-level reusable object set, called Dynamo objects. Dynamo objects
allow you to customize your pictures by creating a consistent design across your operator displays.

iFIX provides a wide selection of pre-built Dynamos that use the most common shapes and objects in
the process automation industry today. You can also build and save your own Dynamos in the
WorkSpace using the Build Dynamo Wizard, and then dragging the new Dynamo into a set for use in
other pictures. Using existing Dynamo Sets can expedite your picture development, thereby increasing
the performance of your entire operation.

For more information on Dynamo objects, refer to Working with Dynamo Objects chapter.

Using Global Subroutines


Global subroutines are tools in VBA that allow you to modify a script to perform a global task, such as
opening a picture. All of iFIX's Experts use global subroutines, which reside in the FactoryGlobals.fxg
file. For more information on global subroutines, and how to use them to modify scripting functions,
refer to the Writing Scripts manual.

Performing Functions with Toolbars


Toolbars let you quickly perform tasks in your picture by merely clicking a button. There are many
types of toolbars in iFIX to help you expedite your picture development. For more information on
toolbars, refer to the Getting Started and Developing Objects in Pictures sections.

Controlling Object Properties


Properties are perhaps the most significant feature of objects. They define how your objects perform,
and therefore dictate how well your pictures accomplish your process goals. They allow the user to
define and control such object attributes as size, shape, edge and background fill, rotation angle, and
scaling. This chapter describes how you work with these properties to maximize the effect of your
pictures.

• How Properties Work


• Defining and Modifying Properties

422
Creating Pictures

How Properties Work


When you create pictures, you can add a variety of objects, such as charts, text, and bitmaps, or
geometric shapes, such as rectangles, polygons, and ovals. Each object contains properties – specific
attributes assigned to the object that make it unique.

Properties make objects either visible or invisible. Visible objects are those that contain properties you
can see, such as a color or style fill. These are attributes that you can control in several ways. Invisible
objects, also called animation objects, are those that are added to objects during animation, such as
rotation, and scaling. When you animate an object, invisible objects are added to your pictures
automatically, without your control, and displayed in the system tree. Both visible and invisible
properties can be modified using either the Properties window or the Animations dialog box.

NOTE: Read-only properties cannot be modified directly. For example, to change the bottom edge of
a rectangle (a read-only property), you would have to change the rectangle's height property to affect
the edge property.

Defining and Modifying Properties


You can modify properties by:

• Entering property values manually


• Animating the object
• Writing a script to change the property's value

These methods are discussed in the following sections.

Entering Property Values Manually


Property values give you precise control over an object's properties, and lets you set a property to an
exact limit.

Entering Property Values with the Properties Window

One way you can manually enter a property value for a visible or invisible object or animation is with
the Properties window, shown in the following figure. This window displays the object properties you
can modify (read-only properties do not appear). Because the window is modeless, it stays on your
screen as you change property values or select other objects to modify. This allows you to view
properties as you make other changes to your picture.

423
Creating Pictures

To use the Properties window, enter property values in the window's right-hand column and press
Enter. Some properties let you select a value from a list instead of entering it. In these cases, when you
select the cell, a drop-down list box appears. To hide the Properties Window, right-click a cell in the
window and select Hide from the pop-up menu.

Entering Property Values with the Advanced Animations Dialog Box

You can also change property values with the Advanced Animations dialog box. When you access the
Advanced Animations dialog box, the selected object's properties are displayed. Only the properties
that accept data appear in the dialog box; read-only properties do not appear. To display read-only
properties, use the Visual Basic Editor. For more information on using the Visual Basic Editor, refer to
the Writing Scripts manual.

The Advanced Animations dialog box groups similar properties together into categories. Each category
is represented by a tab in the dialog box. Certain tabs appear only if the selected object has the
associated properties. For example, the Text tab appears only for text objects; only text objects have
font and font style properties.

Each tab displays the following information:

• The property name.


• The property value.
• Whether the property is being used in an animation.

The following table describes each Animation dialog box tab.

424
Creating Pictures

Animation Dialog Box Tabs

The tab... Allows you to configure...

General The object's name, description, and behavior at run-time, as well as a help context
ID.

Visible Whether the object is visible.

Size The height, the width, the percentage to resize the object by, the direction to resize
the object in, and whether the object is uniformly resized.

Misc The object's layer in a picture, as well as numerous properties specific to certain
object types..

Position The vertical and horizontal position of the object.

Color The foreground color, background color, and edge color of the object, as well as
edge and grid properties specific to a chart object.

Style The fill style, the edge style, and the line width, as well as properties specific to
rounded rectangle, pipe, and chart objects. Not all objects have a fill style. Refer to
the Coloring and Styling Objects section for more information.

Rotate The angle of rotation of an object and the unit of measure for the angles. Ovals,
rounded rectangles, and charts do not have rotation properties.

Text The font size, the font style, the font name, and the text displayed by the object.
Text properties apply only to text objects.

Behavior The behavior of the object's sizing, scaling, alignment, and text properties. There
are also properties specific to chart objects.

Gradient The fade color, fade type, gradient angle and blend percentage to use for the
gradient fill. Pipe objects do not have fade type and gradient angle properties.

Fill The direction to fill the object, and the percentage to fill the object.

Appearance The background and foreground colors , and the background style and caption of a
button object.

Picture The position of the picture.

Variable The variable type, and the initial and current values of a variable object.

425
Creating Pictures

For a complete list of properties that you can animate, and the objects the properties apply to, refer to
Object Properties.

NOTE: When entering R, G, B values in the Advanced Animations dialog box, the values must be
enclosed in parentheses.

For more detail on the Animations dialog box, refer to the Animating Object Properties chapter.

Animating Objects to Modify Properties


Visible objects can be animated, providing an advanced level of control and customization to your
pictures. Although what you see in the iFIX WorkSpace is an object performing an action, it is the
object's properties that are animated, not the object itself. You animate object properties using the
Animations dialog box. This dialog box, available for every object in iFIX, takes client data, finds its
source, and then delivers output based on that source.

For more detailed information on animating objects, refer to the Animating Object Properties chapter.

Writing Scripts to Modify Properties


Visual Basic scripts provide developers with maximum flexibility and control of their objects.
Although it is not required that you know VBA to work with properties, it is a powerful technology for
those who want to use it. Every function on the Animations dialog box is also available through VBA.

For more information on using scripts to customize objects, refer to the Writing Scripts manual. For
information on iFIX methods, properties, and events, refer to the iFIX Automation Interfaces Help file.

Animating Object Properties


Whether you have developed one or one hundred pictures using iFIX, you probably have discovered
that creating these pictures can involve much more than just drawing a static oval and linking it to a
process database. Thanks in great part to the power of animation, you can make your pictures perform
in ways that you have never seen before. iFIX gives you the ability to acquire and interpret data so that
your pictures perform as you expect them to.

This chapter describes animations, and how they give you the power to design custom pictures and
dynamic displays.

• How Animations Work


• Animating an Object's Properties: Overview
• Defining Data Sources
• Animating Properties Using Color
• Animating Object Properties with Visual Basic
• Animating a Grouped Object
• Modifying Animations
• Deleting Animations

426
Creating Pictures

• Building Expressions

How Animations Work


Animations are objects. When you animate the property of an object, animation objects are added to
the object that contains that property. Although the result you see in the Proficy iFIX WorkSpace is an
object performing a visible, functional action, it is the object's properties that are animated, not the
object itself.

• Understanding Data Sources


• Accessing the Animations Dialog Box and Using Common Animations
• Understanding Animation Objects
• Animating an Object's Properties
• Using Experts to Animate Objects

Understanding Data Sources


When you animate an object, the values of one or more of its properties change. Inherent to each
property is the location where it received data. This location is called a data source. Typically, a data
source identifies a process value or another object's property. However, a data source can be any of the
following:

• Real-time data from an I/O address.


• An iFIX tag.
• The value of a picture or object property.
• A global variable.
• A predefined expression.
• A VBA event.
• OPC servers.
• Proficy Historian.

In order to animate an object, you must connect to one of these data sources. In some cases, you can
make a direct connection to a data source. In other instances, such as with Animation Experts, you
connect an object to an animation object, and then connect the animation object to the data source.

NOTE: Because animations change object properties, you can only use a property in an animation if
the property accepts data. Read-only properties cannot be used. You can display the available
properties by opening the Animations dialog box or the Properties window.

To specify a data source, you enter the appropriate syntax in the Data Source field of the Animations
dialog box. Then, by specifying a conversion method for the data, you tell iFIX how you want to
process the data so that you can achieve the desired effect. For more information on selecting data
sources, and specifying syntax and conversion types, refer to the Defining Data Sources section.

427
Creating Pictures

Accessing the Animations Dialog Box and Using Common Animations


When you are ready to animate an object, select a way to animate it from the following table:

From the... Do this...

Expert Select the appropriate Expert from the Experts toolbar, the Task Wizard, or the
Toolbox (Classic and Ribbon views), or from the Tools tab, in the Animations
Group, or by clicking the Animations Dialog Box Launcher (Ribbon view).

Basic Double-click an object or select Animations from the right-click menu.


Animation
For some objects, such as OCXs, Alarm Summaries, Data links, and charts, you
dialog box
must right-click the object and select Animations from the pop-up menu.
For more information refer to the Using the Animations Dialog Box section.

Advanced Click the Configure button on the Basic Animations dialog or, if configured,
Animations the Advanced Animations dialog appears when you double-click the object.
dialog box
For some objects, such as OCXs, Alarm Summaries, Data links, and charts, you
must right-click the object and select Animations from the pop-up menu.
Click the tab that contains the property you want to use. You can find a
description of the dialog box tabs in the Entering Property Values Manually
section. The Animations dialog box is available for every object (and every
property of that object) in iFIX. For a description of what each property does,
refer to the Property Description in the Properties area.

The following table summarizes some of the more commonly-used animations.

Commonly-Used Properties for Animations

Animating the On the Lets you...


property... tab...

HorizontalPosition Position Move an object horizontally across the screen.

VerticalPosition Position Move an object vertically across the screen.

HorizontalFillPercentage Fill Horizontally fill an object based on a percentage.


For example, if the value of the property is 50, the
object is filled 50%.

VerticalFillPercentage Fill Vertically fill an object based on a percentage. For


example, if the value of the property is 50, the
object is filled 50%.

428
Creating Pictures

Commonly-Used Properties for Animations

Animating the On the Lets you...


property... tab...

HorizontalFillDirection Fill Horizontally fill an object from the left, right, or


center.

VerticalFillDirection Fill Vertically fill an object from the top, bottom, or


center.

RotationAngle Rotate Define the amount to rotate an object. Ovals,


rounded rectangles, and charts do not have rotation
properties.

UniformScale Size Proportionally scale an object.

Height Size Scale the height of an object. The width remains


unchanged.

Width Size Scale the width of an object. The height remains


unchanged.

HorizontalScalePercentage Size Horizontally scale an object based on a percentage.


For example, if the value of the property is 50, the
object is scaled 50%.

VerticalScalePercentage Size Vertically scale an object based on a percentage. For


example, if the value of the property is 50, the
object is scaled 50%.

ForegroundColor Color Change the foreground color of an object. Lines,


polylines, and bitmaps do not have foreground color
properties.

Visibility Visible Make an object visible or invisible.

Caption (text objects only) Text Change the text displayed by a text object.

Fade Color Gradient Change the fade color of an object.

Fade Type Gradient Change the fade type of an object.

429
Creating Pictures

Animating a Size Property

You can fill an object based on an analog input value or rotate an object based on a SIM or SM2
register value. You can also dynamically scale objects by animating the height and/or width of an
object. When scaling objects in this manner, be careful of the data source you select. For example, if
you animate a rectangle's height based on a variable's current value (data source is
User.Variable1.CurrentValue), the object is resized in the configuration environment to match the
variable's value. Since the WorkSpace is in the configuration environment, the value is set to zero and
the rectangle is resized to look like a horizontal line. When you switch to the run-time environment,
the variable receives new values based on the variable's configuration and the size of the rectangle
changes. When you switch back to the configuration environment, the rectangle appears as a line again
because the variable's value is reset to zero.

The same effect results using the Scale Expert and you select the current value of a variable as the data
source.

Understanding Animation Objects


Animation objects come in three forms:

• Linear – Accepts any input data from a process database, and returns a corresponding output
value (Example: Animating the foreground color of an oval). Refer to the Understanding
Signal Conditioning section of the Building a SCADA System manual for more detail on how
the Linear object works.
• Lookup – Accepts any input data from a process database and presents that value to each
entry in a lookup table to determine whether that value is in a range. If that value matches the
range, the Lookup object then returns the corresponding output value. If the value does not
match the range, it moves to the next row in the table and returns that output value (Example:
Blinking the color of a rectangle based on a toggle rate).
• Format – Accepts any input data from a database and returns a string as an output value
(Example: Creating a caption for a text object).

The most common animation object is the Lookup object, which is used primarily to apply color. This
application is further described in the Animating Properties Using Color section. For more information
on animation object properties, refer to the iFIX Automation Interfaces Help file.

Most of your connections to data sources are through animation objects. However, you do not need an
animation object to animate an object. For example, if another object contains a property that provides
the desired animation, you can connect to that property. This is because every object has the ability to
perform permanent connections from one of its properties to another. Essentially, the animation object
only transforms data from the property of one object to the property of another object.

Animating an Object's Properties


The steps that follow provide an overview of how to animate an object's properties.

To animate the properties of any object in a picture:

1. Select an object.
2. In Classic view, click the appropriate Expert on the Experts toolbar, the Task Wizard, or the
Basic Animation dialog box.

430
Creating Pictures

-Or-
In Ribbon view, on the Tools tab, in the Animations group, click Animations and choose the
appropriate Expert.
3. In the Data Source field, enter the data source you want to use to dynamically set property
values.
4. If appropriate, select the type of data conversion you want to use and complete the related
fields.
5. If appropriate, on the Historical Properties tab, select the start date and time, the time zone,
the historical mode, duration, and update rate.

For a list of commonly-used properties, refer to the Commonly-Used Properties for Animations table
in the Understanding Data Sources section.

Using Experts to Animate Objects


An easy way to animate objects is to use Experts. To access an Expert, click the button on the Experts
toolbar that corresponds to the task you want to perform (Classic view), or on the Tool tab, in the
Animations group, click Animations, and then choose the appropriate Expert (Ribbon view). Some
Experts are only available using the Task Wizard. For example, if you want to animate the edge color
of an oval, select the Edge Color Expert from the Animation category of the Task Wizard.

To learn more about the fields on the Expert, click the Help button on the Expert. For more
information on iFIX Experts and the Task Wizard, refer to the Using Process Assistants to Expedite
Pictures chapter.

Additionally, you can access some Experts from the Basic Animation dialog box. To open the Basic
Animation dialog box, select Animations from the object's right-click menu.

Defining Data Sources


Both the Basic and Advanced Animations dialog boxes group similar properties together into
categories. In the Basic Animation dialog box, the Animation Experts are grouped by Color,
Movement, Fill, Visibility, and Command. There is also an Additional section that allows you to
configure all animations using the Advanced Animations dialog box.

In the Advanced Animations dialog box, each category is represented by a tab. You can select one or
more properties from these tabs as needed. For example, suppose you want to horizontally fill a tank
and change the foreground color simultaneously. To do this, you would select the
HorizontalFillPercentage property on the Fill tab and the ForegroundColor property on the Color tab.

Regardless of whether you select one property or seventeen, you must connect to a data source for each
property so that the necessary data can be retrieved and processed. The data source for one property
can be completely different than that of another property. For more information about data sources,
refer to the following topics:

• Entering Data Source Syntax


• Selecting Data Sources from a List
• Filtering Data Sources
• Specifying Data Conversions

431
Creating Pictures

• Classifying Animations Errors

Entering Data Source Syntax


To select a data source, enter its name in the Data Source field of the Animations dialog box, using the
required syntax that tells iFIX what type of source contains the data. To assist you with the data source
and its syntax, iFIX provides intelligent defaults, which allows the software to automatically fetch a
data source based on an incomplete entry. For example, if your data source is an iFIX tag, and you
enter AI1 in the Data Source field, iFIX connects to a .F_CV field in the FIX32 database on the local
SCADA server.

The following table lists the syntax for each data source type.

Data Source Syntax

When the data Use the syntax...


source is...

An iFIX tag Fix32.node.tag.field


where:
node is the name of the iFIX SCADA server you are connecting to;
tag is the database tag; and
field is the database field.

A Proficy Historian Hist.collector.tag


tag
where:
Hist is the alias of the Proficy Historian Server;
collector is the name of the Proficy Historian collector you are connecting
to; and
tag is the database tag.

An I/O address server.io_address


where:
server is the name of the OPC server; and
io_address is the I/O address of that server.

An object property picture.object.property


in a picture
where:
picture is the picture that contains the object;
object is the object in the picture; and
property is the object's property name.

432
Creating Pictures

Data Source Syntax

When the data Use the syntax...


source is...

A picture property picture.property


where:
picture is the picture that contains the property; and
property is the picture's property name.

A VBA event N/A. When you animate objects with a VBA script, the script handles all of
the animation by directly changing the appropriate properties.

A global variable xxx.variable


where:
xxx is the global object; and
variable is the name of the variable within the global object.

An expression value operator value


where:
value is the primary value;
operator is an operator relating to both values; and
value is the secondary value.
For more information on creating expressions, refer to the Building
Expressions section.

Some third-party OPC servers require characters in their syntax that are not parsable by the Expression
Editor. If the OPC server syntax uses any characters that do not appear in the list of valid characters
below, the server syntax must be enclosed within single quotes (`) as follows:

ServerName.'Device:MyAddress'

In this example, ServerName is the name used to identify the third-party OPC server, and single quotes
surround Device:MyAddress, the part of the syntax that contains the unparsable character(s). If an
unparsable character is not enclosed in single quotes, an error message displays.

Valid Characters: all alphanumeric characters, hyphen (-), underscore (_), exclamation point (!), less
than (<), greater than (>), pound (#), percent (%), dollar sign ($), ampersand (&), forward slash (/),
backslash (\), pipe (|), opening bracket ([), closing bracket (]), and single quote (`).

NOTE: You will have to remove the added single quotes from any VBA scripts for operation to
succeed.

If a single quote (`) or a backslash (\) is a literal part of the addressing string syntax, it must be
preceded by a backslash (\) in order for the character to be passed to the server as part of the address.

433
Creating Pictures

Refer to the documentation supplied with third-party OPC servers for information on server-specific
syntax.

Selecting Data Sources from a List


In addition to entering a data source directly, you can also select one from a list using the Expression
Builder dialog box. This dialog box lets you select the data source you want to use, or create
expressions by combining two or more data sources together.

You can select data sources from the Expression Builder dialog box by clicking the tab you want and
selecting the source from the list. For example, to select an iFIX tag AI1 in the SCADA server
SCADA01:

1. Click the FIX32 Database tab.


2. In the Node Names list, select SCADA01.
3. In the Tag Names list, select the desired tag.

If an existing object contains properties, you can also select those properties from a list. For example,
to select the Width property of a picture window:

1. Click the Pictures tab.


2. Select the picture you want to modify.
3. In the Properties list, click the WindowWidth property.

As you make selections from the Expression Builder, the text in the lower window changes to match
your selections, enabling you to create an expression. If applicable, the tolerance, deadband, or refresh
rate also appear in this window. The section Building Expressions describes how to create expressions,
and describes the components of the Expression Builder.

Filtering Data Sources


Using the Expression Builder dialog box, you can filter data sources to search for specific data at any
level. This is a helpful tool for eliminating data that you don't need to access.

To filter data sources, enter the data source string in the Filter field and click Filter. (For the FIX32
Database tabbed page, the Filter button appears as an F.) To select from the list box, click the down
arrow to the right of the field. You can also search for wildcard entries by using an asterisk in the field.
For example, to view all of the F_ fields for blocks, enter F_* in the Filter field.

To find all occurrences starting with a particular string, enter String* in the Filter field, where String is
the text that you want to search for. For example, enter AI* to find all tags starting with AI.

To find all occurrences which contain a particular string, enter *String* in the Filter field, where String
is the text that you want to search for. For example, enter *motor* to find all tags containing the string
"motor" in the name.

You can also search for a string with a single unknown character by using the question mark wildcard
(?). For example, the search string TAN? locates the string TANK.

434
Creating Pictures

Specifying Data Conversions


After you enter a data source, you need to select the type of data conversion to apply to the data from
that source. A data conversion defines how the incoming data should be processed or formatted so that
your objects behave according to the properties you have assigned to them. It also defines how the
outgoing data calculates errors, what those errors mean, and how they are conveyed to operators.

The following table lists the types of data conversions you can specify in the Data Conversion area of
the Animations dialog box.

Data Conversion Types

The data Lets you specify...


conversion...

Range A range of values on which to animate an object. You can enter the minimum and
maximum input and output values. When you enter a range of values, the input
values are mapped into the output values, allowing you to apply linear signal
conditioning. For information on signal conditioning, refer to the Understanding
Signal Conditioning section in the Building a SCADA System manual.
You can also specify if input is allowed to the range.

Table A lookup table. Using a lookup table is like using a spreadsheet, as the following
figure shows.

When completing a lookup table, you can define a single lookup value or a range
of lookup values for each row in the table. In addition, you need to enter an
output value. Depending on the selected property, this value may be a color,
string, fill style, edge style, or numeric value. When the incoming value from the
data source matches an entry in the table, it changes the selected property to
match the output value.
The buttons below the lookup table help you modify the appearance of the table.
You can insert, modify, or delete rows in the table by clicking the appropriate
buttons. Or, by clicking the Advanced button, you can assign toggle values, a
shared lookup table, a toggle rate, and a tolerance value for exact match
thresholds. For more information on these advanced options, refer to the
Animating Properties Using Color and Classifying Animations Errors sections.
For more information on using the toggle rate, refer to the Using Blinking
Thresholds section.

435
Creating Pictures

Data Conversion Types

The data Lets you specify...


conversion...

Format How to format the data. You can specify:


• How to justify the data.
• How many lines to display.
• How many characters appear on each line.
• Whether data entry is allowed and, if so, if it can be entered in-place.
For more information on formatting options, refer to the Adding Data Links
section.

Object No signal conditioning. The data received from the data source is processed or
displayed at that exact value.

Sample Table Data Conversion

The following table data conversion has been set up for the FillStyle property of an oval.

Low High Value

0 25 0-Solid

26 50 2-Horizontal

51 75 3-Vertical

76 100 1-Hollow

Using these definitions, the oval fill style appears as shown in the following table.

When the incoming value is... The oval appears...

Less than 25

436
Creating Pictures

When the incoming value is... The oval appears...

Between 26 to 50

Between 51 to 75

Between 76 to 100

Sample Table Data Conversions

Classifying Animations Errors


iFIX lets you define how any animation behaves if an error occurs. Using the Output Error Mode field
of the Advanced Animations dialog box, you determine how the output data appears to operators.
From this field you select the desired error classification based on the specified data conversion
method. The output data appears to the user as the specified error type when the default value is
reached.

The following table details the error output you can define for a particular data conversion type.

Error Handling Based on Data Conversion Types

The data Lets you define Which gives you the following options...
conversion... errors using...

Range • Current Output • Minimum and Maximum Input


• Error Table • Minimum and Maximum Output
• Minimum Value • Use Offset
• Maximum Value • Fetch Input Range on Open

Table • Current Output • Exact Match (and tolerance)


• Error Table • Range Comparison

437
Creating Pictures

Error Handling Based on Data Conversion Types

The data Lets you define Which gives you the following options...
conversion... errors using...

Format • Current Output Display messages in a Data link for any of the
following errors:
• Error Table
• Communication Failure
• Data Uncertain
• Unknown Failure
• Device Failure
• Out of Space
• Configuration Error
• Custom messages for any of the above
as entered in User Preferences.

Object • Exact Value No output classification. The data received from


the data source is processed or displayed at that
exact value.

For more information on the output fields, refer to the Animating Properties Using Color section.

NOTE: Error handling in iFIX is global, not per-object. You can choose the behavior of a single
object based on an error condition; however, because of performance reasons, the error classification
is applied system-wide.

Specifying OPC Errors

iFIX provides predefined error defaults that you can customize for your needs. The Animations Data
Error Defaults tabbed page of the User Preferences dialog box contains the default OPC error strings
and values that display when an error occurs. The tabbed page is divided into three areas:

• Linear Animation Object Defaults – Contains six numeric, OPC failure strings based on the
Linear object using a Range data conversion.
• Format Animation Object Defaults – Contains six OPC strings based on the Format object
using a Format data conversion. The error string is displayed in a Data link.
• Lookup Animation Object Defaults – Contains six numeric table, string table, and color
table entries based on the Lookup object using a Table data conversion.

The error defaults are global, resulting in better system performance. You can modify the defaults to
make error messages more intuitive for your specific process. For example, when a device error
occurs, Data links display by default the text "XXXX". To create a more intuitive message for device
error messages in the future, enter an alternate string in the Device field of the Format Animation
Object Defaults area. For example:

Device is not working!

438
Creating Pictures

By changing the defaults, you can configure error messages with the text and color that you want,
thereby customizing your error handling scheme. For more information on the fields of the Animations
Error Defaults tabbed page, refer to the online help.

Animating Properties Using Color


Applying color to your objects is a visually effective method of using animations in your process
environment. One example would be changing the foreground, edge, and background color of objects
to give your operators visual cues about the process values or alarm conditions.

When animating the color of an object, you must define a color threshold. A color threshold is either a
color and value combination or a color and alarm combination. You can define the following types of
color thresholds:

• Color by analog value


• Color by digital value
• Color by current alarm
• Color by latched alarm

For each type of threshold, specify one or more rows in a lookup table. When coloring by analog
value, each row in the lookup table defines a color and either a single value or a range of values that
you want to associate with the color. When coloring by alarm, each row defines the color and the
associated alarm.

NOTE: Any time a data source changes, iFIX refreshes the color tables. To avoid problems when
modifying a color table, be certain that all your changes are correct.

The following sections show you how to define color thresholds using the methods introduced above.
Refer to the Specifying Data Conversions section for information on how to use lookup tables.

• Color by analog value


• Color by digital value
• Color by current alarm
• Color by latched alarm
• Using Blinking Thresholds
• Using Shared Thresholds

Color by Analog Value


When you color objects by their analog value, you enter a key value or a range of key values and
assign them to a color. When the data source value falls within the threshold, the object changes to that
color.

For example, let's say a factory controls a tank of water for cleaning and manufacturing purposes.
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. The
thresholds for this tank are shown in the following figure.

439
Creating Pictures

When operators see the tank change color, they can also determine whether the pumps have turned on
(blue) or off (red). To color an object by analog value, select the Range Comparison option button on
the Color Expert and edit the minimum and maximum values of the lookup table as desired.

For more detailed information on animating objects, refer to the Animating Object Properties chapter.

Color by Digital Value


Color thresholds can be useful with digital values, too. Suppose you assign the following thresholds to
an object that monitors the status of a pump. The data source for this object is a digital I/O point in an
OPC server.

When the value is not in the table, the object is colored black.

Using digital values lets you define thresholds based on an exact match and a tolerance. When you
specify an exact match, you declare that you only want to change an object's color when the data
source exactly matches the threshold value you have assigned to that color, plus or minus a specified
tolerance (the allowable deviation from that value). Tolerances only apply to table conversions where
the configuration is set to exact match.

440
Creating Pictures

NOTE: How the output data is displayed depends on how you classify error handling in the Advanced
Animations dialog box. For more information, refer to the Classifying Animations Errors section.

To color an object by digital value, select the Exact match option button on the Color Expert and
assign digital values to the colors you want to use. If desired, enter a tolerance value in the Exact
Match Tolerance field. The default tolerance is 0. If you are using VBA, set the Tolerance property of
the Lookup object.

Color by Current Alarm


Depending on your data source, an animated object can receive a variety of alarms. You can set up
thresholds to visually alert an operator that a data source is in a particular alarm state. By using color
by current alarm, the object always displays the color assigned to the current alarm.

When the data source is an iFIX process database, tag alarms can also provide data on more than just
control limits. For example, suppose that the speed at which the tank fills is crucial to the process. To
effectively monitor this condition, you could set up another threshold using the Rate of Change alarm
state.

For more information on coloring by current alarms, refer to the Implementing Alarms and Messages
manual.

Color by Latched Alarm


When a data source 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.

For more information on coloring by latched alarms, refer to the Implementing Alarms and Messages
manual.

Using Blinking Thresholds


In addition to a color threshold, you can define a blinking threshold for current and digital values. The
blinking threshold replaces the object's foreground, background, or edge color when the assigned value
is reached or the assigned alarm occurs. The color of the object blinks between the threshold color and
the background color.

To assign a blinking threshold using the Color Expert, double-click the Blink To cell in the row of a
value and select the color you want to assign to the threshold. You can access the Color Expert via the
toolbox or by selecting the Color Animation button in the Basic Animation dialog box. Using the
Advanced Animations dialog box, you can also define blinking threshold values using the New Level
dialog box. Click the Toggle option button in the Output area and enter the output value of the blinking
threshold in the field.

Blinking on a New Alarm

You can also set a selected object to blink every time the data source registers a new alarm. The object
stops blinking when the alarm is acknowledged. This setting overrides the blinking settings defined for
individual thresholds. With the Blink on New Alarm check box selected, you can set the color for the
blink by clicking the Blink on New Alarm Color check box.

For examples of how to use blinking thresholds in your alarming scheme, refer to the Implementing

441
Creating Pictures

Alarms and Messages manual.

Blinking Rate

The rate at which objects blink is defined in Advanced Lookup Options dialog box. This dialog box
also lets you select the source and value of the toggle rate that causes the blinking action. The
configurable blink speed allows you to set the threshold to blink at a set rate, in seconds. To set the
blink speed, enter a value in the Toggle Rate field.

For more information on advanced options with the lookup table, refer to the Specifying Data
Conversions section.

Using Shared Thresholds


If a lookup object is shared (in either a global data source or in another picture), you can use its color
table to define a threshold.

On the Color Expert, click the Use Shared Table check box and then, in the Shared Table field, enter
the data source for the shared color table. Click the Browse button to make a selection from a Picture
or a Global data source available in your system.

You can open the Color Expert by clicking on the Color Expert button in the toolbox, or by selecting a
specific Color Animation in the Basic Animation dialog box.

Animating Object Properties with Visual Basic


You can animate object properties by selecting the properties you want to dynamically change,
selecting a data source, and defining how the data will be processed (the data conversion). To create
custom animations, you can write a VBA script. To write a script for an object, right-click the object
and select Edit Script from the pop-up menu. This starts the Visual Basic Editor.

When you write a script to animate an object, the script must define:

• The object that you want to animate.


• The properties to dynamically change.
• The parameters to use when processing data.

The parameters you specify vary depending on the type of data conversion you want to use. For
example, if you want to use a Table data conversion, the parameters are cells of the table. Alternately,
if you want to use a Range data conversion, the parameters are the minimum and maximum input and
output values.

After defining these items in your script, you must connect the data source to the object you want to
animate.

To connect the data source to the object you want to animate:

1. Connect the data source to the input of the data conversion.


2. Connect the output of the data conversion to the object you want to animate.

442
Creating Pictures

For more information on writing scripts that animate the properties of an object, refer to the Writing
Scripts manual.

Animating a Grouped Object


In addition to animating individual objects, you can also animate grouped objects. Animating a
grouped object is similar to animating any other object, except that the objects inside the group can
have independent animations. To animate a grouped object, select the group and animate the properties
you wish using the appropriate Expert. The properties of the group are changed to reflect your entries.

To animate the member objects of a group, drill down to the object in the group that you want to
animate and complete the necessary entries in the appropriate Expert. If the group has an animated
property, and one of its member objects has the same property animated in a different way, the most
recent animation takes precedence. For example, if you animate the group's ForegroundColor property,
and then in turn animate a nested object's ForegroundColor property, you will see the nested object's
animation when you run the picture.

You can also use the Basic Animation dialog box to animate a grouped object or member objects in a
group. For more information on working with grouped objects and their members including drilling
down, refer to the Creating Complex Objects section.

Modifying Animations
There may be times when you must change the animations you create. Modifying animated objects is
similar to creating them. The main difference is that when you open either of the Animation dialog
boxes, any properties that have been dynamically changed are indicated by a selected check box
(Basic) or an arrow on its corresponding tab (Advanced), as the following figures show.

Modifying a Fill Animation in the Basic Animation dialog box

443
Creating Pictures

To modify an existing Animation in the Basic Animation dialog box, click the Expert button associated
with that animation. This opens the Expert dialog box and allows you to make changes to that
animation. Clearing the check box deletes the existing animation.

Modifying a Fill Animation in the Advanced Animations Dialog Box

To modify an existing animation in the Advanced Animations dialog box, select the tab containing the
property you want to change and click Animate. Perform any required modifications and click OK.

Deleting Animations
When you no longer need an animation, you can delete the animation or the object that contains the
animation. Deleting animations removes the animation from the property to which it was assigned.

CAUTION: Deleting an animation permanently destroys your selections. Do not delete an animation

444
Creating Pictures

unless you understand the effect it will have on your objects and pictures.

Building Expressions
As described earlier, there are many data sources you can use to animate the properties of an object.
Another valuable option is to use an expression. An expression is a data value or multiple data values
connected with one or more operators. Using the Expression Builder, you can create specific
expressions that access data from unique sources. This gives you more flexibility when assigning
dynamic object properties.

You can use the following data values in an expression:

• Numeric constants.
• Strings enclosed in quotation marks (" ").
• iFIX tags.
• Proficy Historian tags.
• OPC server I/O addresses.
• Picture properties.
• Object properties.

Using the Expression Builder Dialog Box


The Expression Builder dialog box is your tool for creating expressions. This dialog box lets you select
the data source you want to use or create expressions by combining two or more data sources together.

The Expression Builder dialog box is divided into multiple tabs, which are described in the following
table.

Expression Builder Tabs

The Displays...
tab...

FIX Any SCADA servers to which your computer is communicating. Use a data server
Database as a data source when you want to animate an object or an iFIX tag. The tabbed page
includes Node Names, Tag Names, and Field Names windows to help you specify
your selections.

Pictures The pictures residing on your computer. The Objects window displays each object in
the picture. Use one of these objects as a data source when you want to animate an
object with a picture or object property value. The Properties window displays the
properties for the selected object so that you can select a specific property.

Globals Global data sources. The tabbed page includes Objects and Properties windows to
help you specify your selections.

445
Creating Pictures

Expression Builder Tabs

The Displays...
tab...

Data Third party OPC servers. Data source connections to data servers fire at run-time
Servers only.

Alarm A filtered list of SCADA servers that your computer is communicating with. The
Counters tabbed page includes the Alarm AreaTag Names window that displays a filtered list
of alarm areas on the selected SCADA and alarm counter tags. The Alarm Counter
Field Names window displays a filtered list of fields available from the selected
area.

Proficy Any Proficy Historian Server to which your computer is communicating. Use a
Historian Proficy Historian Server data source when you want to animate an object. The
tabbed page includes Node Names and Tag Names windows to help you specify
your selections.

When you select a data source, it appears in the field at the bottom of the dialog box. You can add
strings by typing them into the field. You can also add operators and numeric constants by typing them
into the field, or by clicking the operator buttons on the right side of the dialog box while the cursor is
in the field. To display the operator buttons, click the Mathematical Functions button.

NOTE: If you have created an object-to-object connection, such as the fill percentage of one tank to
another, or created a connection to a data source, the animated properties display in boldface in the
Properties list of the Pictures tab for the selected object.

The Filter fields and buttons allow you to filter data sources. For more information, refer to the
Filtering Data Sources section. Additionally, you can specify a tolerance, deadband, and refresh rate in
the appropriate fields. These functions are described later in this section.

For more information on selecting data sources from the Expression Builder dialog box, including
examples, refer to the Selecting Data Sources from a List section.

Customizing the Expression Builder


You can customize the Expression Builder by showing or hiding specific tabs. To do this, you modify
properties in VBA. Refer to the following table.

Showing or Hiding Tabs in the Expression Builder

To show or hide the tab... Set this property to TRUE or FALSE, respectively...

FIX32 Database ShowDatabaseTab

Pictures ShowPicturesTab

446
Creating Pictures

Showing or Hiding Tabs in the Expression Builder

To show or hide the tab... Set this property to TRUE or FALSE, respectively...

Globals ShowGlobalsTab

Data Servers ShowDataServersTab

Proficy Historian ShowProficyHistorianTab

For more information on modifying VBA scripts, refer to the Writing Scripts manual.

Specifying Tolerance, Deadband, and Refresh Rate


The Expression Builder also lets you define the tolerance, deadband, and refresh rate of a data source
connection. These three fields, located at the bottom-right of the dialog box, are defined as follows:

• Tolerance – the allowable deviation from a value when evaluating an expression.


• Deadband – how much the current data value can deviate from the most recent data value.
• Refresh Rate – how often the data source connection updates, in seconds.

All three of these characteristics apply to a particular connection; they are not global. For example, if
you connect the object RECT2.PROP1 to source FIX32.NODE.TAG.F_CV, you can specify different
refresh rates for the rectangles properties, even though the object references the same database tag.

To enter a refresh rate enter a rate, in seconds, in the Refresh Rate field. Refer to the following table to
determine how fast the connections will update based on the refresh rate you enter.

Refresh Rates

If you choose a refresh rate Then the data source connection will update no faster
of... than...

0.0 Once per 50 milliseconds.

0.1 (default) Five times per second.

1.0 Once per second.

5.0 Once per 5 seconds.

10.0 Once per 10 seconds.

15.0 Once per 15 seconds.

447
Creating Pictures

30.0 Once per 30 seconds.

60.0 Once per 60 seconds.

To enter a tolerance or deadband limit, enter a value in the Tolerance or Deadband fields, respectively.

NOTE: The Tolerance setting in the Expression Builder is for the expression only. To set the tolerance
for an Exact Match Lookup Table, you must use the Animations Dialog box. For more information,
refer to the Classifying Animations Errors section.

For more information on refresh rate, refer to the Increasing the Refresh Rate section in the Setting up
the Environment manual.

The Importance of Syntax


Since the Expression Builder relies on specific data values input by users, the manner in which the data
is presented is crucial. This is why it is important for you to know the proper syntax of your
expressions. One of the most common errors in building expressions is that the expression has been
entered incorrectly. Throughout this chapter, the correct syntax for specific entries is described with
specific examples.

Syntax: Required Format for Expressions

Expressions require the following syntax:

value

value operator value

where value is a constant or a data source and operator is a mathematical, relational, or boolean
symbol.

Operators: Applying the Glue to Your Expressions


The operators in expressions are symbols that not only let you connect data values together but also
determine how the values work together to convert the data source. The following types of operators
are permitted in your expressions:

• Mathematical operators
• Relational operators
• Boolean operators

To access these operators, click the Mathematical Functions button on the Expression Builder dialog
box and select them from the expanded operator keypad. You can also add numerals to your
expressions by clicking the appropriate numeral in the Numeric area.

In addition to these operators, the Expression Builder allows you to select a set of functions. These
functions are not shown on the expanded operator keypad and must be entered manually. The
following table summarizes the available functions and their syntax. All trigonometric functions
require values entered in radians.

448
Creating Pictures

When you select the The Expression Builder calculates Syntax


function... the...

ABS Absolute value of number. ABS (number)

ACOS Arccosine of number. ACOS (number)

ASIN Arcsine of number. ASIN (number)

ATAN Arctangent of number. ATAN (number)

COS Cosine of number. COS (number)

EXP Anti-log of number. EXP (number)

INT Integer value of number. INT (number)

LOG Natural log of number. LOG (number)

LOG10 Base 10 log of number. LOG10


(number)

SIN Sine of number. SIN (number)

SQRT Square root of the number. SQRT (number)

TAN Tangent of number. TAN (number)

For more information on these functions, refer to the Working with Functions section in the Creating
Recipes manual.

The operators and their associated syntax are described in the following sections with examples of
each.

Mathematical Operators

Mathematical operators let you add, subtract, multiply, and divide two or more values. Using these
operators, you can create a mathematical expression. You can also change the operator's order of
precedence in the mathematical expression by using parentheses.

Mathematical expressions are evaluated by determining the data value on each side of the
mathematical operator and then performing the mathematical operation. For example, consider the
following expression:

5+Fix32.SCADA1.AI1.F_CV

449
Creating Pictures

When this expression is evaluated, the current value of the iFIX tag AI1 is determined and then it is
added to 5. If the value is 50, for example, the expression evaluates to 55.

Because of the way the expressions are evaluated, the values on both sides of an operator must both be
either a numeric value or a string, but not one of each. You cannot, for example, add the descriptive
string "Pump1 for Main Water Supply" to the data source Fix32.SCADA1.AI1.F_CV. However, you
can add that same string to the data source Fix32.SCADA1.AI1.A_DESC.

Syntax: Mathematical Operators

The syntax for each mathematical operator in provided in the following table:

Operator Syntax

+ (addition) value + value

- (subtraction) value -value

* (multiplication) value * value

/ (division) value / value

( (left parenthesis) (value + value) * value

) (right parenthesis) (value + value) * value

Example: Mathematical Operators

Consider the following expressions:

Expression Value

5+Fix32.SCADA1.AI1.F_CV The current value of AI1 plus 5. If AI5 is 100,


the expression evaluates to 105.

"5"+Fix32.SCADA1.AI1.A_CV The current value of AI1 and the string "5"


concatenated together. If AI1 is 100, the
expression evaluates to 1005.

Fix32.SCADA1.AI5.F_CV*OPC1.N35 The product of the iFIX tag AI1 and the I/O
address N35. If the tag's value is 100, and the I/O
point's value is 50, the expression evaluates to
5000.

450
Creating Pictures

Expression Value

Alarms.Rect1.Width/Alarms.Rect1.Height The quotient of Rect1's width divided by its


height. If both properties are equal, the
expression evaluates to 1.

Alarms.Pump5.HorizontalFillPercentage + The value of Pump5's HorizontalFillPercentage


Fix32.SCADA1.AI1.F_CV property plus the current value of the iFIX tag
AI1. If the HorizontalFillPercentage property's
value is 50 and AI1's value is 100, the expression
evaluates to 150.

Alarms.Prompt.Caption+"Enter tagname" The value of Prompt's Caption property and the


string "Enter tagname" concatenated together. If
the Caption property value is null, then the string
evaluates to "Enter tagname".

Relational Operators

Relational operators let you compare two values to determine how they relate to each other.

Syntax: Relational Operators

The syntax for relational operators is shown in the following table.

Operator Syntax

= (equal to) value = value

<> (not equal to) value <> value

> (greater than) value > value

< (less than) value < value

>= (greater than or equal to) value >= value

<= (less than or equal to) value <= value

Example: Relational Operators

Relational operators are commonly used in boolean conditions to determine if part or all of an
expression is true or false. An example:

Fix32.SCADA1.AI1.F_CV = 50

451
Creating Pictures

When this expression is evaluated, the value of the left side of the operator is compared to the right
side. If the two values match, the condition is true. Otherwise, it is false.

You can compare any data value to any other data value. For example, consider the following boolean
conditions:

Condition Value

3>1 TRUE

5 = "Enter tagname" FALSE

Fix32.SCADA1.AI1.F_CV = 100 TRUE, if the current value of AI1 is 100.

Fix32.SCADA1.AI1.F_CV >= TRUE, if the current value of AI1 is greater than


OPC1.N35 OPC1.N35.

Alarms.Rect1.Width = TRUE, if Rect1 is a square.


Alarms.Rect1.Height

Alarms.Prompt.Caption ="Enter TRUE, if the value of Prompt's Caption property is


tagname" "Enter tagname".

Boolean Operators

Boolean operators let you connect two or more boolean conditions.

Syntax: Boolean Operators

The syntax for each operator is listed in the following table.

Operator Syntax

AND condition AND condition

OR condition OR condition

NOT NOT condition

Example: AND Operator

The AND operator is used when both parts of the expression must be true. For example, suppose that
in a factory, several ingredients need to be mixed together for up to 5 minutes while the mixture is
being heated to 200 degrees. When both of these conditions (5 minutes and 200 degrees) are true, you
want to create an expression to display the following text:

452
Creating Pictures

Mixing...

To accomplish these tasks, a rectangle object, MixTime, has been set up as a progress bar to show the
time elapsed as a percentage. A text object, Temperature, has also been animated to show the current
temperature.

Next, a text object needs to be created for the Mixing message. This object needs its Visible property
animated with the following expression:

Mixing.MixTime.VerticalFillPercentage < 100 AND


Mixing.Temperature.AnimatedCaption.InputValue < 200

This expression is true only when the mixing time is less than 5 minutes and the temperature is less
than 200 degrees. When either condition is no longer true, the mixer stops and the message is no longer
visible.

Example: OR Operator

Now suppose you want to display instructions to the operator about the next stage of the process when
mixing stops. To do this, you can create another text object and animate its Visible property with the
following expression:

Mixing.MixTime.VerticalFillPercentage >= 100 OR


Mixing.Temperature.AnimatedCaption.InputValue >= 200

Example: NOT Operator

Unlike AND or OR, the NOT operator does not connect two boolean conditions. Instead, it inverts the
value of a condition. For example, if the following condition is true:

Alarms.Tank3.HorizontalFillPercentage>80

then the following condition is false:

NOT Alarms.Tank3.HorizontalFillPercentage>80

Changing the Order of Precedence

When evaluating an expression, iFIX defines an order of precedence for each operator. The order of
precedence determines which operators (and the values on each side of the operator) are evaluated
first. The following table lists each operator from highest to lowest precedence.

Operator Precedence

( ), NOT, - (unary minus) 1

*, /, AND 2

+, - (subtraction), OR 3

453
Creating Pictures

Operator Precedence

<, <=, >, >= 4

=, <> 5

You can change the order of precedence by enclosing an expression in parentheses. Parentheses are
regarded with the highest priority; thus all expressions within the parentheses are evaluated first.
Operators with the same precedence are evaluated in the order they appear from left to right.

Example: Changing the Order of Precedence

For example, consider the following expressions:

Expression Value

6+4/2 8

(6+4)/2 5

Bit Operators for Expressions

The GETBIT function allows for bit-level manipulations of data. The GETBIT function has the
following syntax:

GETBIT ( nBitNumber,, nNumBits, uiSourceToken )

The source token is promoted to the closest unsigned integer data representation that maintains its
length. The corresponding zero based range of bits (bit zero is the most significant bit) is extracted
from the source and an integer is returned which corresponds to the value these bits define if they
existed starting in the least significant bit of their own integer. For example:

GETBIT ( 8, 4,N.T.F)

IMPORTANT: Be aware that you must have spaces in between the operator and operands in
expressions.

Modifying Expressions
You can modify an expression by editing the entry in the Data Source field of either the Expert, or the
Animations or Expression Builder dialog boxes. We recommend using the Expression Builder, as you
can more easily enter new data sources by selecting or typing them into the field. To delete an
expression, right-click the expression and select Delete.

454
Creating Pictures

How Do I...
In the Proficy iFIX WorkSpace, you can perform the following steps with animations, properties, and
expressions:

• Accessing the Animation Dialog Boxes


• Selecting a Data Source from a List
• Working with Basic Animations
• Working with Advanced Animations
• Modifying Properties
• Using Expressions
• Data Conversions, Error Defaults, and Threshold Tables

Accessing the Animation Dialog Boxes


iFIX provides the following options for configuring Animations:

• Experts – In the iFIX WorkSpace, select the appropriate Expert from the Experts toolbar, or
the Task Wizard (Classic or Ribbon views) or on the Tools tab, in the Animations group,
Animations list (Ribbon view). If the Toolbox is enabled, click the button on the Toolbox.
• Basic Animation dialog box – In the iFIX WorkSpace, double-click an object or select
Animations from the right-click menu. This dialog box contains many commonly used
animations. For a listing of all animations available to an object, use the Advanced
Animations dialog box.
• Advanced Animations dialog box – Click the Configure button on the Basic Animation
dialog box; or, if configured, the Advanced Animations dialog box appears when you double-
click an object in the iFIX WorkSpace or select Animations from the right-click menu.
NOTE: To configure the Advanced Animations dialog box to always appear when you
double-click an object or select Animations from the right-click menu, clear the Always Show
Basic Animation dialog box option on the Picture Preferences Tab of the User Preferences
dialog box.

Selecting a Data Source from a List

To select a data source from a list:

1. In the iFIX WorkSpace, select an object.


2. Open either of the Animation dialog boxes.
• If you are using the Advanced Animations dialog box, select the tab containing the
property you want to change and select the applicable Animate check box. The dialog
box expands to display the applicable animation properties.
• If you are using the Basic Animation dialog box, select the appropriate Animation
Expert button.
3. Click the Browse button to the right of the Data Source field.

455
Creating Pictures

4. Click the tab containing the data source.


5. Select the I/O point, tag, or property you want to use as a data source and click OK. The
selected data source appears in the Data Source field.

Working with Basic Animations Overview


In the Proficy iFIX WorkSpace, you can perform the following steps with basic animations:

• Creating an Animation Using the Basic Animation Dialog Box


• Modifying an Animation in the Basic Animation Dialog Box
• Animating Grouped Objects
• Deleting an Animation in the Basic Animation Dialog Box

Creating an Animation Using the Basic Animation Dialog Box

To create an animation using the Basic Animation dialog box:

1. In the iFIX WorkSpace, select the object you want to animate.


2. Select Animations from the right-click menu. The Basic Animation dialog box appears.
NOTE: The Basic Animation dialog box appears the first time you access Animations in iFIX.
To configure the Advanced Animations dialog box to always open when you double-click an
object or select Animations from the right-click menu, clear the Always Show Basic
Animation dialog box option in the Picture Preferences Tab of the User Preferences dialog
box.

3. Select the check box of the animation property that you want to add to your object. The
associated Animation Expert dialog box opens.
If the Animation that you want to add is not listed in the Basic Animation dialog box, click
the Configure button to open the Advanced Animations dialog box. The Advanced
Animations dialog box contains all available animations for the selected object. For more
information on creating objects in the Advanced Animation dialog box, refer to the Working
with Advanced Animations Overview.

4. Enter the configuration information for the Animation Expert.


The added Animation property is now selected in the Basic Animation dialog box.

5. Add any additional animations or click OK to close the dialog box.

Modifying an Animation in the Basic Animation Dialog Box

To modify an animation using the Basic Animation dialog box:

1. In the iFIX WorkSpace, right-click an object and select Animations. The Basic Animation
dialog box appears.
2. Click the button of the animation property that you want to modify. The associated Animation
Expert dialog box opens.

456
Creating Pictures

IMPORTANT: If you select the check box, you will delete your animation. To modify an
animation, you must click the button to access the Expert dialog box.

3. Make any required modifications to the animation and click OK to return to the Basic
Animation dialog box.

Animating Grouped Objects

To animate a grouped object:

1. In the iFIX WorkSpace, right-click the group you want to animate, and select Animations.
The Basic Animation dialog box appears.
2. Click the appropriate Expert button.
3. Enter the configuration information for the Animation Expert.

Deleting an Animation in the Basic Animation Dialog Box

To delete an animation using the Basic Animation dialog box:

1. In the iFIX WorkSpace, select Animations from the object’s right-click menu. The Basic
Animation dialog box appears. If a property contains an animation, the check box is selected.
2. Clear the check box to delete the animation.
Based on your User Preferences settings, you may be prompted to acknowledge this action by
clicking Yes. To configure whether or not you are prompted upon deleting an animation,
modify the Prompt on Delete option in the Picture Preferences tab of the User Preferences
dialog box.

IMPORTANT: To delete all animations you configured in the Advanced Animations dialog
box, clear the Advanced Animations check box. If you have assigned multiple animations from
the Advanced Animations dialog box, be aware that you will be deleting all of those
animations. If you have multiple animations assigned in the Advanced Animations dialog box,
it is recommended that you delete them separately within the Advanced Animations dialog box
itself.

Working with Advanced Animations Overview


In the Proficy iFIX WorkSpace, you can perform the following steps with advanced animations:

• Modifying Animations in the Advanced Animations Dialog Box


• Deleting Animations in the Advanced Animations Dialog Box
• Displaying the Advanced Animations Dialog Box

Modifying an Animation in the Advanced Animations Dialog Box

To modify an animation using the Advanced Animations dialog box:

1. In the iFIX WorkSpace, double-click the object you want to modify. The Basic Animation

457
Creating Pictures

dialog box appears.


2. Click the Configure button. The Advanced Animations dialog box appears.
3. Select the tab containing the property you want to change.
4. If necessary, in the Data Source field, change the data source you want to use.
5. If appropriate, on the Animation Properties tab, change the type of data conversion you want
and complete the related fields.
6. If appropriate, on the Historical Properties tab, change the start date, start time, time zone,
historical mode, duration, or update rate.

Deleting Animations in the Advanced Animations Dialog Box

To delete an animation using the Advanced Animations dialog box:

1. In the iFIX WorkSpace, double-click the object you want to modify. The Basic Animation
dialog box appears.
2. Click the Configure button. The Advanced Animations dialog box appears.
3. Select the tab containing the animation you want to delete. Look for tabs with arrows to help
you navigate to properties that have been animated.
4. Clear the Animate check box for the property that contains the animation you want to delete.
5. Click OK to save your changes and close the dialog box.

Entering a Property Value in the Advanced Animations Dialog Box

To enter a property value in the Advanced Animations dialog box:

1. In the iFIX WorkSpace, double-click the object you want to modify. The Basic Animation
dialog box appears.
NOTE: For some objects, you must right-click the object and select Animations from the pop-
up menu.

2. Click Configure. The Advanced Animations dialog box appears.


3. Click the tab containing the property you want to change.
4. In the row containing the property you want to change, click the Animate button. The
Dynamic Settings area appears.
5. In the Dynamic Settings area, enter the desired value(s) for the property.

Modifying Properties
In the Proficy iFIX WorkSpace, you can perform the following steps with property modifications:

• Changing Properties Using the Property Window


• Entering Highlight Timeout Intervals

458
Creating Pictures

Changing Properties Using the Property Window

To change a property using the Properties window:

1. In the iFIX WorkSpace, right-click the object you want to modify and choose Property
Window. The Properties dialog box appears.
2. Locate the property you want to change in the left column of the window and double-click its
row.
3. If the property lets you enter a new value, enter that value and press Enter. After you enter the
new value, the object changes to reflect your entry.
NOTE: If the property displays a drop-down list, select the new value from the list. If the
property is a Boolean value, double-clicking will automatically toggle the value. If the
property displays an ellipsis button, click the button to open the appropriate dialog box where
you can make the required changes.

Entering Highlight Timeout Intervals

To enter a Highlight Timeout Interval:

1. In Classic view, in the iFIX WorkSpace, from the WorkSpace menu, select User Preferences.
-Or-
In Ribbon view, on the Home tab, in the WorkSpace group, click Settings, and then click User
Preferences.
2. Click the Picture Preferences tab.
3. In the Window Properties area, select the Click and Stick Enabled check box.
4. In the Properties area, enter a value in the Highlight Timeout Interval field to define the time
period. The value must be entered in seconds.

Using Expressions Overview


In the Proficy iFIX WorkSpace, you can perform the following steps with expressions:

• Filtering Data Sources


• Creating Expressions
• Modifying Expressions
• Deleting Expressions

Filtering Data Sources

To filter data sources:

1. In the iFIX WorkSpace, double-click an object. The Basic Animation dialog box appears.
2. Open the Advanced Animations dialog box, or click the appropriate Expert in the Basic
Animation dialog box.

459
Creating Pictures

If you are using the Advanced Animations dialog box, select the tab containing the property
you want to change and select the applicable Animate check box. The dialog box expands to
display the applicable animation properties.
3. Click the Browse button to the right of the Data Source field.
4. Click the appropriate tab containing the data source you want.
5. In the Filter field, enter a data source name or select one from the drop-down list. If desired,
use the asterisk wildcard character to search for data source names.
6. Click Filter or, if you are on the FIX Database or Alarm Counters tabbed page, click F.

Creating Expressions

To create an expression:

1. In the iFIX WorkSpace, double-click an object. The Basic Animation dialog box appears.
2. Click the Configure button. The Advanced Animations dialog box appears.
3. Select the tab containing the property you want to change and select the appropriate Animate
check box.
4. Click the Browse button to the right of the Data Source field.
5. Click the appropriate tab and select the data source you want.
6. If you want to combine another data source in the expression, click the Mathematical
Functions button and enter an operator.

Modifying Expressions

To modify an expression:

1. In the iFIX WorkSpace, double-click an object. The Basic Animation dialog box appears.
2. Click the Configure button. The Advanced Animations dialog box appears.
3. Select the tab containing the property you want to change and select the appropriate Animate
check box.
4. Click the Browse button to the right of the Data Source field.
5. Select the desired data source.
6. If you want to combine another data source in the expression, click the Mathematical
Functions button and enter an operator using the expanded keypad.
7. Select another data source or enter a numeric value, string, or Boolean condition. Repeat steps
4 to 6 until you create the desired expression.

Deleting Expressions

To delete an expression:

1. In the iFIX WorkSpace, double-click an object. The Basic Animation dialog box appears.
2. Click the Configure button. The Advanced Animations dialog box appears.

460
Creating Pictures

3. Select the tab containing the animation you want to modify.


4. Select the property that contains the animation that you want to modify.
5. Select the desired data source.
6. Highlight the expression and press Delete.

Utilizing Data Conversions, Error Defaults, and Threshold Tables


In the Proficy iFIX WorkSpace, you can perform the following steps with data conversions, error
defaults and threshold tables:

• Completing a Range Data Conversion


• Completing a Table Data Conversion
• Completing a Format Data Conversion
• Modifying Animations Error Defaults
• Assigning Blinking Thresholds
• Setting the Blink Speed

Completing a Range Data Conversion

To complete a range data conversion:

1. In the iFIX WorkSpace, double-click the object you want to modify. The Basic Animation
dialog box appears.
2. Click Configure. The Advanced Animations dialog box appears.
3. Click the tab containing the property you want to change, and select the Animate check box
next to that property.
4. From the Data Conversion list, select Range.
5. In the Minimum Input and Minimum Output fields, enter the minimum input and output
values, as needed.
6. In the Maximum Input and Maximum Output fields, enter the maximum input and output
values, as needed.
7. If you want the selected object to read a value from the data source when the picture opens,
select the Fetch Input Range on Open check box.
8. If you want to perform an animation on an object in its current position, not in the absolute
position specified by the logical unit value in the Minimum Output field, select the Use Offset
check box.

Completing Table Data Conversion

To complete a table data conversion:

1. In the iFIX WorkSpace, double-click the object you want to modify. The Basic Animation
dialog box appears.

461
Creating Pictures

2. Click Configure. The Advanced Animations dialog box appears.


3. Click the tab containing the property you want to change, and select the Animate check box
next to that property.
4. From the Data Conversion list, select Table. Make sure you have the correct number of rows
in the table. If you do not, click the Insert Row button to add a row. If you have too many
rows, click the Delete Row button to remove a row from the table.
5. Select either the Range Comparison option (to define a range of values for each row in the
lookup table) or the Exact Match option (to define a single digital value for each row in the
lookup table).
6. Do one of the following:
• Enter the high and low values for each row in the lookup table.
• Enter a single lookup value in the Value column for each row in the lookup table.
7. Enter or select the comparison value for each row in the lookup table by doing one of the
following:
• If you want to define a color, double-click the color you want to modify and select a
new one from the Color dialog box when it appears.
• If you want to enter a string or a numeric value, enter it into the cell.
• If you want to select a value from a list, click the down arrow button to display the
list of options and select the value you want.
8. If you want the object to blink, enter a blink value for each row in the lookup table.

Completing a Format Data Conversion

To complete a format data conversion:

1. In the iFIX WorkSpace, double-click the object you want to modify. The Basic Animation
dialog box appears.
2. Click Configure. The Advanced Animations dialog box appears.
3. Click the tab containing the property you want to change, and select the Animate check box
next to that property.
4. From the Data Conversion list, select Format.
5. In the Type field, specify whether you want to write data to the database. In-Place allows the
user to write to the database.
6. Select the Confirm check box if you want operators to confirm each entry they make.
7. From the Justify list, select how to justify the data on the screen.
8. From the Type list, select the type of data.
9. If the data type is alphanumeric, enter the number of lines to display in the Lines field and the
number of characters per line in the Chars/Line field. If the data type is numeric, enter a value
of 0 to 7 in the Whole Digits field and 0 to 5 in the Decimal field.
10. Select the Raw Format check box if you want to display data in its raw format.

462
Creating Pictures

Modifying Animations Error Defaults

To modify animations error defaults:

1. In Classic view, in the iFIX WorkSpace, from the WorkSpace menu, select User Preferences.
-Or-
In Ribbon view, on the Home tab, in the WorkSpace group, click Settings, and then click User
Preferences.
2. Click the Animations Data Error Defaults tab.
3. Enter the desired numeric value or text string based on the following guidelines:
• For range conversions, enter a numeric string in the appropriate fields of the Linear
Animation Object Defaults area.
• For format conversions, enter a text string in the appropriate fields of the Format
Animation Object Defaults area.
• For table conversions, enter a numeric or string value in the appropriate Numeric
Table Entries or String Table Entries fields, respectively. To assign a color to the
new entry, click the corresponding field in the Color Table Entries column and select
a color from the Select Color dialog box.

Assigning Blinking Thresholds

To assign a blinking threshold:

1. In the iFIX WorkSpace, select an object.


2. In Classic view, click the appropriate Color Expert on the Experts toolbar, or click the Task
Wizard button and select the appropriate Color Expert from the Task Wizard dialog box.
-Or-
In Ribbon view, on the Tools tab, in the Tasks/Experts group, click the Tasks/Experts dialog
box launcher and select the appropriate Color Expert from the Task Wizard dialog box.
3. In the Data Source field, enter a data source.
4. Select the coloring scheme by selecting the appropriate option in the Color By area.
5. Select the threshold method by selecting the appropriate option in the Color Threshold area.
6. In the New Alarm area, select the Blink on New Alarm check box.
7. Click the Blink on New Alarm Color button and select the blink color from the Select Color
dialog box.

Setting the Blink Speed

To set the blink speed:

1. In the iFIX WorkSpace, double-click the object you want to modify. The Basic Animation
dialog box appears.
2. Click Configure. The Advanced Animations dialog box appears.

463
Creating Pictures

3. Click the Color tab.


4. Select the Animate check box for the color property you want (ForegroundColor,
BackgroundColor, EdgeColor, BackDropColor, BackDropBorderColor,
BackDropBackgroundColor, or BackDropFadeColor).
5. Click the Advanced button and, in the Other Options area, enter a blinking rate (in seconds) in
the Toggle Rate field.

Running Your Pictures


Once you have developed your pictures, you are ready to see them go to work for you. All of the
development time you put into your design can now be realized with the click of the mouse.

Because the iFIX configuration environment is fully integrated with the Proficy iFIX WorkSpace,
running your pictures is simply a matter of switching environments. You do not have to start another
application or leave your picture. Just click the Switch to Run button on the Standard toolbar (Classic
view), or on the Home tab in the WorkSpace group, click Switch to Run (Ribbon view), or press
Ctrl+W. This launches you into the run-time environment. The Proficy iFIX WorkSpace system tree
disables, and the objects in your picture activate. To return to your drawing, select Switch to Configure
from the WorkSpace menu (Classic view), or on the Home tab in the WorkSpace group, click Switch
to Configure (Ribbon view), or press Ctrl+W again.

When working with your pictures in the run-time environment, you have many of the same iFIX
WorkSpace menus available as you did in the configuration environment. The operations you can
perform are dependent on two factors: the type of document that you have open, and the access
privileges you are allowed. For example, typically operators will employ some degree of
environmental protection to implement a secure run-time environment. In this case, some of the
Proficy iFIX WorkSpace menus may not be available because access to specific functions was not
granted. For more information on how to implement this type of security, refer to the Implementing
Security manual.

The following sections provide detail on the operations you can perform with your pictures while in
the run-time environment. For more information on the run-time environment of the Proficy iFIX
WorkSpace, refer to the Understanding iFIX manual.

Working with Objects in the Run-time Environment


Objects in your pictures can be controlled, selected, or modified based on the properties you have
enabled for the objects. These properties are enabled in the configuration environment by selecting the
appropriate check box on the Basic Animation dialog box or the General tabbed page of the Advanced
Animations dialog box. The following table details the operations you can perform with objects in the
run-time environment based on the property you have activated.

464
Creating Pictures

Object Run-time Attributes

By selecting the You activate the Which lets you...


check box... property...

Enable Tooltips EnableTooltips Enable tooltips for the object at run-time. Text
for the highlight comes from the Description
property.

Enable Highlight HighlightEnabled Highlight the object at run-time. When the cursor
passes over the object, a single-lined box
surrounds the object.

Enable Select IsSelectable Select the object at run-time. When you select the
object, a double-lined box surrounds the object.

Each of the properties can also be animated so that you can perform more specific actions. For more
information on animating object properties, refer to the Animating Object Properties chapter.

Some objects can be modified at run-time by writing and executing Visual Basic scripts. For more
detail on writing scripts to control objects at run-time, refer to the Writing Scripts manual.

Interacting with Alarm Summaries at Run Time


While in the run-time environment you can view and test an Alarm Summary object's configuration.
For example, you can:

• Acknowledge the currently selected alarm.


• Acknowledge or delete all alarms that match the current filter.
• Change the Alarm Summary object's filter or sort configuration.
• Change and restore the Alarm Summary object's default settings.
• Temporarily disable the alarm refresh rate and instruct the Alarm Summary object to stop
updating the spreadsheet.

For more information on working with Alarm Summary objects in the run-time environment, refer to
the Working with the Alarm Summary Object section of the Implementing Alarms and Messages
manual.

Interacting with Charts in Run Time


While in the run-time environment, you can control certain chart properties. Some examples include
the following:

• Modifying pen properties using the Chart Configuration dialog box.


• Zooming in on an area of the chart.
• Displaying multiple X and Y axes.

465
Creating Pictures

• Displaying time cursor tooltips to determine plot values and time stamps.

For more information on working with charts in the run-time environment, refer to the Working in the
Run-time Environment section of the Trending Historical Data manual.

Locating Objects
The Locate Object Expert lets you search for an object in the current document or any open documents
in the Proficy iFIX WorkSpace while in the run-time environment. Simply open the Expert and type
the object's name in the Object's Name field. You can access this Expert from the Command Category
of the Task Wizard.

Using the Global Time Control


The Global Time Control, which is available on the Historical tab, in the Ribbon view during run
mode, allows you to control the display of objects configured with historical data sources. If the data
source configured in an object is not historical, that is, it uses a real-time data source, the Global Time
Control feature has no effect on it. Using the Global Time Control you can do the following:

• Synchronize the time for all historical data sources to the times displayed in the Start Time
and End Time fields (by clicking any of the controls on the Global Time Control). This
synchronization applies to all open pictures where GlobalTimeSync is set to true. The
parameters in the Global Time Control do not persist when you exit run mode.
• Set the historical data sources to end at the current time (using the Set to Current Time button)
NOTE: If the historical data source in an object is configured for Current Value mode, the
Set to Current button has no effect on it.

• Scroll through the historical data, either forward or backward, quickly or slowly (using the
Scroll buttons).

To use the Global Time Control, the GlobalTimeSync picture property must be set to true. By default,
GlobalTimeSynch is set to true on all pictures. If the GlobalTimeSync is not set to true, than the Global
Time Control and its control buttons has no effect on the open pictures. The GlobalTimeSync property
can be accessed via the picture's Property Window.

Configuring the Global Time Control

To configure the Global Time Control, click Configuration on the Historical tab. This opens the Global
Time Control Configuration dialog box. There, you can set the start time and end time for the historical
displays, as well as the update and scroll rates.

Clicking OK applies the parameters set in the Global Time Control to all open pictures.

The Global Time Control is enabled for all pictures, by default. If you do not want operators to be able
to configure the Global Time Control, then disable this option, by setting GlobalTimeSync to false, via
the Properties window.

Displaying the Global Time Control

To display the Historical tab, which contains the Global Time Control, you can either:

466
Creating Pictures

Click the Historical tab, which will cause it to display until you click elsewhere.

-Or-

Clear the Minimize the Ribbon option from the Quick Access Toolbar, which causes the Historical tab
to display until you leave run mode.

Using the Global Time Control

The Global Time Control has several buttons which control the display. They are pictured in the
following image and detailed in the following table.

Global Time Control

The Global Time Control includes the following buttons:

Global Time Control Buttons

Button Description

Fast Scroll Back. By default, this scroll value is a percentage of the duration
(either the Duration you entered directly in the Global Time Control
Configuration dialog box, or the duration calculated from the End Time-
Start Time in the Global Time Control Configuration dialog box). Otherwise,
this scroll value is the number of days, hours, minutes, or seconds as defined
in the Global Time Control Configuration dialog box.

Slow Scroll Back. By default, this scroll value is a percentage of the duration
(either the Duration you entered directly in the Global Time Control
Configuration dialog box, or the duration calculated from the End Time-
Start Time in the Global Time Control Configuration dialog box). Otherwise,
this scroll value is the number of days, hours, minutes, or seconds as defined
in the Global Time Control Configuration dialog box.

Apply the settings from the Global Time Control Configuration dialog box to
all open, or subsequently opened pictures, that have the GlobalTimeSync
picture property set to true.
NOTE: If you have scrolled in your picture, either forward or back, after
you click Apply, the time period displayed in the picture is reset to the period
specified in the Global Time Control Configuration dialog box; the time to
which you scrolled is no longer displayed.

467
Creating Pictures

Global Time Control Buttons

Button Description

Pause the Historical Update of objects that have a historical update rate
configured. Objects that do not have a historical update rate configured are
not affected.
NOTE: Even though a picture is paused, you can still scroll forward or
back.

Set the End Time of the Global Time Control to the Current Time.

Slow Scroll Forward. By default, this scrolls the time frame as a percentage
of the duration (either the Duration you entered directly in the Global Time
Control Configuration dialog box, or the duration calculated from the End
Time- Start Time in the Global Time Control Configuration dialog box).
Otherwise, this scroll value is the number of days, hours, minutes, or seconds
as defined in the Global Time Control Configuration dialog box.

Fast Scroll Forward. By default, this scrolls the time frame as a percentage of
the duration (either the Duration you entered directly in the Global Time
Control Configuration dialog box, or the duration calculated from the End
Time- Start Time in the Global Time Control Configuration dialog box).
Otherwise, this scroll value is the number of days, hours, minutes, or seconds
as defined in the Global Time Control Configuration dialog box.

NOTE: Changes made using the Global Time Control apply to historical data sources in all open
pictures which have the GlobalTimeSync property set to true.

The time frame of the data displayed is adjusted to represent the time of your local time zone.

Example

Assume the following settings for the Global Time Control:

• Duration = 1 hour
• End Time = 10:00 a.m.
• Update Rate = 10 minutes
• Slow Scroll Percentage = 10%

Clicking Apply applies these settings to all objects containing historical animations within any open
picture that has the Global Time Control enabled.

In this example, with the preceding parameters configured in the Global Time Control, causes the
following to occur:

• Historically animated objects display historical values between 9:00 a.m. and 10:00 a.m.

468
Creating Pictures

• After 10 minutes, the picture updates, with historical animations displaying values between
9:10 a.m. and 10:10 a.m.
• Clicking Slow Scroll moves the time window for historical animations forward or backward
by 6 minutes

Limitations

If you apply a short update rate to pictures that contain a large number of objects with Historical
Animations, you may experience performance issues – your objects may not update at the expected
rate.

Using Experts to Expedite Pictures at Run Time


iFIX Experts allow you to perform many different functions at run-time, and several of the Experts
provide a check box that let you specify a function in the run-time environment. The following table
details the Experts that you can use in the configuration environment that let you specify run-time
functionality.

NOTE: When using the Use Database Tag(s) for Item(s) Selected in Run Environment option in the
experts, make sure that the object is highlightable, but not selectable. If the object is selectable when
the script is fired, the script looks at that object for a data source and fails when it cannot find one.

Performing Operations at Run Time Using Experts

To... Select the check box... On the Expert...

Open a picture Select picture to open in Run Open Picture


Environment

Close a picture Close Current Picture in Run Close Picture


Environment

Replace a picture Replace Current Picture in Run Replace Picture


Environment

Open a digital tag Use Database Tag(s) for Item(s) Open Digital Tag
Selected in Run Environment

Close a digital tag Use Database Tag(s) for Item(s) Close Digital Tag
Selected in Run Environment

Toggle a digital tag Use Database Tag(s) for Item(s) Toggle Digital Tag
Selected in Run Environment

Write a value to a tag Use Database Tag(s) for Item(s) Write Value to Tag
Selected in Run Environment

469
Creating Pictures

Performing Operations at Run Time Using Experts

To... Select the check box... On the Expert...

Ramp a value to a tag Use Database Tag(s) for Item(s) Ramp Value to Tag
Selected in Run Environment

Turn a tag on scan Use Database Tag(s) for Item(s) Turn Tag On Scan
Selected in Run Environment

Turn a tag off scan Use Database Tag(s) for Item(s) Turn Tag Off Scan
Selected in Run Environment

Set a tag to automatic mode Use Database Tag(s) for Item(s) Set Tag Auto
Selected in Run Environment

Set a tag to manual mode Use Database Tag(s) for Item(s) Set Tag Manual
Selected in Run Environment

Toggle a tag between Use Database Tag(s) for Item(s) Toggle Tag
automatic and manual mode Selected in Run Environment Auto/Manual

Enable an alarm Use Database Tag(s) for Item(s) Enable Alarm


Selected in Run Environment

Disable an alarm Use Database Tag(s) for Item(s) Disable Alarm


Selected in Run Environment

Acknowledge an alarm Use Database Tag(s) for Item(s) Acknowledge


Selected in Run Environment Alarm

Acknowledge all alarms Acknowledge All Alarms for Current Acknowledge All
Picture in Run Environment Alarms

For more information on alarm acknowledgment, refer to the Implementing Alarms and Messages
manual.

Multiple Picture Instances and Run Mode


At run-time in the iFIX WorkSpace, you can open multiple instances of a single picture. This action is
common for iFIX picture displays in multiple monitor configurations. After opening the picture, you
can replace it even if another instance is already open in the WorkSpace, or choose to close all open
instances of the picture.

The following table lists the automation interfaces available for working with multiple picture

470
Creating Pictures

instances.

iFIX Automation Description


Interface

OpenPicture Subroutine Opens the specified picture. Can be configured to open multiple
instances of a specified picture.

OpenTGDPicture Opens a picture with the specified tag group file. Can be configured
Subroutine to open multiple instances of a picture with different tag group files.

ReplacePicture Subroutine Closes a picture and replaces it with another picture. If the picture
you select is already open in the WorkSpace, another instance of that
picture opens.

ClosePicture Subroutine Closes the specified picture. If there are multiple instances of a
picture open, all instances of that picture are closed. If a different
alias is assigned to each instance, you can close one instance using
an alias.

Open_QT_Pic_Ex Method Opens a Quick Trend Picture for the selected object(s) with a set of
pens based on the first eight (8) valid tags. Can be configured to
open multiple instances of a Quick Trend Picture.

Open_TCP_Pic_Ex Opens a Tag Control Panel Picture that displays up to 20 of the valid
Method tags associated with the currently selected object. Can be configured
to open multiple instances of a Tag Control Panel Picture.

Open_TS_Pic_Type_Ex Specifies the type of Tag Status picture to open. Can be configured
Method to open multiple instances of a Tag Status Picture.

Open_TS_Pic_Ex Method Opens the Tag Status Picture for first found tag for the selected
object(s). Can be configured to open multiple instances of a Tag
Status Picture.

Additionally, the following experts allow you to work with multiple picture instances:

• Open Picture Expert


• Replace Picture Expert
• Close Picture Expert

Important Information About Run Mode


In run mode, you can modify the VBA scripting in a new instance of a picture. However, modifications
to scripts in an individual instance of a picture will not be saved. Saving changes to scripts in run mode
is not allowed. To make changes to a script in the main picture, switch to configure mode and edit the

471
Creating Pictures

script in the main picture (not the instance). Alternatively, you can edit the VBA script in the main
picture (not the instances) in run mode using the steps below.

To edit a VBA script of a picture with multiple instances open in run mode:

1. In Classic view, in the iFIX WorkSpace, from the WorkSpace menu, select Visual Basic
Editor.
-Or-
In Ribbon view, on the Home tab, in the WorksSpace group, click the Visual Basic Editor.
2. In the Project tree display, browse to the project you want to edit the script of. Be sure to
select the project with the asterisk (*) next to it. For multiple instances, the asterisk indicates
which instance is one you can save changes to. Changes to projects with the same name, but
without the asterisk, will not be maintained when you switch back to configure mode.
3. In the Project tree, in your selected project, right-click the object you want to edit and select
View Code. The code will appear in the main editing window.
4. On the Run menu, select Design Mode.
5. Make your VBA script changes.
6. On the Run menu, select Exit Design Mode.
7. Close the VBA Editor.
Now, when you go back to configure mode, you will be able to save your changes.

Using Tag Status and Quick Trend Pictures


The Proficy iFIX WorkSpace run-time environment provides you with three pre-configured picture
types that you can access to view tag information and trends for the currently selected object(s),
including alarm summary objects. These pictures display real-time information about the tags.

These pictures include:

• Tag Status (*_TS.grf)


• Quick Trend (QuickTrend.grf)
• Tag Control Panel (TagControlPanel.grf)

You can access these pictures when the WorkSpace is in run mode.

IMPORTANT: If you create a new iFIX project in the SCU, the TagStatus subdirectory (located in the
PIC directory) is not copied to the new project path. You must copy the TagStatus folder to the new
PIC directory. For more information about creating new projects, refer to the topic Create a Project
for Each User Type.

In addition to these pictures, if you select an object (or objects) with one or more associated tags, the
title bar of the iFIX picture displays the tag name of the first tag it finds when the picture opens in run
mode.

472
Creating Pictures

If you have a single database tag associated with an object, the picture's title bar displays the name of
that tag when that object is selected. The following diagram indicates a single associated database tag.

Where:

• circles.grf – is the name of the picture the object is a part of.


• FIX32.THISNODE – is the name of the name of the SCADA server (where FIX32 is the
data system name, and THISNODE is the alias for the local node name).
• ai1 – is the tag name.
• f_cv – is the field name whose data is being accessed.

If there are multiple database tags associated with an object, the picture's title bar displays the name of
the first tag it finds, as well as a plus (+) sign to indicate that there are more associated tags. The
following diagram shows a plus sign after the tag name to indicate multiple associated tags.

Open a Tag Control Panel picture to view a list of the tags associated with the selected object(s).

NOTES:

• An object's IsSelectable property must be set to True so you can select it in the run-time
environment, and the object must be selected to display the tag information in the title bar.

• If you clear the Title bar check box in the Edit Pictures dialog box for the current picture, the
title bar, including the picture and tag name information, will not be displayed in the run-time
environment. This is also true for all new pictures, when the Title Bar check box is cleared on
the Picture Preferences tab on the User Preferences dialog box.

Accessing Tag Status, Quick Trend, and Tag Control Panel Pictures
Tag Status, Quick Trend, and Tag Control Panel pictures are available only when the WorkSpace is in
run mode. If a selected object has one or more associated tags, you can right-click the object and
choose the picture type from the menu. You can also select multiple objects and right-click to choose
the picture type, as well.

NOTES:

• In order to use the Tag Status features, an object must be selectable in the run-time
environment. For information about making an object selectable, refer to Animating an
Object's Properties.

• You do not have to group objects in configuration mode to access tag status right-click
features in run mode. Simply select multiple objects in run mode prior to accessing the right-
click menu.

The following figure shows the right-click menu that appears if at least one tag is associated with the

473
Creating Pictures

selected object(s). If only one tag is associated and you choose Quick Trend, the Quick Trend picture
for that tag appears. If there is more than one associated tag, the Quick Trend picture displays a
different pen for each valid tag.

Right-click Menu

If only one tag is associated and you choose Tag Status, the Tag Status picture for that tag appears. If
an object (or objects) has more than one associated tag, then initially, the above right-click menu
appears. When you choose Tag Status, however, a right-click menu like the following one appears.

Right-click Menu Expanded

This right-click menu allows you to choose the first tag found (in this example, Fix32.THISNODE.ar)
or you can choose Tag Control Panel, which will open the Tag Control Panel picture for this object (or
group of objects).

IMPORTANT: If the VBA Add-on utility has been installed on your machine, and it is configured to
use the RMouseClick Event, the above right-click menus will not be available and you will not be able
to access tag status functionality. Only the VBA utility right-click menu will be available. It is
recommended, however, that you use the Tag Status features because Proficy iFIX 4.0 and greater
does not support the VBA Add-on utility.

The Tag Status Picture


Tag status pictures are a set of pre-defined pictures that display information for the selected database
tag. One database tag status picture exists for each iFIX database tag type (for instance, AI, AO, DI,
DO, and so on).

The following diagram illustrates what a typical Tag Status picture looks like for an AI database tag
type. All database tags types have their own Tag Status picture and contain similar information.

474
Creating Pictures

Tag Status Picture for an AI Database Tag Type

Some tags (that is, database blocks) are designed to work in chains while others are designed to operate
on their own. Tags that can work in chains display the fields Prev Block and Next Block in the Tag
Status picture. If the tags associated with the selected object are configured to work in a chain, the next
and/or previous tag in the chain is displayed in the appropriate fields. You can click these fields to
move through the chain and view the data for the associated tags.

Each Tag Status picture contains a real-time trending chart for the selected database tag. The trending
charts are set up to display a 5-minute duration with a 1-second update rate, to a total of 300 viewable
points on the chart. You can enlarge the trending chart by first selecting it then right-clicking and
choosing Quick Trend from the menu. This view of the Quick Trend chart displays only the pen for the
selected tag, even if multiple tags are associated with the object.

Quick Trend Charts in Tag Status Pictures


When a Tag Status picture includes a small Quick Trend chart, you can select this Quick Trend picture
and then right-click it and choose Quick Trend to display an enlarged version for the associated tag.
However, not all tags display a Quick Trend picture or a Quick Trend chart within a Tag Status picture.
Only those tags with an associated F_CV field can display a Quick Trend chart. The following table
lists the tags that do not have F_CV fields:

Tags That Do not Have Quick Trend Chart Capability

Acronym Description

BB On-Off Control

475
Creating Pictures

Tags That Do not Have Quick Trend Chart Capability

Acronym Description

DC Device Control

EV Event Action

FN Fanout

HS Histogram

PA Pareto

PG Program

SQD SQL Data

TX Text

The Quick Trend Picture


The Quick Trend picture provides you with real-time trending information for up to eight (8) database
tags associated with the selected object(s). The following diagram shows a Quick Trend picture with 5
pens displaying the data for the associated tags. All of the tags associated with the objects are listed
and update the current value of the tag for the current time. The current time is the time displayed at
the right edge of the x-axis.

476
Creating Pictures

Quick Trend Picture Displaying 5 Pens

In this case, there are two AO tags with the same value. These are displayed as a single pen.

For information about Quick Trend charts that appear in Tag Status pictures, refer to Quick Trend
Charts in Tag Status Pictures.

The Tag Control Panel Picture


The Tag Control Panel picture is available from the right-click menu when there are multiple tags
associated with the selected object(s). This picture lets you view the tag names and types, tag values,
the last scan times, units of measure, and alarm information related to each tag associated with the
selected object(s).

From the Tag Control Panel picture you can also access the Tag Status or Quick Trend pictures
associated with the selected tags. However, if the tag does not have an F_CV field associated with it, a
Quick Trend chart will not be available. For information on tags that can display a Quick Trend chart,
refer to the section Quick Trend Charts in Tag Status Pictures.

477
Creating Pictures

Tag Control Panel Picture Displaying 5 Tags

Adding and Deleting Tags


In addition, you can add tags to view their information and the Tag Status and Quick Trend pictures, or
you can delete tags from the list. Adding tags to, or deleting tags from the Tag Control Panel, does not
affect their existence in regard to the selected object(s). Adding and deleting tags are temporary
operations; that is, adding a tag in this picture does not add it to the selected object and deleting a tag,
even if it is already associated with the object, does not delete it from the object.

For example, if the Tag Control Panel picture is full, but you want to view the Quick Trend picture for
another tag, you can delete a tag and add the tag with the information you want to access. The next
time you open this Tag Control Picture the proper tags will be listed; that is, tags you deleted will be
visible again and tags you added will not exist.

Saving and Loading Tag Lists


You can save a tag list that you manually created by using the Save Tag List button. When you have
created the list of tags you want, click the Save Tag List button and save the list to the desired location.
When you want to view a saved tag list, click the Load Tag List button and select the tag list you want
to view. Saving and loading tag lists does not affect the tags that are displayed for the selected
object(s).

478
Creating Pictures

Translating Picture Text


The Proficy iFIX WorkSpace provides you with the ability to set and change the language of a picture
as it opens in run mode. As the picture opens, the WorkSpace reads a target language file and
substitutes the picture's text strings with the translated strings. However, it does not do the translations
for you; you must provide the translated text strings yourself.

Translating text is limited to replacing text captions, button captions, object descriptions, the Alarm
Summary object, and certain properties in charts. You cannot switch the language for overall system
text such as dialog box titles, menus, error strings, and so on.

IMPORTANT:

• If iFIX is running on a computer under English (or another western language) regional
settings, you can only display translated text strings for western languages.

• If you want to display both Japanese and English (or other western languages), you must set
the regional setting to Japanese. You cannot display other non-western languages, such as
Chinese or Russian; you can only display Japanese and western languages.

• If you want to display both Chinese and English (or other western languages), you must set
the regional setting to Chinese. You cannot display other non-western languages, such as
Japanese or Russian; you can only display Chinese and western languages.

• You cannot switch between multiple eastern languages without changing the regional
settings. For example, you cannot switch between Chinese and Japanese.

• If you are using double-byte languages, (for example, Chinese or Japanese), you must be
running iFIX on a computer with a native operating system and the appropriate regional
settings configured. On the Advanced tab of the Regional and Language Options dialog on
Control Panel, configure the Languages for non-Unicode programs field with the target
language. You must also make sure that you set the applicable font on the Shape Preferences
tab on the User Preferences dialog box.

• If the translated text for a single-byte language displays as a series of ????, you must
configure the Languages for non-Unicode programs field with the target language and select
the applicable font, as above. However, you do not require a native operating system for
single-byte languages.

• You must restart your computer and Proficy iFIX after you make changes to the Regional
Settings.

• For pictures created in iFIX 4.0 that include Alarm Summary objects, you need to export your
language file again, so that the Alarm Summary information is included. The Alarm Summary
object originally was not included in iFIX 4.0 language translation files.

• It is recommended that you only use either global picture translation or individual picture-
level translation in your pictures. If you mix both settings, your users could get undesirable
results when opening pictures in different languages.

• Use caution when using this feature with iFIX WebSpace. It is recommended that you set the
language at the individual picture-level in the iFIX WorkSpace, instead of using the global

479
Creating Pictures

configuration. That way, you can ensure that only certain pictures open in a specified
language (and not the same language settings for all users and all pictures). For an example
of the picture-level settings and how you might want to use them with the iFIX WebSpace,
refer to the second example in the Examples of How to Switch Between Languages section.

• The iFIX WebSpace Server should match the regional settings and native operating system
language of the iFIX SCADA Server.

This feature is very useful if you develop your picture(s) in one language (in configure mode), but
want to provide the text in a different language for operators viewing the picture (in run mode). Using
this feature, you can have the same picture available in multiple languages.

This feature is also useful for changing the language of the text that appears in a picture in configure
mode. You can export text strings, translate them, and import the translated text back into your original
picture so that your picture's default text strings now appear in the translated language in configure
mode. For instance, use this feature if you want to translate the text for the Tag Status, Quick Trend,
and Tag Control Panel pictures. For more information on these picture types, see Using Tag Status and
Quick Trend Pictures.

NOTES:

• Only the iFIX WorkSpace supports changing the language of the displayed picture text. You
cannot set the language when opening a picture in Desktop View, whether you are opening a
.ODF file (a FIX Desktop picture) with the OPENPIC command or a .GRF file with the
WSPROXY OPENPIC command (used to open an iFIX picture from View).

• Font colors are not available for translations.

The Translation Toolbar is available to support these features. This toolbar allows you to export or
import all of the text from a picture into a language specific .CSV file. You can then add translations
and font requirements to these .CSV files to use when you open the corresponding pictures. For more
information about the Translations Toolbar, refer to Manipulating Objects Using Toolbars. For more
information on how to use the toolbar to export or import a .CSV file, see Exporting and Importing
Language Files.

IMPORTANT: If list separator is comma in your local regional settings, you can use Microsoft Excel
to edit your .CSV files. Otherwise, it is recommended that you use Notepad to edit your .CSV files. It is
important that you use the proper text editor, so that the list separator, a comma, gets saved properly
using your operating system's native regional settings. If you are unsure of your settings, use Notepad
to edit your .CSV files.

Global Picture Language Settings


Global picture language settings are used when opening pictures in run mode. However, you must
create language files for your pictures and translate the text strings for this feature to work. For
example, you develop the configure mode pictures in your native language of French so that you can
update and troubleshoot them. But, the operators want to display all run mode pictures in German. A
German language file with translated text must exist for each picture you want the operators to view in
German from the WorkSpace run mode. If no language file exists, the default language (in this case
French) appears.

When you change the language in run mode using the global language setting, all pictures that you
open from that point on will open in the specified language, as long as there is a language file for that
language. If you change the global language setting, pictures that are opened from that point forward

480
Creating Pictures

open in the new language, but previously opened pictures do not change to the new language. You
must close and reopen those pictures for the new language to take effect. The language changes only
when opening the picture in run mode.

NOTE: If a language file does not exist, the picture text appears in the picture's default language; that
is, the language in which it was created.

User Preference for Global Language Settings

To configure the global picture language settings, select the Translate Picture on Open check box on
the Picture Preferences tab of the User Preferences dialog box. When you select this check box the
Language list is enabled and you can choose the language that you want the text strings to appear in
when the picture opens in run mode. You can also use the SetLanguage global subroutine in VBA.

NOTE: When the Translate Picture on Open check box is selected, the TranslateOnOpen and
LanguageDesired properties in the Properties window for individual pictures cannot be changed.

Individual Picture Language Settings


Individual picture language settings are also used when opening pictures in run mode; however, you
can change the displayed language for a single picture rather than all pictures. As with global picture
language settings, you must create language files for your pictures and translate the text strings for this
feature to work.

For example, you have pictures that only administrators look at and these pictures are displayed in
French in run mode. You have another group of pictures that only operators look at and you want to
display these pictures in Spanish when in run mode. All of the pictures were developed in English, in
configure mode. In this case, each picture can have specific language settings. French and Spanish
language files with translated text must exist for the appropriate pictures the administrators and
operators will view in run mode.

TranslateOnOpen and LanguageDesired Properties in Individual Pictures

To configure the language settings at the picture level, use the TranslateOnOpen and LanguageDesired
properties on the active picture. You can access these properties on the Properties window in the
Proficy iFIX WorkSpace or from a VBA script while in configure mode. Be aware that in order to set
these properties, the Translate Picture On Open check box on the Picture Preferences tab of the User
Preferences dialog box must be cleared. If this check box is not cleared, the global picture language
settings override the individual picture settings.

You can also use SwitchLanguage to change the language programmatically in VBA.

NOTE: When you use the individual picture language settings, opening a picture in run mode for the
first time is slower than it would normally take without caching enabled. If you enable picture caching,
after the picture has been opened and cached, the next time you open it in run mode there is no delay.
For more information about picture caching, refer to Using Picture Caching.

Language File Exporter Dialog Box


The Language File Exporter dialog box allows you to export separate language files that you want to
translate for each selected picture.

481
Creating Pictures

Export location
Specifies the folder that the language files are exported to. The language files are exported to the PIC
folder of your Proficy iFIX installation location. Language files for Tag Status, Quick Trend, and Tag
Control Panel pictures are exported to the TagStatus subfolder of the main PIC folder.

Select Pictures
Lists all of the pictures in the PIC folder or in the TagStatus subfolder of the main PIC folder.

Show Tag Status Pictures Check Box


Select this check box to display the Tag Status pictures in the Select pictures list. The Export location
folder changes to display the Tag Status folder location.

Always overwrite existing export files Check Box


Select this check box if you want any previously existing language files for the selected picture(s) to be
automatically overwritten. Clear this check box to be prompted to replace existing language files.

Select Language
Specifies the language you want to use for naming the language file.

Select All
Click this button to select all of the pictures in the list.

Deselect All
Click this button to clear your selections from the list.

Export
Click this button to perform the language files export.

Exit
Click this button to close the Language File Exporter dialog box without saving any of your changes.

Exporting and Importing Language Files


Language files are Comma Separated Value (.csv) files that can be edited in Notepad. If list separator
is comma in your local regional settings, you can use Microsoft Excel to edit your .CSV files.
Otherwise, it is recommended that you use Notepad to edit your .CSV files. It is important that you use
the proper text editor, so that the list separator, a comma, gets saved properly using your operating
system's native regional settings. If you are unsure of your settings, use Notepad to edit your .CSV

482
Creating Pictures

files.

These .CSV files reside in the same location that your pictures are found in, which by default, is the
PIC folder of your iFIX installation location, or in the TagStatus subfolder of the main PIC folder.
Exported language files are saved in the following format:

PictureName_LangLetter.csv

where:

• PictureName is the name of the picture whose language file you are exporting, and
• LangLetter is the acronym for the language the picture is being translated into.

For example, if the picture name is Circles and you select German for the language, the exported
language file name will be Circles_DE.csv. For more information on the available language letters, see
the section Language Letter Acronyms.

Proficy iFIX Workspace provides a Translation Toolbar that allows you to:

• Export a single language file for each picture.


• Export language files for multiple or single pictures.
• Import a language file.

After you export a language file, open it in Notepad or Microsoft Excel and translate the appropriate
text strings. If the global or picture level language setting is configured for the same language you
translated the text strings into, the iFIX WorkSpace reads the translated .CSV file when the picture
opens in run mode and displays the text strings in the translated language.

If you exported more than one language file for a single picture, the target language file is the file with
the language that matches the LanguageDesired property defined for the individual picture. For
example, if you exported language files in Spanish, Italian, and French for the picture Circles.grf , and
the LanguageDesired property is set to Spanish, the picture's text is displayed in Spanish in run mode.
To view the translated text in Italian or French, you must close the picture, change the
LanguageDesired property to the appropriate language, and then reopen the picture in run mode.

Every time you export a language file, a log file is also created. These log files are created for each
picture that you export a language file for, even if you are exporting language files for multiple
pictures. For example, you have 20 pictures in your PIC folder and you use the Language File Exporter
dialog box to export German language files for all 20 pictures. iFIX creates a separate log file for each
language file with the format:

PictureName_LangLetterExport.log

The log files will be named Circles1_DEExport.log, Circles2_DEExport.log, and so on.

Exporting a Single Language File


You can export a language file for the currently active picture. The language selected in the
LanguageDesired property determines the language letter acronym used in the language file name. If
you have a global language set for all pictures, you cannot change the LanguageDesired property. In
order to change the language setting at the picture level, you must clear the Translate Picture On Open
check box on the Picture Preferences tab of the User Preferences dialog box. For more information, see
Individual Picture Language Settings.

483
Creating Pictures

Exporting Multiple Language Files


You can choose to export language files for multiple pictures. Use the Language File Exporter dialog
box to select the pictures and language you want to create language files for. A separate language file
for each of the selected pictures is exported. Each file name uses the same language letter acronym. For
more detailed information, see Language File Exporter Dialog Box.

You can also choose to create a language file for a single picture without having to change the defined
language setting, whether it is at the global or the picture level. For example, the global language
setting is defined for French and you have already created French language files for your 20 pictures,
Circles1.grf through Circles20.grf. You now want your Polish operators to view Circles10.grf in their
native language in run mode. Use the Language File Exporter dialog box to export a Polish language
file for Circles1.grf. The operators can then set the LanguageDesired property for Circles10.grf to
Polish before opening it in run mode.

NOTE: In order to set the LanguageDesired property, the Translate Picture On Open check box on
the Picture Preferences tab of the User Preferences dialog box must be cleared. If this check box is not
cleared you cannot define individual picture language settings.

Importing a Language File


After a CSV language file has been exported and translated, you have the option to import that CSV
file back into the corresponding picture while it is open in configuration mode. This allows you to
change the text translations in the original, source picture – so that the translated text is saved along
with the picture (and not just temporarily displayed in run mode). The translated text replaces the
original text strings in the original picture.

IMPORTANT: The language selected in the LanguageDesired property must match the language
letter acronym in the language file name in order for the language file to be imported properly.

NOTE: Be aware that if you only want to switch languages in run mode, you do no need to import any
translations. Importing translations is an option available if you want to update the original pictures
with translated text, so that the translations replace the original text in configure mode.

If you have a global language set for all pictures, you cannot change the LanguageDesired property. In
order to change the language setting at the picture level, you must clear the Translate Picture On Open
check box on the Picture Preferences tab of the User Preferences dialog box.

Importing a language file is useful if you want to save the picture with the translated text strings. For
example, you have a French version of iFIX and want to replace the text strings in the Tag Status and
Quick Trend pictures with French strings and only view these pictures in French. After the translation
is complete and you have imported the language file(s), save the pictures with the new text strings. In
this case, both configure and run mode pictures will appear in the translated language. There is no need
to change language files in run mode.

484
Creating Pictures

Language Letter Acronyms

Country Acronyms for Language Files

LCID LangLetter Language

1027 CA Catalan

1029 CS Czech

1030 DA Danish

1031 DE German

1032 EL Greek

9 EN English

1034 ES Spanish

1035 FI Finnish

1038 HU Hungarian

1040 IT Italian

1041 JA Japanese

1042 KO Korean

1043 NL Dutch

1044 NO Norwegian

1045 PL Polish

1049 RU Russian

3098 SR Cyrillic

1050 HR Croatian

485
Creating Pictures

Country Acronyms for Language Files

LCID LangLetter Language

1051 SK Slovak

1053 SV Swedish

1054 TH Thai

1055 TR Turkish

1057 IN Indonesian

1060 SL Slovenian

1069 EU Basque

1028 ZHTW Chinese - Taiwan

1036 FR French

1046 PTBR Brazilian Portuguese

2070 PT Portuguese

2052 ZHCH Chinese PRC

3084 FRCA French Canadian

Examples of How to Switch Between Languages


The following examples show you how to use VBA scripting that allows you to change the displayed
language in your pictures when they are opened in run mode.

Example 1 shows you how to set the script at the global level (with SetLanguage). That is, all pictures
that have an exported language file for the set language will display the text in that language when
opened in run mode.

Example 2 shows you how to set the script to open a specific picture in run mode (with
TranslateOnOpen, LanguageDesired, and SwitchLanguage) and display the text in the desired
language.

Example 3 shows you how to switch the language for a single open picture, dynamically in run mode

486
Creating Pictures

(with SwitchLanguage).

TIP: If you want to re-use these examples be sure that you review the important items listed on the
Translating Picture Text topic before doing so, to ensure your configuration is correct.

Example 1: Configure Global Language for all Pictures to Open in Run Mode

The following example shows you how to create a picture that allows you to globally switch between
languages while in run mode, in this case English and Spanish. After you switch the language the first
time, any picture you open from that point onward displays in the specified language, provided a
language file exists. You must close the picture and click another language button to switch the
language again. With this example, you must manually open and close your pictures in run mode.

NOTE: This example assumes that English is the default language that the pictures are created in.

IMPORTANT: If you are using the iFIX WebSpace, it is recommended that you configure the
language settings at the individual picture-level. If you instead configure them globally using this
example, you will reset the language across all pictures for all users. This may be undesirable for your
web users. For steps on picture-level configuration, refer to the second example below.

1. In the iFIX WorkSpace configure mode, open the User Preferences and click the Picture
Preferences tab.
2. In the Cache area, clear the Enable Picture Caching check box if is enabled. This check box
must be disabled if you want to re-open the same picture in the new language, after changing
the languages.
3. In the Picture Translation area, select the Translate Picture on Open check box, and in the
Language drop-down list select Default.
4. Create a new picture with two push buttons labeled "Open Pictures in English" and "Open
Pictures in Español", as in the following picture.

Language Buttons

5. In configure mode, right-click the Open Pictures in English push button and choose Edit
Script. The Visual Basic Editor appears.

487
Creating Pictures

6. Enter the following script to set the global language:


SetLanguage LANG_English

7. Repeat steps 5 and 6, with the Open Pictures in Español button, but replace the SetLanguage
LANG_English line with SetLanguage LANG_Spanish.

8. Close the Visual Basic Editor and save the picture with a unique name.
9. Export Spanish language files for the pictures that have text you want displayed in Spanish.
For steps, refer to the Exporting Multiple Language Files section.
10. In Notepad, open the Spanish language CSV file for the picture that you generated in the
previous step, and provide translations for the picture text.
11. Switch to run mode.
12. Click the Open Pictures in Español button and then open any picture that you created a
Spanish language files for. Close any picture that was open before you clicked the button, and
re-open it in the WorkSpace. Any English picture text should display in Spanish in both cases,
if both pictures have Spanish CSV files. If you open the iFIX User Preferences and review the
Picture Preferences tab, the Language drop-down for the Translate on Open Setting will now
be set to Spanish.
13. Close any open pictures except the push button picture with the language settings.
14. Click the Open Pictures in English button and then reopen each picture. The text displays in
English. If you open the iFIX User Preferences and review the Picture Preferences tab, the
Language drop-down for the Translate on Open Setting will be set to English.

NOTES:
• Only one instance of a picture can be open at a time; you must close a picture before opening
it to display the text in a different language.
• If a picture does not have a language file for the language you are displaying in, the text will
remain in the default language in which it was created.
• You can create as many push buttons as you want to switch between multiple languages.

Example 2: Open a Single Picture in a Desired Language in Run Mode

The following example shows you how to create a picture with push buttons that allow you to open
another picture in run mode and display its text in the desired language; in this case English and
Spanish. In this example, only the picture, MyPicture, will open when either of the buttons is clicked
and you can easily switch between English and Spanish. The OpenPicture command will open multiple
instances of the same picture, so that you can have more than one language version of a picture open at
the same time.

NOTE: This example assumes that English is the default language that the pictures are created in.
IMPORTANT: If you are using the iFIX WebSpace to open a picture, be aware that other pictures
already open do not change languages when you open a picture. The language changes only when you
open the picture.
TIP: If you want to re-use this example be sure that you review the important items listed on the
Translating Picture Text topic before doing so.

1. Create a picture with text and name it MyPicture.grf.

488
Creating Pictures

2. Create a picture with two push buttons labeled "Open MyPicture in English" and "Open
MyPicture in Español", as in the following picture.

Language Buttons

3. In configure mode, right-click the Open MyPicture in English push button and choose Edit
Script. The Visual Basic Editor appears.
4. Enter the following script to set the TranslateOnOpen, LanguageDesired, and
SwitchLanguage:
Dim pic As Object

OpenPicture "MyPicture.grf", , , , , , , , True

Set pic = Application.ActiveDocument.Page

pic.Translateonopen = False

pic.LanguageDesired = 9

pic.SwitchLanguage

5. Repeat steps 3 and 4, with the Open MyPicture in Español button, but replace the
pic.LanguageDesired = 9 line with pic.LanguageDesired = 1034 (1034 is the
enumeration that represents Spanish, where as 9 represents English).
NOTE: For a listing of the enumerations for all supported languages (also called LCIDs)
refer to the Language Letter Acronyms table in the Exporting and Importing Language Files
topic.

6. Close the Visual Basic Editor and save the picture with a unique name.
7. Export a Spanish language file for MyPicture.grf.
8. Open the language file in Notepad and translate the picture text to Spanish.
NOTE: If list separator is comma in your local regional settings, you can use Microsoft Excel
to edit your .CSV files. Otherwise, it is recommended that you use Notepad to edit your .CSV

489
Creating Pictures

files. It is important that you use the proper text editor, so that the list separator, a comma,
gets saved properly using your operating system's native regional settings. If you are unsure
of your settings, use Notepad to edit your .CSV files.

9. Make sure the Translate Picture on Open check box on the Picture Preferences tab of the User
Preferences dialog box is cleared.
10. Switch to run mode and open the picture with the push buttons.
11. Click the Open MyPicture in Español button. MyPicture.grf opens with the text displayed in
Spanish.
12. From the Window menu, choose Tile Vertical to view both pictures.
13. Click the Open MyPicture in English button. The text in MyPicture.grf displays in English.

NOTES:
• If a picture does not have a language file for the language you are displaying in, the text will
remain in the default language in which it was created.
• You can create as many push buttons as you want to switch between multiple languages. Be
sure that you review the important items listed on the Translating Picture Text topic before
doing so, however.

Example 3: Switch the Language of Single Picture to a Desired Language in Run Mode

In the following example, two buttons are created to dynamically switch the language on the currently
open picture in run mode regardless of the TranslateOnOpen and LanguageDesired properties. In this
example, the SwitchLanguage method is used to perform this task.

1. Create a picture with text and name it MyPicture.grf.


2. Create a picture with two push buttons labeled "Switch to English" and "Switch to Español",
as in the following picture.

Language Buttons

3. In configure mode, right-click the Switch to English push button and choose Edit Script. The

490
Creating Pictures

Visual Basic Editor appears.


4. Enter the following script to set the language:
Me.SwitchLanguage 9

5. Repeat steps 3 and 4, with the Switch to Español button, but replace the
Me.SwitchLanguage 9 line with Me.SwitchLanguage 1034 (1034 is the
enumeration that represents Spanish, where as 9 represents English).
NOTE: For a listing of the enumerations for all supported languages (also called LCIDs)
refer to the Language Letter Acronyms table in the Exporting and Importing Language Files
topic.

6. Close the Visual Basic Editor and save the picture with a unique name.
7. Add some English text to the picture, and save the picture.
8. Export a Spanish CSV language file for your picture, so you can provide translations for the
text you added in the previous step. For steps, refer to the Exporting a Single Language File
section.
9. Open the CSV language file in Notepad and translate the picture text to Spanish.
NOTE: If list separator is comma in your local regional settings, you can use Microsoft Excel
to edit your .CSV files. Otherwise, it is recommended that you use Notepad to edit your .CSV
files. It is important that you use the proper text editor, so that the list separator, a comma,
gets saved properly using your operating system's native regional settings. If you are unsure
of your settings, use Notepad to edit your .CSV files.

10. Make sure the Translate Picture on Open check box on the Picture Preferences tab of the User
Preferences dialog box is cleared.
11. Switch to run mode and toggle between the two languages:
• Click the Switch to Español button. Your picture displays text in Spanish.
• Click the Switch to English button. Your picture displays text in English.

NOTES:
• If a picture does not have a language file for the language you are displaying in, the text will
remain in the default language in which it was created.
• You can create as many push buttons as you want to switch between multiple languages. Be
sure that you review the important items listed on the Translating Picture Text topic before
doing so, however.

How Do I...
In the Proficy iFIX WorkSpace, you can perform steps when working with picture text languages:

• Configuring the Default Language Settings for All Pictures


• Configuring Language Settings for an Individual Picture
• Exporting a Single Language File

491
Creating Pictures

• Exporting Multiple Language Files


• Editing a Language File
• Importing a Language File in Configuration Mode

Configuring the Default Language Settings for All Pictures


If you develop your picture(s) in one language (in configure mode), but want to provide the text in a
different language for operators viewing pictures (in run mode), you can do this in the WorkSpace. Use
the steps below if you want all pictures set to the same default language for run mode viewing.

If you use the global language setting, it is recommended that you do not implement language settings
at the individual picture-level.

NOTE: You will also need to export language CSV files for each picture and provide translations in
each of these files using Notepad or Microsoft Excel to support this feature. A link to these steps is
provided below.

IMPORTANT: If you are using the iFIX WebSpace, it is recommended that you configure your
language settings at the individual picture-level. If you instead configure them globally using the steps
below, all users will have the same language settings for all pictures, after the script is run. This may
be undesirable for your web users. For steps on picture-level configuration, refer to the Configuring
Language Settings for an Individual Picture section.

To configure default language for all pictures when opened in run mode:

1. Open the iFIX WorkSpace in configuration mode.


2. In Classic view, on the WorkSpace menu, click User Preferences.
-Or-
In Ribbon view, on the Home tab, in the WorkSpace group, click Settings, and then click User
Preferences.
3. Click the Picture Preferences tab and select the Translate Picture On Open check box. (If it is
selected, the LanguageDesired and TranslateOnOpen properties at the picture-level cannot be
changed from the Properties window.)
4. In the Language drop-down, select the default you want to set for all pictures.
5. Click OK.
6. Create language CSV files for your pictures that you want to translate the text for on open.
Refer to the Exporting Multiple Language Files section for steps on how to generate your
CSV files.

Configuring Language Settings for an Individual Picture


If you develop a picture in one language (in configure mode), but want to provide the text in a different
language for operators viewing the picture (in run mode), you can do this in the WorkSpace. Use the
steps below if you want a single picture to display a different language in run mode.

If you use the individual picture-level settings, it is recommended that you do not implement the
global, default language settings.

492
Creating Pictures

NOTE: You will also need to export a language CSV file for the picture and provide translations for
this file in Notepad or Microsoft Excel to support this feature. These steps are included below.

To configure the language for a single picture when opened in run mode:

1. In the iFIX WorkSpace configuration mode, open the picture with the text strings you want to
translate.
2. In Classic view, on the WorkSpace menu, click User Preferences.
-Or-
In Ribbon view, on the Home tab, in the WorkSpace group, click Settings, and then click User
Preferences.
3. Click the Picture Preferences tab and make sure the Translate Picture On Open check box is
cleared. (If it is cleared, the LanguageDesired and TranslateOnOpen properties at the picture-
level can be changed from the Properties window.)
4. Click OK.
5. Right-click anywhere in the picture and choose Property Window.
6. From the LanguageDesired property, select the language you want to use for the language
CSV file.
NOTE: If you are entering this information programmatically in VBA instead of using the
Property window, you can find a listing of the enumerations for all supported languages (also
called LCIDs) in the Language Letter Acronyms table in the Exporting and Importing
Language Files topic.

7. From the TranslateOnOpen property, select True so that the displayed picture text will be
automatically translated when the picture is opened in run mode.
8. Save the picture.
9. On the Translation Toolbar, click the Export language file button. The language CSV file is
saved to the PIC folder.
10. Open the language CSV file in Notepad or Microsoft Excel and translate the text strings.
IMPORTANT: If list separator is comma in your local regional settings, you can use
Microsoft Excel to edit your .CSV files. Otherwise, it is recommended that you use Notepad
to edit your .CSV files. It is important that you use the proper text editor, so that the list
separator, a comma, gets saved properly using your operating system's native regional
settings. If you are unsure of your settings, use Notepad to edit your .CSV files.

11. Open the picture in run mode. The picture’s text strings are displayed in the translated
language.

Exporting a Single Language File

To export a single language file:

1. In the WorkSpace configuration mode, open the picture you want to export a language file
for.
2. In Classic view, on the WorkSpace menu, click User Preferences.

493
Creating Pictures

-Or-
In Ribbon view, on the Home tab, in the WorkSpace group, click Settings, and then click User
Preferences.
3. Click the Picture Preferences tab and make sure the Translate Picture On Open check box is
cleared. If it is selected, the LanguageDesired and TranslateOnOpen properties in the
Properties window cannot be changed.
4. Click OK to close the User Preferences dialog box.
5. Right-click in the picture (in an area without any objects) and choose Property Window.
6. From the LanguageDesired list, select the language that you want to generate a CSV for.
7. From the TranslateOnOpen list, select Yes.
8. Display the Translation toolbar, if it is not already open. To do so:
a. In the tree view area, open the Project Toolbar Files folder and then the Toolbars
folder.
b. Double-click TranslationToolbar to open the toolbar.
9. On the Translation toolbar, click the Export language file button. A message appears letting
you know the language file was successfully exported.
You can now open the language file in Notepad or Microsoft Excel and translate the text
strings for the picture.
IMPORTANT: If list separator is comma in your local regional settings, you can use
Microsoft Excel to edit your .CSV files. Otherwise, it is recommended that you use Notepad
to edit your .CSV files. It is important that you use the proper text editor, so that the list
separator, a comma, gets saved properly using your operating system's native regional
settings. If you are unsure of your settings, use Notepad to edit your .CSV files.

Exporting Multiple Language Files

To export multiple language files:

1. In the iFIX WorkSpace, display the Translation toolbar, if it is not already open. To do so:
a. In the tree view area, open the Project Toolbar Files folder and then the Toolbars
folder.
b. Double-click TranslationToolbar to open the toolbar.
2. On the Translation toolbar, click the Export multiple language files button.
3. In the Select pictures list, select the check box for each picture you want to export a language
file for.
4. If applicable, select the Always overwrite existing export files check box. If you are exporting
a language file for a picture that already has a language file for the selected language, the
existing language file will be automatically overwritten. If you clear this check box, you will
be prompted to replace the existing language file. Click Yes to replace it and No to keep it.
5. From the Select language list, choose the language that you want to provide translations for.
6. Click Export. A separate language file is created for each picture you selected.
You can now open each language file in Notepad or Microsoft Excel, and translate the text

494
Creating Pictures

strings for the pictures.


IMPORTANT: If list separator is comma in your local regional settings, you can use
Microsoft Excel to edit your .CSV files. Otherwise, it is recommended that you use Notepad
to edit your .CSV files. It is important that you use the proper text editor, so that the list
separator, a comma, gets saved properly using your operating system's native regional
settings. If you are unsure of your settings, use Notepad to edit your .CSV files.

Editing a Language File

To edit a language file:

1. In Notepad or Microsoft Excel, open the XLS file.


IMPORTANT: If list separator is comma in your local regional settings, you can use
Microsoft Excel to edit your .CSV files. Otherwise, it is recommended that you use Notepad
to edit your .CSV files. It is important that you use the proper text editor, so that the list
separator, a comma, gets saved properly using your operating system's native regional
settings. If you are unsure of your settings, use Notepad to edit your .CSV files.

2. Provide translations in the Translated Text segments, and make adjustments to fonts and point
sizes as necessary.
3. Save the file.

Importing a Language File in Configuration Mode

To import a language file in configuration mode:

1. If you have not already done so, in Notepad or Microsoft Excel, open the picture’s language
file and translate the applicable text strings.
IMPORTANT: If list separator is comma in your local regional settings, you can use
Microsoft Excel to edit your .CSV files. Otherwise, it is recommended that you use Notepad
to edit your .CSV files. It is important that you use the proper text editor, so that the list
separator, a comma, gets saved properly using your operating system's native regional
settings. If you are unsure of your settings, use Notepad to edit your .CSV files.

2. In the iFIX WorkSpace configuration mode, open the picture whose language file you
translated.
3. If applicable, set the LanguageDesired property to the same language letter acronym used in
the language file name.
4. Display the Translation toolbar, if it is not already open. To do so:
a. In the tree view area, open the Project Toolbar Files folder and then the Toolbars
folder.
b. Double-click TranslationToolbar to open the toolbar.
5. On the Translation toolbar, click the Import language file button. The picture text is
immediately displayed in the translated language from the language file.
NOTE: Importing language files is useful if you want to save your pictures with the
translated text strings.

495
Creating Pictures

Using Tag Groups in Pictures


Tag groups allow you to create one picture to show multiple representations of your process. For
example, you can use one picture to represent similar lines on a plant floor. You use the iFIX Tag
Group Editor (TagGroupEditor.exe) to create these tag groups in iFIX.

A tag group is composed of a symbol, a corresponding substitution, and an optional description field.
Symbols are placeholders for data sources or text in a picture. Substitutions are alphanumeric character
strings that replace symbols in a picture. A tag group file is a binary file that consists of the symbols,
substitutions, and descriptions for each tag group.

You use symbols in areas of your picture where data points are needed to represent specific process
values. A substitution can be a tagname or text, depending on where the corresponding symbol is being
used in a picture. For example, if you want to change a button label when a picture opens, you would
enter text for the substitution.

You can create several tag group files that associate symbols with specific substitutions in the run-time
environment.

Example: Using Tag Groups in Pictures


Suppose you work in a factory that produces both oatmeal and chocolate chip cookies, and each type
of cookie requires a different baking temperature. Your factory has three ovens that are controlled by
different databases with a similar block structure: Analog Input and Analog Output.

Your real-time control strategy calls for operators to monitor the temperature in each furnace. This
strategy calls for you to develop three operator displays. You realize, however, that the only difference
between the displays are the tagnames that reference different databases.

You can use the Tag Group Editor to cut development time and save a considerable amount of disk
space by creating one picture and three tag group files. In the picture, you assign symbols in place of
tagnames and then, at run time, call a tag group file to replace the symbols with real tagnames. You
call a different tag group depending upon which cookie furnace you want to display.

Using the Tag Group Editor


The Tag Group Editor (TagGroupEditor.exe) is a simple spreadsheet interface that allows you to
develop multiple tag group files and apply them to one picture. The tags can reside in different
databases.

You enter data into the Tag Group Editor spreadsheet to associate symbols with substitutions. You
then save the data in a tag group file, with the extension TGD. When a picture opens, or when a new
picture replaces the current picture, iFIX reads the tag group file and replaces the symbols with the
corresponding substitutions, as defined in the tag group file.

NOTE: The Recipe Builder requires the .TGE file format when using tag group files. As such, the
Recipe Builder uses the FIX32 Tag Group Editor (TGE.EXE). The iFIX Tag Group Editor
(TagGroupEditor.exe) is used for creating tag groups in iFIX pictures in .TGD file format. The Recipe
Builder cannot use these newer .TGD files.

496
Creating Pictures

Getting Ready to Use the Tag Group Editor


Tag groups are most efficiently implemented when your database design is stable and complete. You
should perform the following tasks before you begin to develop tag group files:

• Before you develop your database, adopt a standard naming convention.


• For example, for the temperature of Oven1, name the Analog Input block TOV01. For the
corresponding block in Oven2, name it TOV02.
• Develop a list of similar tagnames that exist in the same database, or in different nodes or
databases. The list should include the data system, node name, tagname, block type, field
name, and symbol.
• This list helps you create multiple tag group files quickly and accurately.

Starting the Tag Group Editor


In Classic view, start the Tag Group Editor from the Proficy iFIX WorkSpace by clicking the Tag
Group Editor button on the Application toolbar shown below:

Tag Group Editor Button on the Application Toolbar

In Ribbon view, on the Applications tab, in the Utilities group, click Tag Group Editor.

The Tag Group Editor Window


The Tag Group Editor window looks similar to the following:

497
Creating Pictures

Tag Group Editor Window

Creating and Opening Tag Group Files


Once you start the Tag Group Editor, you are ready to work with tag group files. You can start by
creating a new tag group file or you can open an existing one.

To open an existing tag group file, click the Open button. To open a new, empty tag group file, click
the New button.

You can have only one tag group file open at a time. If you made changes to a file that is currently
open, you will be prompted to save it.

To save a tag group file, click the Save button. Tag group files are automatically saved with the .TGD
extension in the Proficy iFIX\PIC directory.

NOTE: The tag group file must be located in the Proficy iFIX\PIC directory for tag group
substitutions to work correctly.

Column Definitions for the Tag Group Editor


The following table describes the columns of the Tag Group Editor spreadsheet and the information
that you can enter into them.

NOTE: You can access these columns only when a row is active. Click a row to make it active.

498
Creating Pictures

Column Definitions for the Tag Group Editor

Column Definition Valid Field Values

Symbol The text that is replaced by a substitution (Required field) Can contain up to
string. 60 characters. The first character
must be a letter.

Substitution The tagname or text of the substitution, (Required field) Can contain up to
depending upon where the corresponding 60 characters.
symbol is being used in the picture.
NOTE: It is strongly
NOTE: Be sure to enter the text exactly as recommended that you use the
you want it to appear in the picture. If the fully qualified name for the
substitution needs to be in a specific tagname.
format, make sure the text is formatted
correctly.

Get Full When you are using tagnames for –


Name substitutions, displays the fully qualified
name for the tag.

Description The text that describes the function of the (Optional field) Can contain up to
tag group. 60 alphanumeric characters,
including special characters, such
as -(*)&+% and spaces.

Using the Tag Group Editor Toolbar


Many of the commands found on the menu bar have corresponding toolbar buttons. The following
table describes the functions of the buttons that are specific to the Tag Group Editor.

Tag Group Editor Toolbar Buttons

Click this To...


button...

Cut the contents of the cell where the insertion point is positioned, and move
it to the Clipboard.

Copy the contents of the cell where the insertion point is positioned, and
place it on the Clipboard.

Paste the contents of the Clipboard into the cell where the insertion point is
positioned.

499
Creating Pictures

Tag Group Editor Toolbar Buttons

Click this To...


button...

Delete the contents of the cell where the insertion point is positioned.

Add a row to the end of the spreadsheet.

Insert a row above the row containing the insertion point.

Delete the row where the insertion point is positioned.

Retrieve all the symbols from your picture and insert them into the Symbol
column of the spreadsheet.
NOTE: Use this button only if all the substitutions in the tag group file are
tagnames and none are text.

Retrieve the fully qualified name for all tags entered in the Substitution
column.

Change the font displayed in the Tag Group Editor.

Using the Tag Group Editor Spreadsheet


You can enter and edit Symbols, Substitutions, and Descriptions in the Tag Group Editor spreadsheet.

You can also use some special functions to automate data entry or to manipulate the data in the
spreadsheet. These functions are described in the sections that follow.

Retrieving Fully Qualified Names for Substitutions in a Spreadsheet

A fully qualified tagname consists of four parts:

• Data system
• Node
• Tag
• Field

Each element is separated by periods, as shown in the following example:

Fix32.THISNODE.AI1.F_CV

500
Creating Pictures

In this example, Fix32 is the name of the data system, THISNODE is the node name, AI1 is the
tagname, and F_CV is the field name.

From the Tag Group Editor, you can automatically:

• Insert a fully qualified name for an individual tagname.


• Retrieve the fully qualified names for all substitutions in a spreadsheet. (All of substitutions in
the spreadsheet must be tagnames; none of them can be text.)

NOTE: It is strongly recommended that you use the fully qualified names of tags for substitutions in a
spreadsheet.

Using the Data Entry Dialog Box to Define Substitutions

Double-clicking the item number in the Tag Group Editor spreadsheet displays the Data Entry dialog
box, from which you can:

• Access the Data Source Browser expression builder to define the substitution.
• Create the data source for a substitution tagname.
• Retrieve the fully qualified name for a substitution tagname.

Sorting Data in the Spreadsheet

You can sort the data in any column in the Tag Group Editor spreadsheet.

Searching and Replacing Substitutions

You can make multiple changes to tagname substitutions. This involves:

• Converting the file to comma separated value (CSV) format


• Making the changes in a third-party spreadsheet or text editor
• Re-opening and re-saving the file in the Tag Group Editor.

IMPORTANT: GE Intelligent Platforms ships two Tag Group Editors: one is for use with pictures and
the other is for use with recipes. The Tag Group Editor discussed in this manual is intended for use
with pictures. To use the Tag Group Editor with recipes, double-click the icon for the TGE.EXE
program, located in your iFIX root directory.

Retrieving Symbols from a Picture

You may have so many symbols in a picture that entering all of them into the spreadsheet would be
very time-consuming. To automatically retrieve all the symbols from a picture and insert them into the
spreadsheet, you can use the Get Symbols From Picture button on the Tag Group Editor toolbar. The
Symbols column is cleared and all of the symbols from the picture, including symbols that are used in
a picture's script, are automatically inserted into the spreadsheet. You can then alphabetically sort the
symbols by clicking the Symbol column heading.

NOTE: If you add new symbol substitutions on text, pushbutton, or variable objects to a picture, these
symbols will NOT be read into the Tag Group Editor until the picture is resaved. New symbols on the
objects in question will only be read into the Tag Group Editor when the picture is saved.

501
Creating Pictures

Using Tag Group Symbols in Pictures


You can enter tag group symbols in a picture for the following object properties:

• Command button caption


• Variable object current value
• Text object caption
• Animation data source
• Chart pen data source (historical and real-time)
• Enhanced chart data source (historical and real-time)
• Event data source
• Data link data source
• Historical data link data source

You can also use tag group symbols with the following picture methods in a script:

• TagGroupValue
• TagGroupSubstitution

Implementing a Tag Group Strategy


There are three major tasks that you must perform to successfully implement your tag group strategy:

1. Create a picture that uses symbols in areas where data points are needed to represent a
specific process value. For more information, refer to Creating and Opening Pictures.
2. Create several different tag group files that associate the symbols in the picture with different
tags.
3. Assign the tag group file to load when a picture opens, or when a new picture replaces an
existing one. For more information, refer to Assigning a Tag Group File to a Picture Event.

Entering a Symbol in a Picture


When you enter a symbol in a picture, you must type an at sign (@) at the beginning and end of the
symbol name. This allows the iFIX software to differentiate tag group symbols from ordinary text.

NOTE: When defining symbols in the Symbol column of the Tag Group Editor, you only need to enter
the symbol name, not the @ signs.

Example

You want to enter a data link in a picture that displays the value of a temperature output block. You
will use this picture three times to show three similar processes. To use a symbol called Temperature in
the picture, enter the following for the data link:

@Temperature@

502
Creating Pictures

When the iFIX software reads text in this format, it identifies the text as a tag group symbol. When a
picture opens, or a new picture replaces the current one, the symbol is replaced with the assigned
substitution.

In the Symbol column of the Tag Group Editor you would enter:

Temperature

For more information, see Syntax Guidelines for Symbols in Pictures.

Using Partial Substitutions


You may only want to substitute a specific section of a tag or a string of text. This is known as a partial
substitution. The Tag Group Editor can perform partial substitutions. However, there are some rules
you must follow:

• Make sure there is an @ sign at the beginning and end of the symbol to denote where the
symbol name begins and ends.
• Keep track of your @ signs if you are using a symbol in a tagname.

For example, if you want @Tag1@ to be the symbol in a partial text substitution, you must enter:

@Tag1@Ready

For more information, see Syntax Guidelines for Symbols in Pictures.

Partial Substitution Errors in Data Sources

Be careful when using a partial substitution in a data source. If the source of a substitution does not
currently exist in the data system, a connection will be forced. However, you will only know that this
has occurred when you receive an error message at run time. This can happen if you made a
typographical error when you entered a substitution or if you entered duplicate data.

For example, you enter a partial substitution as the source for a data link, as follows:

Fix32.@tag1@

However, in the tag group file, you entered the following substitution for @tag1@:

Fix32.THISNODE.AI1.F_CV

When this substitution occurs, the data source is now Fix32.Fix32.THISNODE.AI1.F_CV. Since the
data system thinks that this source can be created, it will force the connection.

For more information about using symbols for partial substitutions, see Syntax Guidelines for Symbols
in Pictures.

Syntax Guidelines for Symbols in Pictures


To perform a partial substitution for a tag, follow the syntax guidelines below:

503
Creating Pictures

Symbols in Pictures – Dos and Don'ts

Enter... Do not enter... Because...

Node.@tag1@.f_cv Node@tag1@f_cv You must separate elements


with periods. In this example,
there must be a period between
the node and the tag, and the
tag and the field.

@tag1@.@field@ @tag1@.@field You must start and end every


symbol with an at sign (@). In
this example, a substitution will
not occur for field because the
symbol must end with an at
sign (@).

Node.@tag1@.@field@ Node.@tag1@field@ You must separate elements


with periods. Also, you cannot
share at signs (@). Text
beginning and ending with an
at sign (@) denotes a symbol to
be replaced. In this example, a
substitution will occur for tag1
but not for field.

Node.@unit@@device@.f_cv Node.@unit@device@.f_cv You cannot share at signs (@).


In this example, a substitution
will occur for unit but not for
device.

@tag1@ + @tag2@ @tag1@+@tag2@ You must enter a space before


and after the mathematical
operator (the plus sign (+) in
this example).

( @tag1@ + @tag2@ ) / 2 (@tag1@ - @tag2@) / 2 You must enter a space before


and after the tag group when
using parenthesis.

Using Symbols for the Current Value of a Variable Object


When using symbols to represent a data source for the current value of a variable object, you must also
assign the symbol to the initial value of the variable object. The initial value is written to the current
value when a picture opens, which means the symbol will be overwritten by the content of the initial
value. If you assign a symbol to the current value only, you will lose your tag group substitution.

504
Creating Pictures

Using Symbols for Complex Expressions


You cannot substitute a complex expression for a single symbol. For example, you cannot substitute
the following expression:

Fix32.THISNODE.AI1.F_CV + 10

for the following symbol:

@tag1@

However, you can use partial substitutions to represent each part of the expression. For example, if you
want to use symbols for the complex expression above, you would use two symbols, as follows:

@tag1@ + @tag2@

where the substitution for @tag1@ would be Fix32.THISNODE.AI1.F_CV, and the substitution for
@tag2@ would be 10.

Assigning a Tag Group File to a Picture Event


Before substitutions can occur in the run-time environment, you must assign the tag group file to load
when a picture opens.

You can also assign the tag group file to load when a new picture replaces an existing one.

Optimizing Picture Loading in the Run-time Environment


The Tag Group Editor provides a way to get the best possible picture loading performance in the run-
time environment. After you have completed the design process, you can optimize the load
performance by choosing the Resolve Tags command from the File menu. When this action occurs, the
picture looks for the tag group substitutions, replaces the symbols with the substitutions, and
establishes connections between the objects in the picture and the true data sources.

The Tag Group Editor saves these connections, along with information identifying the version number
of the picture and the tag group file, and the identifying strings after substitution, in the tag group
storage file (.TGS). There is only one tag group storage file per node.

Enabling the Unresolved Picture Message


When loading pictures in the run-time environment, you can enable a message that informs you when a
picture needs to be resolved. To do this, you must edit the FILTEREDERRORS.INI file located in the
C:\Program Files\Proficy\Proficy iFIX\LOCAL path. After you edit the file, you need to close the
Proficy iFIX WorkSpace, and then reopen it.

Error Log Creation


The Tag Group Editor creates a text file, TGEERROR.LOG, in the C:\Program Files\Proficy\Proficy
iFIX\LOCAL path, which contains a list of errors that occur during the resolution process. Make sure
that you open this file and verify any errors. If there are no errors, the log will be empty.

505
Creating Pictures

OPC Server Address Substitution


The steps below describe how to use an OPC address substitution with Symbols in the Tag Group
Editor.

To use an OPC address substitution with Symbols in the Tag Group Editor:

1. In the iFIX Tag Group Editor's Substitution field, paste the OPC address name.
2. Remove the quotes from the address name.
3. On the Tag Group Editor's File menu, click Resolve Tags.

Importing and Exporting Tag Group Files


The Tag Group Editor can import and export tag group information that is formatted as a comma
separated value (.CSV) file. Comma separated value files are useful if you want to exchange tag group
information with a third-party text editor, spreadsheet, or word processor.

Comma separated value files have several benefits:

• You can enter tag group information into an application, such as Microsoft Excel or a text
editor, that you are more familiar with and then import this information into the Tag Group
Editor.
• You can generate a report by printing the comma separated value (.CSV) file as a text file.
The report provides a list of all symbols, substitutions, and descriptions defined in the Tag
Group Editor spreadsheet. This list can help you verify your tag groups before you implement
them into your SCADA strategy.

Understanding the CSV File Format


If you use Microsoft Excel or another spreadsheet application that provides a CSV file format option,
the application does all the required formatting for you. However, if you prefer to use a text editor, you
must follow some simple formatting rules to ensure that the text file is successfully imported into the
Tag Group Editor.

CSV File Formatting Rules

Each line in your text file represents one row when opened in the Tag Group Editor. Use the following
rules when formatting your text file:

• Enter the information in the same order as it appears in the Tag Group Editor spreadsheet:
symbol, substitution, description.
• The symbols, substitutions, and descriptions that you enter into your text file have the same
length limitations as the corresponding component in the Tag Group Editor spreadsheet.
• Use a list separator to separate each component of the tag group. You must use the list
separator that is defined through Regional Settings, Number tab, in Control Panel. In most
cases, this is a comma (,).
• Do not include comments or blank lines in your CSV file. If you do, a message appears at the

506
Creating Pictures

point that the Tag Group Editor first encounters either a comment or a blank line, and the file
will stop loading.
• The first line of your CSV file must contain only the total number of lines, or tag group
entries, in the tag group file. For example, if your CSV file contains six tag groups, the first
line of the file should be the following:
"6"

If your CSV file does not contain this line, it will not open in the Tag Group Editor.

• If the name of a symbol, substitution, or description contains a quotation mark (") or the same
list separator defined through Regional Settings in Control Panel, you must do the following:
• Enclose that item in quotation marks.
• Type an extra quotation mark before each quotation mark within that item.
For example, if you are entering a symbol named OVEN"TEMP1 into your text editor, you
must type "OVEN""TEMP1" as your symbol name.

Example: A Sample CSV File

Each line in a CSV file represents a row in the Tag Group Editor spreadsheet, except the first line. The
first line of a CSV file represents the total number of tag groups contained in the tag group file. The
following example depicts a CSV file created by the Tag Group Editor.

"3"
"OVENTEMP1", "Fix32.THISNODE.AI1.F_CV", "Oven 1 current temperature"
"OVENTEMP2", "Fix32.THISNODE.AI2.F_CV", "Oven 2 current temperature"
"OVENTEMP3", "Fix32.THISNODE.AI3.F_CV", "Oven 3 current temperature"

As this example shows, tag group components are separated by a list separator and enclosed in
quotation marks. The Tag Group Editor does this as a safeguard even though the only items that
require quotation marks are list separators used within an item, and other quotation marks. In fact, you
can delete the quotation marks around any component that does not contain a defined list separator or
quotation mark.

Exporting a Tag Group File as a CSV File


You can export a tag group file to a file in comma separated value (CSV) format. Then you can view
the information in a text editor or in Microsoft Excel or another spreadsheet application that provides a
CSV file format option.

Converting 6.x Tag Group Files


You must convert all tag group files created in the 6.x Tag Group Editor to the current tag group file
(.TGD) format. You do this by opening the file in the 6.x Tag Group Editor, and saving it as a CSV
file. You then convert the CSV file to a TGD file by choosing the Convert CSV Files to TGD Files
command in the File menu.

Tag Group Editor Dialog Boxes


The iFIX Tag Group Editor includes the following dialog boxes (listed in alphabetical order):

507
Creating Pictures

• Convert 6.x CSV Files Dialog Box


• Data Entry Dialog Box
• Tag Group Editor Main Window

Convert 6.x CSV Files Dialog Box


The Convert 6.x CSV Files dialog box displays the following items:

6.x .CSV File Directory

Enter the path to the directory containing your 6.x CSV files. The path must end with a backslash (\).

CSV File List

Select the files you want to convert. You can select more than one file by pressing and holding down
the <CTRL> key.

Update .CSV File List

Click this button to update the contents of the CSV File List. You must click this button after you enter
a file path in the 6.x .CSV File Directory box.

Select All

Click this button to select all of the files in the CSV File List.

Deselect All

Click this button to deselect all of the currently selected files in the CSV File List.

Data Entry Dialog Box


The Data Entry dialog box displays the following items:

Symbol

Enter a symbol that is defined in your picture. Do not enter the starting and ending delimiters (@). For
example, if you enter @tag1@ as a symbol in a picture, you only have to enter tag1 in the spreadsheet.

Valid values – Can contain up to 60 alphanumeric characters. The first character must be a letter. This
field is mandatory.

Substitution

Enter a substitution for the defined symbol. You can enter a tagname or text, depending upon where
the corresponding symbol is being used in a picture. Click Browse to open the Expression Builder.
Click Modify Database Block to modify a database block directly without opening the Database
Manager.

508
Creating Pictures

Valid values – Can contain up to 60 alphanumeric characters. The first character must be a letter. This
field is mandatory.

Browse

Click Browse to open the Expression Builder.

Modify Database Block

Click Modify Database Block to modify a database block directly without opening the Database
Manager.

Get Full Name

Click Get Full Name to get the fully qualified name for a tag. For example, if you enter AI1 in the
Substitution field and have an AI1 database block defined in your database, the Default Data
System.Node.AI1.Field is automatically entered when you click the Get Full Name button. Use this
button when you want to perform a full tag substitution.

Description

Enter text that describes the function of the tag group.

Valid values – Can contain up to 60 alphanumeric characters, including special characters, such as –
(*)&+% and spaces. This field is optional.

Tag Group Editor Main Window


The Tag Group Editor main window displays the following items:

Symbol

Enter a symbol that is defined in your picture. Do not enter the starting and ending delimiters (@). For
example, if you enter @tag1@ as a symbol in a picture, you only have to enter tag1 in the spreadsheet.

Valid values – Can contain up to 60 alphanumeric characters. The first character must be a letter. This
field is mandatory.

Substitution

Enter a substitution for the defined symbol. You can enter a tagname or text, depending upon where
the corresponding symbol is being used in a picture. Click Browse to open the Expression Builder.
Click Modify Database Block to modify a database block directly without opening the Database
Manager.

IMPORTANT: It is recommended that you use the fully qualified tagnames or explicitly use the F_CV
field in the substituted text.

Valid values – Can contain up to 60 alphanumeric characters. The first character must be a letter. This
field is mandatory.

509
Creating Pictures

Get Full Name

Click Get Full Name to get the fully qualified name for a tag. For example, if you enter AI1 in the
Substitution field and have an AI1 database block defined in your database, the Default Data
System.Node.AI1.Field is automatically entered when you click Get Full Name. Use this button when
you want to perform a full tag substitution.

Description

Enter text that describes the function of the tag group.

Valid values – Can contain up to 60 alphanumeric characters, including special characters, such as –
(*)&+% and spaces. This field is optional.

How Do I...
Click any of the following links for more information about the Tag Group Editor:

• Performing Basic Functions


• Entering Data into the Spreadsheet
• Editing a Tag Group File
• Resolving Tags With a Picture
• Assigning a Tag Group File to a Picture Event
• Importing and Exporting Tag Group Files

Performing Basic Functions


Click any of the following links for more information about performing basic functions in the Tag
Group Editor:

• Creating a New Tag Group File


• Opening an Existing Tag Group File
• Changing the Font
• Saving a Tag Group File
• Closing a Tag Group File
• Exiting the Tag Group Editor

Creating a New Tag Group File

To create a new tag group file:

1. In Classic view, in the iFIX WorkSpace, on the toolbar, click the Tag Group Editor button.
-Or-
In Ribbon view, on the Application tab, in the Utilities group, click Tag Group Editor.

510
Creating Pictures

2. Click the New toolbar button.


3. Enter the symbol, substitution, and description data for all of the tag groups that you want to
define.
4. When you are done, click the Save toolbar button. The Save As dialog box appears. By
default, it is set to the C:\Program Files\Proficy\Proficy iFIX\PIC path.
5. Enter a file name, and click Save. The file is saved with a .TGD extension.
TIPS:

• You can have only one tag group file open at a time. If you made changes to a file that is
currently open, you will be prompted to save it. The iFIX Tag Group Editor replaces the
currently open file with a new, empty tag group file.

• The tag group file must be located in the C:\Program Files\Proficy\Proficy iFIX\PIC
directory for tag group substitutions to work correctly.

• You can use an existing tag group file as a template from which to create a new tag
group file. When you are ready to save your changes, make sure that you save this file
with a different file name.

Opening an Existing Tag Group File

To open an existing tag group file:

1. In Classic view, in the iFIX WorkSpace, on the toolbar, click the Tag Group Editor button.
-Or-
In Ribbon view, on the Application tab, in the Utilities group, click Tag Group Editor.
2. Click the Open toolbar button. The Open dialog box appears. By default, it is set to the
C:\Program Files\Proficy\Proficy iFIX\PIC path.
3. Select the tag group file that you want to open, and click Open.
TIPS:

• You can have only one tag group file open at a time. If you made changes to a file that is
currently open, you will be prompted to save it. The iFIX Tag Group Editor replaces the
currently open file with the file that you selected.

• The tag group file must be located in the C:\Program Files\Proficy\Proficy iFIX\PIC
directory for tag group substitutions to work correctly.

Changing the Font

To change the font:

1. In the iFIX Tag Group Editor, click the Set Font toolbar button.
2. Select the font, font style, and size that you want to be displayed in the Tag Group Editor, and
click OK.

511
Creating Pictures

Saving a Tag Group File

To save a tag group file:

1. In the iFIX Tag Group Editor, click the Save toolbar button. If you haven't previously saved
the file, the Save As dialog box appears. By default, it is set to the C:\Program
Files\Proficy\Proficy iFIX\PIC path.
2. Enter a file name, and click Save. The file will be saved with a .TGD extension.
TIPS:

• If information is missing from the spreadsheet, a message will appear:

• If you left a symbol cell blank, you must fill in the missing information before you can save the
tag group file. When you have finished, click the Save toolbar button again.

• If you left a substitution cell blank, choose Yes to save the file. Choose No to fill in the missing
substitution before you save.

• The tag group file must be located in the C:\Program Files\Proficy\Proficy iFIX\PIC
directory for tag group substitutions to work correctly.

Closing a Tag Group File

Once the iFIX Tag Group Editor opens a tag group file, it cannot open another until the active file is
closed.

To close a tag group file:

1. In the iFIX Tag Group Editor, click the Open toolbar button. The iFIX Tag Group Editor
closes the active file and opens the file that you selected.
2. If you made changes to the active file, you will be prompted to save it.

Exiting the iFIX Tag Group Editor

To exit the iFIX Tag Group Editor:

1. In the iFIX Tag Group Editor, click Exit on the File menu.
2. If you made changes to a file that is currently open, you will be prompted to save it before the
iFIX Tag Group Editor closes.

Entering Data into the Spreadsheet


Click any of the following links for more information about entering data into the spreadsheet:

• Entering Symbols Directly into the Spreadsheet


• Entering Substitutions Directly into the Spreadsheet
• Entering Descriptions Directly into the Spreadsheet

512
Creating Pictures

• Entering Data If You Don't Know the Substitution Name

Entering Symbols Directly Into the Spreadsheet

To enter symbols directly into the spreadsheet:

1. In Classic view, in the iFIX WorkSpace, on the toolbar, click the Tag Group Editor button.
-Or-
In Ribbon view, on the Application tab, in the Utilities group, click Tag Group Editor.
2. Create a new tag group file.
3. Make sure the picture for which you are creating a tag group file is open in the Proficy iFIX
WorkSpace.
4. Click the Get Symbols From Picture button on the toolbar. The Symbols column is filled in
with the symbols defined in the picture.
TIP: You can also enter a symbol directly into the symbol cell.

Entering Substitutions Directly Into the Spreadsheet

To enter substitutions directly into the spreadsheet:

1. In Classic view, in the iFIX WorkSpace, on the toolbar, click the Tag Group Editor button.
-Or-
In Ribbon view, on the Application tab, in the Utilities group, click Tag Group Editor.
2. In the iFIX Tag Group Editor, enter either a tagname or text directly into a substitution cell.
3. If you are substituting a tagname for a symbol, click the Get Full Name button. The fully
qualified name for that tag is inserted into the substitution cell.
For example, if you enter AI1 in a substitution cell and click the Get Full Name button next to
it, FIX32.THISNODE.AI1.F_CV automatically appears in the substitution cell. If the data
source does not exist, a message will appear asking if you want to create it.
TIP: If you want to retrieve all of the fully qualified names at once, enter all of the tagnames
into the spreadsheet, and click the Get Full Name column heading. The fully qualified names
for all of the tagnames are automatically inserted into the Substitution column.

Entering Descriptions Directly Into the Spreadsheet

To enter descriptions directly into the spreadsheet:

1. In Classic View, in the iFIX WorkSpace, on the toolbar, click the Tag Group Editor button.
-Or-
In Ribbon view, on the Application tab, in the Utilities group, click Tag Group Editor.
2. In the main window, enter the description directly into the description cell.

513
Creating Pictures

Entering Data If You Don't Know the Substitution Name

To enter data if you don't know the substitution name:

1. In Classic view, in the iFIX WorkSpace, on the toolbar, click the Tag Group Editor button.
-Or-
In Ribbon view, on the Application tab, in the Utilities group, click Tag Group Editor.
2. Double-click a row number. The Data Entry dialog box appears.
3. In the Symbol box, enter the text you want to use for the symbol.
4. From the Substitution list, select a tagname, or do one of the following:
• Click Browse to open the Expression Builder dialog box.
• Click Modify Database Block to create the data source. You must enter a tagname
before you can use this button.
• Click Get Full Name to retrieve the fully qualified name. You must enter a tagname
before you can use this button.
5. In the Description box, enter text that describes the function of the tag group substitution, and
click OK.

Editing a Tag Group File


Click any of the following links for more information about editing a tag group file:

• Editing a Cell
• Deleting the Contents of a Cell
• Inserting a Row
• Deleting a Row
• Sorting Data Alphabetically in a Column
• Searching and Replacing Substitutions
• Using OPC Server Address Substitution in the Tag Group Editor

Editing a Cell

To edit a cell:

1. In the iFIX Tag Group Editor, select the cell. The text in the cell is highlighted.
2. Enter text over the highlighted text.

Deleting the Contents of a Cell

To delete the contents of a cell:

1. In the iFIX Tag Group Editor, select the cell that contains the data you want to delete.

514
Creating Pictures

2. Click the Delete Cell Contents toolbar button. The content of the cell is deleted.

Inserting a Row

To insert a row:

1. In the iFIX Tag Group Editor, select a cell.


2. Click the Insert Row toolbar button. An empty row is inserted above the row that contains the
insertion point.

Adding a Row

To add a row:

• In the iFIX Tag Group Editor, click the Add Row toolbar button. An empty row is
added to the end of the spreadsheet.

Deleting a Row

To delete a row:

1. In the iFIX Tag Group Editor, select a cell in the row you want to delete.
2. Click the Delete Row toolbar button. The row that contains the insertion point is deleted.

Sorting Data Alphabetically in a Column

To sort data alphabetically in a column:

1. In the iFIX Tag Group Editor, click the heading of the column that you want to sort.
2. The column is sorted in ascending order. If you click the column heading again, the column
will be sorted in descending order.

Searching and Replacing Substitutions

To search and replace substitutions:

1. In the iFIX Tag Group Editor, export your tag group file as a CSV file.
2. Open the CSV file in a third-party spreadsheet or text editor.
3. Use the text editor's find and replace functionality (usually found on the Edit menu) to make
multiple changes to tagname substitutions.
4. When you have finished making changes, save the file as a CSV file, and exit the text editor.
5. Open the CSV file in the Tag Group Editor.
6. On the File menu, click Save As to re-save the CSV file as a tag group (.TGD) file.

515
Creating Pictures

Using OPC Server Address Substitution in the Tag Group Editor

iFIX requires the following workaround to use the OPC Server address substitution with the Tag
Group Editor (TagGroupEditor.exe). The steps below describe how to use an OPC address substitution
with Symbols in the Tag Group Editor.

To use an OPC address substitution with Symbols in the Tag Group Editor:

1. In the iFIX Tag Group Editor's Substitution field, paste the OPC address name.
2. Remove the quotes from the address name.
3. On the File menu, click Resolve Tags.

Resolving Tags With a Picture

To resolve tags with a picture:

1. In Classic view, in the iFIX WorkSpace, on the toolbar, click the Tag Group Editor button.
-Or-
In Ribbon view, on the Application tab, in the Utilities group, click Tag Group Editor.
2. On the File menu, click Resolve Tags.
3. Enter a picture file name, and click Open.
4. Enter a tag group file name, and click Open. The operation is performed.
TIP: You can select more than one file by pressing and holding the <CTRL> key while you
select files from the list.

Assigning a Tag Group File to a Picture Event


Click any of the following links for more information about assigning a tag group file to a picture
event:

• Assigning a Tag Group Substitution to Occur When a Picture Opens

• Assigning a Tag Group Substitution to Occur When a Picture Replaces Another Picture

Assigning a Tag Group Substitution to Occur When a Picture Opens

To assign a tag group substitution to occur when a picture opens:

1. In the iFIX WorkSpace, open the picture from which you want to open another picture.
2. Select a button or shape from which you want to open the picture.
3. In Classic view, from the iFIX WorkSpace Toolbox, click the Open Picture Expert button.
-Or-
In Ribbon view, on the Tools tab, in the Tasks/Experts group, click Commands, and then click
Open Picture.

516
Creating Pictures

4. Enter the file name, or alias, of the picture that you want to open.
5. Enter the position for the picture to open in. The default position is 0,0.
6. Select the Enable Tag Group Substitution check box.
7. Enter the name of the tag group file that you want to apply to the picture upon opening, and
click OK.
8. Save the changes you made to the picture, and switch to the runtime environment.
When you click the object, the picture that you selected to open displays, and the symbols in
the picture are replaced with the substitutions that you defined in the tag group file.

TIPS:

• If you want to choose the picture to open at runtime, select the Select Picture to Open in
Run Mode check box. When you switch to the runtime environment and click the object,
the Open dialog box appears.

• If you want to choose the tag group file to load at runtime, select the Tag Group File in
Run Mode check box. When you switch to the runtime environment and click the object,
the picture to which you want to assign a tag group file appears, and then the Please
Select a Tag Group Definition (TGD) File dialog box appears.

• You can open the iFIX Tag Group Editor from the Open Picture Expert dialog box by
clicking the Tag Group Editor button.

Assigning a Tag Group Substitution to Occur When a Picture Replaces Another Picture

To assign a tag group substitution to occur when a picture replaces another picture:

1. In the iFIX WorkSpace, open the picture that you want to replace.
2. Select a button or shape from which you want to replace the picture.
3. In Classic view, from the iFIX WorkSpace Toolbox, click the Replace Picture Expert button.
-Or-
In Ribbon view, on the Tools tab, in the Tasks/Experts group, click Commands, and then click
Replace Picture.
4. Enter the file name, or alias, of the picture that you want to replace.
5. Enter the file name of the picture that you want to make the replacement with.
6. Select the Enable Tag Group Substitution check box.
7. Enter the name of the tag group file that you want to apply to the replacement picture upon
opening, and click OK.
8. Save the changes you made to the picture, and switch to the runtime environment.
When you click the object, the picture that you selected gets replaced by the replacement
picture, and the symbols in the replacement picture are replaced with the substitutions that
you defined in the tag group file.

TIPS:
• If you want to replace the current picture at runtime, select the Replace Current Picture

517
Creating Pictures

in Run Mode check box. When you switch to the runtime environment and click the
object, the current picture closes and the replacement picture appears.

• You can open the iFIX Tag Group Editor from the Open Picture Expert dialog box by
clicking the Tag Group Editor button.

Importing and Exporting Tag Group Files


Click any of the following links for more information about importing and exporting tag group files:

• Converting One or More 6.x Tag Group Files


• Exporting a Tag Group File as a CSV File

Converting One or More 6.x Tag Group Files

The iFIX Tag Group Editor lets you convert multiple tag group files created in version 6.x of FIX.

To convert multiple tag group files:

1. Start iFIX and open the Proficy iFIX WorkSpace.


2. In the 6.x Tag Group Editor, make sure you have saved the tag group files as CSV files.
3. In Classic view, in the iFIX WorkSpace, on the toolbar, click the Tag Group Editor button.
-Or-
In Ribbon view, on the Application tab, in the Utilities group, click Tag Group Editor.
4. On the File menu, click Convert CSV Files to TGD Files. The Convert 6.x CSV Files dialog
box appears. By default, it is set to the C:\Program Files\Proficy\Proficy iFIX\PIC path.
5. In the 6.x .CSV File Directory box, enter the path to the directory where your 6.x CSV files
are located, and click the Update .CSV File List button. The path must end with a backslash
(\), similar to the following:
C:\Program Files\Proficy\Proficy iFIX\PIC\

6. Select the files you want to convert, and click OK. The files will be saved with a .TGD
extension.

Exporting a Tag Group File as a CSV File

To export a tag group file as a CSV file:

1. In the iFIX Tag Group Editor, on the File menu, click Save As. The Save As dialog box
appears. By default, it is set to the C:\Program Files\Proficy\Proficy iFIX\PIC path.
2. From the Save as type list, select CSV Files (*.CSV).
3. Enter a file name, and click Save. The file will be saved with a .CSV extension.
TIP: The tag group file must be located in the C:\Program Files\Proficy\Proficy iFIX\PIC
directory for tag group substitutions to work correctly.

518
Creating Pictures

Working with Dynamo Objects


A Dynamo object is an object or group of objects that you store in a Dynamo Set and can use in all of
your pictures, helping to create a consistent design across your operator displays. All Dynamo objects
can be manipulated like any iFIX object. The Dynamo object is closest to the group object in behavior.
For instance, you can drill-down into Dynamo objects within pictures to change individual objects.

You can create Dynamo objects out of both simple custom objects and objects with animations. In
objects with animations, you can assign meaningful user prompts to Dynamo properties. These user
prompts appear in the Dynamo Properties dialog box that opens when you double-click the Dynamo or
when you first copy the Dynamo into a new picture.

Each Dynamo object includes five additional object properties:

• Dynamo ID – You cannot edit this field; it is a system assigned value. This value is a
Globally Unique Identifier (GUID). The identifier is the same for a Master Dynamo in a
Dynamo Set and all instances of the Dynamo object throughout all pictures. Use this identifier
to identify instances of a Dynamo object with the Master Dynamo in a Dynamo Set.
• Dynamo Description – Provides a short description of the specific usage of the given
Dynamo Instance. The number of characters that you can enter in this description are recorded
in the Max_Dynamo_Desc_Length field. The Dynamo Description can be different for each
Dynamo Instance. For the Master Dynamo, the description is empty and read-only.
• Master – You cannot edit this field; it is a system assigned value. When True, the selected
Dynamo is a Master Dynamo (within a Dynamo Set). When False, this Dynamo is a Dynamo
Instance (within a picture).
• Max_Dynamo_Desc_Length – You cannot edit this field; it is a system assigned value that is
currently set to 40 characters. This field describes the maximum number of characters that
you can enter into the Dynamo Description property, which is currently set at 40 characters.
• Revision – You cannot edit this field; it is a system assigned number for the revision. When
you save a Master Dynamo inside of a Dynamo Set, and the Master Dynamo contains
changes, the revision number is incremented. It's only when the Master Dynamo changes and
then you save the Dynamo Set that this number increments on the Master Dynamo. iFIX uses
Dynamo revision numbers during an update to determine when a Master Dynamo is newer
than the Dynamo Instances created from it. Revision numbers are not updated when a
Dynamo Instance within a picture is modified. During an update, when a Dynamo Instance
does not equal the Master Dynamo revision number (that is, the revision number of the
Dynamo Instance is lower than the Master Dynamo), the revision number on the Dynamo
Instance is updated to match the Master Dynamo.

When you create a Dynamo and save it in a Dynamo Set, you create a Master Dynamo. You can use
this Master Dynamo in your system pictures by dragging the Dynamo object from the Dynamo Set into
a picture. If you assigned User Prompts to the Dynamo's Object Properties, the Dynamo's Property
dialog box appears. This dialog box allows you to change the data sources for the Dynamo's properties.

You can create a report of Dynamo objects in your pictures, or pictures that contain specific Dynamos,
by using the Cross Reference Tool. A Quick Report is generated when you run the Quick Dynamo
Updater or the Dynamo Updater Wizard, both of which are available from the Dynamo Toolbar
(Classic View) or on the Tools tab, in the Dynamos group, in the Dynamos list (Ribbon View).

519
Creating Pictures

Master Dynamos and Dynamo Instances


A Master Dynamo is any Dynamo object that exists in a Dynamo Set. This term applies only to
Dynamo objects. It does not include pre-built Dynamos or Dynamos created in versions of iFIX earlier
than 4.5. A Master Dynamo includes an identifier so that you can identify which Dynamo objects in a
picture are instances of that particular Master Dynamo. The Dynamo ID is the same in the Dynamo
Instances that are derived from the master. Master Dynamo’s exist only within Dynamo Sets. Once
placed into an iFIX picture, a Master Dynamo becomes a Dynamo Instance.

A Dynamo Instance is a Master Dynamo that has been placed into a picture. A Dynamo Instance can
be uniquely identified with one and only one Master Dynamo. Dynamo Instances exist only within
iFIX pictures. When placed into a Dynamo Set, a Dynamo Instance becomes a Master Dynamo,
possibly replacing a pre-existing Master Dynamo or simply becoming a new Master Dynamo based
upon the option selected by the user. Each Dynamo Instance can have its own Dynamo description,
describing how the Instance is used in the picture.

When a group containing Dynamo Instances is promoted to a Master Dynamo, as in the case when it is
dragged into a Dynamo Set, the contained Dynamo Instances are converted to standard group objects.
You are warned about this occurrence during Master Dynamo creation and the user is allowed the
option of cancelling the operation.

If a Dynamo Instance has been resized since the last Master Dynamo update, that size is maintained on
the next update. The overall height and width of the entire Dynamo Instance remains the same. The
relative size of internal objects is adjusted accordingly. Be aware that not all dimensions resize,
however. For example, for a pipe object, you can resize the height and width, but not the thickness of
the actual pipe.

IMPORTANT: Be advised that if you delete a Master Dynamo and there are pictures with Dynamo
Instances derived from that Master Dynamo, you will no longer be able to use the Dynamo Updater to
update those Instances. Use caution when deleting any Master Dynamo in a Dynamo Set.

Pre-Built Dynamos and Dynamos Created Before iFIX 4.5


Dynamos in some pre-built Dynamo Sets and Dynamos created before iFIX 4.5 are not considered
Dynamo objects. This means you cannot use the Quick Dynamo Updater, the Dynamo Updater
Wizard, and the Cross Reference Tool to update instances of these Dynamos within existing pictures.
Only Dynamo objects can be updated with these tools.

Pre-built Dynamos, which are not considered Dynamo objects, include the following Dynamo Sets:

• Historical
• Miscellaneous
• Motors
• Pipes
• PipesAnim
• Pumps
• PumpsAnim
• Tanks

520
Creating Pictures

• TanksAnim1
• TanksAnim2
• Valves
• ValvesAnim

However, you may convert Dynamos created before iFIX 4.5 to objects using the Dynamo Converter
tools. After the Dynamos have been converted, you may then use the Quick Dynamo Updater, the
Dynamo Updater Wizard, and the Cross Reference Tool to update Dynamo instances.

Determining Which Dynamo Sets Contain Dynamo Objects


The following table details which Dynamo Sets contain Dynamo Objects. Dynamo Sets created before
iFIX 4.5 are not considered, and do not include, Dynamo objects; they are considered group objects, or
legacy Dynamos. If a Dynamo Set does not contain Dynamo Objects, you cannot use the Quick
Dynamo Updater, the Dynamo Updater Wizard, and the Cross Reference Tool to update instances of
these Dynamos within existing pictures. Only Dynamo objects can be updated with these tools. To
update the Dynamos in your pictures using the Dynamo Updater, you must first convert your legacy
Dynamo sets, those created before iFIX 4.5 and certain pre-built sets, using the Dynamo Sets
Converter.

Dynamo Set Contains Dynamo Objects?

Yes No

Emergency Stop Button X

Gauges Horizontal Large X

Gauges Horizontal Medium X

Gauges Horizontal Small X

Gauges Round Large X

Gauges Round Medium X

Gauges Round Small X

Gauges Vertical Large X

Gauges Vertical Medium X

Gauges Vertical Small X

521
Creating Pictures

Dynamo Set Contains Dynamo Objects?

Yes No

Historical X

Miscellaneous X

Motors X

Panel Buttons Large X

Panel Buttons Medium X

Panel Buttons Small X

Pilot Lights Large X

Pilot Lights Medium X

Pilot Lights Small X

Pipes X

Pipes Anim X

Pipes Large X

Pipes Small X

Pumps X

Pumps Anim X

Pumps Large X

Pumps Small X

Storage Tanks X

Storage Tanks Anim X

522
Creating Pictures

Dynamo Set Contains Dynamo Objects?

Yes No

Switches Large X

Switches Medium X

Switches Small X

Tanks X

Tanks Anim1 X

Tanks Anim2 X

Up Down Buttons X

Valves X

Valves Anim X

Valves Control Hand X

Valves ISA Horiz Large X

Valves ISA Horiz Small X

Valves ISA Vert Large X

Valves ISA Vert Small X

Converting Dynamos to Dynamo Objects in Pictures


• Dynamos created before iFIX 4.5 are not considered Dynamo objects; they are considered
group objects, or legacy Dynamos. This means you cannot use the Quick Dynamo Updater,
the Dynamo Updater Wizard, and the Cross Reference Tool on legacy Dynamos. In order to
be able to use the Updater tools to quickly update your Dynamos, you must convert them to
Dynamo objects.
• You can search for group objects, or legacy Dynamos, and convert them to Dynamo objects in
multiple pictures at once using the Dynamo Converter. The Dynamo Converter is accessed
using the Quick Dynamo Converter or the Dynamo Converter Wizard, both of which are

523
Creating Pictures

available from the Dynamo Toolbar (Classic and Ribbon views) or on the Tools tab, in the
Dynamo group, in the Dynamo list (Ribbon view).

When converting Dynamos inside a picture, those Dynamos are replaced with the Master Dynamo
objects used in the conversion process. This replacement is not a merge; if you made changes to the
Dynamo, they are overwritten by the Master Dynamo.

The Conversion Process


The conversion process for Dynamos created before iFIX 4.5 has four stages:

Stage Who Does What

1 User Use the Dynamo Sets Converter to convert old Dynamo Sets.

2 User Link legacy Dynamos to Master Dynamos.


There are two methods for linking legacy Dynamos to Master
Dynamos.
• The Quick Dynamo Converter. Allows the user to select a
Master Dynamo and Dynamo Instances to link. Requires that
only one Dynamo Set and one picture is open and active.
• The Dynamo Converter Wizard. Allows the user to select a
Master Dynamo and Dynamo Instances in multiple pictures to
link.

3 iFIX Convert Dynamos.


iFIX examines the differences between Dynamos and their associated
Master Dynamos, and then converts the Dynamos based on the
conversion behavior the user specified.

4 User/iFIX Create links with several Master Dynamos (if necessary).


Repeat stages 2 and 3.

Limitations
There are a few limitations when using the Dynamo Converter tools:

• IMPORTANT: You must backup all Dynamo Sets and pictures before conversion.

• IMPORTANT: All group objects are listed on the Select Dynamo tab of the Dynamo
Converter. The groups are nested, and may therefore contain Dynamo objects, in addition to
legacy Dynamos. If you select the top-level groups without absolute certainty that all sub-
level groups contain legacy Dynamos, the conversion will produce unexpected results.

• Pictures in a shared directory that are currently open by another user are not available for
conversion. A picture must be able to be opened and saved, which requires that no one else

524
Creating Pictures

have the file open.


• Open Dynamo Sets are not automatically saved after conversion.
• Resized Dynamos do convert, however, not all dimensions resize. For example, for a pipe
object, you can resize the height and width, but not the thickness of the actual pipe when you
resize it if the pipe's ThicknessType is Fixed; this is the case for all pictures with pipes created
prior to iFIX 5.0.
• Animations on any object type will map only to an object of the same type.
• Animation Data Sources from an existing Dynamo are maintained as long as a similar object
still exists in the Master Dynamo.
• Dynamo descriptions are unique and are not overwritten during a conversion.
• If selected, the "Maintain Caption" option presented on the Dynamo Converter Wizard
Progress dialog box retains the caption text in Dynamo Instances only when the object name
matches the Master Dynamo.
• Existing connections made via use of Graphical Connection Nodes are maintained whenever
possible.

Using the Dynamo Toolbar


The following table describes the buttons available on the Dynamo Toolbar.

NOTE: Although hidden by default, you can access and use toolbars in Ribbon view. To access the
Dynamo toolbar in Ribbon view, on the Home tab, in the WorkSpace group, click Settings, and then
click Toolbars. You can also open a toolbar from the WorkSpace tree, by opening the Project Toolbar
Files folder and double-clicking the toolbar you want to open.

Click this Which can also be accessed in To...


button... Ribbon view...

From the Tools tab, in the Open the Build Dynamo Wizard.
Dynamos group, click Dynamos, This wizard allows you to create
and then click Build Dynamo. a Dynamo object from a selected
object or objects.

From the Tools tab, in the Open the Quick Dynamo Updater
Dynamos group, click Dynamos, dialog box. This dialog box
and then click Quick Dynamo allows you to find and update
Updater. Dynamo Instances on all open
pictures or on a single active
picture.

525
Creating Pictures

Click this Which can also be accessed in To...


button... Ribbon view...

From the Tools tab, in the Open the Dynamo Updater


Dynamos group, click Dynamos, Wizard dialog box. This dialog
and then click Dynamo Updater box allows you to find and
Wizard. update specific Dynamo
Instances on selected pictures.
You can specify a log file in
which to record results.

From the Tools tab, in the Open the Convert Dynamo Sets
Dynamos group, click Dynamos, dialog box. This dialog box
and then click Convert Dynamo allows you to select Dynamo Sets
Sets. to convert.

From the Tools tab, in the Open the Quick Dynamo


Dynamos group, click Dynamos, Converter dialog box. This dialog
and then click Quick Dynamo box allows you to find and
Converter. convert Dynamo Instances on a
single active picture.

From the Tools tab, in the Open the Dynamo Converter


Dynamos group, click Dynamos, Wizard dialog box. This dialog
and then click Dynamo Converter box allows you to find and
Wizard. convert specific Dynamo
Instances on selected pictures.
You can specify a log file in
which to record results.

NOTE: The Dynamo Wizard toolbar is not accessible when a Dynamo Set is active.

Creating Dynamo Objects


To create a Dynamo out of the currently selected object(s), click the Create Dynamo button, shown in
the following figure, on the Dynamo toolbar (Classic view) or on the Tools tab, in the Dynamo group,
in the Dynamo list, click Create Dynamo (Ribbon view).

Create Dynamo Button

526
Creating Pictures

If you are creating a Dynamo from an object with no animations, the Build Dynamo Wizard dialog box
appears. By default, the Build Dynamo Wizard assigns the object a sequential Dynamo name. In the
Build Dynamo Wizard you can rename the Dynamo, as well as enter text describing the Dynamo and
the object itself.

When a group containing Dynamo objects is promoted to a Master Dynamo, as in the case when it is
dragged and dropped into a Dynamo Set, the contained Dynamo objects (instances) will be converted
to standard group objects. A message prompts you about this occurrence, and allows you to cancel the
operation.

Creating Dynamo Objects without Animations


To create a Dynamo out of the currently selected object or objects within a picture, click the Build
Dynamo button, shown in the following figure, on the Dynamo toolbar (Classic view) or on the Tools
tab, in the Dynamo group, in the Dynamo list, click Build Dynamo (Ribbon view).

Build Dynamo Button

If you are creating a Dynamo from an object with no animations, the Build Dynamo Wizard dialog box
appears. By default, the Build Dynamo Wizard assigns the object a sequential Dynamo name. In the
Build Dynamo Wizard you can rename the Dynamo, as well as enter text describing the Dynamo and
the object itself.

If you are creating a Dynamo object with animations, the Build Dynamo with User Prompts dialog box
appears. For more information on how to use this dialog box to create your Dynamo object, refer to the
Creating Dynamo Objects with Animations section.

Creating Dynamos Objects with Animations


A Dynamo is typically a group of objects that make up a custom object for use in multiple pictures
across your system. If some or all of those objects are animated by a data source, the Build Dynamo
with User Prompts dialog box appears, as shown in the following figure, when you apply the Build
Dynamo wizard to the group.

527
Creating Pictures

Build Dynamo with User Prompts Dialog Box

The object(s) retains the animation properties associated with an object or group when you create the
Dynamo object. During Dynamo object configuration, the Build Dynamo with User Prompts dialog
box lets you assign meaningful user prompts to Dynamo properties.

For example, if you created a tank with several iFIX objects and used a rectangle as the animated fill
portion of the tank, that rectangle is connected to an animation object whose source may be a database
tag. Instead of displaying Rect1.VerticalFillPercentage as the animated property in the Dynamo's
property dialog box, the Build Dynamo Wizard lets you name Rect1.VerticalFillPercentage to
something more meaningful to Dynamo users, like Tank Fill. In this example, you would enter Tank
Fill in the User Prompt field.

These user prompts appear in the Dynamo Properties dialog box when the Dynamo is double-clicked
or when the Dynamo is first copied into a new picture. This allows you to quickly modify the data
source associated with the property, if necessary.

The following sections describe the information displayed in the columns of this dialog box, including:

• Object Properties
• Current Setting
• User Prompts

Object Properties

The Object Properties column, shown in the Build Dynamo with User Prompts dialog box, displays the
objects that comprise the Dynamo object and their animated properties. The basic format for an Object
Property is shown below:

528
Creating Pictures

Object Name.Property

Where Object Name is the name of the object that is animated, and Property is the property of the
object that is animated.

You may also have some animated object properties that reside within groups. In this case, the object
property displays as shown below:

Group Name.Object Name.Property

The following tables describe the properties of objects that you can animate. These properties are all
viewed on the Advanced Animations dialog box.

Visible Tab

Property Description Objects

Visibility Specifies whether or not a Time, Date, Rectangle,


shape appears on the screen. Rounded Rectangle, Oval,
Chord, Polygon, Pie, Pipe,
Arc, Line, Polyline, Text,
Datalink, Chart, Bitmap

Size Tab

Property Description Objects

Height The number of logical units Time, Date, Rectangle,


occupied by the shape in the Rounded Rectangle, Oval,
vertical direction. Chord, Polygon, Pie, Pipe,
Arc, Line, Polyline, Text,
Datalink, Chart, Bitmap

Width The number of logical units Time, Date, Rectangle,


occupied by the shape in the Rounded Rectangle, Oval,
horizontal direction. Chord, Polygon, Pie, Pipe,
Arc, Line, Polyline, Text,
Datalink, Chart, Bitmap

HorizontalScalePercentage The ratio of the current shape Time, Date, Rectangle,


width to its original width. Rounded Rectangle, Oval,
Chord, Polygon, Pie, Pipe,
Arc, Line, Polyline, Text,
Datalink, Chart, Bitmap

529
Creating Pictures

Property Description Objects

VerticalScalePercentage The ratio of the current shape Time, Date, Rectangle,


height to its original height. Rounded Rectangle, Oval,
Chord, Polygon, Pie, Pipe,
Arc, Line, Polyline, Text,
Datalink, Chart, Bitmap

HorizontalScaleDirection Specifies whether the left or Time, Date, Rectangle,


right side of the shape will Rounded Rectangle, Oval,
expand or contract when the Chord, Polygon, Pie, Pipe,
horizontal scale percentage is Arc, Line, Polyline, Text,
changed. Datalink, Chart, Bitmap

VerticalScaleDirection Specifies whether the top or Time, Date, Rectangle,


bottom side of the shape will Rounded Rectangle, Oval,
expand or contract when the Chord, Polygon, Pie, Pipe,
vertical scale percentage is Arc, Line, Polyline, Text,
changed. Datalink, Chart, Bitmap

UniformScale Specifies whether or not a Time, Date, Rectangle,


shape scales horizontally and Rounded Rectangle, Oval,
vertically by the same Chord, Polygon, Pie, Pipe,
amount. Arc, Line, Polyline, Text,
Datalink, Chart, Bitmap

Misc Tab

Property Description Objects

Layer The layer of the shape. Time, Date, Rectangle,


Rounded Rectangle,
Oval, Chord, Polygon,
Pie, Pipe, Arc, Line,
Polyline, Text,
Command Button,
Datalink, Chart

StartX Specifies the X coordinate Chord, Pie, Arc, Line


starting point of the line.

StartY Specifies the Y coordinate Chord, Pie, Arc, Line


starting point of the line.

530
Creating Pictures

Property Description Objects

EndX The horizontal location (in Chord, Pie, Arc, Line


logical units) of the last point
in the shape.

EndY The vertical location (in Chord, Pie, Arc, Line


logical units) of the last point
in the shape.

StartAngle The angle that starts the Pie


sweep of the pie.

EndAngle The angle that ends the Pie


sweep of the pie.

Radius The current radius of the pie. Pie

Pie Type Specifies whether the pie is Pie


limited to less than 180
degrees of arc.

MousePointer Specifies the mouse pointer Command Button


to display in run mode.

Accelerator Specifies the accelerator to Command Button


use in run mode.

Name Specifies the name of the Command Button,


object. Alarm Summary

IsSelectable Controls whether the object Command Button,


can be selected in run mode. Alarm Summary

Description A user defined description of Command Button,


this object's function. Alarm Summary

ContextID The user-defined context ID Command Button,


for the user's context Alarm Summary
sensitive help file.

Visible Specifies whether or not a Command Button,


shape appears on the screen. Alarm Summary

531
Creating Pictures

Property Description Objects

Height The number of logical units Command Button,


occupied by the shape in the Alarm Summary
vertical direction.

Width The number of logical units Command Button,


occupied by the shape in the Alarm Summary
horizontal direction.

HorizontalPosition The shape's distance (in Command Button,


logical units) from the left Alarm Summary
side of the picture.

VerticalPosition The shape's distance (in Command Button,


logical units) from the top of Alarm Summary
the picture.

HorizontalScalePercentage The ratio of the current shape Command Button,


width to its original width. Alarm Summary

VerticalScalePercentage The ratio of the current shape Command Button,


height to its original height. Alarm Summary

HorizontalScaleDirection Specifies whether the left or Command Button,


right side of the shape will Alarm Summary
expand or contract when the
horizontal scale percentage is
changed.

VerticalScaleDirection Specifies whether the top or Command Button,


bottom side of the shape will Alarm Summary
expand or contract when the
vertical scale percentage is
changed.

UniformScale Specifies whether or not a Command Button,


shape scales horizontally and Alarm Summary
vertically by the same
amount.

EnableTooltips Specifies whether a shape's Command Button,


tooltips are shown. Alarm Summary

532
Creating Pictures

Property Description Objects

ControlOrderIndex The order in which this Command Button,


object will be selected via the Alarm Summary
up and down arrow keys.

HighlightEnabled Indicates that the button Command Button,


should have a highlight Alarm Summary
rectangle drawn around it
when the mouse passes over
it in run mode.

Default Specifies whether the button Command Button,


is the default button on the Alarm Summary
picture.

Cancel Specifies the ability of the Command Button,


button to accept the cancel Alarm Summary
event on the picture.

EnableAlarmAcknowledge Specifies whether or not Alarm Summary


alarm acknowledgement is
enabled.

EnableAlarmDeletion Specifies whether or not Alarm Summary


alarm deletion is enabled.

EnableColumnQuickSort Specifies whether or not Alarm Summary


column quick sort is enabled.

FilterString Specifies the filter string. Alarm Summary

ShowHeaders Specifies whether or not to Alarm Summary


display the column headers.

ShowRowNumbers Specifies whether or not to Alarm Summary


display row numbers.

UseUnacknowledgeAlarmColor Specifies whether or not to Alarm Summary


display a color for
unacknowledged alarms.

ShowScrollBars Specifies whether or not to Alarm Summary


display scroll bars.

533
Creating Pictures

Property Description Objects

SortColumnName Specifies the column name to Alarm Summary


sort by.

SortOrderDescending Specifies whether or not the Alarm Summary


descending sort type is
enabled.

AlarmUserdefField1 Specifies the User Defined Alarm Summary


Field 1 property.

AlarmUserdefField2 Specifies the User Defined Alarm Summary


Field 2 property.

EnableRightMouseClick Specifies whether or not the Alarm Summary


right mouse menu is enabled.

BlinkEnabled Specifies whether or not the Alarm Summary


blink property is enabled.

ShowGridLines Specifies whether or not the Alarm Summary


grid lines are displayed.

UnacknowledgedAlarmColor Specifies the color to display Alarm Summary


for unacknowledged alarms.

EnableRunTimeConfiguration Specifies whether or not run- Alarm Summary


time configuration is
enabled.

UpdateOnPropChange Specifies whether or not to Alarm Summary


update when property values
change.

ShowStatusBar Specifies whether or not the Alarm Summary


status bar is displayed.

AlarmRefreshInterval Specifies the alarm refresh Alarm Summary


interval in seconds.

BlinkRate Specifies the rate, in seconds, Alarm Summary


at which blinking occurs.

534
Creating Pictures

Property Description Objects

SelectionTimeout Specifies the length of time, Alarm Summary


in seconds, that a row
remains selected.

StatusFontSize Specifies the font size of the Alarm Summary


alarm status text.

PauseIndicatorBlink Specifies whether or not the Alarm Summary


pause status color blinks.

PauseIndicatorColor Specifies the color of the Alarm Summary


pause status.

PauseWithNewAlarmIndicatorBlink Specifies whether or not the Alarm Summary


pause alarm status color
blinks.

PauseWithNewAlarmIndicatorColor Specifies the color of the Alarm Summary


pause alarm status.

RunIndicatorBlink Specifies whether or not the Alarm Summary


run status color blinks.

RunIndicatorColor Specifies the color of the run Alarm Summary


status.

UserDef1ColumnName Specifies the name of the Alarm Summary


User Defined Field 1
property.

UserDef2ColumnName Specifies the name of the Alarm Summary


User Defined Field 2
property.

BackgroundColor Specifies the background Alarm Summary


alarm color.

AlarmHornEnabled Specifies whether or not the Alarm Summary


alarm horn is enabled.

VisibleUnacknowledgedAlarms Specifies whether or not Alarm Summary


unacknowledged alarms are
displayed.

535
Creating Pictures

Property Description Objects

TotalFilteredAlarms Specifies the total number of Alarm Summary


filtered alarms.

CheckForNewAlarms Specifies whether or not to Alarm Summary


check for new alarms.

TopVisibleRow Specifies the number of top Alarm Summary


rows that are visible.

BottomVisibleRow Specifies the number of Alarm Summary


bottom rows that are visible.

CheckForAlarmListChanged Specifies whether or not to Alarm Summary


check if the alarm list has
changed.

EnableAcknowledgeAll Specifies whether or not the Alarm Summary


Allow Acknowledge All
Alarms property is enabled.

CurrentImage Specifies the index of the Bitmap


image currently displayed.

ApplyProperties Specifies how the properties Bitmap


are applied to the list of
images.

ButtonStyle Specifies the button behavior Bitmap


of the bitmap.

ButtonState Specifies the state of a multi- Bitmap


state button.

SecondaryImageDisplayed Specifies whether or not a Bitmap


secondary image at the
current index is being
displayed as the primary (or
mouse-up) image.

DownImageDisplayed Specifies whether or not the Bitmap


secondary image is to be
displayed on a mouse down.

536
Creating Pictures

Property Description Objects

Transparency Specifies whether or not a Bitmap


bitmap can effectively have a
bleed-through area that can
be used for animation and
visualization.

Position Tab

Property Description Objects

HorizontalPosition The shape's distance (in Time, Date, Rectangle,


logical units) from the left Rounded Rectangle, Oval,
side of the picture. Chord, Polygon, Pie, Pipe,
Arc, Line, Polyline, Text,
Datalink, Chart, Bitmap

VerticalPosition The shape's distance (in Time, Date, Rectangle,


logical units) from the top of Rounded Rectangle, Oval,
the picture. Chord, Polygon, Pie, Pipe,
Arc, Line, Polyline, Text,
Datalink, Chart, Bitmap

Color Tab

Property Description Objects

ForegroundColor The color used to fill the Time, Date, Rectangle,


interior of the shape. Rounded Rectangle, Oval,
Chord, Polygon, Pie, Pipe,
Text, Datalink, Chart

BackgroundColor The color used to fill in the Time, Date, Rectangle,


interior of the shape. Rounded Rectangle, Oval,
Chord, Polygon, Pie, Pipe,
Text, Datalink, Chart,
Bitmap

EdgeColor The color used to outline the Time, Date, Rectangle,


shape. Rounded Rectangle, Oval,
Chord, Polygon, Pie, Pipe,
Arc, Line, Polyline, Text,
Datalink, Chart

537
Creating Pictures

Property Description Objects

ForegroundEdgeColor The foreground edge color of Chart


a shape.

BackgroundEdgeColor The background edge color of Chart


a shape.

HorizontalGridColor The color of the horizontal Chart


grid lines.

VerticalGridColor The color of the vertical grid Chart


lines.

TransparentColor The transparent color of the Bitmap


bitmap.

Style Tab

Property Description Objects

FillStyle The pattern used to fill the Time, Date, Rectangle,


interior of the shape. Rounded Rectangle, Oval,
Chord, Polygon, Pie, Pipe,
Text, Datalink, Chart

BackgroundStyle Specifies whether the fill Time, Date, Rectangle,


style is either a "visible" or Rounded Rectangle, Oval,
"see through" background. Chord, Polygon, Pie, Pipe,
Arc, Line, Polyline, Text,
Datalink, Bitmap

EdgeStyle The pattern used to outline Time, Date, Rectangle,


the object. Rounded Rectangle, Oval,
Chord, Polygon, Pie, Pipe,
Arc, Line, Polyline, Text,
Datalink, Chart, Bitmap

EdgeWidth The width (in pixels) of the Time, Date, Rectangle,


object's outline. Rounded Rectangle, Oval,
Chord, Polygon, Pie, Pipe,
Arc, Line, Polyline, Text,
Datalink, Chart

538
Creating Pictures

Property Description Objects

Specifies the horizontal Rounded Rectangle


RoundnessX roundness of the rounded
rectangle.

RoundnessY Specifies the vertical Rounded Rectangle


roundness of the rounded
rectangle.

Thickness Specifies the thickness (in Pipe


pixels) of the pipe object.

StartCap Specifies the style to use for Pipe


the start cap of the pipe
object.

EndCap Specifies the style to use for Pipe


the end cap of the pipe
object.

ElbowStyle Specifies the style to use for Pipe


the elbow of the pipe object.

FontSize Specifies the font size used Chart


to display text.

FontName Specifies the font family Chart


used to display text.

FontStyle Specifies the style of font Chart


used to display text.

Transparent Specifies whether or not the Chart


chart is transparent.

MultipleEGU Specifies whether or not the Chart


chart displays multiple
EGU's.

MultipleTimes Specifies whether or not the Chart


chart displays multiple times.

ShowLegend Show/hides the chart legent. Chart

539
Creating Pictures

Property Description Objects

ShowTimeAxis Specifies whether or not to Chart


display the time axis.

ShowValueAxis Specifies whether or not to Chart


display the value axis.

ShowTimeCursor Specifies whether or not to Chart


display the time cursor.

BackgroundEdgeStyle Specifies the background Chart


edge style of the shape.

ForegroundEdgeStyle Specifies the foreground Chart


edge style of the shape.

ForegroundEdgeWidth Specifies the width of the Chart


shape's foreground border.

BackgroundEdgeWidth Specifies the width of the Chart


shape's background border.

ShowTimecursorToolTips Specifies whether to show Chart


the time cursor tool tips.

TimeCursorColor Specifies the time cursor Chart


color.

ShowHorizontalGrid Shows/hides the horizontal Chart


grid lines.

ShowVerticalGrid Shows/hides the vertical grid Chart


lines.

HorizontalGridStyle Specifies the style of the Chart


horizontal grid lines.

VerticalGridStyle Specifies the style of the Chart


vertical grid lines.

GridWidth Specifies the width of the Chart


grid lines.

540
Creating Pictures

Property Description Objects

NumberOfHorizontalGridLines Specifies the number of Chart


horizontal grid lines.

NumberOfVerticalGridLines Specifies the number of Chart


vertical grid lines.

ShowDate Specifies whether or not to Chart


show the date.

TimeAxisTitle Specifies the title of the time Chart


axis.

ValueAxisTitle Specifies the title of the Chart


value axis.

TimeAxisNumTicks Specifies the number of ticks Chart


on the time axis.

TimeAxisNumLabels Specifies the number of Chart


labels on the time axis.

ValueAxisNumTicks Specifies the number of ticks Chart


on the value axis.

ValueAxisNumLabels Specifies the number of Chart


labels on the value axis.

ShowTimeAxisTitle Specifies whether or not to Chart


show the time axis title.

ShowValueAxisTitle Specifies whether or not to Chart


show the value axis title.

Rotate Tab

Property Description Objects

RotationAngle The angle (in radians or Rectangle, Chord, Polygon,


degrees) by which the shape Pie, Pipe, Arc, Line, Polyline
has been rotated since its
creation.

541
Creating Pictures

Property Description Objects

AngleUnits Specifies whether the angles Rectangle, Chord, Polygon,


are measured in degrees or Pie, Pipe, Arc, Line, Polyline
radians.

Text Tab

Property Description Objects

Caption Specifies the displayed text. Time, Date, Text, Datalink

FontName Specifies the font family used Time, Date, Text, Datalink
to display text.

FontSize Specifies the font size used to Time, Date, Text, Datalink
display text.

FontStyle Specifies the font style used to Time, Date, Text, Datatlink
display text.

Behavior Tab

Property Description Objects

AutoSize Controls whether the text Time, Date, Text, Command


object automatically picks a Button, Datalink
new font that will fit into the
bounding rectangle as the
caption changes.

ScalesWidth Specifies whether the width of Time, Date, Text, Datalink


the text or datalink object can
be changed.

MaxLines Specifies the maximum Time, Date, Text, Datalink


number of text lines allowed.

MaxCharactersPerLine Specifies the maximum Time, Date, Text, Datatlink


number of characters allowed
per line.

542
Creating Pictures

Property Description Objects

Alignment Specifies the alignment of the Datalink


text string within the text's
bounding rectangle.

StrikeThrough Specifies whether the text has Time, Date, Text, Datalink
a strike through it.

Enabled Specifies whether or not the Command Button


command button is enabled.

Locked Specifies whether or not the Command Button


command button is locked.

WordWrap Specifies whether or not the Command Button


text displayed on the
command button wraps.

RefreshRate Specifies the refresh rate of Chart


the chart.

CurrentPen Specifies the current pen. Chart

Timeout Specifies the amount of time Chart


to pause for.

ScrollDirection Specifies the direction to Chart


scroll.

ResetPercentage Specifies the chart's reset Chart


percentage.

ScrollPercentage Specifies the chart's scroll Chart


percentage.

ZoomDirection Specifies the direction in Chart


which to zoom.

StartDateMode Specifies the start date mode. Chart

DaysBeforeNow Specifies the number of days Chart


before now that will be
included in the chart.

543
Creating Pictures

Property Description Objects

StartTimeMode Specifies the start time mode. Chart

TimeBeforeNow Specifies the amount of time Chart


before now to use in the chart.

Duration Specifies the time duration. Chart

Interval Specifies the length of time Chart


between intervals.

ScrollGrid Specifies the scroll grid mode. Chart

TimeZoneBiasExplicit Specifies the explicit time Chart


zone bias.

TimeZoneBiasRelative Specifies the relative time Chart


zone bias.

DaylightSavingsTime Specifies whether to use Chart


Daylight Savings Time when
displaying data.

LockStartTime Specifies whether or not to Chart


lock the start time.

IntervalMilliseconds Specifies the millisecond Chart


component of the interval.

AutoUpdateRate Specifies the auto-update rate. Chart

DisplayMilliseconds Specifies whether or not to Chart


display milliseconds.

Gradient Tab

Property Description Objects

FadeColor Specifies the fade color used Time, Date, Rectangle,


for the gradient fill. Rounded Rectangle, Oval,
Chord, Polygon, Pie, Pipe,
Text, Datalink, Chart

544
Creating Pictures

Property Description Objects

FadeType Specifies the fade type used for Time, Date, Rectangle,
the gradient fill. Rounded Rectangle, Oval,
Chord, Polygon, Pie, Text,
Datalink, Chart

GradientAngle Specifies the angle of the Time, Date, Rectangle,


shape's gradient fill. Rounded Rectangle, Oval,
Chord, Polygon, Pie, Text,
Datalink, Chart

Blend Specifies the blend percentage Time, Date, Rectangle,


used for the gradient fill. Rounded Rectangle, Oval,
Chord, Polygon, Pie, Pipe,
Text, Datalink, Chart

Fill Tab

Property Description Objects

HorizontalFillPercentage The percentage of the shape's Rectangle, Rounded


interior that will be filled Rectangle, Oval, Chord,
horizontally with color and Polygon, Pie, Pipe, Bitmap
pattern, starting at the location
identified by the
HorizontalFillDirection.

VerticalFillPercentage The percentage of the shape's Rectangle, Rounded


interior that will be filled Rectangle, Oval, Chord,
vertically with color and Polygon, Pie, Pipe, Bitmap
pattern, starting at the location
identified by the
VerticalFillDirection.

HorizontalFillDirection Specifies the direction of a Rectangle, Rounded


shape's horizontal fill. Rectangle, Oval, Chord,
Polygon, Pie, Pipe, Bitmap

VerticalFillDirection Specifies the direction of a Rectangle, Rounded


shape's vertical fill. Rectangle, Oval, Chord,
Polygon, Pie, Pipe, Bitmap

545
Creating Pictures

Appearance Tab

Property Description Objects

BackColor Specifies the background color Command Button


of the command button.

BackStyle Specifies the background style Command Button


of the command button.

Caption Specifies the text to be Command Button


displayed on the command
button.

ForeColor Specifies the foreground color Command Button


of the command button.

Picture Tab

Property Description Objects

PicturePosition Specifies the position of the Command Button


picture.

Variable Tab

Property Description Objects

VariableType Specifies the variable type. Local Variable

InitialValue Specifies the initial value of the Local Variable


variable.

CurrentValue Specifies the current value of Local Variable


the variable.

Source Specifies the source string for Global Variable


an animation.

546
Creating Pictures

Property Description Objects

GlobalToggle The source of data for Global Variable


triggering a
"GlobalOutputToggle" setting
that will alternate with the
actual setting from the lookup
table.

ToggleSource Specifies the data source or Global Variable


expression used to determine if
the output of the Lookup object
should toggle between output1
and output2.

Current Setting

The Current Setting column, shown in the Build Dynamo with User Prompts Dialog Box, displays the
source or data source currently assigned to the associated object property.

For example, you create a tank that is made up of a group of rectangles and you assign the
VerticalFillPercentage of the interior rectangle, RectInt, with the data source
FIX32.NODE.TAG.FIELD. When you select the tank group and apply the Build Dynamo Wizard,
FIX32.NODE.TAG.FIELD appears in the Current Setting column for the
RectInt.VerticalFillPercentage object property.

In addition to representing the data source of an animated property, the current setting column may
also display text for a text object.

The Dynamo user can change the current setting when he places the Dynamo in a picture or double-
clicks it.

User Prompts

The User Prompts column in the Build Dynamo with User Prompts dialog box, shown in the following
figure, allows you to enter prompts for Dynamo properties.

These user prompts appear in the Dynamo Properties dialog box when the Dynamo is double-clicked
or when the Dynamo is first copied into a new picture. This allows you to quickly modify the data
source associated with the property.

For example, if you create the tank described in the Current Setting section and apply the Build
Dynamo Wizard, the Build Dynamo with User Prompts dialog box appears as shown in the following
figure.

547
Creating Pictures

Build Dynamo with User Prompts Dialog Box - Entering User Prompts

In this example, enter Tank Fill in the User Prompt field. Tank Fill describes the property for the
Dynamo. Tank Fill is more descriptive to users than RectInt.VerticalFillPercentage. The Dynamo
properties display, as shown in the following figure, if the user double-clicks the Dynamo.

548
Creating Pictures

Dynamo Properties Dialog Box

Using Partial Substitution for Dynamo User Prompts

You can configure a Dynamo to allow partial substitution for property values. For example, you may
want to allow the user to enter a different NODE.TAG for a Dynamo property value but keep a static
field. To do this, you need to enter the User Prompt surrounded by brackets and use asterisks for static
values.

IMPORTANT: When using tag group symbols as partial substitutions, the Build Dynamo Wizard does
not automatically resolve the tags.

The following example illustrates how you might use partial substitution for a Dynamo's property
setting.

Example: Using Partial Substitution for Dynamo User Prompts

This example assumes that you have a datalink named Datalink1 in the group of objects that you are
converting to a Dynamo. In the Build Dynamo with User Prompts dialog box, enter the User Prompt as
shown below:

Object Property Current Setting User Prompt

Datalink1.Caption FIX32.SCADA01.TL01.F_CV {Measurement Tag}.*

The Dynamo Properties dialog box displays the following:

549
Creating Pictures

DynamoProperty CurrentSetting

Measurement Tag FIX32.SCADA01.TL01

The Dynamo property Measurement Tag always uses the F_CV field for any tag the user enters.

Assigning the Same User Prompt for Multiple Object Properties

In some cases, you may want all of the Dynamo object properties to use the same setting. For example,
you may want a tank's fill and color properties to be animated by the same database tag. To do this,
enter the same User Prompt for each object property.

If you use the same user prompt for multiple Dynamo properties, when you view the Dynamo Property
dialog box, only one property displays. The value entered for the Dynamo property is used for all the
object properties that you assigned that user prompt to.

Example: Assigning the Same User Prompt for Multiple Object Properties

In this example, you create a Dynamo that allows the user to enter one tag that animates both the
vertical fill percentage and the foreground color of Rect1. In the Build Dynamo with User Prompts
dialog box, enter the User Prompt as shown below:

Object Property Current Setting User Prompt

Rect1.VerticalFillPercentage FIX32.NODE.TAG.FIELD Tank Animation Tagname

Rect1.ForegroundColor FIX32.NODE.TAG.FIELD Tank Animation Tagname

The Dynamo Properties dialog box displays the following:

Dynamo Property Current Setting

Tank Animation Tagname FIX32.NODE.TAG.FIELD

When you enter a different tag in the Current Setting column, the tag animates both the fill percentage
and color.

Displaying No User Prompts for a Dynamo Object with Animations

In some cases, you may not want to display any user prompts for an object that contains animations.
For example, you may have a complex Dynamo object with user prompts provided through scripting,
rather than manual user entry. To allow for this, in the Build Dynamo User Prompt dialog box, do not
enter a user prompt in any object property. Leave all user prompt fields empty.

If you do not enter user prompts in any of the object property fields of the Build Dynamo User Prompt
dialog box, then no prompts display when you add the Dynamo Instance to a picture.

550
Creating Pictures

Creating Custom Dynamo Objects with Command Scripts


When you create a Dynamo object that contains objects with command scripts, you can apply user
prompts to those scripts allowing users of the Dynamo to change the command script parameter. To do
this, for each command script, add a Variable object to the Dynamo group and change the command
script parameter as described in the example below. This allows you to change the command script
parameter in the Dynamo Properties dialog box.

Example 1

For example, you may want to create a Dynamo that contains a command button that when clicked,
runs the following command script:

ToggleDigitalPoint "FIX32.SCADA01.DO1.F_CV"

And, you may want to allow the Dynamo users to change the tagname for the ToggleDigitalPoint
command.

To allow Dynamo users to change the tagname for the ToggleDigitalPoint command:

1. Add a Variable object for each command script to the Dynamo group.
2. Set the Variable object's VariableType property to String and its InitialValue property to the
tagname.
3. Change the command script parameter in the script to VariableName.InitialValue.

Example 2

Assume that you have two push buttons in your Dynamo. One has the command script: WriteValue
"50", "FIX32.NODE.TAG.F_CV". The other has the following command script: ToggleDigitalPoint
"FIX32.NODE.DIGTAG.F_CV".

To allow users to be able to set the tags when they use the Dynamo object:

1. In Classic view, use the Variable toolbar button on the Toolbox to insert a Variable object.
-Or-
In Ribbon view, on the Insert tab, in the Objects/Links group, click Objects/Links, and then
click Variable.
2. When the Create a Variable Object dialog box appears:
a. Name the Variable object WriteVal.
b. Select Variable Type String.
c. Select Local Variable.
d. Click OK.
3. Select the Variable object that you inserted in the System Tree, and select Property Window
from the right-click menu.
4. In the Property Window for the Variable object, set the Initial Value property to
FIX32.NODE.TAG.F_CV.

551
Creating Pictures

5. Insert another Variable object and follow steps 1 through 4 above. Name the Variable object
ToggleVal and set the Initial Value property of this Variable object to
FIX32.NODE.DIGTAG.F_CV.
6. For the two pushbuttons, open the Visual Basic Editor and change the command scripts as
follows:
• WriteValue "50", WriteVal.InitialValue
• ToggleDigitalPoint ToggleVal.InitialValue
7. Close the editor and add the two Variable objects to the Dynamo group by selecting them in
the System Tree and dragging and dropping them into the group.

When you select the Create Dynamo toolbar button, the Create Dynamo with User Prompts displays:

Object Property Current Settings User Prompt

WriteVal.InitialValue FIX32.NODE.TAG.F_CV

ToggleVal.InitialValue FIX32.NODE.DIGTAG.F_CV

If you set your User Prompts to Write Tag and Toggle Tag, the Dynamo Properties dialog box displays
the following:

Dynamo Property Current Setting

Write Tag FIX32.NODE.TAG.F_CV

Toggle Tag FIX32.NODE.DIGTAG.F_CV

Building Custom Dynamos with VBA


iFIX Dynamo objects are powerful tools, especially because they let you customize your display using
VBA. When a Dynamo fires an Edit event, you can customize that Dynamo using VBA scripts.
Specifically, you can modify custom property pages, apply animations in real-time, or hide code for
animations into an empty user form. You can place user forms into a global page so that every time
you open that Dynamo, the format for a particular property page is shared among several users.

For more information on using VBA to customize Dynamos for your specific needs, refer to the
Writing Scripts manual.

Creating Dynamo Sets


A Dynamo Set is a collection of Dynamos. Dynamo Sets are saved in iFIX with a .FDS file extension.
Each set can include Dynamo objects, pre-built Dynamos, and Dynamos groups created before iFIX
4.5. iFIX contains an extensive library of pre-built Dynamo Sets that you can use, or you can create
your own.

552
Creating Pictures

NOTE: Dynamos in Pre-built Dynamo Sets earlier than iFIX 4.5 and Dynamos created before iFIX
4.5 are not Dynamo objects. This means you cannot use the Quick Dynamo Updater, the Dynamo
Updater Wizard, and the Cross Reference Tool to update instances of pre-built Dynamos or Dynamos
created earlier than iFIX 4.5 within existing pictures. Only Dynamo objects can be updated with these
tools. However, you may convert Dynamos created before iFIX 4.5 to objects using the Dynamo
Converter tools. After the Dynamos have been converted, you may then use the Quick Dynamo
Updater, the Dynamo Updater Wizard, and the Cross Reference Tool to update Dynamo instances.

To open an existing Dynamo Set in the iFIX WorkSpace, open the Dynamo Sets folder from the
system tree and double-click the set.

To create a new Dynamo Set, click the New Dynamo Set button on the Standard toolbar (Classic view)
or on the Tools tab, in the Dynamos group, in the Dynamos set, click New Dynamo Set (Ribbon view).
A blank document opens always on top and half the window size, and the Dynamo Set is added to the
Dynamo Sets folder in the system tree. When you save a Dynamo Set, it is given an .FDS extension
and stored in this folder.

To accommodate the unique requirements of Dynamo objects, objects behave slightly different in a
Dynamo Set than they do in a picture. For example, when you click an object in a picture and drag that
object to another location within the picture, you move the object. However, if you drag and drop that
same object into a Dynamo Set, you copy the Dynamo object to the set, as the following figure shows.

An Object Moved within a Picture

IMPORTANT: Be advised that if you delete a Master Dynamo and there are pictures with Dynamo
Instances derived from that Master Dynamo, the links to those Instances will be lost when the Master
Dynamo is deleted. Use caution when deleting any Master Dynamo in a Dynamo Set.

553
Creating Pictures

Dynamo Behavior in Pictures and in Sets


If you create an object, and then copy the object to a Dynamo Set, you can access the Visual Basic
Editor by double-clicking the new Dynamo. If you make changes in the Visual Basic Editor however,
and then copy the Dynamo back into a picture, you cannot double-click the object to display the
Animations dialog box. This is because an Edit event created in a Dynamo overrides the double-click
behavior in the picture.

Right-click Menu for Dynamo Set Objects


Many of the operations you can perform with Dynamos can be accessed using the Dynamo's right-
click pop-up menu. When you want to make any modifications to your Dynamo Sets, you can use this
menu. To access the pop-up menu, right-click the object in the Dynamo Set. The following table
describes which functions are available and what they help you do.

Dynamo Set Pop-up Menu Selections

Use the To...


operation...

Undo Undo an operation.

Cut Remove the object from the dynamo and place it into the clipboard.

Copy Create a duplicate copy of the object and place it into the clipboard.

Delete Remove the object from the dynamo.

Duplicate Create a duplicate copy of the object and place it slightly offset from the
original.

Edit Script Open the Visual Basic Editor, which allows you to edit Visual Basic
scripts.

Property Window Display the Properties Window, which allows you to view and change
property values.

Using a Dynamo Object in Pictures


After you create a Dynamo and save it in a Dynamo Set, you can use it in your system pictures by
dragging the Dynamo from the Dynamo Set into a picture. A Dynamo is not a Master Dynamo, and
therefore not linked to other Dynamos, until it becomes part of a Dynamo Set. Once it's part of a
Dynamo Set, any instances created beforehand are not linked to the Master Dynamo. Only Instances
created after the Dynamo becomes part of the Dynamo Set are linked to the Master Dynamo.

If you assigned User Prompts to the Dynamo's Object Properties, the Dynamo Properties dialog box

554
Creating Pictures

appears after you drop in the Dynamo object. This dialog box allows you to change the data sources
for the Dynamo's properties.

Updating Dynamo Objects in Pictures


You can search for Dynamo Instances and replace them in multiple pictures at once with the latest
versions of their associated Master Dynamos using the Dynamo Updater. The Dynamo Updater is
accessed using either the Quick Dynamo Updater or the Dynamo Updater Wizard, both of which are
available from the Dynamo Toolbar (Classic view) or on the Tools tab, in the Dynamos group, in the
Dynamos list (Ribbon view). The Dynamo Updater can also be accessed from the Tool menu of the
Cross Reference Tool.

In general, when updating a Dynamo Instance inside a Picture, that Instance is replaced with the
Master Dynamo it is being updated from. This replacement is not a merge; if you have made changes
to the Dynamo Instance, it is overwritten by the Master Dynamo.

Limitations
There are a few limitations when using the Dynamo Updater tool:

• Pictures in a shared directory that are currently open by another user are not available to be
updated. A picture must be able to be opened and saved, which requires that no one else have
the file open.
• If you rotated an instance of a Master Dynamo object within a picture, you must review the
Dynamo Instance and modify it after the update.
• Resized Dynamos do update, however, not all dimensions resize. For example, for a pipe
object, you can resize the height and width, but not the thickness of the actual pipe when you
resize it.
• Animations on any object type will map only to an object of the same type.
• Animation Data Sources from an existing Dynamo Instance are maintained as long as a
similar object still exists in the Master Dynamo.
• Dynamo descriptions are unique to the Instance and are not overwritten during an update.
• Existing connections made via use of Graphical Connection Nodes are maintained whenever
possible.
• It is possible for you to have changed a Master Dynamo so significantly that it is impossible
to perform an update and maintain all the data.
• For example, if you update a Dynamo to contain only one data source based animation but a
previous version had three data source based animations, a best guess match is made about
which one of the three data sources to use. A report is then generated based on your settings.
The "best guess" approach makes comparisons between common properties. For example, a
Fill Animation’s data source is copied over only to another Fill Animation. If no Fill Animation
exists, the data source is likely to be dropped. For multiple Fill Animations, additional
comparisons such as the Animation Name are made.

Searching for Mismatched Dynamo Instances


There are three ways to search for Dynamo Instances whose versions do not match their Master

555
Creating Pictures

Dynamos:

• The Quick Dynamo Updater lets you conduct a basic search for Dynamo Instances that are
not synchronized with their associated Master Dynamos in the active picture or all open
pictures.
• The Dynamo Updater Wizard gives you finer control over which Dynamos and pictures to
include in the search, lets you specify a log file in which to record search results, and enables
you to specify the update behavior that the Dynamo Updater should use during the
replacement process.
• The Cross Reference Tool's Report Wizard enables you to search for Dynamos in pictures, or
pictures containing specified Dynamos.

Updating Mismatched Dynamo Instances


If you have found mismatched Dynamo Instances using the Quick Dynamo Updater, Dynamo Updater
Wizard, or Cross Reference Tool Report Wizard, you can update them with the Dynamo Updater. In
the Dynamo Updater, you can configure whether iFIX prompts when or if the updates occur.

The Dynamo Updater examines the version differences between Dynamo Instances and their
associated Master Dynamos, and then updates the Dynamo Instances based on the update behavior you
specify.

Changing the Configuration of a Dynamo


If you need to modify the configuration of an existing Dynamo object in a picture (a Dynamo
Instance), right-click the Dynamo object and select Enter Drill-down. A box appears around the
Dynamo object. Select the object you want to make changes to, and update it. Click outside the
selected box when you are finished with your changes.

You can also select the Dynamo object and click the Build Dynamo button on the Dynamo Toolbar to
update Dynamo user prompts (Classic view) or on the Tools tab, in the Dynamos group, in the
Dynamos list, click Build Dynamo (Ribbon view).

Additionally, you can right-click the Dynamo object and select Property Window to update overall
properties in the Dynamo.

If you want to modify a Master Dynamo in a Dynamo Set, drag the Dynamo object from the Dynamo
Set and into a picture and make your changes. When you are finished, drag-and-drop the Dynamo
object from the picture, back into the Dynamo Set. A message appears asking you if you want to
overwrite the Master Dynamo and update it. While you can also edit some Dynamo Properties from
the Dynamo Set window, it's better to drag-and-drop the Dynamo into a picture to make the update and
then drag-and-drop it back into the Dynamo set. Ensure that you remove the updated Dynamo object
from the picture and replace it with an instance of the Master Dynamo, and then you can update other
instances of Dynamo objects.

Modifying Dynamo Object Properties


The Dynamo Properties dialog box appears when a Dynamo is double-clicked or when the Dynamo is
first copied into a new picture, and there are user prompts available for the Dynamo. This dialog box
allows you to quickly modify the data source associated with the property, if necessary. The Dynamo
Properties dialog box includes the Dynamo properties listed below:

556
Creating Pictures

Property Description

Dynamo A read-only field listing the name of the Dynamo object. You cannot edit this
Name field.

Dynamo A description of the specific usage of the given Dynamo Instance. The maximum
Description number of characters that you can enter in this description are recorded in the
Max_Dynamo_Desc_Length field. The Dynamo Description can be different for
each Dynamo Instance. For the Master Dynamo, the description is empty and
read-only.

Dynamo If the Dynamo contains animated properties, the Dynamo Properties dialog box
Property displays the animated properties and lets you change their current setting.

Current Each property contains a Current Setting column. The Current Setting column
Setting contains the value or data source assigned to the Dynamo property. The first time
you use the Dynamo, it displays the original values assigned to the properties
when the Dynamo was created.
If the current setting is a data source, you can select the Browse (...) button to
launch the Expression Builder and select a new data source. You can also select
the Quick Modify button to modify the data source value itself.

You may later decide to change the user prompts that appear in the Dynamo Properties dialog box.
You can do this by selecting the Dynamo object (in a picture or Dynamo Set), and clicking the Build
Dynamo button from the Dynamo toolbar (Classic view) or by selecting Build Dynamo from the
Dynamo list, in the Dynamo group, on the Tools tab (Ribbon view). When the Dynamo has animated
properties, the Build Dynamo with User Prompts dialog box appears. The User Prompts appear in
brackets, { }. To change the User Prompt, delete or modify the contents of the User Prompt field and
click OK.

Converting Dynamos to Objects


If you want to convert a Dynamo object back to its individual objects, right-click the Dynamo object
and select Convert to Objects. Dynamo objects, just like the pre-existing Dynamo objects, ceases to
exist if the Dynamo is ungrouped and converted to individual objects.

When a Dynamo object in a picture is converted to individual objects, the link to the Master Dynamo
no longer exists. You cannot use the Quick Dynamo Updater, the Dynamo Updater Wizard, and the
Cross Reference Tool to update this instance of the Dynamos object. Only Dynamo objects can be
updated with these tools.

Dynamo Dialog Boxes


The Dynamo feature includes the following dialog boxes:

• Add Objects to Dynamo Set Dialog Box


• Build Dynamo Wizard Dialog Box

557
Creating Pictures

• Build Dynamo with User Prompts Dialog Box


• Data Sources Adjustment Option Dialog Box
• Dynamo Properties Dialog Box
• Dynamo Sets Converter Dialog Box
• Dynamo Sets Converter Progress Dialog Box
• Dynamo Sets Converter - Conversion Adjustment Option Dialog Box
• Dynamo Converter Wizard
• Dynamo Converter Wizard Progress Dialog Box
• Dynamo Updater Wizard
• Dynamo Updater Dialog Box
• Dynamo Updater - Update Behavior Dialog Box
• Overwrite Master Dynamo Dialog Box
• Quick Dynamo Updater Dialog Box
• Quick Dynamo Converter Dialog Box

Add Objects to Dynamo Set Dialog Box


The Add Objects to Dynamo Set dialog box displays the following items:

Name

A read-only field that displays the object name of the selected Dynamo for informational purposes.
You cannot edit this field.

Description

A read-only field that displays the object description of the selected Dynamo for informational
purposes. You cannot edit this field.

Create a New Master Dynamo

Select this option to create a new master Dynamo from the selected object.

Add to Dynamo Set As-Is

Select this option to add the selected object to the Dynamo Set without creating a Master Dynamo
object.

Build Dynamo Wizard Dialog Box


The Build Dynamo Wizard dialog box displays the following items:

558
Creating Pictures

Dynamo Name Item

Specify a name for the Dynamo in this field. The name you specify must satisfy the following
conditions:

• It must begin with an alphabetic character, and must contain only alphanumeric characters.
• It cannot be blank, and cannot contain any spaces.
• The maximum number of characters is 64.
• The name cannot be changed while a script is running or paused.
• The name cannot contain reserved VBA names. See the Microsoft VBA help system for more
information on VBA reserved words.

Dynamo Description

Optionally, specify a description of the Dynamo Instance in this field. The Dynamo Description can be
different for each Dynamo Instance. For the Master Dynamo, the description is empty and read-only.

Object Description

Optionally, specify a description of the object in this field.

Build Dynamo with User Prompts Dialog Box


The Build Dynamo Wizard With User Prompts dialog box displays the following items:

Dynamo Name Item

Specify a name for the Dynamo in this field. The name you specify must satisfy the following
conditions:

• It must begin with an alphabetic character, and must contain only alphanumeric characters.
• It cannot be blank, and cannot contain any spaces.
• The maximum number of characters is 64.
• The name cannot be changed while a script is running or paused.
• The name cannot contain reserved VBA names. See the Microsoft VBA help system for more
information on VBA reserved words.

Dynamo Description

Optionally, specify a description for the Dynamo Instance in this field. The Dynamo Description can
be different for each Dynamo Instance. For the Master Dynamo, the description is empty and read-
only.

Object Description

Optionally, specify a description of the object in this field.

559
Creating Pictures

Object Property

Displays each property assigned to the Dynamo.

Current Setting

Displays the value, such as the tagname or command script variable, that is currently assigned to the
object property.

User Prompt

The User Prompt fields allow you to enter Dynamo prompts for each object property so you can re-use
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.

Data Sources Adjustment Option Dialog Box


The Data Sources Adjustment Option dialog box displays the following items:

Update Behavior

The Update Behavior area lets you specify how the Dynamo Updater should reconcile a data source
mismatch between a Master Dynamo and Dynamo Instance. Select one of the following options:

• Update Dynamo, and use Master Dynamo data sources – If you want to update
mismatched Dynamo Instances, but do not want to apply any new data sources from the
Master Dynamo. This option uses all data sources from the Master Dynamo, and no data
sources from the Dynamo Instance.
• Update Dynamo, and try to match up data sources – If you want to update mismatched
Dynamo Instances using new data sources from the Master Dynamo.
• For example, if a Master Dynamo object contains only one data source (user prompt) based on
an animation, but a previous version (an instance of that Dynamo) includes three data sources
based on animations, a best guess match is made. For the best guess, iFIX decides which one of
the three data sources to use in the instance, and a report is generated based on your settings.
o If the object type differs between the Master Dynamo and the Instance, there is no attempt to
update the data sources in the animation for that object.
• Do not Update Dynamo – If you only want to view a report of mismatched Dynamos and
make no actual updates.
• Prompt for Choice – If you want a prompt to display with your options each time a
mismatched Dynamo is found. This option is the default.

Dynamo Properties Dialog Box


The Dynamo Properties dialog box appears when a Dynamo is double-clicked or when the Dynamo is
first copied into a new picture, and there are user prompts available for the Dynamo. This allows you
to quickly modify the data source associated with the property, if necessary. The Dynamo Properties
dialog box displays the following items:

560
Creating Pictures

Dynamo Name

A read-only field that displays the Dynamo name for informational purposes. You cannot edit this
field.

Dynamo Description

Optionally, specify a description of the Dynamo Instance in this field. The Dynamo Description can be
different for each Dynamo Instance. For the Master Dynamo, the description is empty and read-only.

Dynamo Property List

The Dynamo Property list box displays each property assigned to the Dynamo. For each Dynamo
Property:

• The Current Setting field displays a value, such as the tagname or command script variable,
that is currently assigned to the object property.

• The User Prompt field allows you to enter Dynamo prompts for each object property, so you
can re-use 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.

Dynamo Sets Converter Dialog Box


The Dynamo Sets Converter dialog box displays the following items:

Current Dynamo Set Path

Click the button next to this field to select a path containing the Dynamo Sets you want to convert.

Dynamo Sets List Box

Displays the Dynamo Sets that exist in the Current Dynamo Set Path. You can expand Dynamo Sets to
display the individual legacy Dynamos (top-level group objects) contained in each Dynamo Set. The
Dynamo Sets list box is where you select the legacy Dynamos or Dynamo Sets you want to convert.

Select All/Clear All

Click either the Select All button or the Clear All button to quickly select or de-select all the Dynamos
in every listed Dynamo Set.

Convert

After you have selected at least one legacy Dynamo, the Convert button becomes available. When you
click the Convert button, the Dynamo Sets Converter examines the selected Dynamos and opens the
Dynamo Sets Converter dialog box, where you can convert Dynamos.

NOTE: If the selected Dynamo Set is open before the conversion process begins, it will not be saved;
close all Dynamo Sets before conversion to ensure that changes are saved.

561
Creating Pictures

Dynamo Sets Converter (Progress) Dialog Box


After selecting Convert on the Dynamo Sets Converter dialog box, the Dynamo Sets Converter
Progress dialog box appears. It displays the following items:

Quick Dynamo Sets Report for Conversion

Item Description

Selected Group Displays the Dynamo Instances that were selected for conversion. This list is
Objects to Convert generated from the Dynamo Sets Converter dialog box.
– List Box

Selected Group Displays the name, object description, dynamo description, revision, file
Objects to Convert name, and full name of the Dynamo Set selected in the conversion list.
– Table

Convert Group Objects

Item Description

Conversion Graphically displays the progress of the Dynamo Conversion process.


Progress Status

Conversion Displays the date, time, and status of each Dynamo conversion attempted as
Progress Status – part of the automated Dynamo Convert process.
Log Display

Run Conversion

Launches the conversion process, which converts existing Dynamos to Dynamo objects.

NOTE: While the conversion process is running, the Run Conversion button changes to a Cancel
Conversion button, allowing you the option of canceling the conversion while it is in progress.

Dynamo Converter – Conversion Adjustment Option Dialog Box


The Dynamo Converter – Conversion Adjustment Option dialog box displays the following items:

Options for the Conversion

The Options for the Conversion area lets you specify how the Dynamo Converter should reconcile a
mismatch between a Master Dynamo and Dynamo. Select one of the following options:

• Convert to Dynamo but do not update Dynamo – If you want to convert the Dynamo to a
Dynamo object, but do not want to link it to the Master Dynamo. Use this option if you want

562
Creating Pictures

to use this Dynamo to create a new Master Dynamo.


• Convert to Dynamo, then update Dynamo – If you want to convert the Dynamo to a
Dynamo object, and want to link it to the Master Dynamo.
• Do not convert to Dynamo – If you only want to view a report of mismatched Dynamos and
make no actual conversions for mismatches. Mismatched Dynamos are not converted.

Apply

Applies the selected adjustment option to a single Dynamo object in the conversion.

Apply to All

Applies the selected adjustment option to all Dynamo objects in the conversion.

Dynamo Converter Wizard Dialog Box


The Dynamo Converter Wizard dialog box displays the following items:

Convert Behavior Tab

The Convert Behavior tab lets you set how Dynamos are handled when the object structure of a Master
Dynamo and a Dynamo do not match. You can select from the following options:

• Convert Dynamo, but do not update Dynamo (Don't link to Master Dynamo) – If you
want to convert the Dynamo to a Dynamo object, but do not want to link it to the Master
Dynamo. Use this option if you want to use this Dynamo to create a new Master Dynamo.
• Convert Dynamo, then update Dynamo (Link to Master Dynamo). Try to match up data
sources – If you want to convert the Dynamo to a Dynamo object, and want to link it to the
Master Dynamo.
• Do not convert Dynamo – If you only want to view a report of mismatched Dynamos and
make no actual conversions. Dynamos that are not mismatched are converted.
• Prompt for choice – If you want to be prompted each time a mismatch is detected.

Convert Options Tab

Item Description

Save Status Trail Select this check box to save a text log of the Dynamo Converter's
Check Box activities. If you do not check this box, the remaining options on the
Convert Options Tab are unavailable.

Save Status Trail Edit Specify a folder, path, and file name for the Dynamo Converter's log
Box file, or click the Browse button to select a file location.

Save Status Trail Click this button to select a path and filename for the Dynamo
Browse Button Converter's log file.

563
Creating Pictures

Item Description

Append/Overwrite Choose Append or Overwrite to either append the new results to the
Options existing status trail log, or overwrite the log file with the new results. If
no log exists, either option will create a new status trail log file.

Select Dynamos Tab

Item Description

Current Dynamo Set Click the button next to this field to select a path containing the Dynamo
Path Sets you want to convert.

Select DynamoSets Use this drop-down list to select a Dynamo set.


and Master Dynamo

Master Dynamo List Displays the Master Dynamos that exist in the selected Dynamo Sets. The
Box Master Dynamo list box is where you select the Master Dynamos within
selected Dynamo Sets you want to convert with the Dynamo Converter
Wizard. Only one Master Dynamo can be selected for conversion.

Select All/Clear All Not available.

Current Picture Path Click the button next to this field to select a path containing the pictures
you want to convert.

Pictures List Box Displays the pictures that exist in the Current Picture Path. The Pictures
list box is where you select the pictures and group objects you want to
convert with the Dynamo Converter Wizard.

Pictures Select Click either the Select All button or the Clear All button to quickly select
All/Clear All or de-select all the pictures and group objects in the Pictures List Box.

View Settings Tab

The View Settings tab displays the options that have been selected from the Convert Behavior, Convert
Options, and Select Dynamos tabs.

Back/Next Buttons

Click the Back or Next buttons to navigate back and forth between tabs. Alternatively, you can click
on a tab directly.

564
Creating Pictures

Run Convert Button

After you have selected one Master Dynamo and at least one group object in the picture in the Select
Dynamos Tab, the Run Convert button becomes available. Click the Run Convert button to begin the
conversion process.

Dynamo Converter Dialog Box


The Dynamo Converter Progress dialog box displays the following items:

Quick Dynamo Report for Conversion

Item Description

Selected Group Displays the group objects that were found to not be Dynamos. This list is
Objects to convert generated from the Quick Dynamo Converter dialog box or the Dynamo
– List Box Converter Wizard dialog box.

Selected Group Displays the name, object description, dynamo description, revision, file
Objects to convert name, and full name of the Dynamo and Master Dynamo associated with the
– Table selected Dynamo.

Convert Group Objects

Item Description

Convert Behavior Displays the currently selected behavior that the Dynamo Converter should
use when the number of data sources differs between a Master Dynamo and
Dynamo.

Modify Click the Modify button to change the conversion behavior.

Maintain Size Select to retain the current size of the Dynamo Instance.

Maintain Captions Select to retain existing captions for all Dynamos.

Conversion Graphically displays the progress of the Dynamo conversion process.


Progress Status

Conversion Displays the date, time, and status of each Dynamo and Master Dynamo
Progress Status – conversion attempted as part of the automated Dynamo conversion process.
Log Display

565
Creating Pictures

Run Conversion

Launches the conversion process, which converts legacy Dynamos into Dynamo objects. Conversions
are made based on the Convert Behavior setting.

NOTE: While the conversion process is running, the Run Conversion button changes to a Cancel
Conversion button, allowing you the option of canceling the conversion while it is in progress.

Dynamo Updater Wizard


The Dynamo Updater Wizard dialog box displays the following items:

Update Behavior Tab

The Update Behavior tab lets you set how Dynamos are handled when the number of data sources in a
Master Dynamo and a Dynamo Instance Object do not match. You can select from the following
options:

Item Description

Update Dynamo, If you want to update mismatched Dynamo Instances, but do not want to
and use Master apply any of the data sources from the Dynamo Instance. This option uses
Dynamo data all data sources from the Master Dynamo, and no data sources from the
sources Dynamo Instance.

Update Dynamo, If you want to update mismatched Dynamo Instances using data sources
and try to match up from the Dynamo Instance and a best guess matching algorithm.
data sources
For example, if a Master Dynamo object contains only one data source
(user prompt) based on an animation, but a previous version (an instance of
that Dynamo) includes three data sources based on animations, a best guess
match is made. For the best guess, iFIX decides which one of the three data
sources to use in the instance, and a report is generated based on your
settings.
If the object type differs between the Master Dynamo and the Instance,
there is no attempt to update the data sources in the animation for that
object.

Do not update If you only want to view a report of mismatched Dynamos and make no
Dynamo actual updates.

Prompt for choice If you want a prompt to display with your options each time a mismatched
Dynamo is found. This option is the default.

566
Creating Pictures

Update Options Tab

Item Description

Save Status Trail Select this check box to save a text log of the Dynamo Updater's
Check Box activities. If you do not check this box, the rest of the options on the
Update Options Tab is unavailable.

Save Status Trail Edit Specify a folder, path, and file name for the Dynamo Updater's log file,
Box or click the Save Status Trail Browse button to select a file location.

Save Status Trail Click this button to select a path and filename for the Dynamo Updater's
Browse Button log file.

Append/Overwrite Choose Append or Overwrite to either append the new results to the
Options existing status trail log, or overwrite the log file with the new results. If
no log exists, either option will create a new status trail log file.

Select Dynamos Tab

Item Description

Current Dynamo Click the button next to this field to select a path containing the Dynamo
Set Path Sets you want to update.

Dynamo Sets List The Dynamo Sets List Box displays the Dynamo Sets that exist in the
Box Current Dynamo Set Path. You can expand Dynamo Sets to display the
individual Dynamos contained in each Dynamo Set. The Dynamo Sets List
Box is where you select the Dynamos or Dynamo Sets you want to update
with the Dynamo Updater Wizard.

Dynamo Sets Click either the Select All button or the Clear All button to quickly select or
Select All/Clear All de-select all the Dynamos in every listed Dynamo Set.

Current Picture Click the button next to this field to select a path containing the pictures
Path you want to update.

Pictures List Box The Pictures List Box displays the pictures that exist in the Current Picture
Path. The Pictures List Box is where you select the pictures you want to
update with the Dynamo Updater Wizard.

Pictures Select Click either the Select All button or the Clear All button to quickly select or
All/Clear All de-select all the pictures in the Pictures List Box.

567
Creating Pictures

View Settings Tab

The View Settings tab displays the options that have been selected from the Update Behavior, Update
Options, and Select Dynamos tabs.

Back/Next Buttons

Click the Back or Next buttons to navigate back and forth between tabs. Alternatively, you can click
on a tab directly.

Launch Updater Button

After you have selected at least one Dynamo and one picture in the Select Dynamos Tab, the Launch
Updater button becomes available. When you click the Launch Updater button, the Dynamo Updater
Wizard examines the selected Dynamos and pictures and opens the Dynamo Updater dialog box,
where you can update mismatched Dynamo Instances and Master Dynamo revisions according to the
options you have set.

Dynamo Updater Dialog Box


The Dynamo Updater dialog box displays the following items:

Quick Dynamo Report

Item Description

Dynamo Instances Displays the Dynamo Instances that were found to be a different revision
Mismatched With from their associated Master Dynamo. This list is generated from the Quick
Revision Of Dynamo Updater dialog box or the Dynamo Updater Wizard dialog box.
Master Dynamo –
List Box

Dynamo Instances Displays the name, object description, dynamo description, revision, file
Mismatched With name, and full name of the Dynamo Instance and Master Dynamo
Revision Of associated with the Dynamo selected in the mismatch list.
Master Dynamo –
Table

Update Dynamo Instances

Item Description

Update Behavior Displays the currently selected behavior that the Dynamo Updater should
use when the number of data sources does not match between a Master
Dynamo and Dynamo Instance.

Modify Click the Modify button to change the Update Behavior.

568
Creating Pictures

Item Description

Maintain Size Select to retain the current size of the Dynamo Instance.

Maintain Captions Select to retain existing captions for all Dynamo Instances.

Update Progress The Update Progress Status bar graphically displays the progress of the
Status Dynamo Update process.

Update Progress Displays the date, time, and status of each Dynamo Instance and Master
Status – Log Dynamo modification attempted as part of the automated Dynamo Update
Display process.

Run Update

Launches the update process, which reconciles the revision differences between associated Dynamo
Instances and Master Dynamos. Updates are made based on the Update Behavior setting.

NOTE: While the update process is running, the Run Update button changes to a Cancel Update
button, allowing you the option of canceling the update while it is in progress.

Dynamo Updater – Update Behavior Dialog Box


The Dynamo Updater – Update Behavior dialog box displays the following items:

Data Source Adjustments

The Data Source Adjustments area lets you specify how the Dynamo Updater should reconcile a data
source mismatch between a Master Dynamo and Dynamo Instance. Select one of the following
options:

• Update the Dynamo, and use Master Dynamo data sources – If you want to update
mismatched Dynamo Instances, but do not want to apply any of the data sources from the
Dynamo Instance. This option uses all data sources from the Master Dynamo, and no data
sources from the Dynamo Instance.
• Update the Dynamo and try to match up the Data Sources – If you want to update
mismatched Dynamo Instances using data sources from the Dynamo Instance and a best guess
matching algorithm.
• For example, if a Master Dynamo object contains only one data source (user prompt) based on
an animation, but a previous version (an instance of that Dynamo) includes three data sources
based on animations, a best guess match is made. For the best guess, iFIX decides which one of
the three data sources to use in the instance, and a report is generated based on your settings.
• If the object type differs between the Master Dynamo and the Instance, there is no attempt to
update the data sources in the animation for that object.
• Do not update Dynamo – If you only want to view a report of mismatched Dynamos and
make no actual updates.

569
Creating Pictures

Apply

Applies the selected adjustment option to a single Dynamo object in the update.

Apply to All

Applies the selected adjustment option to all Dynamo objects in this update.

Overwrite Master Dynamo Dialog Box


The Overwrite Master Dynamo dialog box displays the following items:

Name

A read-only field that displays the Dynamo name for informational purposes. You cannot edit this
field.

Dynamo ID

A read-only field that displays the Dynamo ID for informational purposes. You cannot edit this field.

Description

A read-only field that displays the Dynamo Instance description for informational purposes. You
cannot edit this field.

Overwrite the Existing Master Dynamo

Select this option to overwrite the existing Master Dynamo with the updated one. The Dynamo ID
does not change when you overwrite the Master Dynamo and your links to existing Dynamos remain.

Create a New Master Dynamo

Optionally, specify a description of the object in this field. A new Dynamo ID is generated, and your
links to existing Dynamos Instances no longer exist.

Quick Dynamo Updater Dialog Box


The Quick Dynamo Updater dialog box displays the following items:

Dynamos on Active Picture

Allows you to search Dynamo objects only in the active picture.

Dynamos on All Open Pictures

Allows you to search Dynamo objects in all open pictures.

570
Creating Pictures

Quick Dynamo Converter Dialog Box


The Quick Dynamo Converter dialog box displays the following items:

Select Dynamo Sets

Allows you to select the Dynamo Set to convert.

Select Master Dynamo

Allows you to select the Master Dynamo.

Select Group Object(s)

Allows you to select which group objects to convert to Dynamo objects. Your choice is selected on the
active picture.

Get Selected Group Object(s) on active picture

Propagates the object selected on the picture to the Select Group Object(s) list.

NOTE: The object(s) must be selected on picture prior to clicking this button.

Clear All Selection

Clears all items selected in the Select Group Object(s) list.

Run Convert

Launches the conversion process, which converts old Dynamos (group objects) into Dynamo objects.
Conversions are made based on the Convert Behavior settings.

How Do I...
The following sections provide information on how to work with Dynamo objects:

• Opening the Dynamo Toolbar


• Working with Dynamo objects
• Working with Dynamo properties
• Working with Master Dynamos and Instances
• Working with Dynamo Sets

571
Creating Pictures

Opening the Dynamo Toolbar

To open the Dynamo toolbar:

1. In the iFIX WorkSpace system tree, double-click the Project Toolbar Files item to open the
folder.
2. Double-click the Toolbars folder to view a list of toolbars.
3. Double-click the DynamoToolbar icon to open the Dynamo Toolbar. The six-button Dynamo
Toolbar now appears in the WorkSpace.

Working with Dynamo Objects


The following sections describe tasks that you can perform when working with Dynamo objects:

• Creating a Dynamo Object


• Creating a Dynamo with User Prompts
• Displaying One Dynamo User Prompt for Multiple Dynamo Object Properties
• Displaying No User Prompts for a Dynamo Object with Animations
• Defining Partial Substitution for a Dynamo's Property Values
• Modifying Dynamo User Prompts
• Applying User Prompts for Command Scripts
• Generating a Report of Dynamo Usage in the Cross Reference Tool

Creating a Dynamo Object in a Picture

To create a Dynamo object in a picture:

1. In the iFIX WorkSpace, select the custom object or group of objects that you want to convert
to a Dynamo.

2. In Classic view, on the Dynamo toolbar, click the Build Dynamo button.
-Or-
In Ribbon view, on the Tools tab, in the Dynamos group, click Dynamos, and then click Build
Dynamo.
-Or-
Right-click the selected objects and choose Dynamo.
• If the custom object properties are not animated or set to specific values, the Build
Dynamo Wizard dialog box appears, allowing you to name the Dynamo, and provide
descriptions for the Dynamo and object.
• If the object properties are animated, the Build Dynamo with User Prompts dialog
box appears. For more information, refer to the Creating a Dynamo with User
Prompts section.

572
Creating Pictures

3. In the Dynamo Name field, enter the name you want use for this Dynamo.
4. Optionally, in the Dynamo Description field, enter a description for this Dynamo.
5. Optionally, in the Object Description field, enter a description for this object.
6. Click OK.
TIP: When you first create a Dynamo in the WorkSpace, it is not a Master Dynamo. If you
immediately want to create a Master Dynamo object(s), instead of using the Build Dynamo
Wizard, drag-and-drop the object(s) to a Dynamo set. The Add Object to Dynamo Sets dialog
box appears for each object. Select the Create a New Master Dynamo option in each dialog
box, and click OK. These actions create the Dynamo object(s) and add them to the set as a
Master Dynamo(s). Or, you can create the Dynamo object, and then drag-and-drop it into the
Dynamo Set to create a new Master Dynamo.

Creating a Dynamo Object with User Prompts within a Picture

To create a Dynamo object with user prompts within a picture:

1. In the iFIX WorkSpace, within a picture, select the custom object or group that you want to
convert to a Dynamo.

2. In Classic view, on the Dynamo toolbar, click the Build Dynamo button.
-Or-
In Ribbon view, on the Tools tab, in the Dynamos group, click Dynamos, and then click Build
Dynamo.
-Or-
Right-click the selected objects and choose Dynamo.
NOTE: You must have an object with at least one animation for the Build Dynamo with User
Prompts dialog box to appear. Otherwise, the generic Build Dynamo Wizard dialog box
appears, requesting only a name.

3. In the Dynamo Name field, enter the name you want use for this Dynamo.
4. Optionally, in the Dynamo Description field, enter a description for this Dynamo.
5. Optionally, in the Object Description field, enter a description for this object.
6. In the User Prompt field, for each object property, enter a prompt to display in the Dynamo
User Interface that the Build Dynamo Wizard creates.
The prompt can be up to 127 characters long. Surround the prompt with brackets if you are
using partial substitution. Use asterisks (*) for static values. If you do not enter a User
Prompt, the Build Dynamo Wizard uses the property name of the animation for that object
property, and no prompt appears. If you want to ensure that the same prompt is used across
multiple properties, make sure that all prompts match. For more information, refer to the
Displaying One Dynamo User Prompt for Multiple Object Properties section.

7. Click OK.
8. To test your Dynamo User Interface, double-click the Dynamo. The Dynamo Properties
dialog box with User Prompts appears.
TIP: When you first create a Dynamo in the WorkSpace, it is not a Master Dynamo. If you

573
Creating Pictures

immediately want to create a Master Dynamo object(s), instead of using the Build Dynamo
Wizard, drag-and-drop the object(s) to a Dynamo set. The Add Object to Dynamo Sets dialog
box appears for each object. Select the Create a New Master Dynamo option in each dialog
box, and click OK. These actions create the Dynamo object(s) and add them to the set as a
Master Dynamo(s). Or, you can create the Dynamo object, and then drag-and-drop it into the
Dynamo Set to create a new Master Dynamo.

Displaying One Dynamo User Prompt for Multiple Dynamo Object Properties

To display one Dynamo user prompt for multiple Dynamo object properties:

• In the Build Dynamo with User Prompts dialog box, for each Dynamo property, enter the same
value in the User Prompt field.

For example, enter Tagname for the User Prompt if you want the Tagname to be the same for
all three properties, as shown in the following table.

Object Property Current Setting User Prompt

Oval1.VerticalPosition FIX32.MYNODE.MYTAG.F_CV Tagname

Rect1.VerticalFillPercentage FIX32.MYNODE.OTHERTAG.F_CV Tagname

Oval2.HorizontalPosition FIX32.MYNODE.MYTAG.F_CV Tagname

Displaying No User Prompts for a Dynamo Object with Animations

To display no user prompts for a Dynamo object with animations:

• In the Build Dynamo with User Prompts dialog box, for each Dynamo property, do not enter a
value in the User Prompt field.

Defining Partial Substitution for a Dynamo's Property Values

To define partial substitution for a Dynamo’s property values:

1. In the iFIX WorkSpace, select the custom object or group that you want to convert to a
Dynamo.

2. In Classic view, on the Dynamo toolbar, click the Build Dynamo button.
-Or-
In Ribbon view, on the Tools tab, in the Dynamos group, click Dynamos, and then click Build
Dynamo.
NOTE: You must have an object that supports animations for the Build Dynamo with User
Prompts dialog box to appear. Otherwise, the generic Build Dynamo Wizard dialog box
appears, requesting only a name.

574
Creating Pictures

3. Optionally, in the Dynamo Description field, enter a description for this Dynamo.
4. Optionally, in the Object Description field, enter a description for this object.
5. In the User Prompt field(s), enter the User Prompt surrounded by brackets {} and use
asterisks (*) for static values.
6. Click OK.

Applying User Prompts for Command Scripts

To do this, for each command script, add a Variable object to the Dynamo group and change the
command script parameter as described in the example below.

To apply user prompts for command scripts:

NOTE: The following steps assume you have the command script: ToggleDigitalPoint
“FIX32.NODE.TAG.F_CV” on the click event of an oval.

1. Create a local variable object (for example, call it MyVar). Set the Variable Type to String.
Do not assign it a data source.
2. Right-click the object, and click Property Window on the shortcut menu. Set the InitalValue
property to a value such as FIX32.NODE.TAG.F_CV.
3. In the WorkSpace system tree, select the variable object and drag it to the Dynamo Set group.
4. Right-click the oval, and click Edit Script on the shortcut menu.
5. Modify the oval’s click event script from ToggleDigitalPoint “FIX32.NODE.TAG.F_CV” to
ToggleDigitalPoint MyVar.InitialValue.
6. On the Dynamo toolbar, click the Build Dynamo button. The Build Dynamo with User
Prompts dialog box appears.
7. Enter a User Prompt for MyVar.InitialValue. This allows the user to change the parameter for
the ToggleDigitalPoint command by changing the value of the variable.
8. Click OK.

Generating a Report of Dynamo Usage in the Cross Reference Tool

To generate a report of Dynamo objects:

1. In Classic view, from the WorkSpace toolbar, click the Cross Reference Tool button.
-Or-
In Ribbon view, on the Applications tab, in the Utilities group, click Utilities, and then click
Cross Reference Tool.
2. Generate a report with the Quick Report or Report Wizard.
To generate a report with the Quick Report:
a. From the File menu, select Quick Report. T
b. From the Object Tree, select a picture or a Dynamo Set. This allows you to search a
single picture for Dynamos, or all pictures containing Dynamos within a specified
set.

575
Creating Pictures

c. Select the Dynamos Option. Click Search.


- Or -
To generate a report with the Report Wizard:
a. From the Tool menu, select Report Wizard.
b. Select the Dynamos in Pictures or Pictures Containing Dynamos option.
c. On the Pictures tab, select the Pictures that you want to search.
d. On the Dynamo Sets tab, select the Dynamo Sets that you want search for.
e. Click OK.
If you did not earlier select the prompt to refrain from a reminder message, a message box
appears indicating that you cannot access the iFIX WorkSpace when the Cross Reference
Tool is running.
3. Click OK to continue. Wait a few moments for the report to generate in the Cross Reference
Tool.
NOTE: You cannot access the Proficy iFIX WorkSpace while the Cross Reference Tool
generates a report. After the report completes, you are able to access the Proficy iFIX
WorkSpace again.

4. When the update is complete, review the report.


TIP: You can export the report to a .csv, .htm, .xls, or .tb2 file. On the File menu, click Save
to open the Save As dialog box.

Working with Dynamo Properties


The following sections describe tasks that you can perform when working with Dynamo properties:

• Changing a Dynamo Object's Properties


• Changing a Dynamo Object's User Prompt Properties
• Changing a Dynamo's Properties from Another Object
• Converting a Dynamo to Objects

Changing a Dynamo Object's Properties

To change a Dynamo object’s properties:

1. In the iFIX WorkSpace, in a picture or Dynamo Set, right-click the Dynamo object (Instance
or Master) and select Property Window. The Property window appears in the WorkSpace.
NOTE: If you double-click a Dynamo, a dialog box does not display. Instead, the VBA Editor
appears. You must right-click the Dynamo object to view the properties.

2. For each Dynamo object, provide property updates as needed. The Dynamo-specific
properties include:
• Dynamo ID – You cannot edit this field; it is a system assigned, unique value. This
value is a Globally Unique Identifier (GUID). If you have not dragged the Dynamo
Instance to a Dynamo Set to create a Master Dynamo, this number is a series of zeros.

576
Creating Pictures

• Dynamo Description – Enter a new description. The Dynamo Description can be


different for each Dynamo Instance. The maximum number of characters you can
enter in this field is displayed in the Max_Dynamo_Desc_Length field.
• Master – You cannot edit this field; it is a system assigned value.
• Max_Dynamo_Desc_Length – You cannot edit this field; it is a system assigned
value of 40 characters. This limit is used by the Dynamo Description field.
• Revision – You cannot edit this field; it is a system assigned number for the revision.
Other properties can be updated as well, but be aware you should use caution when updating
Master Dynamos this way. Refer to the Updating a Master Dynamo section for steps on how
to properly update other properties for a Master Dynamo and the objects within it.
NOTE: Alternatively, you can select the Master Dynamo or Dynamo Instance object, and on
the Dynamo toolbar, click the Build Dynamo button to open the Build Dynamo or Build
Dynamo with User Prompts dialog box. This dialog box provides a way to access only the
Dynamo properties.

Changing a Dynamo Object's User Prompt Properties

To change a Dynamo object’s user prompt properties:

1. In the iFIX WorkSpace, within a picture, double-click the Dynamo object (the Dynamo
Instance). The Dynamo Properties dialog box appears.
2. For each Dynamo property, enter an appropriate data source.
If necessary, use the scroll bar to page through the list. If you are entering a tagname, you can
launch the Expression Builder by clicking the Browse (...) button to select from a list of tags.
3. Select OK to accept the data sources.
TIPS:

• You can add a new tag by entering it in the Current Setting field and pressing Tab to
move the cursor off the field. A dialog box appears allowing you to create the tag.

• You can modify a tag by entering the tagname in the Current Setting field and
clicking the Quick Modify button to the right of the field.

Changing a Dynamo's Properties from Another Object

The following example demonstrates how to configure a Dynamo’s properties from another object’s
edit event in configuration mode or click event in run mode.

Using a Dynamo named Dynamo2 that has a User Prompt named “Rect Fill,” the following example
displays the original value of the property in a message box and on the click of the message box OK
button. It also changes the value and displays the new value in a message box.

To change a Dynamo’s properties from another object:

1. On the Click event of a Command button, enter the following code:


Private Sub CommandButton1_Click()

577
Creating Pictures

Dim x As String

‘Creates an instance of the Dynamo Properties form

GetFormEditDynamo

‘Initialize the data type array with the Dynamo2 Dynamo information, and
the User Prompt ‘whose Value you are looking to change.

NewEditDynamoForm.Initialize Dynamo2, "Rect Fill"

‘ Get the Dynamo prompts value

x = NewEditDynamoForm.DynamoPromptValue

‘display a message box with that value

MsgBox x

‘Set the new Prompt Value then re-initialize the Dynamo.

‘If you do not re-initialize the Dynamo

‘the old Value will be retrieved.

NewEditDynamoForm.DynamoPromptValue = "FIX32.MYNODE.RAMP.F_CV"

‘Re-initialize the array

NewEditDynamoForm.Initialize Dynamo2, "Rect Fill"

‘Get the Dynamo Prompt Value again

x = NewEditDynamoForm.DynamoPromptValue

MsgBox x ‘display a message box with the new value

2. Switch to run mode and click on the command button. The first message box displays the
current data source for the Dynamo “Rect Fill” property.
3. Click OK. The second message box displays the new data source for the Dynamo “Rect Fill”.

Converting a Dynamo to Objects

To convert a Dynamo to objects:

1. In the picture, select the Dynamo object.

578
Creating Pictures

2. Right-click the Dynamo object, and select 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.
3. Remove EasyDynamo variables.
In the WorkSpace System Tree, if an object has a + icon next to it, click the icon. The
animation object displays. If the animation object has a + icon next to it, click the icon. If the
animation object contains an EasyDynamo variable, delete the EasyDynamo variable.

Working with Master Dynamos and Instances


The following sections describe tasks that you can perform when working with Master Dynamos and
Dynamo Instances:

• Creating a Master Dynamo


• Adding a Dynamo Instance to a Picture
• Modifying the User Prompts of a Dynamo Instance
• Modifying the User Prompts of a Master Dynamo
• Converting Dynamos Using the Quick Dynamo Converter
• Converting Dynamos Using the Dynamo Converter Wizard
• Converting Dynamo Sets Using the Dynamo Sets Converter
• Updating a Master Dynamo
• Updating Dynamo Instances Using the Quick Dynamo Updater
• Updating Dynamo Instances Using the Dynamo Updater Wizard
• Updating Dynamo Instances Using the Cross Reference Tool
• Changing Dynamo Instance Update Options

Creating a Master Dynamo

To create a Master Dynamo:

1. Create a Dynamo object. Use the steps in either section:


• Creating a Dynamo (without Animations that include User Prompts)
• Creating a Dynamo with User Prompts
2. Open a Dynamo Set. For details, refer to the Opening Dynamo Sets section.
3. Drag-and-drop or copy and paste the Dynamo object(s) you created into the Dynamo Set. The
Dynamo object automatically becomes a Master Dynamo.
NOTES:

• Alternatively, if you did not create a Dynamo object yet, you can still drag-and-drop
the object(s) to the set. The Add Object to Dynamo Sets dialog box appears for each
object you add. Select the Create a New Master Dynamo option and click OK in each
dialog box that appears. These actions create the Dynamo object(s) and add them to
the set as a Master Dynamo(s). If you want to change the Dynamo description, object

579
Creating Pictures

description, or name, you must edit the Dynamo properties separately.

• When a group containing Dynamo objects is promoted to a Master Dynamo, as in the


case when it is dragged and dropped into a Dynamo Set, the contained Dynamo
objects (instances) are converted to standard group objects. A message prompts you
about this occurrence, and allows you to cancel the operation.

4. Save the Dynamo Set.


5. Delete the original Dynamo object from step1, since this Dynamo object is not an instance of
the Master Dynamo.
The Dynamo object in step 1 is not connected to the Master Dynamo created in step 4. If you
look at the Dynamo_ID in the Property window, you will notice that the number for the
original Dynamo is all zeros and does not match the Master Dynamo. This means that it
contains no links to the master. Only Dynamo Instances that you add after you create the
Master Dynamo are connected to the Master Dynamo.
TIP: If you want the original picture to include an instance of the Master Dynamo, drag-and-
drop or copy and paste the Master Dynamo object from the Dynamo set back to the picture
that you created the original Dynamo object in.

Adding a Dynamo Instance to a Picture

To add a Dynamo Instance to a picture:

1. Open a Dynamo Set. For details, refer to the Opening Dynamo Sets section.
2. From the Dynamo Set, drag-and-drop or copy and paste the Master Dynamo object into the
picture.
Each new Dynamo object that you add to a picture (not a Dynamo Set) becomes a new
Dynamo Instance.
NOTE: Pre-built Dynamos and Dynamos created in versions of iFIX before 4.5 are not
considered Dynamo objects. You cannot update these Dynamos like you can with Master
Dynamo objects.

Modifying the User Prompts of a Dynamo Instance

To modify the user prompts of a Dynamo Instance:

1. In the iFIX WorkSpace picture, select the Dynamo object.

2. In Classic view, on the Dynamo toolbar, click the Build Dynamo button.
-Or-
In Ribbon view, on the Tools tab, in the Dynamos group, click Dynamos, and then click Build
Dynamo.
User Prompts appear in brackets, { }. If the User Prompt has partial substitution, the User
Prompt appears in brackets, while static values are represented as asterisks.

3. In the User Prompt fields, modify the entries as necessary. You can delete the brackets when
modifying User Prompts.

580
Creating Pictures

4. Click OK.
5. To test your changes, double-click the Master Dynamo object to view the Dynamo Properties
dialog box and observe the Dynamo Properties column.

Modifying the User Prompts of a Master Dynamo

To modify the user prompts of a Master Dynamo:

IMPORTANT: The only way to modify the user prompts of a Master Dynamo is by manually
editing them through the Properties Window, as described below. Do not try to modify the
user prompts by using the Build Dynamo wizard. The Build Dynamo wizard only creates a
new Master Dynamo and breaks the connection between the selected Master Dynamo and any
Instances.

1. In the iFIX WorkSpace system tree, browse to the Dynamo Sets folder. Double-click the
folder name to view the contents.
2. In the Dynamo Sets folder, locate the Dynamo Set and Master Dynamo that you want to
update.
3. Using the plus (+) symbol, expand the item to locate the Lookup table and view the Easy
Dynamo variable.
4. Right-click the EasyDynamo variable that contains the user prompts that you want to update
and select Property Window. The Properties window appears.
5. In the CurrentValue field, enter the current value of the user prompt between the quotation
marks and the brackets, { }. For example, here you would edit the text MyPrompt to change
the user prompt text:
ForegroundColor.Blink="{MyPrompt}"

6. Likewise, in the InitialValue field, enter the initial value for the new user prompt between the
quotation marks and the brackets.
7. After you finish your changes, save the Dynamo Set.

Converting Dynamos Using the Quick Dynamo Converter

To convert a legacy Dynamo,or a Dynamo created before iFIX 4.5, using the Quick
Dynamo Converter:

1. Open the following:


• the picture(s) you want to convert
• the Dynamo set to use for the conversion.
2. Make sure that your picture is active.
3. In Classic view, on the Dynamo toolbar, click the Quick Dynamo Converter button.
-Or-
In Ribbon View, on the Tools tab, in the Dynamos group, click Dynamos, and then click
Quick Dynamo Converter.
4. Select the Dynamo Sets.

581
Creating Pictures

5. Select the Master Dynamo. The selected Master Dynamo is highlighted in the Dynamo Set.
6. Select the Group Object(s).
7. Click Run Convert. After a few moments, the Dynamo Converter dialog box displays with an
on screen report of the conversion.
8. Click Run Conversion to complete the conversion. A Dynamo Caution message box appears
if you did not select the prompt to hide it.
9. Click OK to continue. The progress of the conversion displays in the Status area. If you
selected the "Prompt for Choice" option, and any data sources or contained object structures
are mismatched between the Master Dynamo and the legacy Dynamos, the Dynamo
Converter - Conversion Adjustment Option dialog box appears.
10. If the Dynamo Converter - Conversion Adjustment Option dialog box appears, select an
option and click Apply:
• Convert to Dynamo but do not update Dynamo – If you want to convert the
Dynamo to a Dynamo object, but do not want to link it to the Master Dynamo. Use
this option if you want to use this Dynamo to create a new Master Dynamo.
• Convert to Dynamo, then update Dynamo – If you want to convert the Dynamo to
a Dynamo object, and want to link it to the Master Dynamo.
• Do not convert to Dynamo – If you only want to view a report of mismatched
Dynamos and make no actual conversions of mismatched Dynamos. Dynamos that
are not mismatched are converted.
11. Repeat step 10 each time the Dynamo Converter - Conversion Adjustment Option dialog box
appears. This allows you to approve each Dynamo object conversion individually. Otherwise,
select an option and click Apply to All to use the same option for all Dynamo object
conversions, and review the report later.
12. Review the report, and click Close to exit.
NOTE: The Quick Dynamo Converter does not save open pictures after conversion. If you
want to save the open pictures, you must do so manually.

Converting Dynamos Using the Dynamo Converter Wizard

To convert legacy Dynamos,or Dynamos created before iFIX 4.5, using the Dynamo
Converter Wizard:

1. In Classic view, on the Dynamo toolbar, click the Dynamo Converter Wizard button.
-Or-
In Ribbon View, on the Tools tab, in the Dynamos group, click Dynamos, and then click
Dynamo Converter Wizard.
2. On the Convert Behavior tab, select a conversion adjustment option:
• Convert to Dynamo but do not update Dynamo – If you want to convert the
Dynamo to a Dynamo object, but do not want to link it to the Master Dynamo. Select
this option if you want to use this Dynamo to create a new Master Dynamo.
• Convert to Dynamo, then update Dynamo – If you want to convert the Dynamo to
a Dynamo object, and want to link it to the Master Dynamo.
• Do not convert to Dynamo – If you only want to view a report of mismatched

582
Creating Pictures

Dynamos and make no actual conversions of mismatched Dynamos. Mismatched


Dynamos are not converted.
• Prompt for Choice – If you want a prompt to display options, each time a
mismatched Dynamo is found. The Prompt for Choice option is the default.
3. Click Next.
4. On the Convert Options tab, if you want to create a log file of the conversion process:
a. Select the Save Status Trail Info check box.
b. If you want to change the default path and file name, enter a path in the Path field.
c. To add to an existing log file, select Append.
-Or-
To create a new one, select Overwrite.
5. Click Next.
6. On the Select Dynamos tab, in the Dynamo Sets area, select a Master Dynamo that you want
to use for the conversion process.
7. On the Select Dynamos tab, in the Pictures area, select the pictures you want to search in.
• -Or-
• Click Select All to select all pictures and all contained group objects.
NOTES:

• The Dynamo Converter Wizard allows you to select picture files whether the file is
open or closed. During the conversion process, the wizard opens picture files and
saves them on close. If a picture is already open, the wizard does not save the picture
file, and the file is kept open in the WorkSpace. For these open pictures, you must
manually close and save them.

• If you are using Proficy Change Management with iFIX, be aware that pictures need
to be checked out (even if closed), otherwise the Dynamo Converter Wizard will not
convert these files. If you do not check out the files, the picture files in the Select
Dynamos tab appear in red and you are unable to select them.

8. Click Next and, on the View Settings tab, review your settings.
9. Click Run convert. After a few moments the Dynamo Converter Progress dialog box appears
with a report of the Dynamos to convert.
NOTES:

• If no Master Dynamo or legacy Dynamos from your selection require conversion, the
Run Conversion button is unavailable.

• You can click a legacy Dynamo in the Quick Dynamo Report list to view its name,
description, revision number, and associated Master Dynamo information.

10. Click Run Conversion. A Dynamo Caution message box appears if you did not select the
prompt to hide it.
11. Click OK to continue. The progress of the conversion displays in the Status area. If there are
mismatched between the Master Dynamo and the legacy Dynamo, and you selected the
Prompt for Choice option in step 2, the Dynamo Converter - Conversion Adjustment Option

583
Creating Pictures

dialog box appears.


12. If the Dynamo Converter - Conversion Adjustment Option dialog box appears, select an
option and click Apply:
• Convert to Dynamo but do not update Dynamo – If you want to convert the
Dynamo to a Dynamo object, but do not want to link it to the Master Dynamo.
• Convert to Dynamo, then update Dynamo – If you want to convert the Dynamo to
a Dynamo object, and want to link it to the Master Dynamo.
• Do not convert to Dynamo – If you only want to view a report of mismatched
Dynamos and make no actual conversions.
13. Repeat step 12 each time the Dynamo Converter - Conversion Adjustment Option dialog box
appears. This allows you to approve each Dynamo object conversion individually. Otherwise,
select an option and click Apply to All to use the same option for all Dynamo object
conversions, and review the report later.
After a few moments, the Dynamo Converter dialog box displays with an on screen report of
the conversion.
14. Review the report, and click Close to exit.

Converting Dynamo Sets Using the Dynamo Sets Converter

To convert legacy Dynamo Sets, or Dynamo Sets created before iFIX 4.5, using the
Dynamo Sets Converter:

NOTE: If you are using Proficy Change Management with iFIX, be aware that pictures need
to be checked out (even if closed), otherwise the Dynamo Converter Wizard will not convert
these files. If you do not check out the files, the picture files in the Select Dynamos tab appear
in red and you are unable to select them.

1. In Classic view, click the Convert Dynamo Sets button on the Dynamo toolbar.
-Or-
In Ribbon View, on the Tools tab, in the Dynamos group, click Dynamos, and then click
Convert Dynamo Sets.
2. Verify that the correct path appears in the Dynamo Set Path field. If not, either use the browse
button to locate the correct folder, or enter the path directly in the Dynamo Set Path field.
3. From the Dynamo Sets list box, select the Dynamo Set(s) to convert, or choose Select All to
select all Dynamo Sets.
4. Click Convert. The Dynamo Sets Converter Progress dialog box appears.
5. Click Run Conversion. The progress of the conversion displays in the Status area.
6. Click Close.

Updating a Master Dynamo

To update a Master Dynamo:

1. Open the Dynamo Set that contains the Master Dynamo object that you want to update. For
details, refer to the Opening Dynamo Sets section.

584
Creating Pictures

2. In the Dynamo Set, select the Master Dynamo object.


3. Drag-and-drop the Master Dynamo to an open picture.
NOTE: While you can right-click a Dynamo from within the Dynamo Set and select Dynamo
Properties to edit overall Dynamo properties, you have limited access to what you can edit
within the Dynamo this way. Instead, we recommend editing the Master Dynamo from an
open picture, instead.

4. If user prompts are associated with the Dynamo object, the Dynamo Properties dialog box
appears. Enter the required information and click OK,
5. In the picture, make the required changes to the Dynamo object you just copied in.
TIP: To select a single object within a Dynamo object, with the Dynamo object selected, on
the right-click menu, select the Enter Drill-down option. A box appears around the group.
Select the object in the group you want to change and make your changes.

6. When finished, deselect the object and the group. The box disappears.
7. Select the Dynamo again, and drag-and-drop the Dynamo back to the same Dynamo Set. The
Overwrite Master Dynamo dialog box appears.
8. Select Overwrite the Existing Master Dynamo option.
NOTE: If you select the Create a New Master Dynamo instead, all instances created from the
old Master Dynamo will no longer be linked to the new Master Dynamo. And, a new Dynamo
ID number will be generated.

9. Click OK. The Master Dynamo is updated in the Dynamo Set. You may need to scroll slightly
to view the Master Dynamo in the Dynamo Set document.
10. If you want to update the Dynamo Instances in your pictures so that they reflect the new
settings in the Master Dynamo, use the steps in the following sections:
• Updating Dynamo Instances Using the Quick Dynamo Updater
• Updating Dynamo Instances Using the Dynamo Updater Wizard
• Updating Dynamo Instances Using the Cross Reference Tool

Updating Dynamo Instances Using the Quick Dynamo Updater

To update mismatched Dynamo Instances using the Quick Dynamo Updater:

1. Open the picture(s) you want to update.


Additionally, you can select the specific Master Dynamo(s) that you want to use to update the
Dynamo Instances:
• If you want to use a single Dynamo, select the Master Dynamo in the Dynamo set.
Only one Dynamo per Dynamo Set can be selected. When nothing is selected, all
Master Dynamos in the selected Dynamo Set are used for the update.
• If you want to use one Dynamo from more than one set, select the Master Dynamo in
each set. Only one Dynamo per set can be selected for the update.
2. If you want to update the Dynamos on a single picture, select the picture in the iFIX
WorkSpace now. Click anywhere in the picture to ensure the title bar is active. Otherwise,
proceed to step 2 to update all pictures.

585
Creating Pictures

3. In Classic view, on the Dynamo toolbar, click the Quick Dynamo Updater button.
-Or-
In Ribbon view, on the Tools tab, in the Dynamos group, click Dynamos, and then click
Quick Dynamo Updater.
4. Select an update option:
• If you want to update the Dynamo objects on a single, selected picture only, select
the Dynamos on Active Picture option. If no active pictures are selected in the
WorkSpace (for instance, a Dynamo set is selected instead), this option is
unavailable.
• If you want to update the Dynamo objects on all pictures, select the Dynamos on All
Open Pictures option.
5. Click OK. After a few moments, the Dynamo Updater dialog box displays with an on screen
report of the update.
TIP: You can click a Dynamo Instance in the Quick Dynamo Report list to view its name,
description, revision number, and associated Master Dynamo information.

5. Click Run Update to complete the update. A Dynamo Caution message box appears if you did
not select the prompt to hide it.
6. Click OK to continue. The progress of the update displays in the Status area. If any data
sources are mismatched between the Master Dynamo and the Dynamo Instances, the Dynamo
Updater - Update Behavior dialog box appears.
NOTE: By default, Prompt for Choice is selected as the Update Behavior. You can change
the Update Behavior so that you will not be prompted to choose an update action for each
mismatched Dynamo Instance. For more information, refer to the Changing Dynamo Instance
Update Options section.

7. If the Dynamo Updater - Update Behavior dialog box appears, select an option and click
Apply:
• Update the Dynamo, and use Master Dynamo data sources – If you want to
update mismatched Dynamo Instances, but do not want to apply any of the data
sources from the Dynamo Instance. This option uses all data sources from the Master
Dynamo, and no data sources from the Dynamo Instance.
• Update the Dynamo and try to match up the Data Sources – If you want to
update mismatched Dynamo Instances using data sources from the Dynamo Instance
and a best guess matching algorithm.
For example, if a Master Dynamo object contains only one data source (user prompt)
based on an animation, but a previous version (an instance of that Dynamo) includes
three data sources based on animations, a best guess match is made. For the best
guess, iFIX decides which one of the three data sources to use in the instance, and a
report is generated based on your settings.
If the object type differs between the Master Dynamo and the Instance, there is no
attempt to update the data sources in the animation for that object.
• Do not update Dynamo – If you only want to view a report of mismatched
Dynamos and make no actual updates.
8. Repeat step 7 each time the Dynamo Updater - Update Behavior dialog box appears. This
allows you to approve each Dynamo object update individually. Otherwise, select an option

586
Creating Pictures

and click Apply to All to use the same option for all Dynamo object updates, and review the
report later.
9. Review the report, and click Close to exit.
NOTE: The Quick Dynamo Updater does not save open pictures after update.

Updating Dynamo Instances Using the Dynamo Updater Wizard

To update mismatched Dynamo Instances using the Dynamo Updater Wizard:

1. In Classic view, on the Dynamo toolbar, click the Dynamo Updater Wizard button.
-Or-
In Ribbon view, on the Tools tab, in the Dynamos group, click Dynamos, and then click
Dynamo Updater Wizard.
2. On the Update Behavior tab, select an update option:
• Update the Dynamo, and use Master Dynamo data sources – If you want to
update mismatched Dynamo Instances, but do not want to apply any of the data
sources from the Dynamo Instance. This option uses all data sources from the Master
Dynamo, and no data sources from the Dynamo Instance.
• Update the Dynamo and try to match up the Data Sources – If you want to
update mismatched Dynamo Instances using data sources from the Dynamo Instance
and a best guess matching algorithm.
• For example, if a Master Dynamo object contains only one data source (user prompt)
based on an animation, but a previous version (an instance of that Dynamo) includes
three data sources based on animations, a best guess match is made. For the best guess,
iFIX decides which one of the three data sources to use in the instance, and a report is
generated based on your settings.
If the object type differs between the Master Dynamo and the Instance, there is no
attempt to update the data sources in the animation for that object.
• Do not Update Dynamo – If you only want to view a report of mismatched
Dynamos and make no actual updates.
• Prompt for Choice – If you want a prompt to display with your options, each time a
mismatched Dynamo is found. This option is the default.
3. Click Next.
4. On the Update Options tab, if you want to create a log file of the update process, select the
Save Status Trail Info check box, and enter a path in the Path field, if you want to change the
default path and file name. Select Append to add to an existing log file, or Overwrite to create
a new one.
5. Click Next.
6. On the Select Dynamos tab, in the Dynamo Sets area, select the Dynamos that you want to
search for. Click Select All to select all Dynamo Sets.
7. On the Select Dynamos tab, in the Pictures area, select the pictures you want to search in.
Click Select All to select all pictures.
The Dynamo Updater Wizard allows you to select picture files whether the file is open or

587
Creating Pictures

closed. During the update process, the wizard opens picture files and saves them on close. If a
picture is are already open, the wizard does not save the picture file, and the file is kept open
in the WorkSpace.
If you are using Proficy Change Management with iFIX, be aware that pictures needs to be
checked out (even if closed), otherwise the Dynamo Updater Wizard will not update these
files. When this happens, the picture files in the Select Dynamos tab appear in red and you are
unable to select them.
8. Click Next and, on the View Settings tab, review your settings.
9. Click Launch Updater. After a few moments the Dynamo Updater dialog box appears with a
report of the Dynamos to update.
NOTES:

• If no Dynamo Instances from your selection require updating, the Launch Updater
button is unavailable.

• You can click a Dynamo Instance in the Quick Dynamo Report list to view its name,
description, revision number, and associated Master Dynamo information.

10. Click Run Update. A Dynamo Caution message box appears if you did not select the prompt
to hide it.
11. Click OK to continue. The progress of the update displays in the Status area. If any data
sources are mismatched between the Master Dynamo and the Dynamo Instances, and you
selected the Prompt for Choice option in step 2, the Dynamo Updater - Update Behavior
dialog box appears.
12. If the Dynamo Updater - Update Behavior dialog box appears, select an option and click
Apply:
• Update the Dynamo, and use Master Dynamo data sources – If you want to
update mismatched Dynamo Instances, but do not want to apply any of the data
sources from the Dynamo Instance. This option uses all data sources from the Master
Dynamo, and no data sources from the Dynamo Instance.
• Update the Dynamo and try to match up the Data Sources – If you want to
update mismatched Dynamo Instances using data sources from the Dynamo Instance
and a best guess matching algorithm.
For example, if a Master Dynamo object contains only one data source (user prompt)
based on an animation, but a previous version (an instance of that Dynamo) includes
three data sources based on animations, a best guess match is made. For the best
guess, iFIX decides which one of the three data sources to use in the instance, and a
report is generated based on your settings.
If the object type differs between the Master Dynamo and the Instance, there is no
attempt to update the data sources in the animation for that object.
• Do not update Dynamo – If you only want to view a report of mismatched
Dynamos and make no actual updates.
13. Repeat step 11 each time the Dynamo Updater - Update Behavior dialog box appears. This
allows you to approve each Dynamo object update individually. Otherwise, select an option
and click Apply to All to use the same option for all Dynamo object updates, and review the
report later.
After a few moments, the Dynamo Updater dialog box displays with an on screen report of

588
Creating Pictures

the update.
14. Review the report, and click Close to exit.

Updating Dynamo Instances Using the Cross Reference Tool

To update mismatched Dynamo Instances using the Cross Reference Tool:

1. In Classic view, from the WorkSpace toolbar, click the Cross Reference Tool button.
-Or-
In Ribbon view, on the Applications tab, in the Utilities group, click Utilities, and then click
Cross Reference Tool.
2. Generate a report with the Quick Report or Report Wizard.
To generate a report with the Quick Report:
a. From the File menu, select Quick Report.
b. From the Object Tree, select a picture or a Dynamo Set. This allows you to search a
single picture for Dynamos, or all pictures containing Dynamos within a specified
set.
c. Select the Dynamos Option. Click Search.
- Or -
To generate a report with the Report Wizard:
a. From the Tool menu, select Report Wizard.
b. Select the Dynamos in Pictures or Pictures Containing Dynamos option.
c. On the Pictures tab, select the Pictures that you want to search.
d. On the Dynamo Sets tab, select the Dynamo Sets that you want search for.
e. Click OK.
If you did not earlier select the prompt to refrain from a reminder message, a message box
appears indicating that you cannot access the iFIX WorkSpace when the Cross Reference
Tool is running.
3. Click OK to continue. Wait a few moments for a report to generate in the Cross Reference
Tool.
NOTE: You cannot access the Proficy iFIX WorkSpace while the Cross Reference Tool
generates a report. After the report completes, you are able to access the Proficy iFIX
WorkSpace again.

4. On the Tool menu, select Dynamo Updater. The iFIX WorkSpace appears in the foreground
and the Dynamo Updater dialog box appears.
5. In the Quick Dynamo Report area, review the Dynamos to be updated and click Run Update.
A Dynamo Caution message box appears if you did not select the prompt to hide it.
TIP: You can click a Dynamo Instance in the Quick Dynamo Report list to view its name,
description, revision number, and associated Master Dynamo information.

6. Click OK to continue. The progress of the update displays in the Status area. If any data
sources are mismatched between the Master Dynamo and the Dynamo Instances, the Dynamo

589
Creating Pictures

Updater - Update Behavior dialog box appears.


NOTE: By default, Prompt for Choice is selected as the Update Behavior. You can change
the Update Behavior so that you are not prompted to choose an update action for each
mismatched Dynamo Instance. For more information, refer to the Changing Dynamo Instance
Update Options section.

7. If the Dynamo Updater - Update Behavior dialog box appears, select an option and click
Apply:
• Update the Dynamo, and use Master Dynamo data sources – If you want to
update mismatched Dynamo Instances, but do not want to apply any of the data
sources from the Dynamo Instance. This option uses all data sources from the Master
Dynamo, and no data sources from the Dynamo Instance.
• Update the Dynamo and try to match up the Data Sources – If you want to
update mismatched Dynamo Instances using data sources from the Dynamo Instance
and a best guess matching algorithm.
For example, if a Master Dynamo object contains only one data source (user prompt)
based on an animation, but a previous version (an instance of that Dynamo) includes
three data sources based on animations, a best guess match is made. For the best
guess, iFIX decides which one of the three data sources to use in the instance, and a
report is generated based on your settings.
If the object type differs between the Master Dynamo and the Instance, there is no
attempt to update the data sources in the animation for that object.
• Do not update Dynamo – If you only want to view a report of mismatched
Dynamos and make no actual updates.
8. Repeat step 7 each time the Dynamo Updater - Update Behavior dialog box appears. This
allows you to approve each Dynamo object update individually. Otherwise, select an option
and click Apply to All to use the same option for all Dynamo object updates, and review the
report later.
After a few moments, the Dynamo Updater dialog box displays with an on screen report of
the update.
9. Review the report, and click Close to exit.

Changing Dynamo Instance Update Options

To change the update options in Dynamo Updater dialog box:

1. Update Dynamo Instances using the:


• Quick Dynamo Updater
• Dynamo Updater Wizard
• Cross Reference Tool
2. When the Dynamo Updater dialog box displays with an on screen report of the update, click
Modify to change the Dynamo Update options. The Data Sources Adjustment Options dialog
box appears.
3. Select an update option and click OK:
• Update Dynamo, and use Master Dynamo data sources

590
Creating Pictures

• Update Dynamo, and try to match up data sources


• Do not update Dynamo
• Prompt for choice (the default)
4. Click Run Update to complete the update. A Dynamo Caution message box appears if you did
not select the prompt to hide it.
5. Click OK to continue. The progress of the update displays in the Status area. If any data
sources are mismatched between the Master Dynamo and the Dynamo Instances, the Dynamo
Updater - Update Behavior dialog box appears.
6. If the Dynamo Updater - Update Behavior dialog box appears, select an option and click
Apply:
• Update the Dynamo, and use Master Dynamo data sources – If you want to
update mismatched Dynamo Instances, but do not want to apply any of the data
sources from the Dynamo Instance. This option uses all data sources from the Master
Dynamo, and no data sources from the Dynamo Instance.
• Update the Dynamo and try to match up the Data Sources – If you want to
update mismatched Dynamo Instances using data sources from the Dynamo Instance
and a best guess matching algorithm.
For example, if a Master Dynamo object contains only one data source (user prompt)
based on an animation, but a previous version (an instance of that Dynamo) includes
three data sources based on animations, a best guess match is made. For the best
guess, iFIX decides which one of the three data sources to use in the instance, and a
report is generated based on your settings.
If the object type differs between the Master Dynamo and the Instance, there is no
attempt to update the data sources in the animation for that object.
• Do not update Dynamo – If you only want to view a report of mismatched
Dynamos and make no actual updates.
7. Repeat step 6 each time the Dynamo Updater - Update Behavior dialog box appears. This
allows you to approve each Dynamo object update individually. Otherwise, select an option
and click Apply to All to use the same option for all Dynamo object updates, and review the
report later.
8. Review the report, and click Close to exit.

Working with Dynamo Sets


The following sections describe tasks that you can perform when working with Dynamo Sets:

• Opening Dynamo Sets


• Creating New Dynamo Sets
• Adding a Dynamo Object to a Set

Opening Dynamo Sets

To open a Dynamo set:

1. In the iFIX WorkSpace system tree, open the Dynamo Sets folder.

591
Creating Pictures

2. Double-click the set you want to open. A window opens with the Dynamo Set (.fds file)
displayed.
TIP: To create a new Dynamo Set to open, in the iFIX WorkSpace, on the Standard toolbar,
click the New Dynamo Set button. Add Dynamo objects to the blank document to build the set.
Each new Dynamo object that you add to the set becomes a Master Dynamo. Save the
Dynamo Set.

Creating New Dynamo Sets

To create a new Dynamo Set:

1. In Classic view, in the iFIX WorkSpace, on the Standard toolbar, click the New Dynamo Set
button.
-Or-
In Ribbon view, click the WorkSpace button, select New, and click Dynamo Set.
2. Add Dynamo objects to the blank document to build the set.

Adding a Dynamo Object to a Set

To add a Dynamo object to a Dynamo Set:

1. In the iFIX WorkSpace, open an existing Dynamo Set or create a new one.
2. Drag-and-drop or copy and paste the Dynamo object you created with the Build Dynamo
Wizard into the Dynamo Set.
If more than one object is selected, the Add Object to Dynamo Sets dialog box appears.
3. If the Add Object to Dynamo Sets dialog box appears, select the Create a New Master
Dynamo option and click OK. The Dynamo is added to the set as a Master Dynamo.
Each new Dynamo object that you add to the set becomes a Master Dynamo.
4. Save the Dynamo Set.

Using Key Macros


You can create key macros in the iFIX Key Macro Editor (KeyMacroEditor.exe). Key macros allow
you to assign a key combination on the keyboard to a specific action in the Proficy iFIX WorkSpace
that you can execute in operator displays at run time. You can use key macros to automate routine
tasks or to group multiple sequential tasks into one function. Some of the functions that you can use
key macros for include:

• Customizing navigation through pictures


• Initiating a backup
• Printing a report
• Acknowledging an alarm

592
Creating Pictures

• Toggling a digital point


• Controlling database blocks
• Starting other applications

You can associate key macros:

• With shapes or Dynamo objects inside an iFIX picture


• With iFIX pictures
• Across all pictures

For example, you can use one key macro to acknowledge an alarm in a display, and then other key
macros to switch views between different pictures of your plant. The key macro feature lets you add
custom functionality to objects within a single operator display, to the display itself, or to all operator
displays.

This chapter describes how to create and manipulate key macros in the Proficy iFIX WorkSpace, using
the Key Macro Editor.

Do You Need Key Macros?


If the computers that your operators use are located in areas where dust or liquids may be a problem,
you may want to use key macros. If your mouse risks getting wet or dirty, you probably won't want to
use it on the plant floor. With key macros your operators do not need to use a mouse. Instead, your
operators can use regular computer keyboards or heavy-duty industrial keyboards, for instance, that are
dust-protected and surface waterproof. Industrial keyboards are used in applications at many
pharmaceutical and medical facilities, clean rooms, factories, mining sites, construction sites, chemical
facilities, and laboratories.

For example, you might design a series of key macros that open up different pictures of pumps on your
plant floor. All that an operator needs to do to monitor pumps at run time is press a key on his
industrial keyboard to switch between iFIX pictures, rather than use a mouse to open up each picture
manually. Key macros not only save time, but also allow you to easily standardize actions based on
specific keystrokes.

Use of key macros, however, is not restricted to users of industrial keyboards. Any user who wants to
automate routine tasks, group multiple sequential tasks into one function, manage alarming and
operator messaging, run applications, control database blocks, or manipulate files by the use of a key
combination can use key macros. The following figure shows examples of how you might use key
macros.

593
Creating Pictures

Key Macro Examples

Introduction to the Key Macro Editor


The Key Macro Editor gives iFIX users an easy way to create and manipulate key macros in the
Proficy iFIX WorkSpace. This section describes the Key Macro Editor interface and its basic
functionality. Topics included are:

• Getting Ready to Use Key Macros


• Starting the Key Macro Editor
• Recognizing the Key Macro Editor Window
• Understanding Column Definitions in the Key Macro Editor
• Using the Toolbar
• Navigating in the Key Macro Editor
• Defining User Preferences

Getting Ready to Use Key Macros


Before you can begin using key macros you must:

• Understand how to create pictures and use experts in the Proficy iFIX WorkSpace
• Be familiar with your process database
• Understand how to work with objects in the run-time environment

594
Creating Pictures

Starting the Key Macro Editor


You must have the Proficy iFIX WorkSpace running before you start the Key Macro Editor. You can
start the Key Macro Editor from the Proficy iFIX WorkSpace by clicking the Key Macro button on the
Application toolbar in configure mode (Classic view) or on the Applications tab in the Utilities group,
click Key Macro Editor (Ribbon view).

You can also start the Key Macro Editor by selecting Add or Edit from the Key Macros option in the
right-click menu. You access the right-click menu after selecting an object, picture, or user global
page. You can select an object or picture from the system tree or drawing area. You can select the user
global page from the system tree.

The Key Macro Editor Window


The Key Macro Editor window appears as follows:

Key Macro Editor Main Window

Initially, the Key Macros Apply To field displays the object, picture, or user global page that was
selected when you opened the Key Macro Editor.

Column Definitions for the Key Macro Editor


The following table describes the columns of the Key Macro Editor spreadsheet and the information
that you can enter into them.

595
Creating Pictures

NOTE: You can only access these columns when a row is active. Click a row to make it active.

Column Definitions for the Key Macro Editor

Use this To...


column...

Key Define the key assignment for the macro. The key combination can include one
Combination key or a combination of keys. For example: F1, Ctrl+A, or Ctrl+Shift+H are all
possible key macros.

Action Define the expert that you want to run for the key macro. The expert
automatically launches after you select it from the drop-down list.
An expert consists of a dialog box that requires minimum input to quickly create
a script to perform a task. For example, the OpenPicture expert requires you to
enter the picture name that you want to open in the dialog box.
If you select Custom, the Microsoft Visual Basic Editor opens so you can enter
a custom script.

Run Expert Re-run the expert defined in the Action cell. You can re-run the expert to
modify the expert's parameters.
For example, you can use the Run Expert button to change the name of the
picture that is opened with the OpenPicture expert. You do not need to know
Visual Basic to run an expert.

VB Editor Access the Microsoft Visual Basic Editor so that you can view or modify the
VBA script behind the key macro.
NOTE: It is highly recommended that you do not modify the code that an expert
created because the format of those comments and code written by the expert is
used when re-running the expert.

Description Enter text that describe the function of the key macro. Can contain up to 60
alphanumeric characters, including special characters, such as -(*)&+% and
spaces.
The Description field is optional.

Using the Toolbar


Many of the commands found on the menu bar have corresponding toolbar buttons. The following
table describes the functions of the Key Macro Editor-specific toolbar buttons.

596
Creating Pictures

Key Macro Editor Toolbar Buttons

Click this To...


button...

Add a row to the spreadsheet.

Edit the fields in a row.

Delete the active row.

Delete all rows.

Cut the active row or rows, and move them to the Clipboard.

Copy the active row or rows, and place them on the Clipboard.

Paste a row or rows into the spreadsheet.

Keep the Key Macro Editor on top of the Proficy iFIX WorkSpace. By
default, this button is selected.

Navigating in the Key Macro Editor


After you open the Key Macro Editor, you can apply key macros to the currently selected item, or
navigate to another object, picture, or user global page. To navigate in the Key Macro Editor:

• Use the drop-down list next to the Key Macros Apply To field to view the most recently used
shape, picture, or the user global page. The Key Macro Editor stores up to ten items in the
most recently used list.
NOTE: If you want to modify the number of items that appear in the most recently used list,
edit the \\HKEY_CURRENT_USER\Software\VB and VBA Program
Settings\FDKeyMacros\AddressMRU\MaxEntries values in the Windows Registry.

• Use the browse button to select an object, picture, or user global page.
• Use the Global Key Macros button to switch immediately to the user global page, if you want
to define a system wide key macro.
The Key Macros Apply To field and its related buttons are described in the following figure.

597
Creating Pictures

Key Macros Apply To Field

Defining User Preferences


You can define certain features for the Key Macro Editor by the using the Preferences menu:

• Keep on Top – Keeps the Key Macro Editor on top of the Proficy iFIX WorkSpace. By
default, Keep on Top is enabled.
• Always Save User.fxg on Navigate – Every time you make changes to the user global page
and then navigate to a picture or object, you save the changes without being prompted. The
User.fxg file contains your system wide key macros. If you do not save the User.fxg file on
navigation, global key macros will not be saved to disk until you shut down the WorkSpace.
You are prompted to save the User.fxg during the shutdown.
• Always Save Key Macros on Navigate – Every time you browse to another shape, picture,
or the user global page, you save the key macros that are configured without being prompted.
This preference does not save the picture, however. The Always Save Key Macros on
Navigate option is a good development tool, if you want to safely design key macros and do
not want to modify your pictures until you close the picture or the WorkSpace.

You can have any combination of these preferences enabled at the same time. For instance, you can
select Always Save User.fxg on Navigate and Always Save Key Macros on Navigate if you want to
enable both in the Key Macro Editor. With both selected, you will not see a prompt asking you to save
either the User.fxg file or the key macros since both will be saved automatically.

NOTE: These preferences do not automatically save the picture file. You can save the picture file
(.GRF file) yourself at any time, or when prompted when you close the picture or the WorkSpace.

Defining Key Macros


The actions that you can perform with key macros are defined by VBA scripts. Each individual VBA
script contains a series of commands and instructions that your iFIX software executes on request. You
can use experts to define your actions or write your own custom VBA scripts.

This section describes how to define key macros, including:

• Understanding How iFIX Checks for Key Macros in Run Time


• Adding Key Macros
• Defining a Keystoke Assignment

598
Creating Pictures

• Selecting an Expert
• Writing Custom Key Macros

Understanding How iFIX Checks for Key Macros


As the following picture details, when a user enters a key or key combination at run time, iFIX first
checks to see if a key macro exists at the object level for the currently selected object. If it does, the
action executes. If the key macro does not exist on the object level, iFIX checks the picture level. If the
key macro exists on the picture level, the action executes. If the key macro does not exist on either the
object or picture level, iFIX finally checks at the global level.

How iFIX Checks for Key Macros

When you are defining your key macros, keep in mind that object level key macros can override
picture and global level key macros. Also, picture level key macros can override global key macros.
For example, you can define a global level key macro that executes no matter what picture is open (or
even if no picture is open), unless it is overridden by an object or picture level key macro.

For instance, say you define a picture level key macro as F2 to close a picture, and a global level key
macro as F2 to replace a picture. When you are in run-time mode and select F2, the close picture key
macro will run. The close picture key macro runs because the picture level key macro takes precedence
over the global level key macro. So be careful if you are using the same key macro at different levels.

Also, use care if you are assigning key macros to objects within a group. iFIX does not check for key
macros at the group level, unless the group is selected. For example, say you are in run time and you
select Object A which is inside Group A, and the group contains a key macro of F5, as shown in the
following figure. However, the picture also contains a key macro of F5. In this case, if you press F5,
the picture's F5 key macro would run, and not Group A's. If instead you select Group A and then press
F5, the group's key macro would run and not the picture's. As you can see, if you assign the same key
macro to different objects within the same group and to the group itself, the operator could become
confused.

599
Creating Pictures

Example of Key Macros at Multiple Levels

As another example, say Group A is part of Group C, as shown in the previous figure. Both Group C
and the picture have a key macro of F7 assigned to them. If you are in run time and select Group A and
then press F7, the picture's F7 key macro would run and not Group C's. The system does take into
account the group hierarchy.

As another example, say Object B is within Group B, and the group contains a key macro of F8 but the
object, picture, or user global does not contain a key macro of F8. In this case, if you are in run time
and select Object B and then press F8, nothing happens. You would need to select the group before
pressing F8 for the key macro to execute. You cannot run a group's key macros by selecting an object
within a group. If you are creating Dynamo objects, be sure to keep that in mind.

Adding Key Macros


To add a key macro in the Key Macro Editor:

• Click in the first empty row of the Key Macro Editor.


• Select Add Row from the Edit menu.
• Click the Add Row button in the toolbar.

The Key Macro Editor allows you to:

• Add a key macro to a shape or a Dynamo object within a picture


• Add a key macro to a picture
• Add a key macro to a user global page

600
Creating Pictures

If you add a key macro to a shape or Dynamo object within a picture or to a picture itself, the key
macro is saved with the picture file.

If you add a key macro to a user global page, the key macro is available to all displays. Key macros
that apply "globally" live in the user global file, User.fxg.

NOTE: If you add key macros during run mode, when you switch back to configure mode those key
macros are gone.

Defining a Keystoke Assignment


Each key macro requires a keystroke assignment. This assignment can be a single key or a key
combination. A key combination can consist of most keyboard keys including the function keys,
number pad, and punctuation keys. The following exceptions are:

• Backspace
• Alt
• Caps Lock
• Spacebar

NOTE: Key codes that cannot be applied in the Key Macro Editor can be added using the interface
methods.

The Shift or Control keys cannot be used alone. Alphanumeric keys are only valid with Ctrl or
Ctrl+Shift.

When you click the Key Combination cell of an active row, you open the Keyboard dialog box, as
shown in the following figure.

Keyboard Dialog Box

The Keyboard dialog box lets you define a keystroke assignment quickly and easily. Use your mouse
to select the keys on the Keyboard dialog box, or enter the key combination in the text box. If you
make a mistake, click Clear to start over.

You are not limited to the keys that appear in the Keyboard dialog box. For example, if the keyboard
on your computer has an F18 key, when you hit this key the system recognizes and displays it in the

601
Creating Pictures

text box, even though the key is not included in the Keypad in the Keyboard dialog box. There are
some keys that are not valid though. If you select an invalid key, when you close the Keyboard dialog
box, you will get an error message. See the following table for guidelines you can use when defining
key macros.

Keystroke Assignment Guidelines

Key Guideline

Alphanumeric • Do not use alone, or just with the Shift key.


• Use in combination with the Ctrl or Ctrl+Shift keys.

Ctrl • Do not use alone.


• When used in a combination, select Ctrl first.
• Can use in combination with function keys.

Delete Use alone or in combination with the Ctrl and/or Shift key.

Function keys Use alone or in combination with the Ctrl and/or Shift key.

Insert Use alone or in combination with the Ctrl and/or Shift key.

Arrow keys Use alone or in combination with the Ctrl and/or Shift key.

Number pad Use alone or in combination with the Ctrl and/or Shift key.
keys

Punctuation • Do not use alone.


keys
• Use in combination with the Ctrl or Ctrl+Shift keys.

Shift • Do not use alone.


• When used in a combination, select Shift first.
• Use in combination with function, symbol, punctuation, movement,
Insert, or Delete key.
• Do not use in combination with alphanumeric keys, unless used with
the Ctrl key.

Symbols Use alone or in combination with the Ctrl and/or Shift key.

Selecting an Action
Select an action for a specified key macro by doing one of the following:

602
Creating Pictures

• Click the Run Wizard button to use the Multiple Command Script Wizard.
• Click the VB Editor button to open the Visual Basic Editor.

The Multiple Command Script Wizard enables you to use Experts to automatically create a scripted
action, or series of actions, for the key macro. Alternatively, you can use the Visual Basic Editor to
create a custom scripted action.

The following Experts are available for use with key macros through the Multiple Command Script
Wizard:

• Custom
• AcknowledgeAlarm
• AcknowledgeAllAlarms
• AlarmHorn
• CloseDigitalPoint
• ClosePicture
• DataEntry
• DisableAlarm
• EnableAlarm
• LocateObject
• GenerateReport
• OpenDigitalPoint
• OpenPicture
• RampAValue
• ReplacePicture
• SetTagAuto
• SetTagManual
• ToggleDigitalPoint
• ToggleScan
• ToggleTagAutoManual
• TurnTagOffScan
• TurnTagOnScan
• WriteToADatabasePoint

For information on particular Experts, refer to the Experts Summary.

Writing Custom Key Macros


You can use your Visual Basic Editor to write a custom script or edit an existing expert configuration
for a key macro. Editing expert code is only recommended for advanced users. If you want to modify
the expert parameters, we suggest that you re-run the expert rather than edit the code. Use the Run

603
Creating Pictures

Expert button to modify these parameters.

NOTE: If you modify the expert generated code, you should delete the Expert generated comments in
the VBA script.

For information on the VBA scripts and Experts, refer to the following sections:

• Writing Scripts
• iFIX Automation Reference
• Experts Summary

Managing Macros
The Key Macro Editor provides the tools necessary to manage and refine key macros. You can use
these tools to:

• Create Global Key Macros.


• Automatically Save the User.fxg when navigating.
• Delete a key macro.
• Delete all key macros for an object, picture, or user global.
• Export all key macros in the selected object, picture, or user global page to a .CSV file.
NOTE: There is no import functionality in this release.

In addition, you can also manage key macros in the WorkSpace by:

• Copying and pasting key macros from one object to another object.
• Copying and pasting key macros from one picture to another picture.
• Copying and pasting an object containing key macros.

Determining if an Object, Picture, or User Global Contains a Key Macro


If an object, picture, or user global contains a key macro, it is identified by a key at the top left-hand
corner of the icon in the system tree. See the following figure for an example.

604
Creating Pictures

Example of Key Macros, as Displayed in the System Tree

Overriding WorkSpace Shortcuts in Run Time


Key macros override shortcut keys that you can normally use in the WorkSpace's run-time
environment. For example, you can override the WorkSpace shortcut of Ctrl+O to open a picture with
a key macro that does another function when you select Ctrl+O. You can also disable a shortcut by
creating an empty key macro. For example, if you don't want to give operators the ability to open
pictures, you create an empty key macro for the Ctrl+O key combination. This disables the action for
the key combination, not the key macro itself. So, when the operator presses Ctrl+O, nothing happens.

To create an empty key macro in the Key Macro Editor, you select Custom in the Action drop-down.
This functionality is different from the VBA Key Up/Key Down events that only have access to key
combinations not used by the WorkSpace.

NOTE: When you create a key macro for Ctrl+F4, a user logged in as guest may not be able to use
Ctrl+F4 as expected. To overcome this restriction, assign the Enable Task Switching application
feature to that user's account.

Tips And Tricks


Some of the additional functionality provided with key macros include:

• Right-click on an object or picture from the system tree or drawing area, or right-click the
user global page from the system tree to display a menu with the Key Macros option.
NOTE: The Key Macros option is not available in the right-click menu for variable, timer, or
event objects.

• Determine if an object, picture, or user global contains a key macro by looking at the System
Tree.
• Search and replace for a key macro within a picture.
• Search and replace for a key macro within a user global.
• Copy all key macros for an object.

605
Creating Pictures

Notes for Users Familiar with the FIX Product


If you are familiar with the FIX product line and have used key macros before, there are a few things
that you should be aware of in the latest iFIX release:

• The User Interface to the Key Macro Editor is re-designed both visually and functionally.
• Key macros are now object-based, as well as picture-based and global-based.
• The Key Macro Apply To field allows you to select a user global by clicking the Global Key
Macros button. If you add a key macro to a user global page (User.fxg file), the key macro is
available to all displays.
• You can now use the F10 key for key macros.
NOTE: Unless you enable task switching, the key macro Shift+F10 will not work.

• Key macros are only functional in the run-time environment.


• Key macros are saved with pictures and the user file (User.fxg), and not in a separate .KMX
file.
• If you copy and paste an object that contains key macros, the key macros are copied and
pasted along with the object.

Key Macro Editor Dialog Boxes


The Key Macro Editor includes the following dialog boxes (listed in alphabetical order):

• Key Macro Editor Main Window


• Keyboard Dialog Box

Key Macro Editor Main Window


The Key Macro Editor main window displays the following items:

Key Macros Apply To

Enter the object, picture, or user global page to which you want to apply key macros. You can type the
name directly into the Key Macros Apply To field or you can:

• Click the drop-down arrow next to the Key Macros Apply To field to select from the most
recently used list.
• Click the browse button to open the browse box to select another object, picture, or the user
global page.
• Click the Global Key Macros button to apply key macros to the user global page.

Spreadsheet

Click in any cell in the spreadsheet to enter data:

• Key Combination – Defines the key assignment for the macro. Can include one or multiple

606
Creating Pictures

keys.
• Action – Defines the expert that you want to run for the key macro. The expert automatically
launches after you select it. If you select Custom, the Microsoft Visual Basic Editor opens so
you can enter a custom script.
• Run Expert – Button that re-runs the expert defined in the Action cell so you can modify the
expert’s parameters.
• VB Editor: Button that provides access to the Microsoft Visual Basic Editor so that you can
view or modify the VBA script behind the key macro.
NOTE: It is highly recommended that you do not modify the code created by an expert
because the expert’s code is used when re-running the expert.

• Description – Text that describes the function of the key macro. Can contain up to 60
alphanumeric characters, including special characters, such as -(*)&+% and spaces. The
Description field is optional.

Keyboard Dialog Box


In the Keyboard Dialog Box use the mouse to select keys on the Keyboard dialog box, or enter the key
combination in the text box.

A key combination can consist of most keyboard keys except: Backspace, Alt, Caps Lock, or the
Spacebar. The Shift or Control keys cannot be used alone. Alphanumeric keys are only valid with Ctrl
or Ctrl+Shift.

How Do I...
The following sections provide steps on how to use iFIX Key Macro Editor:

• Managing Key Macros


• Navigating in the Key Macro Editor
• Copy and Paste Macros
• Tips and Tricks

Managing Key Macros


The following sections provide steps to help you manage your key macros when working in the iFIX
WorkSpace:

• Adding a Key Macro


• Copy and Paste a Row in the Key Macro Editor
• Creating Global Key Macros
• Defining a Keystroke Assignment
• Deleting a Key Macro
• Deleting All Key Macros

607
Creating Pictures

• Exporting to a .CSV File


• Selecting an Action

Adding a Key Macro

To add a key macro:

1. In Classic view, in the iFIX WorkSpace, click the Key Macro Editor button.
-Or-
In Ribbon view, on the Applications tab in the Utilities group, click Key Macro Editor.
2. Click in the first empty row of the spreadsheet.
3. Click the Key Combination cell to define the keystrokes for the key macro.
4. Select an action from the drop-down list.
5. Optionally, in the Description field, enter a description of the key macro.
6. Click OK.

Copy and Paste a Row in the Key Macro Editor

To copy and paste a row in the Key Macro Editor:

1. In the iFIX Key Macro Editor main window, click anywhere in the row of the key macro that
you want to copy.
NOTE: If you want to copy multiple rows, hold the Shift key while you click the rows that you
want to copy. To select multiple rows that are not located next to each other, hold the Ctrl key
while you click each row.

2. On the Edit menu, click Copy Row.


3. Browse to the object, picture, or user global page to which you want to paste the key macros.
4. On the Edit menu, click Paste Row.

Creating Global Key Macros

To create global key macros:

1. From the iFIX Key Macro Editor main window, click the Global Key Macros button.
2. Define your keystroke assignment, assign an action, and enter a description.
3. Click OK.
NOTE: Global key macros are saved in the user global file, User.fxg.

608
Creating Pictures

Defining a Keystroke Assignment

To define a keystroke assignment:

1. From the iFIX Key Macro Editor main window, click the Key Combination cell in an active
row. The Keyboard dialog box appears.
2. Use the mouse to select keys on the Keyboard dialog box, or enter the key combination in the
text box. You are not limited to the keys that appear just in the Keyboard dialog box.
For example, if the keyboard on your computer has an F18 key, when you hit this key the
system recognizes and displays it in the text box, even though the key is not included in the
Keypad in the Keyboard dialog box.

NOTE: A key combination can consist of most keyboard keys except: Backspace, Alt, Caps
Lock, or the Spacebar. The Shift or Control keys cannot be used alone. Alphanumeric keys
are only valid with Ctrl or Ctrl+Shift.

3. Click OK.

Deleting a Key Macro

To delete a key macro:

1. In the iFIX Key Macro Editor main window, click anywhere in the row of the key macro that
you want to delete.
2. On the Key Macro menu, click Delete Row.
NOTE: If you want to delete multiple key macros, hold the Shift key while you click the rows
that you want to delete. To select multiple rows that are not located next to each, hold the Ctrl
key while you click each row. A confirmation message box appears if more than one row is
highlighted when deleting.

Deleting All Key Macros

To delete all key macros for a given object, picture, or user global page:

1. In the iFIX Key Macro Editor main window, on the Key Macro menu, click Delete All Rows.
A confirmation message box appears.
2. Click Yes to continue.

Exporting to a .CSV File

To export to a .CSV file:

1. In the iFIX WorkSpace, from the system tree or drawing area, click the object, picture, or user
global page from which you want to export key macros.
2. In Classic view, on the iFIX WorkSpace toolbar, click the Key Macro Editor button.
-Or-

609
Creating Pictures

In Ribbon View, on the Applications tab in the Utilities group, click Key Macro Editor.
3. On the Key Macros menu, click Export.
NOTE: You cannot import .CSV files. The exported .CSV file is intended to be used for cross-
referencing key macros in Excel.

By default the Recursive (Include Children) check box is selected. This allows you to include
key macros for all pictures and objects if you select the user global page, or all objects within
a picture and the selected picture if you select a picture.

4. In the File Name field, enter a path and name for the .CSV file. If you do not include a path,
the .CSV file is saved to your Proficy iFIX directory.
If you enter or browse to an existing file name and click the Append to File check box, the
key macros are added to the end of the existing .CSV file.
5. Click Export.

Selecting an Action

NOTE: You must have a key combination defined before you can select an action.

To select an action with the Multiple Command Script Wizard:

1. In the iFIX Key Macro Editor main window, click the Run Wizard button. The Multiple
Command Script Wizard appears.
2. Choose a command from the Select Action to Append list. The Expert associated with the
command you chose appears.
3. Complete the Expert with your desired settings and information.
4. Optionally, repeat steps 2 and 3 if you want to add additional commands to your scripted
command sequence.
5. When you have finished choosing your command sequence, click OK.

To select an action with the Visual Basic Editor:

1. In the iFIX Key Macro Editor main window, click the VB Editor button. The Visual Basic
Editor appears.
2. Create your custom script in the VB Editor, then click OK.

For more information on the Multiple Command Script Wizard, see The Multiple Command Script
Wizard. For more information on creating custom scripts, see the iFIX Automation Interfaces Help.

Copying and Pasting Macros


In the Key Macro Editor you can do the following:

• Copy and Paste Between Objects in a Picture


• Copy and Paste Between Pictures
• Copy and Paste Whole Objects in a Picture

610
Creating Pictures

Copy and Paste Between Objects in a Picture

To copy and paste key macros between objects:

1. In the iFIX WorkSpace, from the system tree or drawing area, right-click the object that
contains the key macros that you want to copy. A pop-up menu appears.
2. On the Key Macros menu, click Copy to copy all key macros for the object.
3. Right-click the object to which you want to copy the key macros. A pop-up menu appears.
4. On the Key Macros menu, click Paste.

Copy and Paste Between Pictures

To copy and paste key macros between pictures:

1. In the iFIX WorkSpace, in the system tree, right-click the picture that contains the key macros
that you want to copy. A pop-up menu appears.
2. On the Key Macros menu, click Copy.
3. Right-click the picture to which you want to copy the key macros. A pop-up menu appears.
4. On the Key Macros menu, click Paste.
NOTE: When you copy and paste key macros between pictures, you copy and paste those at
the picture level and not at the object level.

Copy and Paste Whole Objects in a Picture

To copy and paste objects with key macros:

1. In the iFIX WorkSpace, from the system tree or drawing area, select the object.
2. Hold the Control key down and drag and drop the object to the desired location. The pasted
the object brings the key macros with it.
NOTE: You can copy and paste objects when the source and destination do not appear on the
screen simultaneously, by using the right-click menu.

Navigating in the Key Macro Editor


The following sections describe how to navigate within the Key Macro Editor:

• Browsing in the Key Macro Editor


• Selecting a Key Macro from the Most Recently Used List
• Selecting the User Global Page
• Saving Key Macros When Navigating
• Saving the User.fxg File When Navigating

611
Creating Pictures

Browsing in the Key Macro Editor

To browse to another object, picture, or user global page in the Key Macro Editor:

1. In the iFIX Key Macro Editor main window, click the browse button next to the Key Macros
Applies To field.
2. Select the object, picture, or user global page to which you want to apply key macros.
• Click the plus sign next to a picture to view the objects contained in the picture.
• Click the minus sign next to a picture to collapse the expanded view.
3. Click OK.

Selecting a Key Macro from the Most Recently Used List

To select a key macro from the most recently used list in the Key Macro Editor:

1. In the iFIX Key Macro Editor main window, click the drop-down arrow next to the Key
Macros Apply To field. A list box opens with the most recently used items.
2. Select a shape, picture, or the user global page from the most recently used list.
NOTE: Up to ten items are stored in the most recently used list.

Selecting the User Global Page

To select the user global page in the Key Macro Editor:

1. In the iFIX Key Macro Editor main window, click the Global Key Macros button. The word
User appears in the Key Macros Apply To field.
2. Enter your key macros for the user global page.

Saving Key Macros When Navigating

To save key macros automatically when navigating:

1. In the iFIX Key Macro Editor main window, on the Preferences menu, click Always Save
Key Macros on Navigate.
2. Be sure that a check mark appears next to the Always Save Key Macros on Navigate option in
the Preferences menu.

Saving the User.fxg File When Navigating

To automatically save the User.fxg file when navigating:

1. In the iFIX Key Macro Editor main window, on the Preferences menu, click Always Save
User.fxg on Navigate.
2. Be sure that a check mark appears next to the Always Save User.fxg on Navigate option in the
Preferences menu.

612
Creating Pictures

Using Tips and Tricks


The following sections provide tips and tricks for working with the iFIX Key Macro Editor:

• Adding a Key Macro Button to the Toolbar


• Copy and Paste All Key Macros for an Object
• Viewing Key Macros in the System Tree
• Disabling a Key or Key Combination
• Exporting Key Macros Without Launching the Key Macro Editor
• Searching Within a Picture
• Searching Within the User Global Page

Adding an Export Key Macro Button to the Toolbar

To add an Export Key Macros button to the toolbar:

1. In Classic view, in the iFIX WorkSpace, click Toolbars.


-Or-
In Ribbon view, on the Home tab, in the WorkSpace group, click Settings, and then click
Toolbars.
2. Click the Customize button.
3. Click the Buttons tab.
4. In the Categories list, select Picture Tasks.
5. Drag the Export Key Macros button from the Customize Toolbars dialog box to the toolbar.
6. Click the Close button.

Copy and Paste All Key Macros for an Object

To copy and paste all key macros for an object:

1. In the iFIX WorkSpace, from the system tree or drawing area, right-click the object that
contains the key macros that you want to copy. A pop-up menu appears.
2. On the Key Macros menu, click Copy.
3. Right-click the object, picture, or user global to which you want to paste the key macros. A
pop-up menu appears.
4. On the Key Macros menu, click Paste.

Viewing Key Macros in the System Tree

To determine where key macros exist from the WorkSpace system tree:

1. In the WorkSpace system tree, look for a key in the upper left corner of the object, picture, or

613
Creating Pictures

user global page icon.


2. If you want to view or add key macros, click the object, picture, or user global page and open
the Key Macro Editor.

Disabling a Key or Key Combination

To disable a key or key combination:

1. In the iFIX Key Macro Editor main window, click the Key Combination cell in an active row.
The Keyboard dialog box appears.
2. Use the mouse to select the key or key combination that you want to deactivate.
3. Click OK.
4. Click Custom from the Action drop-down list. The Microsoft Visual Basic Editor launches.
5. If a script was previously defined for the key or key combination, comment out the contents
of the script and save the script.
NOTE: Do not comment out the procedure’s declaration if you want the key to be handled. If
you do, the key macro will be removed.

By commenting out the contents of the script, you are disabling the action for the key or key
combination, not the key macro itself. This functionality is different from the VBA Key
Up/Key Down events that only have access to key combinations not used by the WorkSpace.

6. If no script was previously defined for the key or key combination, do not enter a new script.
7. On the File menu, click Close and Return to WorkSpace Application. This closes the Visual
Basic Editor and returns you to the Key Macro Editor main window.
8. Optionally, when you return to the Key Macro Editor main window, you can enter a
description for the key macro.

Exporting Key Macros Without Launching the Key Macro Editor

To export key macros without launching the Key Macro Editor:

1. In the iFIX WorkSpace, from the system tree or drawing area, click the object, picture, or user
global page from which you want to export key macros.
2. Click the Export Key Macros button on your toolbar.
NOTE: The Export Key Macros button is a custom toolbar option. If it does not display in
your toolbar, you will need to add it.

The Export Key Macros dialog box appears. By default the Recursive (Include Children)
check box is selected. This allows you to include key macros for all pictures and objects if
you select the user global page, or all objects within a picture and the selected picture if you
select a picture.

3. In the File Name field, enter a path and name for the .CSV file. If you do not include a path,
the .CSV file is saved to your Proficy iFIX directory.
If you enter or browse to an existing file name and click the Append to File check box, the

614
Creating Pictures

key macros are added to the end of the existing .CSV file.
4. Click Export.

Searching Within a Picture

To search for a key macro within a picture:

1. From the iFIX WorkSpace system tree, click the picture in which you want to search for key
macros.
2. On the Edit menu, click Find and Replace. The Find and Replace dialog box appears.
3. In the Find What field, enter the key or key combination that you want to search for.
4. Select the Include Scripts check box.
You need to select Include Scripts so that Procedure Declaration and Display String properties
for key macros appear in the match list. Both properties are used in key combinations.

5. Click the Find button.


NOTE: Do not use the replace feature, unless you are an advanced user. For example, if you
replace a key combination with one that exists already, you will cause a compiler error.

Searching Within the User Global Page

To search for a key macro within the user global page:

1. From the iFIX WorkSpace system tree, within the Globals folder, click the User item.
2. On the Edit menu, click Find and Replace. The Find and Replace dialog box appears.
3. In the Find What field, enter the key or key combination that you want to locate.
4. Select the Include Scripts check box.
You need to select Include Scripts so that Procedure Declaration and Display String properties
for key macros appear in the match list. Both properties are used in key combinations.

5. Click the Find button.


NOTE: Do not use the replace feature, unless you are an advanced user. For example, if you
replace a key combination with one that exists already, you will cause a compiler error.

615
Index
. adding bitmaps................................................306

.csv files adding charts ...................................................305

exporting..................................................... 519 adding connection points ................................146

importing .................................................... 519 adding Data links ............................................307

.tgd files .......................................................... 513 adding date......................................................309

6 adding Dynamo objects to sets .......................593

6.x tag group files adding filters ...................................................345

converting ................................................... 519 adding key macros ..........................................601

A adding pens .....................................................328

accessing adding points ..................................................321

Create Picture wizard ................................... 66 adding rows ....................................................516

accessing animations ...................................... 456 adding tags ......................................................325

Acknowledge Alarm Expert ........................... 395 adding text ......................................................306

Acknowledge All Alarms Expert ................... 396 adding time .....................................................309

acknowledging alarms .................................... 346 alarm blinking .................................................341

actions Alarm Horn Expert .........................................396

selecting ...................................................... 611 alarm priority ..................................................339

undoing ....................................................... 112 alarm refresh rate ............................................348

ActiveX controls Alarm Summary object

adding to pictures ......................................... 92 working with at runtime..............................466

working with................................................. 76 Alarm Summary object ...................................104

Add Database Block Expert ........................... 408 alarms .............................................................346

adding aligning

export button to a toolbar ........................... 614 objects .........................................................129

key macros .................................................. 609 objects to each other ...................................129

617
Creating Pictures

objects to the grid ....................................... 129 assigning pictures to a security area ................ 40

analog values .................................................. 356 assigning tag group files to a picture event.....506

anchors ........................................................... 320 attributes

animating defining ........................................................ 41

grouped object ............................................ 443 auto scaling ...................................................... 50

object properties with VBA ........................ 442 B

properties using color ................................. 439 background color ............................................352

size properties ............................................. 428 Backup and Restore Wizard ...........................357

Animation Experts Summary ......................... 369 Basic Animation dialog box ...........................457

animations bitmap

classifying errors ........................................ 437 adding to pictures......................................... 99

commonly used properties for .................... 428 importing ..................................................... 77

deleting ....................................................... 445 overview ........................................................ 4

Dynamos..................................................... 529 working with ................................................ 77

how they work ............................................ 427 bitmap buttons ................................................. 82

modifying ................................................... 443 bitmaps ...........................................................306

objects......................................................... 430 blend percentage .............................................353

overview ..................................................... 457 blink ................................................................464

using Experts .............................................. 431 blink rate .........................................................348

Animations dialog box blink speed ......................................................464

entering property values manually ............. 423 blinking

tabs making up............................................ 423 alarms .......................................................... 80

using ............................................................. 22 on a new alarm............................................441

appearance ...................................................... 341 rate ..............................................................441

appending filters ............................................. 344 using thresholds ..........................................441

apply to all pens .............................................. 328 boolean operators............................................344

applying properties ......................................... 328 bring to front ...................................................323

arcs ................................................................. 311 browsing .........................................................613

618
Creating Pictures

Build Dynamo Close Digital Expert .......................................397

toolbar......................................................... 526 Close Picture Expert .......................................397

Build Dynamo ................................................ 526 closing tag group files.....................................513

Build Dynamo Wizard color

animations .................................................. 529 adding to a selected object ........................... 61

changing a Dynamo .................................... 557 adding to multiple objects............................ 61

converting to objects................................... 558 animating properties with ...........................439

Current Setting ........................................... 548 applying background ................................... 61

user prompts ............................................... 528 applying fade ............................................... 27

using a Dynamo .......................................... 555 blinking on a new alarm .............................441

Build Dynamo Wizard .................................... 520 blinking rate ................................................441

C blinking thresholds .....................................441

cells by analog value ...........................................439

deleting the content of ................................ 515 by current alarm ..........................................441

editing ......................................................... 515 by digital value ...........................................440

center of rotation ............................................ 316 by latched alarm..........................................441

changing operators ......................................... 344 default selections in shape preferences ........ 61

changing the font ............................................ 512 exact match and tolerance...........................440

Chart Configuration dialog box ........................ 97 Select Color dialog box ............................... 61

chart procedures ............................................. 328 selecting ....................................................... 19

charts thresholds ....................................................440

adding to pictures ......................................... 97 using Edit Color palette ............................... 61

real-time pen properties ................................ 97 using named ................................................. 61

trending real-time data in.............................. 97 working with ................................................ 61

working with at runtime ............................. 466 color and style

checking for key macros ................................. 600 properties ....................................................123

chords ............................................................. 311 selecting properties .....................................123

Click and Stick ................................................. 59

619
Creating Pictures

color box configuring language settings for individual


pictures .......................................................493
Color Selection ............................................. 19
configuring legend ..........................................329
Select Color .................................................. 19
connection points ............................................320
using ............................................................. 19
connector tools................................................149
Color Expert
connectors .......................................................320
using for shared thresholds ......................... 442
controls ...........................................................312
using to color objects .................................... 61
converting
Color Expert ................................................... 369
dynamos to objects .....................................558
Color Selection dialog box ............................... 61
lines and polylines to pipe ..........................143
color sets ......................................................... 355
lines to polyline ..........................................140
coloring........................................................... 343
tag group files .............................................508
coloring and styling objects ............................ 123
converting .......................................................318
column ............................................................ 341
converting 6.x tag group files .........................519
column headings ............................................. 342
converting to objects.......................................579
column order................................................... 341
copy and paste
columns
between objects...........................................612
sorting data alphabetically .......................... 516
between pictures .........................................612
columns in Key Macro Editor ........................ 596
whole objects ..............................................612
combo box object ........................................... 105
copying
ComboBox object ........................................... 105
all key macros .............................................614
comma separated value files
rows in the Key Macro Editor ....................609
See CSV files.............................................. 507
Create Dynamo ...............................................528
command buttons ............................................. 82
Create Objects ................................................416
Command Experts Summary .......................... 394
Create Picture wizard
command scripts ............................................. 552
accessing ...................................................... 71
conditions ....................................................... 344
common elements ........................................ 66
configuration environment
custom picture ............................................. 68
setting the value of variables ...................... 428

620
Creating Pictures

default picture ............................................... 68 Current Setting................................................548

enabling ........................................................ 66 current settings................................................347

predefined configuration .............................. 68 current value of a variable object

process overview .......................................... 69 using symbols for........................................505

special considerations ................................... 66 cursors ............................................................... 8

types of pictures............................................ 68 custom colors ..................................................355

use of ............................................................ 66 custom picture

Create Picture wizard ..................................... 357 defined ......................................................... 68

creating custom scripts

dynamos ..................................................... 528 for key macros ............................................604

multiple objects ............................................ 92 D

creating a picture data

custom configuration .................................... 74 sorting alphabetically ..................................516

predefined configuration .............................. 73 data .................................................................349

creating a picture .............................................. 72 data conversion ...............................................463

creating animations......................................... 457 data conversions

creating dynamo objects ................................. 573 sample table data ........................................435

creating dynamo properties ............................ 574 specifying ...................................................435

creating Dynamos types............................................................435

using the Build Dynamo Wizard ................ 528 Data Entry Expert ...........................................406

with animations .......................................... 528 Data link .........................................................346

without animations ..................................... 528 Data links

creating global key macros ............................. 609 adding to pictures......................................... 99

creating tag group files ................................... 511 configuring output error mode ..................... 99

CSV files creating ........................................................ 99

example ...................................................... 507 displaying system information in................. 99

formatting ................................................... 507 enabling data entry....................................... 99

importing and exporting ............................. 507 entering data source ..................................... 99

621
Creating Pictures

formatting data ............................................. 99 deleting

Data links........................................................ 307 all key macros .............................................610

data refresh rate .............................................. 349 cell contents ................................................515

data sources one key macro.............................................610

connecting to .............................................. 427 rows ............................................................516

defining....................................................... 431 deleting animations .........................................458

entering correct syntax ............................... 432 deleting connection points ..............................146

filtering ....................................................... 434 deleting filters .................................................345

how they work ............................................ 427 deleting tags ....................................................325

selecting from a list .................................... 434 describing a chart ............................................329

specifying data conversions ........................ 435 Description field .............................................329

using variables as........................................ 428 descriptions

data sources .................................................... 460 entering .......................................................514

Database Experts Summary ............................ 408 designing

Database Reload ............................................. 409 pictures ........................................................ 60

Database Save................................................. 409 tips for pictures ............................................ 60

Datalink Stamper .............................................. 99 dialog box

date ................................................................. 309 Modify Configuration .................................. 74

deadband......................................................... 448 digital values ...................................................356

default picture dimensions

creating ......................................................... 68 changing ...................................................... 75

default settings ................................................ 347 of existing picture ........................................ 43

defining Disable Alarm Expert .....................................397

key macros .................................................. 599 disabling

keystrokes for key macros .......................... 602 key macros ..................................................606

user preferences for the Key Macro Editor. 599 disabling .......................................................... 44

defining keystroke assignments ...................... 610 disabling keystrokes .......................................615

Display Layers Expert ....................................394

622
Creating Pictures

Display Tab .................................................... 232 properties you can animate .........................529

displaying ......................................................... 44 user prompts ...............................................528

displaying alarms ............................................ 346 User Prompts column .................................548

displaying properties ...................................... 340 using command scripts ...............................552

document object ............................................... 46 using one created in Build Dynamo


Wizard ....................................................555
drawing
using the same user prompts .......................551
cursors ............................................................ 8
using tools to create ....................................553
tools ................................................................ 8
with animations...........................................528
drawing shapes ............................................... 311
E
drilling down ...................................................... 4
edge color .......................................................352
dynamo properties .......................................... 578
Edit Picture dialog box .................................... 50
Dynamo Properties dialog box ....................... 528
editing
Dynamo set ..................................................... 520
cells .............................................................515
Dynamo sets ................................................... 593
tag group files .............................................516
Dynamos
Enable Alarm Expert ......................................398
building custom with VBA ......................... 553
enabling ........................................................... 44
changing configuration ............................... 557
entering
converting to objects................................... 558
data .............................................................515
creating ....................................................... 528
descriptions .................................................514
creating sets ................................................ 553
substitutions ................................................515
current value ............................................... 548
symbols .......................................................514
customizing pictures with ........................... 422
tagnames .....................................................515
described..................................................... 520
entering data into the Tag Group Editor
Dynamo Properties dialog box ................... 528 spreadsheet .................................................501

modifying properties .................................. 557 error defaults ...................................................464

multiple object ............................................ 551 error log

partial substitution ...................................... 550 creation of ...................................................506

pop-up menu functions ............................... 553

623
Creating Pictures

errors exporting language files..................................494

defining in animations ................................ 437 exporting tag group files .................................519

handling based on data conversion type ..... 437 Expression Builder

specifying OPC........................................... 437 customizing.................................................447

Event Object ................................................... 418 specifying deadband ...................................448

event objects specifying refresh rate ................................448

adding to pictures ....................................... 109 specifying tolerance ....................................448

event objects ................................................... 313 tabs in dialog box ........................................446

events .................................................................. 6 using ...........................................................446

exact match ..................................................... 440 expressions

examples of key macros ................................. 594 building .......................................................446

exiting the Tag Group Editor .......................... 513 modifying ...................................................455

experts operators .....................................................449

available on the Task Wizard ..................... 359 proper syntax ..............................................449

creating your own ....................................... 359 using symbols for........................................506

for key macros ............................................ 603 using the Expression Builder dialog box ....446

re-entering .................................................. 359 expressions .....................................................461

running ....................................................... 359 extending lines ................................................317

selecting ...................................................... 611 F

using ........................................................... 357 fade color ........................................................352

using at runtime .......................................... 470 fade type .........................................................353

using to animate objects ............................. 431 fields ...............................................................342

Experts Summary ........................................... 367 Fill Expert .......................................................374

Export Key Macros button on toolbar ............ 614 filter conditions ...............................................344

Export Key Macros Expert ............................. 410 filtering

exporting data sources ................................................434

key macro information ............................... 610 in Expression Builder .................................446

without launching the Key Macro Editor ... 615 filters ...............................................................344

624
Creating Pictures

FIX32 command buttons .................................. 82 default settings ............................................129

FixUserPreferences.ini ..................................... 90 displaying ...................................................129

flipping ........................................................... 323 snap to.........................................................129

flipping objects ............................................... 132 grid................................................................... 45

font grid intervals .................................................... 45

changing ..................................................... 512 grid lines .........................................................342

foreground color ............................................. 352 grid spacing ..................................................... 45

format grouped objects

CSV files .................................................... 507 animating ....................................................443

data conversion ........................................... 435 drilling down into .......................................158

symbols....................................................... 503 editing .........................................................158

fully qualified name nesting.........................................................158

retrieving for a substitution......................... 501 groups .....................................................350, 458

G GTC ........................................................291, 467

General tab ..................................................... 329 guidelines for key macros ...............................602

Generate Picture Expert .................................. 410 H

Generate Wizard ............................................. 357 handles

global subroutines object ............................................................. 8

using ........................................................... 422 reshape ........................................................... 8

Global Time Control....................................... 467 resize .............................................................. 8

Global Time Control Configuration dialog rotate .............................................................. 8


box .............................................................. 291
rotation ........................................................119
globals ............................................................ 613
headings ..........................................................342
gradient
Help Context ID .............................................329
setting properties .......................................... 27
hide .................................................................342
gradient angle ................................................... 38
highlight..........................................................460
grid
Historical Mode ..............................................328
aligning objects to....................................... 129

625
Creating Pictures

I examples .....................................................594

implementing a tag group strategy ................. 503 exporting .....................................................610

implementing pictures in your process ............. 45 globals.........................................................609

import ............................................................... 40 managing ....................................................605

importing CSV files........................................ 507 overview .....................................................593

importing language files ................................. 496 saving..........................................................613

importing tag group files ................................ 519 tips and tricks ..............................................606

inserting filters ................................................ 345 viewing in system tree ................................614

inserting rows ................................................. 516 Keyboard Dialog Box Main Window .............607

intersecting lines ............................................. 317 keystroke

introduction to Key Macro Editor .................. 595 assignments.................................................610

K disabling .....................................................615

Key Macro Applies To field ........................... 613 keystrokes

Key Macro Editor defining for key macros ..............................602

column definitions ...................................... 596 guidelines for key macros ...........................602

introduction ................................................ 595 KME

navigating in ............................................... 598 See Key Macro Editor ................................595

starting ........................................................ 596 L

toolbar......................................................... 597 Language File Exporter ..................................482

user preferences .......................................... 599 language files

key macros exporting multiple.......................................495

adding ......................................................... 609 exporting single ..........................................494

copying all .................................................. 614 importing ....................................................496

customizing ................................................ 604 language settings

defining....................................................... 599 configuring for individual pictures .............493

deleting all .................................................. 610 languages

deleting one ................................................ 610 changing between in run mode ...................487

disabling ..................................................... 606 exporting and importing files......................483

626
Creating Pictures

layering modifying

objects......................................................... 156 animations...................................................443

layers .............................................................. 351 expressions .................................................455

Legend tab ...................................................... 329 pipes............................................................144

line connectors ................................................ 320 modifying a picture.......................................... 74

lines modifying animations .....................................457

converting to pipe ....................................... 143 modifying cells ...............................................515

converting to polyline ................................. 140 modifying filters .............................................346

extending .................................................... 136 modifying user prompts ..................................581

making horizontal ....................................... 142 most recently used list ....................................613

making vertical ........................................... 142 moving

trimming ..................................................... 140 objects .........................................................111

lines ................................................................ 318 multiple objects creation .................................. 92

list box object ................................................. 105 N

ListBox object ................................................ 105 Name field ......................................................329

loading tag lists ............................................... 326 naming a chart ................................................329

Locate Object Expert ...................................... 398 naming dynamo objects ..................................573

locating a picture .............................................. 55 navigating in the Key Macro Editor ...............598

location ............................................................. 38 nudge settings .................................................149

logical coordinate system O

for documents ............................................... 46 object

lookup table .................................................... 313 data conversion ...........................................435

M object layers ....................................................351

managing key macros ..................................... 605 object properties

methods .............................................................. 6 Build Dynamo with User Prompts ..............529

modify ............................................................ 352 object properties .............................................575

Modify Database Block Expert ...................... 409 objects

adding to pictures......................................... 92

627
Creating Pictures

Alarm Summary ......................................... 104 pasting.........................................................112

aligning ....................................................... 129 performing advanced functions with ..........114

aligning to each other ................................. 129 performing basic functions with .................109

animating to modify properties................... 426 positioning and scaling ...............................129

animation .................................................... 430 renaming .....................................................113

attributes ......................................................... 6 reshaping.....................................................121

bringing to front.......................................... 155 resizing .......................................................119

coloring and styling .................................... 123 rotating ........................................................119

connection points ........................................ 146 selecting ......................................................110

controlling properties.................................. 422 selecting multiple........................................110

copying ....................................................... 112 sending to back ...........................................155

creating complex ........................................ 155 setting fradient fill ....................................... 27

cutting ......................................................... 112 spacing vertically and horizontally .............129

deleting ....................................................... 112 stacking .......................................................155

editing ......................................................... 112 timer............................................................109

event ........................................................... 109 types............................................................... 6

flipping ....................................................... 132 ungrouping ..................................................158

grouping ..................................................... 158 variable .......................................................105

in pictures ....................................................... 4 with points ..................................................121

layering ....................................................... 156 working with at runtime..............................465

lines ............................................................ 136 writing scripts to modify properties ............426

locating at runtime ...................................... 467 objects .............................................................352

making multiple the same size.................... 155 OCXs

manipulating using toolbars........................ 115 adding to pictures......................................... 92

manipulating with points ............................ 121 OLE objects

moving ........................................................ 111 adding to pictures........................................105

nudging ....................................................... 111 creating control for .....................................105

OLE ............................................................ 105 creating from file ........................................105

628
Creating Pictures

creating new ............................................... 105 syntax guidelines ........................................504

OLE objects .................................................... 312 using for complex expressions....................506

OPC errors ...................................................... 437 pasting ............................................................316

Open Digital Expert........................................ 399 picture attributes .............................................. 76

Open Picture Expert ....................................... 399 picture caching

opening tag group files ................................... 519 disabling for individual pictures .................. 88

operator........................................................... 348 enabling ....................................................... 84

operators how it works ................................................ 86

boolean ....................................................... 449 making changes to pictures at runtime ........ 87

changing order of precedence ..................... 449 preloading pictures ...................................... 85

in expressions ............................................. 449 run-time pictures .......................................... 86

mathematical .............................................. 449 system requirements .................................... 83

relational ..................................................... 449 what it does .................................................. 83

operators ......................................................... 344 Picture Converter utility

optimizing picture loading .............................. 506 running......................................................... 81

optimizing picture performance........................ 79 updating pictures from previous versions .... 80

order ............................................................... 341 Picture Experts Summary ...............................410

ovals ............................................................... 310 Picture Preferences .......................................... 26

overview pictures

Create Picture wizard ................................... 69 adding objects .............................................. 92

overview ......................................................... 458 assigning tag group files to an event ...........506

overview of key macros.................................. 593 basic drawing tools ........................................ 8

P cascading ..................................................... 33

partial substitution .......................................... 574 changing size manually................................ 50

partial substitutions changing view .............................................. 33

defined ........................................................ 504 closing.......................................................... 25

how to use symbols with ............................ 504 configuring language settings .....................493

symbols in data sources .............................. 504 controlling magnification of ........................ 55

629
Creating Pictures

creating ......................................................... 72 showing........................................................ 24

creating without title bars ............................. 35 sizing ........................................................... 55

defining height and width ............................. 26 Tag Control Panel .......................................325

exporting language files ............................. 494 Tag Status ...................................................324

finding and replacing data in ........................ 61 tiling............................................................. 33

grid interval property .................................... 59 translating text ............................................493

how to use symbols .................................... 503 translations ..................................................482

implementing in your process....................... 45 using basic functions ................................... 24

importing language files ............................. 496 using Quick Trend ......................................473

locating ......................................................... 55 using Tag Status..........................................473

modifying configuration ............................... 74 viewing at runtime ....................................... 32

naming restrictions ......................................... 3 what makes up ............................................. 46

object-oriented nature ..................................... 4 where to use symbols ..................................503

opening ........................................................... 3 window decorations ..................................... 57

optimizing load performance ...................... 506 with the Create Picture wizard ..................... 68

performing advanced functions .................... 32 working with ................................................ 79

preferences.................................................... 26 zooming in and out of .................................. 55

Quick Trend ................................................ 325 pictures ...........................................................340

refreshing ...................................................... 24 pies..................................................................311

replacing ....................................................... 33 pipes

resolving tags .............................................. 517 converting lines and polylines ....................143

retrieving symbols from ............................. 514 modifying characteristics ............................144

running ....................................................... 465 splitting .......................................................133

saving ............................................................. 3 pipes................................................................319

security areas ................................................ 65 pixels ................................................................. 4

setting gradient fill ........................................ 27 planning a tag group strategy..........................498

setting the background and fade colors ........27 points ..............................................................321

sharing files .................................................. 33

630
Creating Pictures

polygons entering values manually with Properties


window ...................................................423
adding and deleting points in ...................... 121
how they work ............................................423
polygons ......................................................... 321
modifying ...................................................423
polylines
modifying by animating objects .................426
adding and deleting points in ...................... 121
modifying by writing scripts .......................426
converting to pipe ....................................... 143
setting gradient fill ....................................... 27
splitting ....................................................... 133
setting with pop-up menu ...........................123
polylines ......................................................... 321
visible and invisible ....................................423
pop-up menu
properties ........................................................354
functions available on Dynamo .................. 553
Properties window
functions available on object ........................ 13
displaying .................................................... 18
functions available on picture ....................... 25
entering property values manually..............423
using object................................................... 13
for creating pictures ..................................... 57
using the picture ........................................... 25
using ............................................................ 18
Position Expert ............................................... 378
using the picture........................................... 26
predefined configuration
Properties window ..........................................340
elements ........................................................ 68
push buttons
Print Crystal Report Expert ............................ 415
adding to pictures........................................104
Print Crystal Report Expert (PrintReport
Subroutine) ................................................. 415 Q

prioritizing alarms .......................................... 339 Quick Trend pictures ......................................325

properties R

animating with VBA................................... 442 Ramp a Value Expert ......................................400

commonly used for animations................... 428 range

controlling object ........................................ 422 data conversion ...........................................435

defining....................................................... 423 range ...............................................................462

entering values manually ............................ 423 Read a Value Expert .......................................409

entering values manually with Animations rectangles ........................................................310


dialog box ............................................... 423

631
Creating Pictures

re-entrance functionality ................................. 359 rotation

refresh ............................................................... 24 new center of ..............................................119

refresh rate rotation............................................................316

expressions ................................................. 448 rounded rectangles ..........................................310

refresh rate ...................................................... 329 row numbers ...................................................342

Refresh Rate Expert........................................ 412 rows

Refresh Rate field ........................................... 329 adding .........................................................516

renaming ......................................................... 316 deleting .......................................................516

Replace Picture Expert ................................... 401 inserting ......................................................516

Reports Experts Summary .............................. 415 run-time ..........................................................348

reshape handles................................................... 8 run-time environment

reshaping working in ...................................................465

objects......................................................... 121 run-time environment .....................................465

polygons and polylines ............................... 121 S

reshaping ........................................................ 317 saving

resize handles ..................................................... 8 key macros on navigate ..............................613

resizing pictures .......................................................... 3

objects......................................................... 119 User.fxg on navigate ...................................613

Resolve Files Expert ....................................... 412 saving..............................................................347

resolving pictures ............................................. 39 saving dynamo objects....................................573

resolving tags .................................................. 517 saving tag group files ......................................513

restoring defaults ............................................ 347 saving tag lists ................................................326

retrieving symbols from pictures .................... 514 SCADA server ................................................339

Rotate Expert .................................................. 383 Scale Expert ....................................................386

rotate handles ...................................................... 8 screen regions

rotating using ............................................................ 23

objects......................................................... 119 scripts

rotating ........................................................... 316 changing object names................................114

632
Creating Pictures

command in Dynamos ................................ 552 Set Tag to Manual Expert ...............................403

scroll bars ....................................................... 342 setting priority ................................................339

searching settings ............................................................347

within a picture ........................................... 616 Shape Preferences dialog box

within the user global page ......................... 616 default font................................................... 98

searching and replacing substitutions ............. 516 properties available in .................................123

securing pictures ............................................... 65 shapes

security drawing ........................................................ 95

pictures ......................................................... 65 shapes .............................................................321

security areas shared thresholds

protecting pictures ........................................ 65 using ...........................................................442

security areas .................................................... 40 shortcut keys ...................................................110

selecting show................................................................342

experts ........................................................ 611 sizing

key macros from drop-down list ................. 613 multiple objects...........................................155

multiple objects .......................................... 110 pictures ........................................................ 55

objects......................................................... 110 snap .................................................................. 45

user global page .......................................... 613 Snap to Grid ....................................................129

window properties ........................................ 57 sort ..................................................................345

selecting .......................................................... 343 sorting alarms .................................................345

Selecting a Command ..................................... 366 sorting data alphabetically ..............................516

selecting fonts ................................................. 343 spacing ............................................................. 45

selecting mode ................................................ 328 specified dimensions........................................ 41

selecting styles ................................................ 343 splitting ...........................................................321

selection timeout............................................. 348 Splitting Polylines and Pipes ..........................133

send to back .................................................... 323 stacking

Set Layer Expert ............................................. 394 objects .........................................................155

Set Tag to Auto Expert ................................... 402 starting the Key Macro Editor ........................596

633
Creating Pictures

starting the Tag Group Editor ......................... 498 system tree

status bar ......................................................... 342 docking .......................................................... 3

style ................................................................ 343 T

substitution table

Dynamos..................................................... 550 data conversion ...........................................435

substitutions table ................................................................462

defined ........................................................ 497 Tag Control Panel pictures .............................325

entering ....................................................... 515 Tag Group Editor

retrieving the fully qualified name ............. 501 creating and opening tag group files ...........499

searching and replacing .............................. 516 described .....................................................497

using symbols for the current value of a entering data into the spreadsheet ...............501
variable object ........................................ 505
exiting .........................................................513
substitutions, partial
interface ......................................................498
See partial substitutions .............................. 504
OPC Server address substitution ................507
substitutions, partial........................................ 504
resolving tags ..............................................506
symbol format
retrieving symbols from a picture ...............501
in pictures ................................................... 503
retrieving the fully qualified name for a
in spreadsheet ............................................. 503 substitution .............................................501

symbols spreadsheet description ...............................499

defined ........................................................ 497 starting ........................................................498

described..................................................... 503 toolbar buttons ............................................500

entering ....................................................... 514 tag group files

retrieving from pictures .............................. 501 assigning to a picture event.........................517

syntax guidelines for partial substitutions .. 504 closing.........................................................513

using for complex expressions ................... 506 converting ...................................................519

using for partial substitutions ..................... 504 creating .......................................................511

using for the current value of a variable creating and opening ...................................499
object ...................................................... 505
defined ........................................................497
where to use in pictures .............................. 503

634
Creating Pictures

editing ......................................................... 516 third-party controls

exporting..................................................... 519 in pictures ...................................................105

importing 6.x CSV files .............................. 507 thresholds........................................................464

opening ....................................................... 512 thumbnail

saving ......................................................... 513 saving....................................................39, 413

tag group storage files .................................... 506 thumbnail ....................................................24, 38

tag group strategy time .................................................................309

implementing .............................................. 503 timeout ............................................................348

tag groups timeout intervals .............................................460

defined ........................................................ 497 Timer Object ...................................................417

example ...................................................... 497 timer objects

implementing .............................................. 503 adding to pictures........................................109

introduction ................................................ 497 tips and tricks for key macros .........................606

planning ...................................................... 498 title bars ........................................................... 35

resolving with pictures ............................... 517 Toggle Digital Expert .....................................403

tag lists Toggle Digital Tag Expert ..............................359

loading ........................................................ 326 Toggle Scan Expert ........................................403

saving ......................................................... 326 Toggle Tag Between Auto and Manual


Expert .........................................................404
Tag Status pictures ......................................... 324
tolerance
tagnames
expressions .................................................448
syntax for .................................................... 501
toolbar buttons
Task Wizard
Tag Group Editor ........................................500
using to run Experts .................................... 359
toolbars
testing dynamos .............................................. 574
adding buttons to ........................................359
text
creating custom ............................................ 11
adding to pictures ......................................... 98
hiding ........................................................... 11
default font properties................................... 98
Key Macro Editor .......................................597
text .................................................................. 306

635
Creating Pictures

manipulating objects with........................... 115 V

performing functions with .......................... 422 Variable Object ...............................................416

showing ........................................................ 11 variable objects

using ............................................................. 11 adding to pictures........................................105

toolbox animating size properties ............................428

buttons in ...................................................... 12 using symbols for........................................505

using ............................................................. 12 variable objects ...............................................311

tools viewing key macros in the system tree ...........614

connector .................................................... 149 viewport

drawing ........................................................... 8 in document ................................................. 47

translating picture text visibility

configuration mode ..................................... 496 affect on layering ........................................156

translating picture text .................................... 480 property.......................................................156

trimming lines................................................. 140 Visibility Expert .............................................390

Turn Tag Off Scan Expert .............................. 404 W

Turn Tag On Scan Expert ............................... 405 window

U fit to picture ................................................. 55

unacknowledged alarms ................................. 341 full view ....................................................... 55

ungrouping...................................................... 350 in picture ...................................................... 49

updating picture components ............................ 81 updating location ......................................... 55

user global page window ............................................................ 38

selecting ...................................................... 613 window location .............................................. 38

user preferences for the Key Macro Editor..... 599 window properties ........................................... 39

User Prompts window size ..................................................... 37

Dynamos..................................................... 551 windows..........................................................460

User Prompts .................................................. 528 Windows Metafiles

User.fxg (saving) ............................................ 613 importing ....................................................... 4

user-defined fields .......................................... 342 working with ................................................ 79

636
Creating Pictures

Windows Metafiles........................................... 40 WorkSpace

wizards setting appearance........................................ 43

Backup and Restore .................................... 357 WorkSpace Appearance

Build Dynamo ............................................ 520 setting .......................................................... 69

create picture ................................................ 72 Write a Value Expert ......................................405

Generate...................................................... 357 Z

running ....................................................... 357 zooming

using ........................................................... 357 in and out of pictures ................................... 55

Wizards and Experts zooming ........................................................... 38

fundamental differences ............................. 357

637
Proficy* HMI/SCADA - iFIX
CREATING RECIPES

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

Disclaimer of Warranties and Liability

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

Notice

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

Reference Documents ..................................................................................................................1 

First Time Users ...........................................................................................................................1 

Learning About Recipes ...................................................................................................................1 

The Recipe Builder ...................................................................................................................1 

Using Formulas.........................................................................................................................2 

Recalculating Formulas ............................................................................................................2 

Overriding Formulas .................................................................................................................2 

Scaling the Batch Size ..............................................................................................................2 

Using Tag Groups.....................................................................................................................2 

Keeping an Audit Trail ..............................................................................................................2 

Cutting and Pasting Data ..........................................................................................................3 

Understanding Recipes ................................................................................................................3 

Understanding Master and Control Recipes ............................................................................3 

Recipe Items .............................................................................................................................3 

Recipe Variables.......................................................................................................................4 

Using Existing Recipes .................................................................................................................4 

Creating New Recipes: Overview .................................................................................................4 

Developing a Recipe ........................................................................................................................6 

Developing an Application Strategy..............................................................................................6 

Fermenting Beer .......................................................................................................................8 

Creating a Sample Recipe ............................................................................................................8 

Defining Tagnames and Variables ...............................................................................................9 

Preferred Recipe Block Types ..................................................................................................9 

Preferred Block Types for Recipe Verification..........................................................................9 

i
Creating Recipes

Preferred Fields ........................................................................................................................ 9

Using Variables ....................................................................................................................... 10

Keywords ................................................................................................................................ 10

Using the Local Node Alias .................................................................................................... 10

Using Formulas........................................................................................................................... 12

Using Master and Control Recipes ............................................................................................. 13

Using Control Recipes ............................................................................................................ 14

Other Considerations .................................................................................................................. 15

Assigning Tag Groups ............................................................................................................ 15

Keeping an Audit Trail ............................................................................................................ 15

Scaling the Batch Size ............................................................................................................ 15

Overriding a Value .................................................................................................................. 15

Verifying Recipe Items ............................................................................................................ 15

Recipe Builder Basics ..................................................................................................................... 16

Starting the Recipe Builder ......................................................................................................... 16

Exiting from the Recipe Builder .................................................................................................. 17

Recipe Operations and Development Windows ......................................................................... 17

Working With Recipe Buttons ..................................................................................................... 19

Recipe Header Fields ................................................................................................................. 20

Spreadsheet Columns ............................................................................................................ 20

Creating a Recipe Item or Variable ............................................................................................ 24

Working with Recipes ..................................................................................................................... 24

Opening a Recipe ....................................................................................................................... 25

Opening a Recipe from the Operations Window .................................................................... 25

Opening a Recipe from the Development Window ................................................................ 26

Opening Multiple Recipes ....................................................................................................... 26

Saving a Recipe.......................................................................................................................... 27

Mod Log field .......................................................................................................................... 27

ii
Creating Recipes

Save button ............................................................................................................................. 27

Saving a New Recipe ............................................................................................................. 27

Using the Save As Command .................................................................................................... 28

Saving Text Recipes ............................................................................................................... 28

Inserting Recipe Items or Variables............................................................................................ 28

Copying Recipe Items or Variables ............................................................................................ 29

Moving Recipe Items or Variables .............................................................................................. 30

Moving All the Recipe Items and Variables ................................................................................ 31

Deleting Recipe Items or Variables ............................................................................................ 31

Using <Delete> ....................................................................................................................... 31

Deleting Recipes......................................................................................................................... 32

Creating Recipe Reports ............................................................................................................ 32

Working with Recipe Notes ........................................................................................................ 34

Locating and Displaying Data ......................................................................................................... 35

Searching for and Replacing Data.............................................................................................. 36

Locating Substrings ................................................................................................................ 36

Using the Go To Item Button ...................................................................................................... 39

The Item Number Field ........................................................................................................... 39

Understanding Recipe Paths ...................................................................................................... 40

Defining Paths Without a File Server...................................................................................... 40

Defining Paths With a File Server ........................................................................................... 41

Setting the Startup Window ........................................................................................................ 41

Switching Between Windows ...................................................................................................... 41

Applying Fonts ............................................................................................................................ 42

Displaying Tag Group Tagnames ............................................................................................... 42

Adding and Removing Columns ................................................................................................. 43

Modifying a Column .................................................................................................................... 44

Column Heading Field ............................................................................................................ 44

iii
Creating Recipes

Modifiable Check Box ............................................................................................................. 44

Saving Format Files .................................................................................................................... 45

Loading Format Files .................................................................................................................. 45

Overriding the Default Format Settings ...................................................................................... 46

Downloading and Uploading Recipes ............................................................................................ 46

Downloading from the Recipe Builder ........................................................................................ 47

Starting the Download ............................................................................................................ 47

Checking for Errors Before Downloading ............................................................................... 48

Displaying Download Results ................................................................................................. 50

Verifying a Recipe................................................................................................................... 51

Changing the Verification Time-out Interval ........................................................................... 52

Uploading from the Recipe Builder ............................................................................................. 53

Starting the Upload Process ................................................................................................... 53

Checking for Errors Before Uploading .................................................................................... 54

Displaying Upload Results ...................................................................................................... 55

Uploading and Downloading From an Operator Display ............................................................ 55

Including Command Line Parameters .................................................................................... 56

Scheduling a Recipe for Automatic Upload or Download ..........................................................57

Configuring a Program Block .................................................................................................. 57

Scheduling an Upload or Download ....................................................................................... 58

Accelerating the Upload or Download .................................................................................... 58

Working with Formulas ................................................................................................................... 58

Understanding Formula Syntax .................................................................................................. 59

Working with Functions........................................................................................................... 60

Understanding Formula Operators ......................................................................................... 62

Understanding Recipe Keywords ........................................................................................... 64

Working with Variables and Formulas .................................................................................... 65

Creating Formulas ...................................................................................................................... 66

iv
Creating Recipes

Modifying and Recalculating Formulas ...................................................................................... 66

Overriding the Calculated Value ................................................................................................. 67

Entering Override Limits ......................................................................................................... 68

Deleting Overrides .................................................................................................................. 69

Advanced Features ........................................................................................................................ 69

Scaling the Batch Size ................................................................................................................ 69

Assigning Tag Groups ................................................................................................................ 71

Using the Tag Group Parameter ............................................................................................ 74

Using an Advanced Option ......................................................................................................... 74

Defining the Upload and Download Interlocks ....................................................................... 74

Defining the Completion Status Indicator ............................................................................... 75

Selecting a Security Area ....................................................................................................... 76

Using an Audit Trail ................................................................................................................ 77

Recipe Security............................................................................................................................... 80

Command Line Parameters ............................................................................................................ 81

Using Multiple Parameters in VBA ......................................................................................... 82

Batch Size Parameter ................................................................................................................. 83

Syntax ..................................................................................................................................... 83

Recognized by ........................................................................................................................ 83

Description .............................................................................................................................. 83

Control Recipe Parameter .......................................................................................................... 83

Syntax ..................................................................................................................................... 83

Recognized by ........................................................................................................................ 83

Description .............................................................................................................................. 83

Error File Parameter ................................................................................................................... 84

Syntax ..................................................................................................................................... 84

Recognized by ........................................................................................................................ 84

Description .............................................................................................................................. 84

v
Creating Recipes

Command Line File Parameter ................................................................................................... 84

Syntax ..................................................................................................................................... 84

Recognized by ........................................................................................................................ 84

Description .............................................................................................................................. 84

Examples: Command Line File Parameter ............................................................................. 84

Tag Group Parameter ................................................................................................................. 85

Syntax ..................................................................................................................................... 85

Recognized by ........................................................................................................................ 85

Description .............................................................................................................................. 85

Batch ID Parameter .................................................................................................................... 85

Syntax ..................................................................................................................................... 85

Recognized by ........................................................................................................................ 85

Description .............................................................................................................................. 86

Master Recipe Parameter ........................................................................................................... 86

Syntax ..................................................................................................................................... 86

Recognized by ........................................................................................................................ 86

Description .............................................................................................................................. 86

Download Remarks Parameter .................................................................................................. 86

Syntax ..................................................................................................................................... 86

Recognized by ........................................................................................................................ 87

Description .............................................................................................................................. 87

Master Text Recipe Parameter ................................................................................................... 87

Syntax ..................................................................................................................................... 87

Recognized by ........................................................................................................................ 87

Description .............................................................................................................................. 87

Control Text Recipe Parameter .................................................................................................. 87

Syntax ..................................................................................................................................... 87

Recognized by ........................................................................................................................ 88

vi
Creating Recipes

Description .............................................................................................................................. 88

Override Parameters .................................................................................................................. 88

Syntax ..................................................................................................................................... 88

Recognized by ........................................................................................................................ 88

Description .............................................................................................................................. 88

Example: Override Parameters .............................................................................................. 88

Command Line Parameter Summary ......................................................................................... 89

Text Recipe Format ........................................................................................................................ 89

File Format.............................................................................................................................. 89

File Header ................................................................................................................................. 90

Recipe Header Template ............................................................................................................ 90

Recipe Header ............................................................................................................................ 90

Example: Reader Header ....................................................................................................... 91

Recipe Item Template ................................................................................................................ 91

List of Recipe Items .................................................................................................................... 91

Example: Recipe Item List ...................................................................................................... 92

Editing a Text Recipe ................................................................................................................. 92

Recipe Files .................................................................................................................................... 93

Troubleshooting .............................................................................................................................. 94

Understanding Audit Trail and Error File Messages................................................................. 105

Text in the Audit Trail ............................................................................................................ 105

Understanding Upload and Download Messages .................................................................... 109

Recipes and the Tag Group Editor (TGE.exe) ............................................................................. 111

Creating a New Tag Group File ................................................................................................ 111

Understanding Tag Group Editor Layout .................................................................................. 112

Understanding the Tag Group Spreadsheet ........................................................................ 112

Exiting the Tag Group Editor .................................................................................................... 113

Opening and Closing Existing Tag Group Files ....................................................................... 113

vii
Creating Recipes

Closing Tag Group Files ....................................................................................................... 113

Defining a Tag Group ............................................................................................................... 113

Defining Symbols .................................................................................................................. 114

Defining Substitutions ........................................................................................................... 115

Defining Descriptions ............................................................................................................ 115

Editing a Tag Group File ........................................................................................................... 115

Deleting a Row ......................................................................................................................... 116

Searching and Replacing Substitutions .................................................................................... 116

Saving a Tag Group File ........................................................................................................... 117

Deleting a Tag Group File ........................................................................................................ 117

Importing and Exporting Tag Group Reports ........................................................................... 117

Understanding the Tag Group Report Format ...................................................................... 118

Importing Tag Group Reports ............................................................................................... 119

Exporting a Tag Group File .................................................................................................. 119

Creating a Tag Group Report ............................................................................................... 120

Recipe Dialog Boxes .................................................................................................................... 120

Advanced Options Dialog Box .................................................................................................. 121

Download .............................................................................................................................. 121

Upload .................................................................................................................................. 121

Completion Status ................................................................................................................ 121

Audit Trail Support ................................................................................................................ 122

Security Area ........................................................................................................................ 122

Assign Tag Group Dialog Box .................................................................................................. 123

Tag Group Filename ............................................................................................................. 123

Column Details Dialog Box ....................................................................................................... 123

Column Heading ................................................................................................................... 123

Modifiable ............................................................................................................................. 123

Download Dialog Box ............................................................................................................... 123

viii
Creating Recipes

Batch ID ................................................................................................................................ 123

Download Remarks .............................................................................................................. 123

Download/Upload Error List Dialog Box ................................................................................... 124

Error List ............................................................................................................................... 124

Go To Item Button ................................................................................................................ 124

Save Errors Button ............................................................................................................... 124

Field Select Dialog Box ............................................................................................................ 124

Filter Fields ........................................................................................................................... 124

Node Selection List ............................................................................................................... 125

Tag Selection List ................................................................................................................. 125

Field Selection List................................................................................................................ 125

Selection Edit Box................................................................................................................. 125

Filter Button .......................................................................................................................... 125

Go To Dialog Box ..................................................................................................................... 125

Item Number ......................................................................................................................... 125

Open Recipe Dialog Box .......................................................................................................... 125

Recipe Name Field ............................................................................................................... 126

Recipe List Box ..................................................................................................................... 126

List Files of Type................................................................................................................... 126

Drives .................................................................................................................................... 126

Network ................................................................................................................................. 126

Override Low/High Limit Dialog Box ......................................................................................... 126

Unrestricted Limit .................................................................................................................. 126

Restricted Limit ..................................................................................................................... 126

Absolute Limit ....................................................................................................................... 126

Percentage Limit ................................................................................................................... 127

Difference Limit ..................................................................................................................... 127

Precheck Error List Dialog Box ................................................................................................. 127

ix
Creating Recipes

Precheck Error List ............................................................................................................... 127

Available Buttons .................................................................................................................. 127

Recipe Mod Log Dialog Box ..................................................................................................... 128

Mod Log Field ....................................................................................................................... 128

Save As ................................................................................................................................ 128

Report Column Details Dialog Box ........................................................................................... 128

Column Heading ................................................................................................................... 128

Column Width ....................................................................................................................... 128

Report Format Dialog Box ........................................................................................................ 128

Available Columns List Box .................................................................................................. 129

Column Layout List Box ........................................................................................................ 129

Column Layout List Buttons .................................................................................................. 129

Search and Replace Dialog Box............................................................................................... 129

Search for ............................................................................................................................. 130

Replace with ......................................................................................................................... 130

Case Sensitive ...................................................................................................................... 130

Wrap Around ......................................................................................................................... 130

Set Batch Size Dialog Box ........................................................................................................ 130

Batch Size ............................................................................................................................. 130

Window Display Format Dialog Box ......................................................................................... 130

Available Columns List Box .................................................................................................. 131

Column Layout List Box ........................................................................................................ 131

Column Layout List Buttons .................................................................................................. 131

How Do I... .................................................................................................................................... 132

Using Basic Functions .............................................................................................................. 132

Downloading Recipes ........................................................................................................... 132

Uploading Recipes................................................................................................................ 133

Scheduling Recipes for Automatic Upload and Download ...................................................133

x
Creating Recipes

Uploading and Downloading from an Operator Display .......................................................134

Working with Recipes ............................................................................................................... 134

Creating a Recipe Item or Variable ...................................................................................... 135

Inserting a Recipe Item or Variable ...................................................................................... 135

Deleting a Recipe Item or Variable ....................................................................................... 135

Creating a Recipe Report ..................................................................................................... 136

Creating and Modifying a Recipe Note File .......................................................................... 136

Enabling and Disabling Recipe Verification .......................................................................... 136

Importing from and Exporting Data to a Third-Party Application ..........................................136

Modifying a Report Column .................................................................................................. 137

Locating and Displaying Data ................................................................................................... 137

Changing a Display Format .................................................................................................. 138

Modifying a Column .............................................................................................................. 138

Searching and Replacing Data ............................................................................................. 138

Working with Formulas ............................................................................................................. 139

Entering an Override Limit .................................................................................................... 139

Entering and Clearing Overrides .......................................................................................... 139

Entering and Modifying a Formula........................................................................................ 140

Using Advanced Features ........................................................................................................ 140

Assigning a Tag Group ......................................................................................................... 141

Changing the Verification Timeout Interval .......................................................................... 141

Defining the Completion Status Indicator ............................................................................. 141

Defining the Upload and Download Interlocks ..................................................................... 142

Enabling and Disabling the Audit Trail.................................................................................. 142

Selecing a Security Area ...................................................................................................... 142

Setting and Scaling the Batch Size ...................................................................................... 143

Setting the Standard Batch Size ........................................................................................... 143

Using Keyboard Accelerators ................................................................................................... 143

xi
Creating Recipes

Movement Keys .................................................................................................................... 143

Keyboard Accelerators ......................................................................................................... 144

Index ............................................................................................................................................ 147

xii
About this Guide
Creating Recipes is intended for process control engineers responsible for designing and creating
recipes. The manual assumes that you understand the industrial process, including device controllers
and I/O equipment. You should also be familiar with the process database, how it works in an iFIX®
system, and terms such as blocks and chains.

Reference Documents
For related information about iFIX, refer to the following manuals:

 Setting up the Environment


 Building a SCADA System
 Implementing Security
 Implementing Alarms and Messages
 Writing Scripts

First Time Users


If you are unfamiliar with the Recipe Builder, read through the first two chapters before you create
your first recipe. Take notes as you read along and try to determine how you can apply the software to
your particular application.

Learning About Recipes


When you are ready to create recipes, you can create and download them with the Recipe Package. The
Recipe Package consists of the following programs:

 Recipe Builder
 Recipe system tasks:
 Recipe Upload program
 Recipe Download program

The Recipe Builder


The Recipe Builder is the heart of the Recipe Package. This program provides industry-standard
features for creating, modifying, deleting, uploading, and downloading recipes. But the Recipe Builder
also provides other powerful features that enable you to:

1
Creating Recipes

• Add formulas to recipes.


• Recalculate formulas automatically.
• Override formulas within specified limits.
• Scale the batch size.
• Assign tag groups to recipes.
• Keep an audit trail of recipe activity.

Using Formulas
These features provide you with flexibility when creating recipes. For example, adding formulas to
recipes allows you to represent a block value as a mathematical expression or in relation to another
block value. This feature enables you to create recipes in terms natural for your industry, thereby
making the recipes understandable by any process engineer and enabling you to develop recipes faster.

Recalculating Formulas
When you enter or change a formula, the Recipe Builder automatically recalculates its value. This
feature enables you to experiment with possible recipe values by making "on-the-fly" changes.

Overriding Formulas
To help you respond to changing process conditions, you can override a formula by entering a process
value. This value is used in place of the formula until the override value is cleared.

Scaling the Batch Size


In addition, the Recipe Builder enables you to dynamically and uniformly scale the batch size. When
scaling the batch size, the Recipe Builder preserves the relative proportions among the process values
being scaled. Scaling the batch size is useful when you want to continually vary production amounts.

Using Tag Groups


Using the Recipe Builder, you can also assign tag groups to a recipe. With this feature, you can create
one recipe that can address many different areas of your process. If a different tag group is needed for a
recipe, you can assign that tag group in place of the currently assigned one. By re-using the same
recipe with multiple tag groups, you gain flexibility and save time and disk space that would be
otherwise needed for multiple recipes.

Keeping an Audit Trail


The Recipe Builder also provides a flexible method for keeping an audit trail. Using this feature, you
can track what activity has occurred, when the activity occurred, and who initiated the activity. You
can also track activity of individual tagnames. The Recipe Builder sends this information to the
available alarm destinations.

2
Creating Recipes

Cutting and Pasting Data


In addition, you can cut and paste data to and from a third-party spreadsheet, such as Microsoft®
Excel™. This feature provides the convenience of enabling you to create recipes with a program you
already know. When you are ready to download a recipe, this feature also allows you to quickly cut
and paste the recipe into the Recipe Builder.

Understanding Recipes
Before you begin using the Recipe Package, review the sections for more information on some central
concepts:

• Understanding Master and Control Recipes


• Recipe Items
• Recipe Variables

Understanding Master and Control Recipes


The Recipe Builder creates two types of recipes: master recipes and control recipes. The following
figure summarizes differences between master and control recipes.

Master and Control Recipes

As the previous figure suggests, any recipe you create or modify with the Recipe Builder can be saved
as either a master or a control recipe. Saving recipe information as a master recipe enables you to
modify it later without restriction. Saving recipe information as a control recipe restricts the operator to
modifying process values within specific limits.

Unless otherwise stated, the term recipe applies to both master and control recipes.

Recipe Items
Each recipe consists of one or more recipe items. A recipe item is a process value that is identified by a
tagname. A tagname consists of a SCADA node name, database block name (also called a tag), and the

3
Creating Recipes

block field name.

Each recipe item contains nine fields. These fields define the item and include information such as the
recipe item identifier, description, value, and the unit of measure (UOM).

Up to 850 recipe items can be added to a recipe.

Recipe Variables
In addition to recipe items, you can include variables in a recipe. A variable is an internal string or
numeric value that is never downloaded to the database. For example, you can represent the
temperature of your process using a numeric constant, say 50. You can assign this constant to a
tagname or, if you prefer, you can assign this value to a variable and then assign the variable to the
tagname as the following table shows:

Identifier Formula

#Temp 50

SCADA1:T16F1.F_CV #Temp

While using variables to represent process values is helpful, variables are more powerful when
incorporated into a formula. A formula is like a programming assignment statement. It enables you to
specify how to represent a value for a recipe item or variable. The chapter Working with Formulas
provides more information on using formulas and variables.

Using Existing Recipes


You can use recipes created with FIX® 6.x in iFIX® by exporting them on your 6.x node as text
recipes, importing them into iFIX, and then saving them. No other steps are required. For more
information about creating text recipes, refer to the section Saving Text Recipes.

Creating New Recipes: Overview


If you have no existing recipes, refer to the following figure to get started:

4
Creating Recipes

Creating New Recipes

The following table lists the chapters you can refer to for more information on each steps.

Creating Recipes

To... Refer to the section...

Gather the necessary information and plan out your recipes. Developing an Application
Strategy

Enter the information into the spreadsheet. Creating a Sample Recipe

Define the required formulas. Using Formulas

5
Creating Recipes

Creating Recipes

To... Refer to the section...

Save the data as a master or control recipe. Using the Save As Command

Create or modify the operator displays for recipe downloading Downloading and Uploading
and uploading. Recipes

Developing a Recipe
When you are ready to start developing recipes, obtain the following information about your process:

• The process unit and database block names used by the recipe.
• The value you want to download to each database block.
• The block names for any upload or download interlock.
• The recipe items you plan to verify.
• The process values you want operators to be able to change.

Once collected, you can create a recipe by entering the necessary information into the Recipe Builder.

To help you develop your recipes, this chapter explains how to create a sample recipe for making beer.
By developing this sample recipe yourself, and using the same steps for your own recipes, you can
learn how to develop recipes for your needs.

Developing an Application Strategy


To better understand how the sample recipe was created, this section first explains how beer is
produced. The following figure provides an overview of the beer-making process.

6
Creating Recipes

Beer Production Overview

As you can see, beer production begins by cooking malt and cereal in water separately and then these
mixtures are combined into one and cooked again. The resulting liquid is strained and hops are added
to create a wort. The wort is cooled and then yeast is added. By allowing the liquid to ferment, beer is
produced.

Typically when making beer, recipes are used while doing the following tasks:

• Cooking the malt and cereal.


• Adding hops and brewing the beer.
• Cooling the wort.
• Adding yeast and fermenting the beer.

Assume now you want to create a recipe that is downloaded when the wort is ready to be fermented.
Let's look more closely at this part of the process.

7
Creating Recipes

Fermenting Beer
This example describes a beer fermentation process. When fermenting beer, as described in the
Developing an Application Strategy section, the following steps occur:

1. Verify that the value of the fermenter interlock, ILK1, is inactive.


2. Transfer the wort from the brew kettle to the fermenter by opening transfer valve XCV1F1.
3. For every barrel of beer being made, add 1.5 pounds of yeast to the wort. Assuming the
standard batch size is 100 barrels of beer, this sets the process value W16S1 to 150 pounds of
yeast.
4. Set the Analog Output block, T16F1, fermenter temperature set point, to 55 degrees
Fahrenheit.
5. Set the target value of a Timer block, K16F1, the fermenter timer, to 132 hours.

After the beer is fermented, it is aged, bottled and ready for shipment.

Creating a Sample Recipe


From the steps in the previous subsection, you can obtain most of the information you need to create
the recipe. The following table summarizes this information.

Sample Recipe Information

Step Tagname Process


Value

Verify the fermenter interlock is inactive. ILK1.F_CV 0

Open the transfer valve to move the wort from the brew XCV1F1.F_CV 0
kettle to the fermenter.

Weigh out 150 pounds of yeast and add to wort. W16S1.F_CV 150

Set the fermenter temperature to 55 degrees Fahrenheit. T16F1.F_CV 55

Set the fermenter timer to 132 hours. K16F1.F_CV 132

With this information, you can now create a recipe for fermenting beer by selecting the appropriate cell
in the Recipe Builder spreadsheet and typing the information into it. Press Enter when you finish
typing. The following figure shows the sample recipe.

8
Creating Recipes

Sample Recipe

You can also enter the tagname of the download interlock into the Recipe Builder. Once defined, the
Recipe Builder automatically examines the value of this tagname during a download and if the
interlock is inactive, the program downloads the recipe. In the sample recipe, you would enter the
tagname ILK1.F_CV for the download interlock. For more information about entering the download
interlock, refer to the section Defining the Upload and Download Interlocks.

Defining Tagnames and Variables

Preferred Recipe Block Types


Before you create your own recipes, consider the block types to reference. While a recipe item can
reference any block in the database, typically recipes download to blocks with an output capability
such as Analog Output, Digital Output, Text, Analog Register, and Digital Register blocks. For
example, in the sample recipe, the fermenter set point needs to be set to 55 degrees. To send this value
out to the process, the recipe uses an Analog Output block.

Preferred Block Types for Recipe Verification


The Recipe Builder can also verify the value of each recipe item by writing to and then reading from
your process equipment. To accomplish this, the recipe items being verified must have an input and
output capability. If you plan to verify a recipe item, make sure it references an Analog Register,
Digital Register, or Text block. Verifying recipe items that reference any other type of block can
produce unexpected results.

Preferred Fields
Also consider the field referenced by the recipe item. Typically, as in the sample recipe, the Current
Value field is referenced (F_CV). However, any field that operators can read from or write to can also
be uploaded from or downloaded to. For example, assume the alarm limits for the fermenter's set point
vary depending on the type of beer being produced. In this situation, the sample recipe could download
the alarm limits (F_HI and F_LO) to an Analog Input block.

When specifying a field, use the F_ field for numerical values and the A_ field for text values.

9
Creating Recipes

Using Variables
In addition to tagnames, recipes may include variables. Variables represent internal string or numeric
values that are never downloaded to the database. When you create a variable, you give it a name. All
variable names begin with a number sign (#) and can be up to 15 alphanumeric or underscore
characters. Each name you assign to a variable must be unique.

Variables are most helpful when used in a formula to replace a numeric or string constant, particularly
if the value is used throughout the recipe. Consider the following example:

Identifier Formula Calc Value

#TEMP 100.3456 100.3456

T16F1.F_CV INT(#TEMP)+5 105

T16F2.F_CV INT(#TEMP)+10 110

In the above example, the variable #Temp is used in two recipe items. The benefit of using a variable
this way is that it allows you to make global changes quickly. If the recipe requires a different value for
#Temp, you can change it once instead of many times.

Other advantages of using variables instead of a numeric or string constant are:

• The variable name can be more descriptive than a constant.


• The variable's value can be overridden using a command line parameter.

For more information about overriding a variable with a command line parameter, refer to the section
Overriding the Calculated Value.

Keywords
Certain variable names are reserved. These reserved names are called keywords. Keywords allow
access to information about the recipe. For more information about variables and keywords, refer to
the chapter Working with Formulas.

Using the Local Node Alias


When you specify a tagname for a recipe item, you have the option of specifying the node name
placeholder, THISNODE, for the node portion of the tag. This is ideal for developing recipes that can
be shared among different SCADA servers because you shorten the development cycle and keep your
maintenance time to a minimum.

For example, let's assume you have the following setup:

10
Creating Recipes

In this setup, the recipes Beer1 and Beer2 are used to make beer and download to the SCADA servers
FERMENT1 and FERMENT2, respectively. The Beer1 recipe defines the following items:

Identifier Formula

FERMENT1:ILK1.F_CV 0

FERMENT1:XCV1F1.F_CV 0

FERMENT1:W16S1.F_CV 150

FERMENT1:T16F1.F_CV 55

FERMENT1:K16F1.F_CV 132

The Beer2 recipe is identical except for the node name:

Identifier Formula

FERMENT2:ILK1.F_CV 0

11
Creating Recipes

Identifier Formula

FERMENT2:XCV1F1.F_CV 0

FERMENT2:W16S1.F_CV 150

FERMENT2:T16F1.F_CV 55

FERMENT2:K16F1.F_CV 132

Notice that in this implementation, two recipes are required because each recipe has hard-coded node
name references. With the local node alias feature, you eliminate the need for two recipes. Instead, you
create one recipe for both SCADA servers, as the following example shows:

Identifier Formula

THISNODE:ILK1.F_CV 0

THISNODE:XCV1F1.F_CV 0

THISNODE:W16S1.F_CV 150

THISNODE:T16F1.F_CV 55

THISNODE:K16F1.F_CV 132

After creating this recipe, share the directory that it resides in and map the recipe paths of both
SCADA servers to the shared directory. By making these changes, you shorten the development cycle
and later, when the recipe needs changing, you keep your maintenance time to a minimum because you
only have to make the changes once. For information on changing the recipe paths, refer to the section
Understanding Recipe Paths.

To use the local node alias feature, login as an Administrator and select the Local Node Alias check
box in the System Configuration Utility (SCU). Refer to the Setting up the Environment manual for
more information. To learn about other uses for local node aliasing, refer to the Mastering iFIX
manual.

Using Formulas
Formulas enable you to combine variables with numeric or string constants, functions (such as LOG,
SIN, or SQRT), and keywords. By using variables and formulas together you can represent process
values in terms that are natural for your industry.

IMPORTANT: In formulas, you must include a space following a variable name. The space separates
the variable name from whatever follows it. The following example shows the correct syntax. In this

12
Creating Recipes

example, there is a space between #Lbs_Per_Barrel and the multiplication sign.

For example, in the sample recipe you could create a variable called #Yeast to represent the amount of
yeast needed during fermentation. You can represent this amount with the following formula:

#Lbs_Per_Barrel * #STD_BATCH

where #Lbs_Per_Barrel is the amount of yeast needed for every barrel of beer produced and
#STD_BATCH is a keyword for the standard batch size. From the information in the section
Fermenting Beer, you can learn:

• Every barrel of beer requires 1.5 pounds of yeast.


• The standard batch size is 100 barrels of beer.

This yields the following formula:

1.5*100

While you could assign this mathematical expression to the variable #Yeast, you may want to create a
variable for the yeast per barrel value so that you can adjust it as process conditions change. The
resulting recipe is shown in the following figure:

Adding Formulas and Variables to the Sample Recipe

For more information about using formulas in your recipes, refer to the chapter Working with
Formulas.

Using Master and Control Recipes


When you finish creating a recipe, you are ready to save it. The Recipe Builder enables you to save a
recipe as a master recipe or a control recipe. How you save it depends on your needs. For example, you
might want to save a recipe as a master recipe if you plan to create other recipes that are minor
variations of the original. Using the sample recipe, for instance, assume you want to create several
other recipes from the sample recipe that vary the fermenting temperature and the fermenting time.
One recipe might shorten the fermenting time. Another might increase the temperature.

13
Creating Recipes

In this situation, you might save the sample recipe as a master recipe. By doing this, you can easily
modify the recipe by changing the necessary process values. By saving each change to a separate
control recipe, you can easily create hundreds of additional recipes. Each additional recipe you create
in no way affects the original recipe. This feature protects recipes from accidental or unauthorized
changes.

Using Control Recipes


Alternatively, you could save the sample recipe as a control recipe. Typically, control recipes are
production versions of a recipe that are downloaded to the database and are intended for use by
operators.

Typically, control recipe access is provided to operators through a special window called the Recipe
Operations window. Depending on how you set up this window, it can restrict operators from
modifying control recipes or it can enable operators to modify control recipes within predefined limits.
Information such as the tag group assignment or the batch size cannot be modified from the Recipe
Operations window regardless of how you set up the window. However, you can set up the window to
allow operators to override specific values prior to downloading.

Keep in mind that you do not have to choose between saving a recipe as just a master recipe or a
control recipe. You can save a recipe in both formats and provide yourself the benefits of using both
types of recipes.

If you decide to save recipes in both formats, you may want to establish specific naming conventions
to help update your control recipes more easily. The following figure shows two possible naming
conventions.

Naming Conventions

Another aspect to consider is the format you want to save the recipe in, binary or text. While binary
recipes are functionally the same as the equivalent text recipes, binary recipes are faster to upload and
download. In addition, binary recipes are more secure because they can only be opened and modified
using the Recipe Builder. Text recipes, on the other hand, can be opened and modified with any third-
party spreadsheet or text editor.

14
Creating Recipes

To help clarify explanations in this manual, the term master recipe refers to master text and master
binary recipes unless otherwise stated. Similarly, the term control recipes refers to both control text
and control binary recipes.

Other Considerations
In addition to the features already described, you may want to consider which recipe items you want to
allow operators to change. With the Recipe Builder, you can make specific columns in the spreadsheet
non-modifiable. For more information about doing this, refer to the section Modifying a Column.

The Recipe Builder also provides several advanced features that you may find helpful when creating
recipes. These features enable you to assign tag groups, keep an audit trail, scale the batch size,
override a value, and verify one or more recipe items. Using these features is optional.

Assigning Tag Groups


If many of your recipes are identical except for the locations they reference, you can consolidate these
recipes into one and create multiple tag groups. Each tag group defines a set of symbols. A symbol is a
label and represents a tagname. For more information about tag groups and symbols, refer to the
chapter Using the Tag Group Editor.

Keeping an Audit Trail


You can also set up the Recipe Builder to keep an audit trail of recipe activity. This information
provides you with a record of the recipes that were downloaded or modified. The section Using an
Audit Trail provides more information on keeping an audit trail.

Scaling the Batch Size


If you need to produce a non-standard amount of a product, you can scale the batch size using the
Recipe Builder. When scaling the batch size, the Recipe Builder preserves the relative proportions
among the recipe items and variables being scaled. Refer to the section Scaling the Batch Size to learn
more about this topic.

Overriding a Value
As process conditions change, operators may need to adjust a recipe by overriding the calculated
values. When overriding a value, you specify a value to use in place of the calculated value. For more
information about overriding a value, refer to the section Overriding the Calculated Value.

Verifying Recipe Items


You may want to verify that certain process critical values are downloaded to your process. Using the
Recipe Builder, you can do this by enabling recipe verification for individual recipe items. For more
information about recipe verification, refer to the section Verifying a Recipe.

15
Creating Recipes

Recipe Builder Basics


This chapter provides the necessary background information to start using the Recipe Builder. Topics
described in this chapter include:

• Starting the Recipe Builder


• Exiting from the Recipe Builder
• Recipe Operations and Development Windows
• Working With Recipe Buttons
• Recipe Header Fields
• Creating a Recipe Item or Variable

Starting the Recipe Builder


You can start the Recipe Builder from the Proficy iFIX WorkSpace's system tree. By opening the FIX
Recipes folder in the system tree and double-clicking the New Recipe icon, you can launch the Recipe
Builder. When the application opens, the Recipe Development window, shown in the following figure,
appears.

Recipe Development Window

16
Creating Recipes

Once the program starts, it displays, by default, a blank untitled recipe.

If you attempt to start the Recipe Builder and you do not have rights for the Recipe Development
window, the Recipe Operations window appears.

To obtain the rights to display the Recipe Development window, consult your system administrator.

Once the Recipe Builder starts, you can begin creating a new recipe by entering data into each cell.
You can also create a new recipe by selecting the New command. When you select this command, the
Recipe Builder closes the open recipe, prompting you to save any unsaved changes, and then displays a
blank recipe.

In addition to starting the Recipe Builder with a blank recipe, you can automatically open a master or
control recipe by double-clicking an icon from the Master Recipe or Control Recipe subfolders,
located in the WorkSpace system tree.

Exiting from the Recipe Builder


To exit from the program, select Exit from the File menu. If you have made changes to the recipe since
your last save, a question message box appears displaying the following text:

Do you want to save this recipe?

To save your changes, select the Yes button. To exit the program without saving them, select the No
button. To resume using the Recipe Builder, select the Cancel button.

Recipe Operations and Development Windows


The Recipe Builder provides two display windows: the Recipe Operations window and the Recipe
Development window. The following figure shows the elements of the Recipe Development window.

17
Creating Recipes

Recipe Development Window Elements

The following table identifies each element:

Parts of a Recipe Window

Name Description

Recipe A row of buttons that perform common recipe functions such as clearing all
Buttons override values and downloading recipes. For more information on these
buttons, refer to the section Working With Recipe Buttons.

Recipe Header A set of fields that display recipe information, such as the standard batch size
and the batch unit of measure. The section Recipe Header provides more
information about these fields.

Text Editing An area where you can enter text into the spreadsheet.
Box

Recipe Two display fields that show the recipe's batch size and the type of audit trail
Display Area currently selected. The section Scaling the Batch Size provides more
information on this area.

Spreadsheet A display area that shows the recipe items and variables. For information about
the spreadsheet columns, refer to the section Spreadsheet Columns.

The Recipe Operations and Recipe Development windows represent the two modes of the Recipe
Builder. The Recipe Operations window provides limited control recipe access and is intended for the
operator who must download control recipes or override a formula. The Recipe Development window

18
Creating Recipes

provides full access to all recipes and is intended for the process engineer who must create, modify,
and maintain master and control recipes.

The main differences between the two windows are summarized below

Comparing Recipe Windows

Comparing... Recipe Operations Window

Available menus Only the File, Window, and Help menus are available.

Recipe buttons All buttons are available.

Recipe header All header fields are displayed. These fields cannot be edited.

Recipe items and Cannot be rearranged in or deleted from the spreadsheet.


variables

Spreadsheet Cannot change whether a column is modifiable or the order that columns
appear in the spreadsheet.

Opening and saving Only control recipes can be opened and saved. Note that the Save As
recipes command is not available, preventing operators from creating new control
recipes.

Unless otherwise stated, the descriptions in this manual apply to the Recipe Development window
only.

NOTE: The menus, fields, buttons, and commands that appear in the Recipe Operations window
function in a similar manner to the descriptions provided in this manual. The main difference is that
you can only open control recipes in the Recipe Operations window.

Working With Recipe Buttons


Across the top of the Recipe Operations and the Recipe Development windows, a row of button
appears. The following table lists these buttons.

Recipe Buttons

Button Use to... Mnemonic

Download Transfer recipe items from the open recipe to one or more <Alt>D
process databases.

19
Creating Recipes

Recipe Buttons

Button Use to... Mnemonic

Upload Copy the process values from one or more databases to the <Alt>U
open recipe.

Go To Item Jump to a specific row in the spreadsheet. <Alt>G

Search Search and/or replace data in the selected spreadsheet column. <Alt>S

Clear Remove all override values for the open recipe. <Alt>C
Overrides

Recipe Header Fields


Underneath the row of recipe buttons is the recipe header. Each window displays the following fields:

Units field — enables you to enter a description of the process unit the recipe affects. You can
enter up to 40 alphanumeric characters into this field.

Product field — allows you to specify a description of the product being made. You can enter up
to 40 alphanumeric characters into this field.

Standard Batch Size field — allows you to enter the standard amount of the product that this
recipe produces. You can enter any value from 0.0000001 to 9,999,999.0 into this field.

Batch UOM field — enables you to enter the batch unit of measure. You can enter up to four
alphanumeric characters into this field.

In the Recipe Operations window, none of these fields are modifiable.

Spreadsheet Columns
The Recipe Builder spreadsheet displays a predefined set of columns. When you first start the Recipe
Builder, it displays the following columns:

Item column — contains the item number of the recipe item or variable. This number can help
you reference a specific row and is not downloaded to the database.

Identifier column — enables you to enter a recipe variable name or a recipe item tagname. A
variable name is an alphanumeric string, up to 15 characters in length, beginning with the #
character. An example of a variable name is: #myNamedVar. Each variable name you enter
must be unique.

A tagname is a node-tag-field combination or a symbol. A symbol is a label defined in the


Tag Group Editor. For more information about defining variables and tagnames, refer to the

20
Creating Recipes

section Defining Tagnames and Variables. For more information about symbols, refer to the
section Assigning Tag Groups.

Only recipe items are downloaded to the database. Recipe variables are never downloaded.

You can enter text into this field using the text editing box or by double-clicking a cell in
this column. When you double-click a cell, the Field Select dialog box appears. This dialog
box allows you to select a node-tag-field combination.

Formula column — displays the formula of the recipe item or variable. You can represent a
formula by combining one or more of the following:

Formula Type Examples

Numeric or string constant 5 or "John"

Mathematical operators +, -, *, /, = =, >, <, <=

Function Log(234) or
Lookup (#COLOR,1,2,3,4,5)

Variable #COLOR

Keyword #BATCH or #NAME

For more information on formulas, functions, and keywords, refer to the chapter Working
with Formulas.

Calc Val column — displays the current value of the recipe item or variable. The Recipe Builder
automatically recalculates the value of all recipe items and variables, and updates this
column when you enter or change a formula.

Whenever the text ?????? appears in the Calc Val column, the recipe item or variable is
undefined. The Recipe Builder does not download recipes with undefined recipe items or
variables.

NOTE: When you download a recipe, only a recipe item value is sent to the database.
Recipe variables are never downloaded.

Override Val column — allows you to enter an alphanumeric value in place of the recipe item's
or variable's calculated value. Any formulas that reference an overridden variable are
recalculated using the override value. When the recipe is downloaded, the override value is
sent in place of the calculated value. For more information about overriding the calculated
value, refer to the chapter Working with Formulas.

Description column — contains text describing the recipe item or variable. The following table
shows how the Recipe Builder completes this column when you initially enter an identifier:

21
Creating Recipes

When the identifier The Recipe Builder...


is a...

Tagname Reads the Description field of the specified block and displays this text
in the Description column.

Variable Leaves the Description column blank.

You can enter up to 40 alphanumeric characters into any cell of this column. If you complete
the Description column before specifying a tagname, the Recipe Builder does not overwrite
the text you entered. If you want to update the text for a tagname with the text from the
block's Description field, double-click a cell in the Description column.

UOM column — contains the unit of measure for a recipe item or variable. The following table
shows how the Recipe Builder completes this column when you initially enter an identifier:

You can enter up to four alphanumeric characters into any cell of this column. If you
complete the UOM column before specifying a tagname, the Recipe Builder does not
overwrite the text you entered. If you want to update the text for a tagname with the text
from the block's EGU tag, double-click a cell in the UOM column.

Override Lo Lim and Override Hi Lim columns — defines the highest and lowest possible
override value an operator can enter into the Override Value column. The Recipe Builder
verifies the override value is within the high and low limit range before it accepts the
override value.

The following two tables show the possible override limits and examples of how you can
combine the limits.

To learn how to define the high and low limits, refer to the section Entering Override
Limits.

NOTE: When the calculated value of a recipe item or a variable is a string constant, you must set both
override limits to either Unrestricted or Restricted.

Override Limits

When the The operator can...


Override
Limit is...

Unrestricted Enter any value less than or equal to the high limit and greater than or equal to
the low limit. If both override limits are unrestricted any value can be entered.
The Recipe Builder sets both override limits to unrestricted for any recipe item
or variable you add.

An absolute Enter an override value less than or equal to the high limit and greater than or
value equal to the low limit. Any value outside the limit range generates an error.

22
Creating Recipes

Override Limits

When the The operator can...


Override
Limit is...

A relative Enter an override value based on the calculated value plus or minus the
percentage percentage specified in the high and low limit columns. For example, if the
calculated value is 100 and the high and low limits are 10%, the operator can
enter a value from 90 to 110.

A relative Enter an override value based on the calculated value plus or minus the
difference difference specified in the high and low limit columns. Relative difference
limits end with a minus sign (-). For example, if the calculated value is 100
and the high and low limits are 20-, the operator can enter a value from 80 to
120.

Restricted Enter an override value that is less than or equal to the calculated value (when
the high limit is restricted). If the low limit is restricted, the operator can enter
an override value that is greater than or equal to the calculated value. If both
override limits are restricted no override value can be entered.

Sample Override Limits

When the Calculated The Override Low Limit And the Override High
Value is... is... Limit is...

25 Unrestricted 50

50 10 Unrestricted

35 10 50

35 -5 3-

35 21- 50

50 1% 5-

50 Restricted 1%

100 5- 10%

Verify column — controls recipe verification. This feature enables the Recipe Package to verify
that specific recipe item values have been written to your process equipment. The Recipe
Package handles recipe verification by reading the target block fields and comparing their
values against the values in the recipe. When the two values match, the recipe item is

23
Creating Recipes

verified. For more information about recipe verification, refer to the section Verifying a
Recipe.

You can enable and disable recipe verification for each recipe item in the spreadsheet. To
enable it, enter ON. To disable it, enter OFF. By default, recipe verification is disabled.

Creating a Recipe Item or Variable


The steps that follow explain how to create a recipe item or variable.

To create a recipe item or variable:

1. Select a cell in the Identifier column and type a tagname, variable name, or a tag group
symbol name.
If you prefer, you can double-click a cell in the Identifier column to display the Field Select
dialog box.

2. Select the corresponding cell in the Formula column and enter a formula for the recipe item.
When you complete your entry, the text in the Calc Val column changes to reflect the
formula's value.
3. Modify the text in the Description and UOM columns as needed. Notice, that if you enter a
tagname the text from the specified block's Description and EGU Tag fields are automatically
inserted for you.
4. Modify the override limits as needed. By default, the override limits are sent to Unrestricted.
If you want to change them, refer to the section Entering Override Limits for instructions.
5. Modify the Verify column as needed. By default, recipe verification is disabled for each
recipe item you add to the recipe. To enable it, select a cell in the Verify column and type ON
in the text editing box. Keep in mind, it is recommended that you only verify Analog Register,
Digital Register, and Text blocks. For more information about recipe verification, refer to the
section Verifying a Recipe.

Working with Recipes


Working with recipes requires you to open, close, delete, and save recipes. It also requires you to add,
copy, move, modify, and delete recipe items. This chapter provides instructions for completing these
tasks. It includes the following sections:

• Opening a Recipe
• Saving a Recipe
• Using the Save As Command
• Inserting Recipe Items or Variables
• Copying Recipe Items or Variables
• Moving Recipe Items or Variables

24
Creating Recipes

• Moving All the Recipe Items and Variables


• Deleting Recipe Items or Variables
• Deleting Recipes
• Creating Recipe Reports
• Working with Recipe Notes

Other related, but optional tasks, include creating recipe reports and storing recipe-related information
to a file. These operations let you save recipes and related data by creating text files with specific file
extensions. Instructions for completing each task is described at the end of this chapter.

Opening a Recipe
Whenever you need to make changes to a recipe, you can use the Recipe Builder to open one of the
following types of recipes:

• Master recipes
• Control recipes
• ASCII text versions of master and control recipes
• Backup versions of master, control, and text recipes

You can open master and control recipes by selecting them from the WorkSpace system tree or by
starting the Recipe Builder and selecting the Open command from the File menu. To open text and
backup recipes, you must use the Open command in the Recipe Builder.

When you select the Open command, a dialog box appears. The exact dialog box and the type of recipe
you can open depends on whether you select the Open command from the Recipe Operations window
or the Recipe Development window.

Opening a Recipe from the Operations Window


You can only open control recipes located in the control recipe path from the Recipe Operations
window by selecting the Open command and displaying the Open Control Recipe dialog box.

This dialog box displays the following controls:

Recipe list box — displays the control recipes you can open.

Recipe Name field — allows you to enter the name of the control recipe you want to open.

Open button — opens the control recipes you selected from the Recipe list box or that you
entered in the Recipe Name field.

To open a recipe from the Recipe Operations window:

1. On the File menu, click Open. The Open Control Recipe dialog box appears.
2. Select the recipe you want to open from the list box and select the Open button. The Recipe
Builder opens the recipe and displays it on the screen.

25
Creating Recipes

If you prefer, in the Recipe Name field, enter the name of the recipe and click Open, or
double-click a recipe name. Regardless of the method you choose, the Recipe Builder opens
the recipe and displays it on the screen.

Opening a Recipe from the Development Window


When you select the Open command from the Recipe Development window, the Recipe Builder
displays the standard Open dialog box. The following table lists the types of files you can open with
this dialog box.

Recipe Types

Recipe Type File Extension

Master recipes .RCM

Control recipes .RCC

Master recipes in text format .RCX


(called a master text recipe)

Control recipes in text format .RCY


(called a control text recipe)

Backup of master recipes .^CM


(called a master backup recipe)

Backup of control recipes .^CC


(called a control backup recipe)

Backup of master text recipes .^CX


(called a master text backup recipe)

Backup of control text recipes .^CY


(called a control text backup recipe)

When the standard Open dialog box appears, select the recipe you want to open and click OK.

Opening Multiple Recipes


Once the Recipe Builder opens a recipe, it cannot open another until you close the current recipe. To
close a recipe, select Open again. The Recipe Builder closes the current recipe and opens the recipe
you select.

If you have made changes to the old recipe and have not saved them, the Recipe Builder prompts you
to save your changes. If you do not want to save your changes, click No. To continue working with the
recipe, click Cancel.

26
Creating Recipes

Click Yes to save your changes to disk. If you attempt to save a recipe when you have no privileges to
do so, a message box with following text appears:

The logged-in user does not have the RECIPE SAVE application feature

Consult your system administrator to acquire the necessary rights to save the recipe.

Saving a Recipe
When you finish making changes to a recipe, you need to save the recipe to disk. By saving the recipe,
you make your changes permanent.

The Recipe Builder only saves master and control recipes in either binary or text format. Each time
you save a recipe, the Recipe Builder automatically creates a backup of the original file called
recipe.^xx. The exact extension depends on the type of recipe you are saving. The Recipe Types table
lists the possible extensions for backup recipes.

If you are working with recipes from a previous version of FIX software, you must use the Save As
command to save your data as text recipes if you plan to use them with iFIX. For more information on
completing this task, refer to the section Using the Save As Command.

To save an existing master or control recipe, select Save from the File menu. If the audit trail is
enabled when you select this command, the Recipe Mod Log dialog box appears. This dialog box
displays the Mod Log field and the Save button.

Mod Log field


The Mod Log field allows you to enter up to 30 characters of text explaining any changes made to the
recipe. While completing this field is optional, the text you enter is incorporated into a recipe message
and added to the audit trail. If you leave the Mod Log field blank, a portion of the recipe message is
left blank. For more information on the recipe audit trail and recipe messages, refer to the section
Using an Audit Trail.

Save button
The Save button enables you to store the recipe to disk. Master recipes are stored to the master recipe
path and control recipes are stored to the control recipe path.

To save an existing master or control recipe:

1. On the File menu, click Save. The Recipe Mod Log dialog box appears.
2. In the Mod Log field, enter the text you want.
3. Click Save. The Recipe Builder saves the recipe to disk.

Saving a New Recipe


If you are saving a new recipe, the Recipe Builder prompts you to enter a name for the recipe by
displaying the standard Save As dialog box.

27
Creating Recipes

Using the Save As Command


The Save As command allows you to save the current recipe under a new name. The Save As
command also allows you to save the recipe in one of the following recipe types:

• Master recipe
• Control recipe
• Master text recipe
• Control text recipe

If you do not change the name or recipe type, the Save As command makes a backup copy of the
original and overwrites the original recipe.

However, when you change the recipe's name or type, the Save As command does not overwrite the
original recipe — it creates a new one. This feature lets you create control recipes from master recipes
and master recipes from control recipes. It also lets you create multiple versions of a master or control
recipe by repeatedly saving it with different names.

The Save As command is also useful when saving a new recipe. When saving this type of recipe, the
command allows you to create a recipe by specifying a name and a recipe type.

When you select Save As, the Recipe Mod Log dialog box appears, if the audit trail is enabled. For
more information about this dialog box, refer to the section Saving a Recipe.

After you enter the text you want in the Mod Log field, select the Save As button. The standard Save
As dialog box appears. To save the recipe, type its name in the File Name field and click OK.

Saving Text Recipes


By using the Save As command and selecting either the master text or control text file type, you can
save the current recipe as a text file. You may find saving a text recipe helpful when you want to do
one of the following tasks:

• Complete large editing tasks by using a third-party text editor or spreadsheet.


• Convert existing recipes for use with iFIX.
• Convert a binary master or control recipe to a text file prior to downloading it.

For information on the file format of a recipe text file and how to edit it, refer to the chapter Text
Recipe Format.

Inserting Recipe Items or Variables


If you forget to enter a recipe item or variable when you initially create a recipe, you can insert a recipe
item or variable between two existing items by selecting the Insert Item command. When you select
this command, the Recipe Builder inserts a blank row above the currently selected row and then
renumbers the recipe items and variables in the spreadsheet beginning with the newly added row.

The following figure illustrates how the Recipe Builder renumbers the spreadsheet.

28
Creating Recipes

Renumbering the Recipe Spreadsheet

To insert a recipe item or variable to a recipe:

1. Select a cell in a row of the spreadsheet.


2. On the edit menu, click Insert Item. The Recipe Builder inserts a blank row above the row you
selected and renumbers the spreadsheet.

Copying Recipe Items or Variables


If many of the recipe items or variables you want to create are similar, you may find it easier to create
one recipe item or variable and copy the remaining items you need. You save time by copying an
existing recipe item or variable because you only need to change the information that differs between
the original item and the new copy.

The Recipe Builder allows you to copy a recipe item or variable by selecting Copy from the Edit
menu. When you select this command, the Recipe Builder copies the entire row of the selected item to
the clipboard.

After copying the recipe item or variable, you can insert it into the recipe as many times as you need
using the Paste command. Each time you paste a copied item, the Recipe Builder inserts it above the
currently selected row and renumbers the spreadsheet as shown in the Renumbering the Recipe
Spreadsheet figure.

To copy a recipe item or variable:

1. Select a cell in the row you want to copy.


2. On the Edit menu, click Copy. The Recipe Builder copies the entire row.
3. On the Edit menu, click Paste. If the recipe item or variable is not unique, an error dialog box
appears.
Select the Keep Item button to retain the valid parts of the recipe item being pasted or select
the Discard Item button to prevent the item from being pasted into the recipe. To cancel the
entire operation, select the Undo Paste button.

29
Creating Recipes

If you prefer, you can copy data from a third-party application (such as Excel) and paste it into the
Recipe Builder. When you do this, the Recipe Builder reads the data from the standard system
clipboard and pastes the data into the recipe. The Recipe Builder pastes the data in the order of the
spreadsheet column format starting with the first column in the recipe. Before pasting data into a
specific column, the Recipe Builder evaluates its syntax for that column. If the syntax is invalid or if
the Recipe Builder has difficulty pasting the data into a column, the error dialog box described
previously in step 3 appears.

To avoid this situation, set up the columns in your third-party application to match the display format
of the recipe. Make sure that the data in the columns that correspond to the Identifier and Formula
columns conforms to the syntax for each column. Also make sure the column that corresponds to the
Verify column contains the text ON or OFF. For more information about identifier and formula syntax
refer to the section Spreadsheet Columns.

The number of columns you paste into the recipe can be greater or less than the number of columns in
use by the display format. If the number of columns you are pasting is greater than the number of
columns in use, the extra columns are not used. If the number of columns is less than the number of
columns in use, the Recipe Builder either leaves the corresponding cell blank or uses the default value
for the cell if it has one.

You can leave any cell in the third-party spreadsheet blank. When you paste a row with blank cells into
the Recipe Builder, the program either leaves the corresponding cell blank or uses the default value for
the cell if it has one.

Moving Recipe Items or Variables


Other ways you can insert recipe items and variables to a recipe are by moving them from one recipe
and into another or by moving them from one part of a recipe to another. This is helpful when the
items you are moving are exactly the same in both locations.

The Recipe Builder allows you to move a recipe item or variable by selecting the Cut and Paste
commands from the Edit menu. When you select Cut, the Recipe Builder copies the entire row of the
selected item and removes it from the recipe. Once removed, you can move the recipe item or variable
by opening a recipe and selecting Paste.

To move a recipe item or variable from one row of the spreadsheet to another:

1. Select a cell in the row you want to move.


2. On the Edit menu, click Cut. The Recipe Builder copies the selected item and removes it from
the recipe.
3. Select a cell in the target row.
4. On the Edit menu, click Paste. The recipe item or variable is inserted above the selected row.

If you prefer, you can move data from a third-party application (such as Excel) and paste it into the
Recipe Builder. Moving data from a third-party application is similar to copying it. If you cut the data
to the standard system clipboard, the Recipe Builder can paste the data into the recipe. For more
information about pasting data from a third-party application, refer to the section Copying Recipe
Items or Variables.

30
Creating Recipes

Moving All the Recipe Items and Variables


In addition to copying and moving one recipe item or variable at a time, the Recipe Builder enables
you to copy and move every recipe item and variable from one recipe to another. When you do this,
the Recipe Builder copies the entire row of each item in the spreadsheet. This feature can be useful
when you want to copy and paste the entire recipe into a third-party application, such as Excel.

To copy and move every recipe item and variable in a recipe, use the Copy All command. After
copying the entire recipe, you can insert them into the target application using the Paste command.

To copy and move an entire recipe from the Recipe Builder to another application:

1. On the Edit menu, click Copy All. The Recipe Builder copies every row in the recipe.
2. Start your target application. For instructions on how to do this, refer to that application's
user's manual.
3. Once the application starts, open the spreadsheet you want to paste the recipe into.
4. On the Edit menu from your spreadsheet program, click Paste.

If you prefer, you can copy and move data from a third-party application (such as Excel) and paste it
into the Recipe Builder. For information about moving data from a third-party application to the
Recipe Builder, refer to the section Copying Recipe Items or Variables.

Deleting Recipe Items or Variables


While creating or modifying a recipe, you may find it necessary to delete one or more recipe items or
variables.

You can delete a recipe item or variable from a recipe by selecting the Delete Item command. You can
also delete an item by selecting Cut from the Edit menu instead of Delete Item. The main difference
between these commands is that when you delete a recipe item or variable with Cut, you can paste
back into the recipe if you accidentally remove the wrong item or if you change your mind. When you
select Delete Item, the recipe item or variable is irretrievable.

To delete a recipe item or variable:

1. Select a cell in the row you want to delete.


2. On the Edit menu, click Delete Item. The Recipe Builder removes the selected item from the
recipe and renumbers each row in the spreadsheet.

Using <Delete>
Alternatively, you can delete any row in the spreadsheet by selecting the identifier and deleting it by
pressing <Delete>. When you do this, a message box appears displaying the following text:

This change will destroy this recipe item. Continue?

Select the Yes button to delete the row or the No button to abort the procedure. If you select the Yes
button, the Recipe Builder deletes the selected item and does not renumber the rows in the spreadsheet.

31
Creating Recipes

Deleting Recipes
As your needs change, you may find you no longer need certain recipes. When you decide that a
specific recipe is not necessary, you can delete it using the Delete command. This command also
deletes all files associated with this recipe.

When you select the Delete command, the Delete Recipe dialog box appears. This dialog box has the
following controls:

Recipe Name field — enables you to enter the name of the recipe you want to delete.

Recipe list box — displays the available recipes in the current path that you can delete.

Delete button — deletes the specified master and control recipes and their associated files.

To delete a recipe:

1. On the File menu, click Delete. The Delete Recipe dialog box appears.
2. Type the name of the recipe you want to delete.
If you prefer, you can select the recipe to delete by selecting it from the list box. The file you
select appears in the Recipe Name field.

3. Click Delete. A message box appears displaying the following text:


Are you sure want to delete recipe recipe?

NOTE: Do not attempt to delete files from a file server while they are in use. If you do, the
Recipe Builder displays an error message box informing you that the files could not be
deleted.

Creating Recipe Reports


You may want to create a recipe report to document the changes you have made or for subsequent
printing. A recipe report is a text file that lists each column present in the recipe and the data in each
column. By default, the columns appear in the text file in the same order as they appear on the screen.

When the Recipe Builder creates a report, it starts with the data from the current recipe and stores the
report in a file named recipe.RCR, where recipe is the name of the open recipe. The path that the
report is stored in depends on the type of recipe opened.

When the open recipe is a... The Recipe Builder stores the report in...

Master recipe or master text recipe The master recipe path

Control recipe or control text recipe The control recipe path

To create a report, select the Report command. This command enables you to select and arrange the
columns for the report using the Report Format dialog box. When you select the Report command, this

32
Creating Recipes

dialog box appears and displays the following controls:

Available Columns list box — lists the columns you can add to the report. If the list box is
empty, all the available columns are in use.

Column Layout list box — controls which columns appear in the report and the order that these
columns appear. By default, all the columns currently displayed in the recipe appear in the
same order that they appear in the recipe.

Using this dialog box, you can customize the report by selecting only those columns you want to
include, changing a column heading, or changing a column width. When you change a column heading
for a report, the corresponding heading in the recipe does not change. This means if you close and re-
open the Report Format dialog box, the Recipe Builder re-reads the recipe column headings and any
changes you made are lost.

Similarly the width of each column in the report is independent of the display format column width.
This means changing either column width does not affect the other.

NOTE: When the report is created, the Recipe Builder uses the last character of each column to
separate the individual columns. It does this by placing a space in this position. This means that if you
specify a column width of 15 only 14 characters appear in the report. To display the 15th character
specify a width of 16.

To create a report from the current recipe:

1. On the File menu, click Report. The Report Format dialog box appears.
2. If necessary, add or delete the columns to include for the report. Use the following table as a
guide.
3. If necessary modify the column widths and heading, and arrange the columns for the report.
Use the following table as a guide.
4. Click OK. The Recipe Builder creates a report from the current recipe and stores it in the
appropriate recipe path.

Report Format Procedures

To... Then...

Add a column to 1. From the Available Columns list box, select the column you want to add.
the report. 2. Select the Add button. The selected column appears in the Column Layout
list box and disappears from the Available Columns list box.
If you prefer, you can add a column to the report by double-clicking a
column in the Available Columns list box.

Remove a 1. From the Column Layout list box, select the column you want to remove.
column from the 2. Select the Delete button. The selected column disappears from the Column
report. Layout list box and appears in the Available Column list box.

33
Creating Recipes

Report Format Procedures

To... Then...

Arrange a 1. In the Column Layout list box, select the column you want to move.
column in the 2. To move the column up in the list box and to left in the report, select the up
report. arrow button. To move the column down and to the right, select the down
arrow button.

Change a 1. In the Column Layout list box, select the column you want to modify.
column heading 2. Select the Modify button. The Report Column Details dialog box appears.
in the report.
3. In the Column Heading field, type up to 39 characters for a column heading
and select the OK button. The Report Column Details dialog box
disappears and the Recipe Builder changes the heading in the Column
Layout list box.

Change a 1. In the Column Layout list box, select the column you want to modify.
column width in 2. Select the Modify button. The Report Column Details dialog box appears.
the report.
3. In the Column Width field, type the column width you want and select the
OK button. The Report Column Details dialog box disappears and the
Recipe Builder changes the column width in the Column Layout list box.
NOTE: A width of less than two does not show any characters.

Working with Recipe Notes


In addition to creating a recipe report, the Recipe Builder allows you to save recipe-related information
to a file. This information could provide instructions to operators, version information, comments
about the recipe, tips on uploading or downloading the recipe or anything else you want.

When you save this information, the Recipe Builder stores it in a recipe note file in the recipe control
path. Recipe note files are ASCII text files and by convention are named recipe.RCN. Master and
control recipes share the same recipe note file.

To create or modify a recipe notes file:

Select the Notes command from the File menu. This command starts the Windows Notepad
application. If a note file does not already exist for the recipe, a message box with the following text
appears:

Notes file [path\recipe.RCN] not found.


Create it?

Click Yes to create a note file with the name recipe.RCN. To abort the procedure, click No.

Once the program starts, you can enter the information you want to save. For information on how to
add and modify text with Notepad, refer to your Microsoft Windows documentation.

When you are ready to save the note file, select Save from the File menu. If you are working with a

34
Creating Recipes

new, untitled recipe, make sure you save the file with a .RCN extension and that the name of the note
file and the recipe match; otherwise, the Recipe Builder will not be able to locate the note file
subsequently. Also, make sure you save the note file in the control recipe path.

For example, if you plan to name the current recipe BEER, save the note file with the name
BEER.RCN.

To disable recipe notes:

1. In a text editor, open the rcp.ini file. If you installed iFIX to the default location, this file is
located in the C:\Program Files\Proficy\Proficy iFIX\Local folder.
2. In the [startup] section, change notes.disable to 1. (0 is the default.)
3. Save the changes and close the rcp.ini file. The Notes command in the File Menu will be
grayed out.

Locating and Displaying Data


Many times while creating or modifying a recipe, it may be necessary to verify a specific recipe item
or variable value. For example, you may want to examine the calculated value of a specific tagname
prior to downloading it. Alternatively, you may want to verify the high and low override limits of a
variable.

Using the Recipe Builder, you can do these tasks by locating the information you need and displaying
it. This chapter explains how to locate and display information by searching and replacing data or
jumping to a specific location within a spreadsheet. The chapter also includes instructions for
customizing a spreadsheet to display only the columns you want, and saving and loading these custom
display formats, setting the default startup window, and switching between Recipe Operations and
Recipe Development windows.

This chapter includes the following sections:

• Searching for and Replacing Data


• Using the Go To Item Button
• Understanding Recipe Paths
• Setting the Startup Window
• Switching Between Windows
• Applying Fonts
• Displaying Tag Group Tagnames
• Adding and Removing Columns
• Modifying a Column
• Saving Format Files
• Loading Format Files
• Overriding the Default Format Settings

35
Creating Recipes

Searching for and Replacing Data


You can locate recipe items and variables by scrolling through the recipe using the scroll bars or arrow
keys. However, as the recipe becomes larger you may find it time-consuming to scroll through it. For
this reason, the Recipe Builder allows you to locate recipe items and variables by searching the recipe
for a piece of text and optionally replacing it.

Locating Substrings
When searching and replacing data, the Recipe Builder can locate each occurrence of the string you are
searching for. The string you enter can be the entire contents of a cell or can be a part of a longer
string. By entering a piece of a longer string (called a substring), you can quickly modify an existing
recipe for a different node or a different set of blocks. For example, you could search the Identifier
column and change all the node names in a recipe from FERMENT1 to FERMENT2.

If you enter a substring and the Recipe Builder finds multiple occurrences of this string, a message box
appears displaying text similar to the following:

Search string was found x times.


Replace each one?

CAUTION: Select the No button to abort the search, select the Yes button to replace the current cell
or select the All button to replace every occurrence in the column.

The following table provides additional examples of searching and replacing substrings.

Replacing Substrings

When the And the And the column The resulting data is...
search replacement contains...
string is... data is...

T16F1 T16F2 FERMENT1:T16F1.F_CV FERMENT1:T16F2.F_CV

CV LO FERMENT1:T16F1.F_CV FERMENT1:T16F1.F_LO

50 75 15050 17575

1 55 111 555555

11 55 111 551

NOTE: When searching and replacing data in a recipe with more than 400 recipe items, the node may
lose sessions. The sessions are re-established when the search is complete.

Before the Recipe Builder can search for a specific piece of text, you must select the column you want
it to search and the data to search for (called the search string). Before you search and replace data, you
must select the column to search, a search string, and the new data that replaces the search string. This
data is called the replacement string.

36
Creating Recipes

You can select the column to search by selecting a cell. When you select a cell, the Recipe Builder
assumes you want to search the column the cell belongs to, starting with the row that follows the
selected cell.

You can specify the search string and the replacement string by selecting the Search button. When you
select this button, the Search and Replace dialog box appears.

Unlike other dialog boxes that prohibit you from selecting a cell in the spreadsheet, you can switch
between the spreadsheet and the Search and Replace dialog box once the dialog box appears. This
feature enables you to search a part of one column and then select a cell in a different column and
continue searching and replacing data.

The Search and Replace dialog box has the following controls:

Search for field — enables you to enter a search string of up to 100 characters. Wildcard
characters (such as * or ?) are treated as text.

The characters you enter into this field remain until you enter a different search string. This
feature allows you to search for multiple occurrences of the search string by selecting the
Search Next or Search Previous buttons.

If the Recipe Builder cannot find a match for the search string in the selected column, a
message box appears displaying the following text:

Text not found

Replace with field — allows you to enter up to 100 characters as the replacement data. Wildcard
characters (such as * or ?) are treated as text.

The characters you enter into this field remain until you change them. This feature allows you
to search and replace for multiple occurrences of the search string by selecting either the
Replace Next or the Replace Previous buttons. Completing this field is optional.

NOTE: The Recipe Builder only uses the text in this field when you select the Replace Next or
Replace Previous buttons. If you do not select either button, the program does not replace any
data.

Case Sensitive check box — controls whether the search string is case-sensitive. When you select
the check box, the search string is case-sensitive. When you clear the check box, the search
is not case-sensitive. The following table shows how case sensitivity affects Recipe Builder
searches.

Case Sensitivity

When case sensitivity And the search string The Recipe Builder searches
is... is... for...

Selected AI1 AI1

Deselected AI1 AI1, Ai1, aI1, ai1

Wrap Around check box — enables you to search an entire column by selecting any cell. When

37
Creating Recipes

you select this check box, the Recipe Builder automatically wraps and continues searching
the selected column when it reaches the spreadsheet's beginning or end. The following
figure shows how this works when searching forward.

Searching the Spreadsheet

When the Wrap Around check box is cleared, the Recipe Builder searches the selected column until it
reaches end (when searching forward) or beginning (when searching backward) of the spreadsheet.

Search Next button — instructs the Recipe Builder to search forward for the next occurrence of
the search string in the selected column starting at the selected row.

Search Previous button — instructs the Recipe Builder to search backward for the next
occurrence of the search string in the selected column starting at the selected row.

Replace Next button — instructs the Recipe Builder to search forward for the next occurrence of
the search string and replace it.

Replace Previous button — instructs the Recipe Builder to search backward for the next
occurrence of the search string and replace it.

To search for data in a column (or search and replace data):

1. Select the column you want searched.


2. Click the Search button. The Search and Replace dialog box appears.
3. In the Search for field, enter the text you want to locate.
4. If you want to search and replace data, in the Replace with field, enter the replacement data.
5. Use the following table for instructions on searching forward and backward, replacing data,
and doing a case sensitive search.

38
Creating Recipes

6. When you finish searching the selected column, you can return to the spreadsheet by selecting
a cell. The Search and Replace dialog box remains on the screen. Alternatively, you can close
the dialog box by selecting the Exit button.

Search and Replace Procedures

To... Then...

Search forward for an occurrence of the search string. Select the Search Next
button.

Search backward for an occurrence of the search string. Select the Search Previous
button.

Search forward for an occurrence of the search string and replace it. Select the Replace Next
button.

Search backward for an occurrence of the search string and replace Select the Replace
it. Previous button.

Do a case sensitive search. Select the Case Sensitive


check box.

Do a non-case sensitive search. Clear the Case Sensitive


check box.

Continue searching a column when the Recipe Builder reaches the Select the Wrap Around
spreadsheet's beginning or end. check box.

Using the Go To Item Button


Another method to help you display information faster is to use the Go To Item button. This button
allows you to jump to a specific row. The feature is very useful when you want to move the length of
the spreadsheet quickly.

When you select the Go To Item button, the Go To dialog box appears. You can switch between the
spreadsheet and the Go To dialog box, allowing you to jump to different locations in the recipe. You
may find this feature most helpful when you need to modify many different recipe items throughout
the spreadsheet.

The Go To dialog box contains the Item Number field and the Go button. The Item Number field
allows you to enter the number of the row you want to jump to. When you select the Go button, the
Recipe Builder jumps to the specified row.

The Item Number Field


You can enter any row number up to 32,000 into the Item Number field. If the spreadsheet has less

39
Creating Recipes

than 32,000 rows, the Recipe Builder allows you to enter a row number equal or less than the last row
in the spreadsheet. If you enter a larger number, the Recipe Builder jumps to the last row of the
spreadsheet after displaying the following text in a message box:

Row is beyond end of recipe

If you enter a negative number or if you enter non-numeric characters, the Recipe Builder displays an
error message box, indicating that your entry was invalid.

To jump to a specific row:

1. Click the Go To Item button. The Go To dialog box appears.


2. In the Item Number field, enter the number of the row you want to jump to.
3. Select the Go button.
4. To jump to a different row repeat steps 2 and 3. When you finish jumping to specific rows,
you can return to the spreadsheet by selecting a cell. The Go To dialog box remains on the
screen. Alternatively, you can close the dialog box by selecting the Exit button.

Understanding Recipe Paths


One important aspect of locating and displaying recipe files is knowing which paths the Recipe Builder
uses to store master and control recipes. The following table describes the paths that the Recipe
Builder uses, the contents of each path, and its default value.

Recipe Paths

Path Stores... Default Value

Master Master recipes, master text recipes, master recipe C:\Program


recipe path error files, and report files produced from master Files\Proficy\Proficy
recipes. iFIX\Rcm

Control Control recipes, control text recipes, control C:\Program


recipe path recipe error files, recipe note files, and report files Files\Proficy\Proficy
produced from control recipes. iFIX\Rcc

Defining Paths Without a File Server


Both paths are defined in the Path Configuration dialog box of the SCU. Refer to the Setting up the
Environment manual for more information.

How you define the master and control recipe paths depends on your process and your needs. It is
recommended that you accept the defaults unless you plan to have a file server with iFIX or unless the
paths conflict with another path already in use. If you must redefine the recipe paths, make sure that
each path is unique. Doing this keeps master recipe files separate from control recipe files.

40
Creating Recipes

Defining Paths With a File Server


If you plan to use a file server with iFIX, it is recommended that you define a file server directory as
the master recipe path and define a local directory as the control recipe path, as the following figure
shows.

Storing Recipes on a File Server

This configuration has the following benefits:

• Provides one location for storing master recipes, making updates to them quick and easy.
• Enables operators to use the control recipes they need without relying on the file server.
Should the file server become unavailable, operators can continue working.

Setting the Startup Window


The Recipe Builder provides two windows for displaying information: the Recipe Operations window
and the Recipe Development window. The Recipe Operations window provides limited control recipe
access and is intended for the operator who must download control recipes or override a calculated
value. The Recipe Development window provides full access to all recipes and is intended for the
process engineer who must create, modify, and maintain master and control recipes. For more
information about each window refer to the section Recipe Operations and Development Windows.

If you plan on working in one window more than another, you can set the Recipe Builder to
automatically display either the Recipe Development or Recipe Operations window on startup. Select
the Start in Dev Window command to automatically display the Recipe Development window on
startup. To automatically display the Recipe Operations window, select the Start in Op Window
command.

Switching Between Windows


In addition to setting the startup window, you can switch between the two windows using the Switch to
command. Select the Switch to OP command to switch to the Recipe Operations window. To switch to
the Recipe Development window, select the Switch to DEV command.

If you attempt to switch to a window, but your system administrator has not assigned you rights to use
it, a message box appears indicating you do not have the necessary rights. To proceed, contact your
system administrator.

41
Creating Recipes

Applying Fonts
The Recipe Builder enables you to control how the text in the spreadsheet appears by applying a font
to it, changing the font style, or adjusting the point size. You can do any of these operations by
selecting the Font command. When you select this command, the standard Font dialog box appears.

The exact font, style, and point size you select depends on your needs and the fonts installed on your
node. However the following guidelines provide helpful tips for applying fonts effectively:

• Select an easy to read font, such as Times or Courier.


• Avoid hard to read font styles, such as underline and italics.
• When you display a large recipe, adjust the point size to eight or nine. This allows you to
display more rows in the spreadsheet.

NOTE: Make sure the font you select for the recipe is available on all nodes. If the font you select is
not available on another node, the operating system substitutes the System font for it when you open
the recipe, ignoring the font, point size, and style you selected.

Displaying Tag Group Tagnames


The Recipe Builder enables you to display the tagnames or symbols from a tag group.

To display tagnames or symbols from a tag group:

1. Assign a tag group to the open recipe. For more information on how to do this, refer to the
section Assigning Tag Groups. To learn how to create a tag group, refer to the section
Creating a New Tag Group File.
2. Enter a symbol name in the Identifier column that is defined in the assigned tag group file.
3. Select one of the commands listed in the following table.

Displaying Tag Group Tagnames and Symbols

When you The Recipe Builder...


select the...

Show Enables you to substitute tag group tagnames for symbol names.
Tagnames
command

Show Symbols Disables tagname substitution and displays only the symbol names you entered.
command If you save the recipe with this command selected, the Recipe Builder
automatically displays the symbol names in the recipe.

If the symbol specified in the recipe is undefined in the tag group or if the symbol is associated with a
nonexistent tagname, and you select the Show Tagnames command, the Recipe Builder has no
tagname to display. In this situation, no tagname substitution occurs.

42
Creating Recipes

Adding and Removing Columns


Another way you control what information appears on the screen is by customizing the spreadsheet to
display only the columns you want. This feature is particularly useful when you want to display only
specific columns for the operator, such as the recipe identifier, the calculated value and the override
value.

You can customize the spreadsheet displayed in both windows by adding and removing only the
specific columns you want. By selecting the Edit Display Formats command, you can add a column to
or remove a column from the spreadsheet. This command also allows you to edit the text of each
column heading and control whether the column is modifiable.

When you select Edit Display Formats from the Window menu, the Window Display Format dialog
box appears. This dialog box has the following controls:

Available Columns list box — lists the columns you can add to the spreadsheet. If the list box is
empty, all the available columns are in use.

Column Layout list box — lists the columns currently displayed in either the Recipe Operations
window or the Recipe Development window. By default, the columns in the Recipe
Development window appear. The list box displays the columns in the same order as they
appear in the recipe and indicates which columns are modifiable.

The following table provides instructions for using the Window Display Format dialog box.

Window Display Format Procedures

To... Then...

Add a column to the 1. From the Available Columns list box, select the column you
spreadsheet. want to add.
2. Select the Add button. The selected column appears in the
Column Layout list box and disappears from the Available
Columns list box.
If you prefer, you can add a column to the spreadsheet by
double-clicking a column in the Available Columns list box.

Remove a column from the 1. From the Column Format list box, select the column you want
spreadsheet. to remove.
2. Select the Delete button. The selected column disappears from
the Column Layout list box and appears in the Available
Columns list box.

Arrange a column in the 1. In the Column Layout list box, select the column you want to
spreadsheet. move.
2. To move the column up in the list box and to the left in the
recipe, select the up arrow button. To move the column down
and to the right, select the down arrow button.

43
Creating Recipes

To display the columns from Select the Switch to OP button. The columns from the Recipe
the Recipe Operations Operations window appear in the Column Layout list box.
window.

To display the columns from Select the Switch to DEV button. The columns from the Recipe
the Recipe Development Development window appear in the Column Layout list box.
window.

Modifying a Column
Besides adding and removing columns, the Recipe Builder lets you customize the spreadsheet by
restricting input into specific columns and by changing a column heading. For example, if you want
operators to change only override values, make the other columns in the Recipe Operations window
non-modifiable.

You can modify columns attributes using the Column Details dialog box. This dialog box displays the
Column Heading field and the Modifiable check box.

Column Heading Field


The Column Heading field enables you to enter the heading you want for the selected column. The
field contains the current heading of the selected column. You can enter up to 39 characters into field.

Modifiable Check Box


The Modifiable check box controls whether values in the selected column are modifiable. When the
box is selected, the column is modifiable. When the box is cleared, the column is not modifiable.

Follow the instructions in the following table to use the Column Details dialog box.

To display the Column Details dialog box:

1. On the Window menu, click Edit Display Format The Window Display Format dialog box
appears.
2. From the Column Layout list box, select the column you want to modify.
3. Select the Modify button, or in the Column Layout list box, double-click the column. The
Column Details dialog box appears.

Column Details Procedures

To... Then...

Modify the column Enter the heading you want for the selected column in the Column
heading. Heading field.

44
Creating Recipes

Make a column modifiable. Select the Modifiable check box.

Make a column non- Clear the Modifiable check box


modifiable.

When you finish using the Column Details dialog box you can apply the changes you have made.

To apply column changes:

1. From the Column Details dialog box, click OK. The Recipe Builder updates the Column
Layout list box to reflect the changes you made.
2. From the Window Display Format dialog box, click OK. The Recipe Builder updates the
spreadsheet for the selected column.

Saving Format Files


After you customize the spreadsheet the way you want it, you can save it to a format file. A format file
is a binary file with an .RFT extension. The file is stored in the Local path and defines the following
spreadsheet attributes for the Recipe Operations and Recipe Development windows:

• The column layout (including the specific columns in the spreadsheet, the column headings,
column width, and which columns are modifiable).
• The font, style, and point size of the text in the spreadsheet.
• The type of tag group substitution that is enabled (whether the recipe shows symbol names or
tag group tagnames).

The Recipe Builder also uses the data in the format file to determine the order to display each column.

By saving the current spreadsheet format, you make it permanent. After saving a display format, you
can load it as needed.

You can save the current format using the Save Display Formats command. When you select this
command, the standard Save As dialog appears. To save the display format, type its name in the File
Name field and click the OK button.

Loading Format Files


After you create some format files, you may find it helpful to load a specific format or switch between
two or more format files when displaying recipes. The Recipe Builder allows you to load a format file
with the Load Display Format command. Once loaded, the Recipe Builder replaces the existing display
format of the spreadsheet with the display format you selected.

After you select the Load Display Formats command, the standard Open dialog appears. To load the
display format, type its name in the File Name field and click the OK button.

45
Creating Recipes

Overriding the Default Format Settings


Each time you start the Recipe Builder, it loads its default format file, DEFAULT.RFT. You can
change the display format by loading a format file, as described in the section Loading Format Files.
However, you may find that loading a format file each time you start the Recipe Builder inconvenient,
particularly if you primarily use only one format file more than any other.

You can remedy this situation by overriding the preset defaults.

To override the preset defaults:

1. Rename DEFAULT.RFT, the original file, to something else, such as ORIGINAL.RFT.


CAUTION: If you do not rename the original format file, you will be unable to display the
recipe using the preset defaults.

2. Customize the spreadsheet as described in the sections Adding and Removing Columns and
Modifying a Column.
3. Save your customized format to the file, DEFAULT.RFT. The Recipe Builder overwrites the
preset defaults. The next time you start the Recipe Builder, it automatically loads the new set
of defaults you saved to the format file.

If, for any reason, you need to display a recipe using the preset defaults, load the original format file as
described in the section Loading Format Files.

Downloading and Uploading Recipes


One of the most common tasks that the Recipe Package does is uploading or downloading a recipe.
The Recipe Package enables you to upload and download master and control recipes using:

• The Recipe Builder


• An operator display
• A Program block
• The Scheduler

This chapter provide detailed explanations of each method. It includes the following sections:

• Downloading from the Recipe Builder


• Uploading from the Recipe Builder
• Uploading and Downloading From an Operator Display
• Scheduling a Recipe for Automatic Upload or Download

46
Creating Recipes

Downloading from the Recipe Builder


Downloading a recipe from the Recipe Builder lets you preview the calculated values of each recipe
item prior to sending these values to the process database.

The window being displayed determines the type of recipe you can open and subsequently download,
as the following table shows:

Downloading Master and Control Recipes

You can download a... From...

Master recipe Recipe Development window

Control recipe Recipe Development or Recipe Operations window

Regardless of the window you download a recipe from, the process is the same and is summarized in
the following steps.

To download a recipe:

1. Select the Download button from the recipe header.


2. Complete the Download dialog box if it appears.
The Recipe Builder does error-checking. If the Recipe Builder detects an error, the download
aborts. If the Recipe Builder detects no errors, the download begins. The Recipe Builder
completes the download and displays the results in a message or dialog box.
3. Acknowledge the message box or dialog box that appears.

The sections Starting the Download, Checking for Errors Before Downloading, and Displaying
Download Results describe each step of the download process. Refer to these sections for more
information about the download process.

IMPORTANT: Make sure no recipes are downloading when you reload a process database.
Unexpected results can occur if the Recipe Builder attempts to download during a database reload.

Starting the Download


The first step in downloading a recipe from the Recipe Builder is to select the Download button. If the
audit trail is disabled, the Recipe Builder examines the recipe for errors. Refer to the section Checking
for Errors Before Downloading for more information.

If the audit trail is enabled, the Download dialog box appears. The following figure provides a
flowchart of the first part of the download process.

47
Creating Recipes

Starting the Download Process

To complete the Download dialog box:

1. Click the Download button. If the audit trail is enabled, the Download dialog box appears.
2. In the Batch ID field, enter an identifier for the download of a recipe. This identifier can be up
to 10 characters. The text you enter into the Batch ID field appears in all recipe messages,
uniquely identifies the download, and is assigned to the keyword #BATCH_ID for the current
download. If you do not want to specify a batch ID, you can leave this field blank.
3. In the Remarks field, enter up to 20 characters explaining why the recipe is being
downloaded. The text you enter is included in all recipe messages when the audit trail is
enabled and is assigned to the keyword #REMARKS for the current download. If you do not
want to enter any text, you can leave this field blank.

Checking for Errors Before Downloading


After you complete the Download dialog box, the Recipe Builder examines the recipe for errors. The
following figure provides a flowchart of the steps the Recipe Builder performs before downloading the
recipe.

48
Creating Recipes

Examining a Recipe for Errors During a Download

Notice that the program examines all recipe items and variables for an identifier and a value. Variables
are not downloaded, however. If the formula of a recipe item references a variable, that variable must
exist in the recipe and must have a value, otherwise the download aborts.

Also notice that the Completion Status field is updated prior to downloading. Refer to the section
Defining the Completion Status Indicator for more information about possible Completion Status field
values.

Handling Errors

Should the Recipe Builder find errors prior to downloading the recipe, it displays an error message box
with the following text:

Precheck of recipe recipe


completed with x database errors

You can display these errors by selecting the View button on the message box. When you select this
button, the Precheck Error List dialog box appears and displays a list of errors.

49
Creating Recipes

Common download precheck errors include an active download interlock, downloading to a node that
is not running SAC, attempting to download a recipe item without a formula or override value, and
attempting to download to a tagname that does not exist. To correct these, or any other errors, you
must cancel the download first. For additional information about handling precheck errors, refer to the
section Understanding Audit Trail and Error File Messages.

NOTE: If the Recipe Builder encounters precheck errors for the upload or download interlock, the
Item No. field in the Precheck Error List dialog box is left blank for that block. To correct the error for
either interlock, open the database and make the necessary changes or change the interlock with the
Advanced Options dialog box.

Displaying Download Results


After the recipe has been downloaded, the Recipe Builder displays its results. The exact results depend
on whether recipe verification has been enabled.

If none of the recipe items have verification enabled, the Recipe Builder displays the following text
when it successfully downloads the recipe:

Download of recipe recipe completed with


NO ERRORS

Click OK to acknowledge the message.

NOTE: If you notice alarm entries missing from an alarm file after a recipe is downloaded, the alarm
file queue may not be large enough. To correct this problem, increase the size of the Alarm File Queue
so that it is larger than the recipe. For example, if the recipe has 100 recipe items, the queue size
should be at least 101. For information on how to increase the size of an alarm queue, refer to the
section Modifying the Alarm Queues in the Implementing Alarms and Messages manual.

If the Recipe Builder was unable to download one or more of the recipe values to the database, the
Download Error List dialog box appears.

NOTE: The information listed in this dialog box reflects the state of the recipe at the time of the
download. If you modify the recipe after the Download Error List dialog box appears, the information
displayed in the dialog box will not reflect the current state of the open recipe.

Common causes for write errors are if the target block is in Automatic mode instead of Manual mode,
if the block is off scan, or if the block is assigned to a security area that is not defined in the recipe user
account on the target node. For additional information about handling download write errors, refer to
the section Understanding Upload and Download Messages. For information about using the recipe
user account, refer to the chapter Recipe Security.

The following figure shows what happens when recipe verification is enabled.

50
Creating Recipes

Displaying Verification Results

Notice that when a write error occurs, the Download Error List dialog box appears.

Verifying a Recipe
If no write errors occur, the Recipe Builder begins verifying each recipe item that has verification
enabled. Using the Verify column in the spreadsheet, you can select the recipe items you want to
verify.

The Recipe Builder handles recipe verification by reading the target block field and comparing its
current value in the database against the value in the recipe. When the two values match, the recipe
item is verified.

IMPORTANT: Because the Recipe Package reads and writes from the same set of blocks, you can
only verify recipe items that specify blocks with an input and output capability. These blocks include
the Analog Input, the Analog Alarm, the Analog Register, the Digital Input, the Digital Alarm, the
Digital Register, and the Text block. Attempting to verify a recipe that contains any other type of block
can produce unexpected results.

When verifying Digital Register blocks, make sure the type of formula agrees with the type of field
specified in the identifier. Only use strings with the A_CV field and only use numeric values with the
F_CV field. If you do not, the Recipe Builder cannot verify the block's value. For example, if you
specify the field A_CV, enter a string formula that matches the label for the appropriate state of the
block, such as "OPEN".

If one or more recipe items reference an Analog Register or Digital Register block, you may
experience difficulty verifying these items. To resolve this problem, create an Analog Input block for
each poll record referenced by the recipe. Make sure the scan time of the Analog Input block is shorter
than the access time of the poll record it is assigned to. This setup ensures that the I/O driver does not
time out and stop polling the poll record. By continuously polling each address, you ensure that data is

51
Creating Recipes

available for verification.

As it verifies a recipe, the Recipe Package continually reads the values of the target blocks until each
recipe item that you selected is verified or the time-out interval expires. All recipe items must verify at
the same time in order to verify a recipe successfully. For example, consider the following.

First Pass Second Pass Third Pass

Recipe Item 1 Verified Not verified Verified

Recipe Item 2 Not verified Verified Verified

Recipe Item 3 Verified Verified Verified

In this example, the recipe is verified only on the third pass through it, because only on the third pass
are all recipe items verified. When one or more recipe items are not verified, as shown above, the
Recipe Builder starts from the beginning of the recipe and attempts to verify each recipe item you have
selected again.

The time-out interval specifies the amount of time the Recipe Builder spends verifying the recipe. If
this interval expires without verifying the recipe, a time-out error occurs and the verification process
ends.

NOTE: The time-out interval you specify applies to the local node. All recipes downloaded from the
local node will use this time-out interval.

If the time-out interval expires, the Recipe Builder displays the Verification Error List dialog box.

NOTE: The information listed in the Verification Error List dialog box reflects the state of the recipe
at the time of the download. If you modify the recipe after the Verification Error List dialog box
appears, the information displayed in the dialog box will not reflect the current state of the open
recipe.

Common verification errors include attempting to verify a block that is off scan or attempting to verify
blocks on a node that does not have SAC running. For additional information about handling
verification errors, refer to the section Understanding Upload and Download Messages.

Changing the Verification Time-out Interval


By default, the verification time-out interval is 30 seconds. However, if you find that the verification
process is timing out you may need to give your system more time to read process values and update
the database.

To modify the time-out interval:

1. From the Recipe Builder, on the File menu, click Exit. If necessary, save any changes you
have made to the current recipe.

52
Creating Recipes

2. In a text editor, open the RCP.INI file. This file resides in the Local path. You should see the
following text:
[startup]
startup.mode=2
verification.timeout=30

3. Modify the time-out interval by changing the value from 30 to some other value. Possible
values for the time-out interval are from 1 to 65,535 seconds.
4. After modifying the time-out interval, save the RCP.INI file and restart the Recipe Builder.
5. With the new time-out interval, try downloading the recipe again.

For information about verification errors, refer to the section Verifying a Recipe.

Uploading from the Recipe Builder


Uploading a recipe is the process of reading process values from the database and storing them in the
open recipe. While uploading values from your process may not be done very often, it can be useful
when you want to quickly create a recipe by capturing the current process values being used.

When the Recipe Builder uploads a recipe, it replaces recipe item formulas that contain numeric or
string constants. Formulas containing variables, mathematical expressions, keywords, or recipe
functions are not replaced.

CAUTION: If the Recipe Builder cannot read a process value from the database, it clears the existing
formula for that recipe item without inserting a new value to indicate that the associated tagname
could not be read or could not be found in the database. Before saving the uploaded recipe, make sure
you examine your recipe for completeness. If any formulas are blank, do not save the recipe or you will
overwrite the formulas saved in the file.

Aside from these differences, uploading a recipe is similar to downloading a recipe except that recipe
verification is not available. The recipe upload process is summarized below.

To upload a recipe:

1. Select the Upload button from the recipe header.


The Recipe Builder does error-checking. If the Recipe Builder detects an error, the upload
aborts. If the Recipe Builder detects no errors, the upload begins. The Recipe Builder
completes the upload and displays the results in a message or dialog box.
2. Acknowledge the message box or dialog box.

The sections Starting the Upload Process, Checking for Errors Before Uploading, Displaying Upload
Results describe each portion of the upload process. Refer to these sections for more information about
the upload process.

Starting the Upload Process


You can start the upload process from the Recipe Builder by selecting the Upload button. The
following figure provides a flowchart of what happens when you select this button.

53
Creating Recipes

Selecting the Upload Button

Checking for Errors Before Uploading


As the previous figure shows, if iFIX security has not been enabled or if the user account has the
necessary application feature, the Recipe Builder examines the recipe for errors. The following figure
provides a flowchart of the steps the Recipe Builder performs before uploading a recipe.

Examining a Recipe for Errors During an Upload

As you can see, this process is similar to the steps taken when downloading a recipe. For example, just
as with downloading, the Recipe Builder examines the database to ensure the specific blocks exist.

Similarly, the Completion Status field is updated when the upload process begins. The Completion

54
Creating Recipes

Status Values table describes the possible values and their meaning.

Should the Recipe Builder detect an error, it displays an error message box with the following text:

Precheck of recipe recipe


completed with x database errors

You can display these errors by selecting the View button on the message box. When you select this
button, the Precheck Error dialog box appears and displays a list of errors.

Common upload precheck errors include an active upload interlock or an attempt to upload from a
tagname that does not exist. To correct these, or any other errors, you must cancel the upload first. For
additional information about handling precheck errors, refer to the section Understanding Audit Trail
and Error File Messages.

NOTE: If the Recipe Builder encounters precheck errors for the upload or download interlock, the
Item No. field in the Precheck Error List dialog box is left blank for that block. To correct the error for
either interlock, open the database and make the necessary changes or change the interlock with the
Advanced Options dialog box.

Displaying Upload Results


After the recipe has been uploaded, the Recipe Builder displays its results. The following figure
summarizes the possible results.

Displaying Recipe Upload Results

Notice that when a read error occurs, the Upload Error List dialog box appears.

NOTE: The information listed in this dialog box reflects the state of the recipe at the time of the
upload. If you modify the recipe after the Upload Error List dialog box appears, the information
displayed in the dialog box will not reflect the current state of the open recipe.

Common upload read errors include an active upload interlock or uploading from a block that is off
scan. For additional information about handling upload read errors, refer to the section Understanding
Upload and Download Messages.

Uploading and Downloading From an Operator Display


While it is possible to upload or download a recipe from the Recipe Builder, you may want to create or

55
Creating Recipes

modify operator displays that upload or download recipes.

When an operator uploads or downloads a recipe from an operator display, the Recipe Package uploads
or downloads each recipe item. No dialog or message boxes appear to inform you about the status of
the recipe during the upload or download. Any errors that occur are not saved unless you enable the
audit trail or use the Error File command line parameter.

When uploading a recipe, the Recipe Package automatically saves the recipe. If the Recipe Upload
system task cannot read a process value from the database, it clears the existing formula for that recipe
item.

If the recipe being downloaded has recipe items with verification enabled, these recipe items are
verified as part of the download process. Refer to the sections Displaying Download Results, Verifying
a Recipe, and Changing the Verification Time-out Interval for more information about recipe
verification.

In addition, if security has been enabled, iFIX compares the security areas of the target blocks to the
security areas assigned to the Recipe user account. If the security system finds a match, it downloads
the recipe value. Otherwise, the value is not written to the database.

Similarly, iFIX compares the security area of the operator display against the security areas assigned to
the currently logged in user. If a match is found, iFIX opens the display. Neither the security rights to
recipe application features nor the security area of the recipe is examined.

To upload or download a recipe from an operator display, create a picture with the necessary objects.
For each object you want to use for uploading or downloading include a script with the Shell function.
This function, when executed, starts the recipe system task you specify.

For example, you may want to add push button objects to upload and download recipes. The following
sample script shows how you can download a recipe:

Private Sub Button1_Click()


Dim download As String
Dim return_value As Double

download = System.ProjectPath + "\RCPDOWN" + " /cRCPFILE /e"


return_value = Shell (download, 0)
End Sub

To create an upload script, define a variable called upload in place of the download variable and
substitute the reference to RCPDOWN with RCPUP as follows:

upload = System.ProjectPath + "\RCPUP" + "/cRCPFILE /e"

Including Command Line Parameters


As these examples show, you can include command line parameters in the script. To help troubleshoot
the upload and download process, you should include the Error File parameter so that any errors are
saved in an error file called recipe.RCE. This file resides in either the Master Recipe path or the
Control Recipe path, depending on the type of recipe that was uploaded or downloaded. You can
display the contents of this file using a text editor.

If you have enabled the audit trail for the recipe, you may also want to include the Batch ID and
Download Remarks parameters. To learn more about the command line parameters for the Recipe
Upload and Recipe Download programs, refer to the appendix Command Line Parameters. For more

56
Creating Recipes

information about the Shell function, refer to the Microsoft Visual Basic Reference Help system.

Scheduling a Recipe for Automatic Upload or Download


Depending on your needs, you may want to automatically upload or download a recipe. You can
automatically upload or download a recipe, using a Program block or the Scheduler. For more
information about the Scheduler, refer to the Mastering iFIX manual.

When you upload or download from a Program block, no dialog or message boxes appear to inform
you about the status of the recipe during the upload or download. Any errors that occur are not saved
unless you enable the audit trail or use the Error File command line parameter.

When uploading a recipe, the Recipe Package automatically saves the recipe. If the Recipe Upload
system task cannot read a process value from the database, it clears the existing formula for that recipe
item.

If the recipe being downloaded has recipe items with verification enabled, these recipe items are
verified as part of the download process. Refer to the sections Displaying Download Results, Verifying
a Recipe, and Changing the Verification Time-out Interval for more information about recipe
verification.

In addition, if security has been enabled, iFIX compares the security areas of the target blocks to the
security areas assigned to the Recipe user account. If the security system finds a match, it allows the
block's process value to change. Otherwise, no value is written to the database. Neither the security
rights to recipe application features nor the security area of the recipe is examined.

Configuring a Program Block


You can schedule a recipe for automatic uploading or downloading by configuring a Program block
with the RUNTASK command. This command allows you to run the recipe system tasks automatically
at specific times or when a specific event occurs. The following table provides examples of the
RUNTASK syntax you need to execute the Recipe Download and Recipe Upload programs for a
control recipe.

Automatic Upload/Downloads with a Program Block

To run the... Use the command...

Recipe Download program RUNTASK RCPDOWN /ccontrol_recipe /e

Recipe Upload program RUNTASK RCPUP /ccontrol_recipe /e

To help troubleshoot the use of the RUNTASK command, you should include the Error File parameter
with the Recipe Upload and Recipe Download programs. Using this parameter enables the Recipe
Package to record errors in an error file called recipe.RCE. The file resides in the Control Recipe path
(when working with control recipes) or the Master Recipe path (when working with master recipes).
You can display the contents of this file using a text editor.

57
Creating Recipes

Scheduling an Upload or Download


By using other Program block commands with the RUNTASK command, you can schedule when to
upload and download a recipe. For example, to schedule a control recipe to be downloaded once a day,
use the following commands:

Command Action

WAITFOR TIME = 12:00:00 Wait until noon.

RUNTASK RCPDOWN /ccontrol_recipe /e Download the recipe.

To download the recipe at a different time, change the time in the WAITFOR command.

Alternatively, you can configure a Program block to upload or download a recipe when a specific
event occurs. For example, assume you want to download a recipe when the download interlock
becomes inactive. To do this, use commands similar to the following:

Command Action

WAITFOR ILK1=0 Wait until interlock becomes inactive.

RUNTASK RCPDOWN /ccontrol_recipe /e Download the recipe.

To learn about the command line parameters for the Recipe Upload and Recipe Download programs,
refer to the chapter Command Line Parameters.

Accelerating the Upload or Download


To accelerate the upload or download time, you can change the display time of the dialog box that
automatically displays. Add the dialogdisplaytime setting to the rcp.ini in the iFIX Local path. For
example:

dialogdisplaytime=1000

where 1000 is equal to a 1 second (1000 milliseconds) display time.

Working with Formulas


One of the most flexible features of the Recipe Builder is its ability to include formulas in recipes. A
formula is like a programming assignment statement. It enables you to specify how the Recipe Builder
should calculate a value for a recipe item or variable.

You can construct a formula by entering one or more of the formula items listed in the following table
into the Formula column of the spreadsheet.

58
Creating Recipes

Formula Items

Formula Examples

String constant "John"

Numeric constant 5 or 0.5

Mathematical operators +, -, *, /,^, = =, <=

Function Log(234) or Lookup (#BATCH;1;2;3;4;5)

Variable name #COLOR

Keyword #BATCH

By combining the items listed above, you can represent a value as best fits your needs. For example,
the sample recipe, you may remember, requires 150 pounds of yeast to be added during fermentation.
You can represent this amount as a numeric constant by entering 150 in the Formula column for the
appropriate tagname. If you prefer, you can also assign this value to a variable and then use the
variable as the formula for the block as shown below:

Identifier Formula

#Yeast 150

FERMENT1:Q16F1.F_CV #Yeast

You could also represent the quantity as a mathematical expression such as 100*1.5. Assuming 100 is
the standard batch size and 1.5 is the amount of yeast required for every barrel of beer produced, you
can also represent the quantity with the following keyword and variable as follows:

#STD_BATCH*#Lbs_Per_Barrel

Understanding Formula Syntax


Before you begin using formulas in your recipes, refer to the following sections to learn about the
syntax of recipe keywords, functions, and operators:

• Working with Functions


• Understanding Formula Operators
• Understanding Recipe Keywords

59
Creating Recipes

In addition to the syntax of these items, all strings in a formula must be enclosed in quotation marks ("
") and you must precede a number less than one with a leading zero (for example, 0.5).

Working with Functions


The Recipe Builder provides a set of functions common to most spreadsheet programs. The following
table summarizes the available recipe functions and their syntax. All trigonometric functions require
values entered in radians.

Functions

When you select the function... The Recipe Builder calculates the... Syntax

ABS Absolute value of number. ABS (number)

ACOS Arccosine of number. ACOS (number)

ASIN Arcsine of number. ASIN (number)

ATAN Arctangent of number. ATAN (number)

COS Cosine of number. COS (number)

EXP Anti-log of number. EXP (number)

INT Integer value of number. INT (number)

LOG Natural log of number. LOG (number)

LOG10 Base 10 log of number. LOG10 (number)

SIN Sine of number. SIN (number)

SQRT Square root of the number. SQRT (number)

TAN Tangent of number. TAN (number)

In addition to the functions listed in the previous table, the Recipe Builder also provides the Lookup
and Index functions. These functions help you locate a value within a list.

The Lookup Function

The Lookup function locates and uses the nth value in a list, where n is a zero-based integer. You can
use the following syntax for this function:

60
Creating Recipes

LOOKUP (number; numeric list)


or
LOOKUP (number; string list)

The Lookup function also allows you to substitute a variable name or keyword anywhere you can use a
number or string value.

When the Recipe Builder evaluates the Lookup function, it uses the value of number to select the
appropriate value from the list. For example, consider the following:

Identifier Formula Calc Val

#Yeast 3 3

#Result LOOKUP (#Yeast;0;150;300;450;600) 450

When the Recipe Builder evaluates this function, it uses the value of the variable #Yeast to determine
the value of the function. The following table lists the possible values of the function.

If the value of #Yeast is... Then the function evaluates to...

0 0

1 150

2 300

3 450

4 600

None of the above ??????

The Index Function

The Index function is similar to the Lookup function. The Index function locates the position of a
number or string within a list. The position of each item is zero-based. As a result, the first item
evaluates to zero, the second item to one, the third item to two, and so on. You can use the following
syntax for this function:

INDEX (number; numeric list)


or
INDEX (string; string list)

The Index function also allows you to substitute a variable name or keyword anywhere you can use a
number or string value.

61
Creating Recipes

When the Recipe Builder evaluates this function, it searches for a match between number or string and
the accompanying list. If it does not find a match, the value of function equals the number of items in
the list. If it finds a match, the function equals the position of the located item in the list.

For example, consider the following:

Identifier Formula Calc Val

#Beer_Type "Ale" "Ale"

#Result INDEX (#Beer_Type; "Dark Beer"; "Ale"; "Mead"; "Stout") 1

When the Recipe Builder evaluates these recipe items, it searches the list for the value of #Beer_Type.
Since the value of #Beer_Type is "Ale", the Index function yields a value of one. The following table
lists all possible values of the function.

If the value of #Beer_Type is... The value of the formula is...

"Dark Beer" 0

"Ale" 1

"Mead" 2

"Stout" 3

None of the above 4

NOTE: The Index function does non-case sensitive string matching when string values are specified.

iFIX supports the international formats supported in Windows. The recommended list separator for the
Index and Lookup functions is a semicolon (;).

Understanding Formula Operators

Operator Precedence

The Recipe Builder provides a set of operators common to many spreadsheet programs. The following
table lists the available formula operators from high to low precedence. The Recipe Builder uses the
precedence of an operator to determine which operator to evaluate first. An operator with a higher
precedence is evaluated first. Operators with the same precedence are evaluated in the order they occur
in the formula from the left to right.

62
Creating Recipes

Formula Operators

Operator Syntax Precedence

( ) (parentheses) (expression) 1

- (unary minus) - number 2

All functions See the Functions table. 2

^ (exponentiation symbol) number ^ number 3

* (multiplication) number * number 4

/ (division) number / number 4

+ (addition) number + number 5

- (subtraction) number - number 5

< (less than) number < number 6

<= (less than or equal to) number <= number 6

> (greater than) number > number 6

>= (greater than or equal to) number >= number 6

!= (not equal to) number != number 6

== (equal to) number = =number 6

Changing the Order of Precedence

You can change the order in which the Recipe Builder evaluates a formula by enclosing a portion of it
in parentheses. Expressions enclosed in parentheses have the highest precedence of any part of the
formula.

63
Creating Recipes

For example, consider the formulas listed below:

Formula Value

5*3^2 45

(5*3)^2 225

Understanding Recipe Keywords


Recipe keywords are variables reserved for use by the Recipe Builder. The following table summarizes
the available recipe keywords. The keywords #STD_BATCH, #BATCH, and #SCALE contain
numeric values. All other keywords contain string values.

Recipe Keywords

The Contains To set the value of the keyword...


keyword... the...

#BATCH Current batch Select the Set Batch Size from the Options menu. The
size Batch Size dialog box appears.
Complete the Batch Size field in the dialog box.

#BATCH_ID Batch ID With the audit trail enabled, select the Download button
from the Recipe Builder. The Download dialog box
appears.
Complete the Batch ID field in the dialog box.

#REMARKS Download With the audit trail enabled, select the Download button
remarks from the Recipe Builder. The Download dialog box
appears.
Complete the Download Remarks field in the dialog
box.

#BATCH_UOM Batch unit of Complete the Batch UOM field in the recipe header.
measure

#NAME Recipe name Open a recipe or save an untitled recipe.

#PRODUCT Name of the end Complete the Product field in the recipe header.
product

64
Creating Recipes

Recipe Keywords

The Contains To set the value of the keyword...


keyword... the...

#SCALE Batch scaling 1. Complete the Standard Batch Size field in the recipe
factor header.
2. Select the Set Batch Size from the Options menu. The
Batch Size dialog box appears.
3. Complete the Batch Size field in the dialog box. The
Recipe Builder automatically calculates the scaling
factor dividing the #STD_BATCH by #BATCH.

#STD_BATCH Standard batch Complete the Standard Batch Size field in the recipe
size header.

#TAG_GROUP Assigned tag 1. Select the Assign Tag Group from the Option menu.
group file name The Assign Tag Group dialog box appears.
2. Complete the Tag Group File name field in the dialog
box.

#UNITS Process unit Complete the Units field in the recipe header.
used by the
recipe

NOTE: The keyword #BATCH_ID and #REMARKS always appear blank in the recipe, but the text you
enter for each keyword is downloaded to the database when you assign either keyword to a tagname.

The Recipe Builder allows you to use a keyword containing a string value in place of a string constant.
For example, consider the following formula:

INDEX ("BEER"; "ALE"; #PRODUCT; "MEAD")

In this example the value of the keyword #PRODUCT is used in place a string constant.

You can also substitute a keyword with a numeric value for an actual number. For example:

INT(#BATCH)

This formula calculates the integer value of the current batch size.

Working with Variables and Formulas

Including Variables in Formulas

Just as you can use keywords in place of string and numeric constants, you can use variables in place
of string and numeric values. For example, in place of the #BATCH in the previous example, you can
use the variable #YEAST.

65
Creating Recipes

Deleting Variables

Be careful about deleting a variable. If you delete a variable that another variable or recipe item
references, the Recipe Builder displays the text ?????? in the Calc Val column of the item that
referenced the deleted variable. While the Recipe Builder displays this text, the recipe cannot be
downloaded. To fix this situation, do one of the following actions:

• Edit the formula of the recipe item or variable that references the deleted variable.
• Create a variable with the same name as the variable you deleted.
• Override the recipe item or variable that references the deleted variable.

To avoid deleting variables that are referenced by another item in the spreadsheet, search the Formula
column for the variable name before you delete it from the recipe.

Creating Formulas
Once you know the keywords, operators, and functions you want to use, you can define a formula by
selecting a cell in the Formula column of the spreadsheet and entering the formula into the text editing
box.

If your recipe has a value that is repeatedly reused, you may find it helpful to represent the value with a
variable at the top of the spreadsheet. While you do not have to keep variables at the beginning of the
spreadsheet, doing so makes maintaining and customizing a recipe easier.

Modifying and Recalculating Formulas


As your needs change, you may find it necessary to modify a formula. You can do this by selecting the
formula you want to edit and modifying it as needed.

When you finish editing the formula, press <Enter>. The Recipe Builder automatically recalculates all
recipe formulas in the order they occur.

If the Recipe Builder cannot recalculate a formula (for example, when one or more variables
referenced by the formula are undefined) an error message box appears displaying the following text:

Recalculation failed at item #x. Error xxxx error_text

The Recipe Builder also stops recalculating all formulas that come after the incalculable formula. The
following figure shows an example of this and how to correct the error.

66
Creating Recipes

Recalculating Formulas

You cannot change a recipe item with a field type of A_ and a string formula to an F_ field. If you
attempt to do this, the following error message appears:

Checking this item. Only F_ and A_ fields are allowed.

Overriding the Calculated Value


Formulas enable you to represent a value in a generic way. For example, you can represent the batch
size of a product with the following formula:

#STD_BATCH*0.5

By representing the batch size with this formula, you can adjust its value by changing the value in the
Standard Batch Size field or the scaling factor represented by the numeric constant 0.5.

However, you may find circumstances when using a formula is inappropriate. For example, suppose
you are making beer for an upcoming holiday. Assume for this product that you need to lower the
temperature that the beer ferments at and increase the fermentation time.

Using the Recipe Builder, you can adjust the formulas for the temperature set point and fermentation
time. Alternatively, you can override the calculated value for these items. When you override a value,
you specify a process value to use in place of the recipe item's or variable's calculated value.

Entering an Override Value

You can enter an override value by selecting the appropriate cell in the Override Val column and
typing the new value in the text editing box. The range of values you can enter into the Override Val
column depends on the high and low override limits defined for a specific recipe item or variable. To
set the override limits for a recipe item or variable, refer to the section Entering Override Limits.

67
Creating Recipes

After you enter an override value, the Recipe Builder continues recalculating the formula of the
overridden item. All recipe items that reference the overridden recipe item or variable are recalculated
using the override value.

Batch Resizing Overridden Values

The Recipe Builder also warns you when attempting to scale overridden recipe items and variables by
displaying a message box with the following text:

There are recipe items with OVERRIDE VALUES

Select the Clear All button to clear all override values or select the Continue button to keep the
overrides in effect and set the batch size. To quit without making any changes, select the Cancel
button. For more information on scaling batches, refer to the section Scaling the Batch Size.

Entering Override Limits


When you add or insert a recipe item or variable, the Recipe Builder automatically sets the high and
low override limits to UNRESTRICTED. This allows anyone to enter any override value needed. If
you want to restrict the possible value of the override value, change the override limits.

To enter an override limit into the Override Lo Lim column or the Override Hi Lim column, select a
cell in either column and type the limit you want in the text editing box.

The following table provides guidelines for entering values in each column. If you are entering values
from the text editing box, follow the guidelines below.

Override Limits

To set an override Type...


limit to...

Unrestricted U

An absolute value The value you want to use. For example, to set the low limit to 50, type
50<Enter> in the Override Lo Lim column.

A relative percentage The percentage of the calculated value you want to use. Be sure to
of the calculated value include a percent sign (%) after the percentage. For example, to set the
high limit to 10%, type 10%<Enter> in the Override Hi Lim column.

A relative difference The difference from the calculated value you want to use followed by a
from the calculated minus sign (-). For example, to set the high limit to 10 over the
value calculated value type 10-<Enter> in the Override Hi Lim column.

Restricted R

For more information about override limits, refer to the section Spreadsheet Columns.

68
Creating Recipes

If you prefer, you can enter the override limits using the Override Limit dialog box. To display this
dialog box, double-click a cell in either override limit column.

When the Override Limit dialog box appears, select the appropriate radio button and, if there is a field
to the right of the button, use the guidelines in the table Override Limits to enter a value into that field.

Deleting Overrides
When you want to remove an override value, select it and press <Delete>. To delete all the override
values in use, select the Clear Overrides button. When you select this button, a message box with the
following text appears:

Are you sure you want to clear all overrides?

Select the Yes button to delete every override value. To retain the override values select the No button.

Advanced Features
The Recipe Builder provides some advanced features that you may find helpful when using recipes.
The following table lists each feature, the command associated with it, and the section to refer to for
more information.

Recipe Builder Advanced Features

Feature Command Section

Scaling the batch size of a recipe Set Batch Size Scaling the Batch Size

Assigning a tag group to a recipe Assign Tag Assigning Tag Groups


Groups

Defining the upload and download interlocks for


a recipe

Advanced Using an Advanced


Assigning a recipe to a security area
Options Option

Defining the completion status indicator

Keeping an audit trail of recipe activity

Scaling the Batch Size


Whenever you want to produce a varied amount of the product you are making, the Recipe Builder

69
Creating Recipes

enables you to scale the batch size of a recipe. When scaling the batch size, the Recipe Builder
preserves the relative proportions among the recipe items and variables being scaled.

The Recipe Builder allows you to scale a recipe's batch size in the Recipe Development window. The
first step in scaling a batch is to complete the Standard Batch Size field in the recipe header. The
Recipe Builder assigns the batch size value you enter to the #STD_BATCH keyword. The program
then uses the specified value to calculate the scaling factor. For more information on the Standard
Batch Size field, refer to the section Recipe Header.

After you define the standard batch size, you must define the current batch size of the recipe. You can
define this quantity with the Set Batch Size command.

When you select this command the Batch Size dialog box appears. This dialog box contains the Batch
Size field. This field allows you to specify a value for the current batch size from 0.000001 to
9,999,999.0.

To set the batch size:

1. On the Options menu, click Set Batch Size. The Set Batch Size dialog box appears.
2. In the Batch Size field, enter the amount of the product you want to make.

When you select the OK button on the Set Batch Size dialog box, the Recipe Builder assigns the value
you entered to the #BATCH keyword and displays it in the Batch Size field of the recipe display area,
as the following figure shows. The Recipe Builder also divides #BATCH by #STD_BATCH to
compute the scaling factor. The result of this calculation is stored in the #SCALE keyword.

The Recipe Display Area

The next step is to multiply the formula of each recipe item you want to scale by #SCALE. Once this is
done, you can scale a batch by changing the current batch size. The following figure shows how to use
#SCALE in a recipe.

70
Creating Recipes

Scaling a Batch

If you attempt to change the batch size of a recipe item or variable with an overridden formula, the
Recipe Builder warns you by displaying a message box with the following text:

There are recipe items with OVERRIDE VALUES

Select the Clear All button to clear all override values or select the Continue button to keep the
overrides in effect and set the batch size. To quit without making any changes, select the Cancel
button.

Assigning Tag Groups


With the Recipe Builder, you can create one recipe for each production line you have. When the
product being made on each line is different, this is the most straightforward way to use recipes.
However, if you have similar production lines that produce similar products, you may want to assign a
tag group to a recipe. The tag group defines a set of tagnames.

Tag groups enable you to put generic symbols in the Identifier column of a recipe. A symbol is a label
defined in the Tag Group Editor. In a recipe, a symbol represents a tagname. During a download or
upload, the Recipe Builder reads the tag group file assigned to the recipe and substitutes the tagnames
for the symbols in the recipe. By having different tag group files for each product you want to make,
you can create one, multi-purpose recipe that functions with many different locations and different
equipment.

For example, suppose you want the option of switching among three fermenters. One way you could
do this is to duplicate the sample recipe for the second and third fermenters. These recipes would be
identical to the sample recipe except for the tagnames that control the fermenting time, the temperature
set point, and the scale set point.

However, by creating three tag groups you can save yourself the need of creating the two additional
recipes. And since the production lines share the same recipe, when you update a recipe for one line,
you update it for every line using that recipe.

71
Creating Recipes

Each tag group you plan to use lists the tagnames required for the fermenter used by the recipe as
shown below:

Fermenter 1 Tagnames Fermenter 2 Tagnames Fermenter 3 Tagnames

T16F1.F_CV T16F2.F_CV T16F3.F_CV

K16F1.F_CV K16F2.F_CV K16F3.F_CV

W16F1.F_CV W16F2.F_CV W16F3.F_CV

The sample recipe would then be modified replacing the specific tagnames with tag group symbols.
Symbols can have a length of 32 characters and must have the following format:

?string

where string is a 31-character string. The string must begin with a single alphabetic character and can
be followed by one or more alphanumeric characters. Each symbol must be unique. For more
information about tag groups and symbols, refer to the chapter Using the Tag Group Editor.

One way you might use symbols in the sample recipe is to replace T16F1.F_CV, K16F1.F_CV, and
W16F1.F_CV with the symbols ?BeerTemp, ?BeerTime, and ?YeastWeight respectively. The
following figure shows the resulting sample recipe and the tag groups. Notice that each tag group uses
the same symbol but associates a different tagname with it. For example, in the Fermenter 1 tag group
the symbol ?BeerTemp is associated with the tagname T16F1.F_CV but in the Fermenter 3 tag group
the same symbol is associated with the tagname T16F3.F_CV.

72
Creating Recipes

Using Tag Groups

To use a tag group in a recipe, do one of the following:

• Create a list of the symbols defined for the tag groups you want to use. Make sure the tag
group symbols are identical across each tag group. After you create this list, enter the tag
group symbols in the Identifier column of the recipe.
• Define the symbols in the recipe first and create the tag group with the Tag Group Editor.

After you enter the symbols into the recipe and create the tag group file, you can assign the tag group
to the recipe using the Assign Tag Group command. This command is only available from the Recipe
Development window. When you select the command the Assign Tag Group dialog box appears. This
dialog box contains the Tag Group Filename field. This field allows you to enter the name of the tag
group file you want to use for this recipe. Tag group files are stored in the Picture path and have the
extension .TGE.

To assign a tag group to a recipe:

1. On the Options menu, click Assign Tag Group. The Assign Tag Group dialog box appears.
2. In the Tag Group Filename field, enter the tag group file you want to assign to the recipe, or
select the browse (...) button to the right of the field and double-click the tag group file you
want to assign to the recipe from the list that appears.

73
Creating Recipes

After you assign a tag group to a recipe, you can display the tagnames by selecting the Show
Tagnames command. To display the symbol names again, select the Show Symbols command. For
more information about these commands, refer to the section Displaying Tag Group Tagnames.

NOTE: If you download or upload a recipe with a symbol name defined, the Recipe Builder substitutes
the tagname for the corresponding symbol prior to reading or writing a value.

Using the Tag Group Parameter


If you plan to download recipes from the Scheduler, a Program block, or operator displays, you may
find using the Tag Group command line parameter helpful. This parameter overrides the tag group
assigned to the recipe and uses the tag group specified in the command line. For more information
about this parameter, refer to the section Tag Group Parameter.

Using an Advanced Option


The Recipe Builder includes a set of advanced options that enable you to do the following:

• Define the upload and download interlocks for the recipe.


• Define the tagname of an upload/download status indicator.
• Assign the recipe to a security area.
• Keep an audit trail of recipe activity.

You can complete each of these tasks using the Advanced Options command. When you select this
command, the Advanced Options dialog box appears.

The following sections describe the dialog box controls and how to complete the dialog box.

Defining the Upload and Download Interlocks


Below is a summary of the fields you need to complete to define the upload and download interlocks.

Download field — defines the tagname or tag group symbol that acts as a download interlock for
the recipe. When you download a recipe, the Recipe Builder verifies that the value of the
block is zero. This means that the interlock is inactive. If the value of the block is non-zero,
the interlock is active and the Recipe Builder aborts the download process.

Upload field — defines the tagname or tag group symbol that acts as an upload interlock for the
recipe. When you upload a recipe, the Recipe Builder verifies that the value of the block is
zero. This means the interlock is inactive. If the value of the block is non-zero, the interlock
is active and the Recipe Builder aborts the upload process.

By default, the F_CV field is assigned to the interlock tagname when no field name is specified.
However, you can enter any F_ field for the tagname (such as F_04 for a Digital Register block).

To define the upload and download interlocks for the current recipe:

1. On the Options menu, click Advanced Options. The Advanced Options dialog box appears.

74
Creating Recipes

2. In the Download field, enter the tagname or tag group symbol of the block that acts as a
download interlock for the recipe. In the Upload field, enter the tagname or symbol of the
block that acts as an upload interlock. If you prefer, you can select the browse (...) button to
the right of either field and select the tagname from the dialog box that appears.

Defining the Completion Status Indicator


When you download or upload a recipe, the Recipe Package can monitor the recipe's progress and
store this information in any analog block you specify. This block acts as a completion status indicator.
The analog block you select must have an EGU range from zero to at least four and must be in Manual
mode. To ensure future compatibility, it is recommended that you set the high EGU value to 100. Do
not specify a negative number for the high or low EGU value. Negative numbers will cause the
completion status indicator to display inaccurate information.

To define the completion status indicator, enter the tagname or tag group symbol of an analog block in
the Completion Status group box. The Recipe Builder monitors the recipe's progress when you specify
the block to use as the completion status indicator in the Completion Status group box.

By default, the F_CV field of the block is assigned to the tagname if you do not specify a field name.
However, you can specify any F_ field for the tagname (such as F_02 for an Analog Register block).

Completing the group box is optional. When you leave it blank, the Recipe Package does not monitor
the completion status of an upload or download.

To specify the completion status indicator:

1. On the Options menu, click Advanced Options. The Advanced Options dialog box appears.
2. In the Completion Status group box, enter the tagname of the block that acts as the completion
status indicator for the recipe, or select the browse (...) button and select the tagname from the
dialog box that appears.
The tagname referenced is written to during an upload or download. The following table lists
the possible values for the completion status indicator.

Completion Status Values

When The download or And the Recipe Builder has...


the value upload...
is...

0 Is in progress. Started downloading or uploading the recipe and has not


encountered any errors.

1 Aborted. Been unable to read or write the recipe values to the


database. An active interlock may have caused this
error.

2 Completed with Attempted to read or write the recipe values to the


errors. database. However, a read or write error occurred.

75
Creating Recipes

Completion Status Values

When The download or And the Recipe Builder has...


the value upload...
is...

3 Completed with no Successfully read or written all recipe values to the


errors. database. If any recipe items have verification enabled,
then the Recipe Builder has also verified these items.

4 Completed with Successfully written all recipe values to the database and
verification errors. completed the verification process. However, one or
(download only) more blocks could not be verified because the time-out
interval expired.

Using the Completion Status Indicator

Once you define this indicator, you can use it to post messages on an operator display using Visual
Basic for Applications. For example, when downloading a recipe from an operator display you could
create a button labeled "Recipe Status." By selecting this button, operators could monitor the progress
of a downloaded recipe by examining the value of the completion status indicator. The script for this
button would include the following:

DIM Status As Double


Status = Fix32.FERMENT1.RCPSTAT.F_CV
Select Case Status
Case 0
MsgBox "In progress"
Case 1
MsgBox "Aborted. Verify interlock is inactive"
Case 2
MsgBox "Read/write errors occurred. Restart node."
Case 3
MsgBox "Download/Upload Successful"
Case 4
MsgBox "Verification errors occurred."
End Select

Selecting a Security Area


For security reasons, you may want to restrict access to the recipes you create. Once you assign a
security area to a recipe, it can only be opened with the Recipe Builder if the logged in user has rights
to that security area. For example, if you assign security area A to the sample recipe, an operator who
wants to open it must have rights to that security area.

To select a security area for a recipe, complete the Security Area group box. This group box defines
the security area for the recipe. By default, the security area is set to NONE.

To select a security area for the current recipe:

1. On the Options menu, click Advanced Options. The Advanced Options dialog box appears.

76
Creating Recipes

2. In the Security Area group box, enter the appropriate text as indicated below. You can enter
up to 20 alphanumeric characters into the group box.
• To assign the recipe to every security area, type ALL.
• To assign the recipe to no security area, type NONE.
• To assign the recipe to a specific security area, type the security area name in the
group box.
If you prefer, click the browse (...) button and select a security area from the dialog
box that appears. Use the scroll bar or arrow keys to locate the security area you want.
Press the OK button to complete the selection.

Using an Audit Trail


The Recipe Package can track recipe activity in an audit trail whenever a recipe is uploaded,
downloaded, or saved. The Recipe Package provides two types of audit trails: a summary audit trail
and a detailed audit trail. The summary audit trail tracks recipe activity of the entire recipe, for
example, when a recipe was saved and why. The detailed audit trail tracks recipe activity on individual
recipe items, for example, which recipe items were downloaded.

Using the Audit Trail group box, you can select the type of audit you want. By selecting the audit trail
type, you instruct the Recipe Package to send the recipe information you want tracked as a message to
any alarm destination configured to receive it. Recipe messages are recorded along with any other
message the alarm destination is configured to receive. The alarm files that store recipe messages
reside in the Alarms path and are named yymmdd.ALM.

To set up an alarm destination to receive recipe messages, select the recipe message alarm areas you
need from the Application Message Routing dialog box of the SCU. For more information about
configuring alarm destinations, assigning alarm areas, or routing alarms, refer to the Implementing
Alarms and Messages manual.

Below is a summary of the Audit Trail group box. By making a selection from this group box you
control the type of audit trail the Recipe Builder keeps. Both types of audit trails enable the Recipe
Package to track the information described below to the available alarm destinations.

Summary Audit Trail option button — tracks the following information:

• When changes to master or control recipes are saved and the name of the logged in user that
saved the recipe.
• The text entered into the Recipe Mod Log dialog box.
• When a recipe is uploaded or downloaded and the name of the logged in user that uploaded or
downloaded the recipe.
• When an upload or download fails and why.
• The Recipe Package records this information whenever a recipe is saved, uploaded, or
downloaded. By default, the Summary Audit Trail radio button is selected.
Detail Audit Trail option button — tracks all the summary information listed above. In addition,
the Recipe Package also tracks the following download information:

• The recipe item values that were downloaded.


• The variables that were present in the recipe.

77
Creating Recipes

• The recipe items that failed to download, if any, and why.


No Audit Trail option button — disables the audit trail for the open recipe.

Using the Recipe Builder, you can enable or disable the audit trail for the open recipe.

To enable or disable the audit trail for the open recipe:

1. On the Options menu, click Advanced Options. The Advanced Options dialog box appears.
2. Select either the Summary Audit Trail radio button or the Detail Audit Trail radio button to
select the type of audit trail you want. To disable the audit trail, select the No Audit Trail
radio button.

The format of a summary message appears below.

date time activity recipe_filename tag_group_name batch_id description by


node::user remarks

The following table describes each field in the message.

Summary Message Format

The field... Contains ...

date The date when a recipe was uploaded, downloaded, or saved. This field is
included if the SCU is set up to include the date in recipe messages. Refer to
the section Setting up the Alarm and Message Format in the Implementing
Alarms and Messages manual for information on setting the format of these
messages.

time The time when a recipe was uploaded, downloaded, or saved. This field is
included if the SCU is set up to include the time in recipe messages. Refer to
the section Setting up the Alarm and Message Format in the Implementing
Alarms and Messages manual for information on setting the format of these
messages.

activity One of the following descriptions:


• SAV (when saving a recipe)
• DWN (when downloading a recipe)
• UPL (when uploading a recipe)

recipe_filename The name of the recipe file that was uploaded, downloaded, or saved.

tag_group_name The file name of the tag group assigned to the recipe. This field is blank if no
tag group is assigned to the recipe.

78
Creating Recipes

Summary Message Format

The field... Contains ...

batch_id One of the following:


• FILE SAVED OK (if the recipe has been saved successfully) or FILE
NOT SAVED (if the save failed).
• The batch id the operator specifies when downloading a recipe. The
batch id is included only when downloading a recipe and is used to
identify the download.
• A blank field, when uploading a recipe.

description One of the following descriptions:


• The text specified in the Mod Log field (when saving a recipe).
• COMP (x ERR) (when a recipe uploads or downloads with x errors).
• ABRT (reason) (when an upload or download fails. The text reason
describes why the upload or download failed).

node The name of the node the operator is using.

user The name of the logged in user. If security is disabled, this field is left blank.

remarks One of the following descriptions:


• The reason the save failed. (The text reason describes why the save
failed).
• The text specified by the operator when downloading a recipe. The text
is included only when downloading a recipe. If you try to re-verify a
recipe, the following text appears in this field:
Verification retried

• A blank field, when uploading a recipe.

Examples: Using a Summary Audit Trail

Examples of summary messages appear below:

1/1/98 11:05:12.2 SAV BEER.RCM FERMENT1.TGE FILE SAVED OK CHANGED TEMP


FORMULA FERMENT1::JOHN
1/1/98 11:06:23.4 DWN BEER.RCC FERMENT2.TGE LOT033093 COMP(NO
ERRORS) FERMENT2::MARY 3rd download
1/1/98 11:08:45.3 UPL BEER.RCC FERMENT3.TGE ABRT(INTERLOCK
ACTIVE) FERMENT3::JOE

The format of a detailed message follows.

79
Creating Recipes

date time batch_id item_number identifier description value uom result

The following table describes each field. Detailed messages are sent while downloading a recipe.

Detailed Message Format

The field... Contains...

date The date when a recipe downloaded. This field is included if the SCU is set up to
include the date in recipe messages. Refer to the section Setting up the Alarm and
Message Format in the Implementing Alarms and Messages manual for
information on setting the format of these messages.

time The time when a recipe downloaded. This field is included if the SCU is set up to
include the time in recipe messages. Refer to the section Setting up the Alarm and
Message Format in the Implementing Alarms and Messages manual for
information on setting the format of these messages.

batch_id The batch id the operator specifies when downloading a recipe. The batch id is
included only when downloading a recipe and is used to identify the download of
the recipe.

item_number The item number of the recipe item.

identifier The tagname or variable name of the item.

description A description of the recipe item or variable. This description matches the text that
appears in the Description cell for the downloaded item.

value The downloaded value of the recipe item or variable.

uom The unit of measure of the recipe item or variable.

result One of the following:


• OK (when the recipe item successfully downloads)
• BAD reason (when the recipe item cannot be downloaded)
• NOT DOWNLOADED (when variable is included in the recipe)

Recipe Security
If you plan on using recipes with iFIX, you may find it useful to restrict access to one or more aspects
of the Recipe Package. iFIX security enables you to restrict access to the following items:

80
Creating Recipes

• Recipe Builder application features.


• Individual recipes.
• Database blocks you can download to.

For more information about securing Recipe Builder application features, refer to the Implementing
Security manual.

You can protect a recipe by assigning a security area to it. For more information about assigning a
security area to a recipe, refer to section Selecting a Security Area. Also make sure that each operator
has rights to the security areas he or she needs. Without these rights, an operator cannot open a recipe
once you assign a security area to it.

iFIX protects against writing to individual blocks by comparing the security areas assigned to a block
with those assigned to the logged in user. Since recipes can be scheduled to download when no one is
logged in, a special user account called RECIPE is used. When the Recipe Package attempts to write a
value, the security system examines the rights assigned to the Recipe user account instead of those
assigned to the currently logged in user. If the security area of the target block matches one security
area defined in the Recipe user account, the recipe value downloads. Otherwise, the value is not
written to the database.

NOTE: An unsigned write occurs when a database tag is configured for electronic signature, but you
write a value directly to that tag during a recipe download without capturing a signature. If you are
working in a secure environment with the Electronic Signature option enabled, you must be aware of
the impact of unsigned writes to the process database. Unsigned writes can originate from recipe
downloads. Refer to the Implications of Database Writes With Electronic Signature section of the
Using Electronic Signatures manual for detailed information.

The security system also allows recipes to be uploaded regardless of who, if anyone, is logged in
currently. Be aware that using "RECIPE" as a domain user account is not supported in the Proficy iFIX
product. If you do attempt to use RECIPE as a domain user name, you will be able to download a
recipe on a SCADA node, but not on a View node.

For more information on creating a Recipe user account, refer to the section Creating a Recipe User
Account in the Implementing Security manual.

IMPORTANT: iFIX security loads the Recipe user account into memory the first time a recipe is
downloaded from a node. If you modify this account, the node continues to use the account in memory.
To force the node to re-read the new version of the Recipe user account, log out the current user, log
in with the Recipe user account, and then log out again. Once you log out of the Recipe user account,
the current user can log in again. Alternatively, you can force the node to re-read the Recipe user
account by shutting down and restarting iFIX.

Command Line Parameters


The Recipe Package consists of the following programs:

• The Recipe Builder


• The Recipe Download system task
• The Recipe Upload system task

81
Creating Recipes

Each of these programs allows you to specify command line parameters that allow you to start each
program with preset values.

You can specify command line parameters in the Task Configuration dialog box of the SCU. This
dialog box enables you to configure which programs iFIX automatically starts. Refer to the Setting up
the Environment manual for more information on this dialog box.

You can also specify command line parameters using the Program block's RUNTASK command in the
Proficy iFIX Database Manager, using the Command Language Editor in FIX Desktop Draw, or using
the Shell function in a Visual Basic for Applications (VBA) script.

When using command line parameters with the Program block or in the Command Language Editor,
use the following general syntax:

RUNTASK app_name parameter

For example, to download a control recipe, use this command:

RUNTASK RCPDOWN /ccontrol_recipe

When using VBA, use scripts similar to the following:

Private Sub FixEvent1_OnTrue()


Dim download As String
Dim return_value As Double

download = System.ProjectPath + "\RCPDOWN" + " /cRCPFILE /e"


return_value = Shell (download, 0)
End Sub

To create an upload script, define a variable called upload in place of the download variable and
substitute the reference to RCPDOWN with RCPUP as follows:

upload = System.ProjectPath + "\RCPUP" + "/cRCPFILE /e"

Using Multiple Parameters in VBA


When using multiple command line parameters in VBA, separate each parameter with a space. For
example, to specify the Error File parameters to the Recipe Download system task for a control recipe,
use the following command line:

download = System.ProjectPath + "\RCPDOWN" + " /cBeer /e"

Under Windows, you can also specify a command line parameter using the operating system's Run
command. To learn how to use this command, refer to your Windows documentation.

If you mistype the command line for the Recipe Download and Recipe Upload system tasks, the
programs abort. On the other hand, if the command line for the Recipe Builder contains errors, a blank,
untitled recipe opens.

The remainder of the chapter describes each command line parameter. Refer to these sections for more
information.

82
Creating Recipes

Batch Size Parameter

Syntax
/bbatch_size

Recognized by
The Recipe Download program.

Description
The Batch Size parameter allows you to specify the batch size for a master recipe. The Recipe
Download program uses the value specified with the parameter to calculate the values that it
downloads in place of the batch size stored in the recipe.

This parameter can only be used with master and master text recipes and cannot be used in a recipe
that contains override values.

Control Recipe Parameter

Syntax
/ccontrol_recipe

Recognized by
All recipe programs.

Description
The Control Recipe parameter allows you to specify the name of the control recipe you want to use
with a recipe program. The exact function of the parameter depends on the recipe program.

When specified to The program...


the...

Recipe Builder Automatically opens the specified control recipe and displays it in the
spreadsheet.

Recipe Download Downloads the specified control recipe to the database.


program

Recipe Upload program Uploads the specified control recipe from the database.

83
Creating Recipes

Error File Parameter

Syntax
/e

Recognized by
The Recipe Download and Recipe Upload programs.

Description
The Error File parameter enables the Recipe Download or Recipe Upload programs to record in an
error file the tagname of any recipe item that does not upload or download. The error file is a text file
and by convention is named recipe.RCE. The error file for master recipes resides in the Master Recipe
path. The error file for control recipes resides in the Control Recipe path.

It is strongly recommended to use this parameter whenever you upload or download a recipe.

NOTE: Each upload or download of a recipe overwrites the error file when the Error File parameter
is used.

Command Line File Parameter

Syntax
/ffilename

Recognized by
All recipe programs.

Description
The Command Line File parameter enables you to specify a list of command line parameters in a text
file called a command line parameter file. The parameters included in the file are treated as if you
entered them on the command line. This allows you to enter very long command lines.

You can create parameter files using a text editor. The name of the parameter file can be any valid 8.3
file name; however, the Recipe Package assumes the parameter file you specify resides in the Local
path. If the file resides in a different path, you must include the complete path along with the file name.
The following examples illustrate this.

Examples: Command Line File Parameter


RCPDOWN /fBEER.TXT

84
Creating Recipes

RCPUP /fC:\BEER.TXT

Notice in the first example, the Recipe Download system task reads the file BEER.TXT from the Local
path for its command line parameters. In the second example, the Recipe Upload task reads the same
file from the root directory.

The Command Line File parameter cannot be used with any other parameters. Similarly, you cannot
include the Command Line File parameter in the file specified.

Consider the following examples:

RCP.EXE /fBEER.TXT /cBeer

RCP.EXE /cBeer /fBEER.TXT

Both of these examples cause an error message box to appear. If the Recipe Upload or Recipe
Download system tasks had been used instead, the error would appear in the audit trail as an aborted
upload or download.

Tag Group Parameter

Syntax
/gtag_group_filename

Recognized by
The Recipe Download and Recipe Upload programs.

Description
The Tag Group parameter enables you to temporarily change the tag group assignment of a master
recipe. When specified, the Recipe Download or Recipe Upload programs use the set of tags from the
specified file instead of the tag group assigned to the recipe.

This parameter can only be used with master and master text recipes.

Batch ID Parameter

Syntax
/ibatch_id

Recognized by
The Recipe Download program.

85
Creating Recipes

Description
The Batch ID parameter allows you to specify the batch ID to include in a recipe message when the
audit trail is enabled. A batch ID can be up to 10 alphanumeric characters and is recorded in the recipe
message when you download a recipe.

Master Recipe Parameter

Syntax
/mmaster_recipe

Recognized by
All recipe programs.

Description
The Master Recipe parameter allows you to specify the master recipe you want to use with a recipe
program. The exact function of the parameter depends on the recipe program.

When The program...


specified to
the...

Recipe Builder Automatically opens the specified master recipe. If the Recipe Builder
automatically starts up with the Recipe Operations window, the parameter is
ignored. Instead, the Recipe Builder opens a blank, untitled recipe.
NOTE: If the Recipe Builder is already running, this parameter is ignored.

Recipe Downloads the specified master recipe to the database.


Download
program

Recipe Upload Uploads the specified master recipe from the database.
program

Download Remarks Parameter

Syntax
/rremarks

86
Creating Recipes

Recognized by
The Recipe Download program.

Description
The Download Remarks parameter enables you to include download remarks in a recipe message when
the audit trail is enabled. The remarks you include can be up to 30 alphanumeric characters and are
included in a recipe message when the recipe downloads.

Master Text Recipe Parameter

Syntax
/xmaster_text_filename

Recognized by
The Recipe Builder and Recipe Download program.

Description
The Master Text Recipe parameter allows you to specify the master text recipe you want to use with a
recipe program. The exact function of the parameter depends on the recipe program.

When The program...


specified to
the...

Recipe Builder Automatically opens the specified master text recipe and displays it in the
spreadsheet. If the program automatically starts up in the Recipe Operations
window, this parameter is ignored. Instead, the Recipe Builder opens a blank,
untitled recipe.

Recipe Downloads the specified master text recipe to the database.


Download
program

Control Text Recipe Parameter

Syntax
/ycontrol_text_filename

87
Creating Recipes

Recognized by
The Recipe Builder and Recipe Download program.

Description
The Control Text Recipe parameter allows you to specify the control text recipe you want to use with a
recipe program. The exact function of the parameter depends on the recipe program.

When specified to The program...


the...

Recipe Builder Automatically opens the specified control text recipe and displays it in
the spreadsheet.

Recipe Download Downloads the specified control text recipe to the database.
program

Override Parameters

Syntax
variable = value

Recognized by
The Recipe Download program.

Description
An override parameter enables you to temporarily override a variable's formula. While the Recipe
Download program does not limit you to the number of override parameters you can include, the
command line can only be 128 characters. To use a command line longer than 128 characters, specify
the override parameters in a text file and download these values with the Command Line File
parameter.

Example: Override Parameters


To override the value of the variable #TEMP from 50 to 65 use the following text in the command
line:

#TEMP=65

88
Creating Recipes

Command Line Parameter Summary


To help you keep track of which parameter can be used with which recipe programs, use the following
table:

Recipe Command Line Parameters

Command Line Parameter Recipe Builder Recipe Download Recipe Upload

Batch Size Parameter x

Control Recipe Parameter x x x

Error File Parameter x x

Command Line File Parameter x x x

Tag Group Parameter x x

Batch ID Parameter x

Master Recipe Parameter x x x

Download Remarks Parameter x

Master Text Recipe Parameter x x

Control Text Recipe Parameter x x

Override Parameter x

Text Recipe Format


Using the Save As command, you can save master and control recipes as master text and control text
recipes. The difference between these file formats is that master and control recipes are binary files.
Master text and control text recipes are text files that can be edited with a text editor. To use the Save
As command, refer to the section Using the Save As Command.

File Format
Master text and control text recipes share the same format and have the following general format:

89
Creating Recipes

• File header
• Recipe header template
• Recipe header
• Recipe item template
• List of recipe items

The following sections describe each portion of the recipe.

File Header
The first line of each master text or control text recipe is a file header. This header includes the date
and time the recipe was created, node and logged in user that created the recipe, and the binary recipe
that the text recipe was created from.

The general format of this line is shown below:

;CREATED FROM: recipe VERSION: xxxx DATE mm/dd/yy TIME: hh:mm:ss BY


node::user

Recipe Header Template


Immediately following the file header is a template of the recipe header. This template is provided as a
guide in case you plan on editing the recipe.

The format of the header template is shown below:

;HEADER TEMPLATE:
;Recipe Type
;Units
;Product
;Standard Batch Size
;Batch UOM
;Security Area
;Completion Status
;Download Interlock
;Upload Interlock
;Audit Trail Support
;Tag Group
;Batch Size

Recipe Header
Following the recipe header template is the recipe header section. This section begins with the
following line:

[header]

90
Creating Recipes

Information from the Recipe header fields and certain dialog boxes immediately follows this line.
These fields appear in the same order as the recipe header template shown above. Each field is on its
own line and ends with a comma. If the field is blank, the line in the recipe contains only the comma.

Example: Reader Header


MASTER,
FERMENTER1,
BEER,
100,
BLS,
NONE,
,
FERMENT1:ILK1.F_CV
,
Summary Audit Trail,
BEER1.TGE,
50

If you edit a text recipe, you can omit any information you want but the commas must be included, as
shown in the above example.

Recipe Item Template


Immediately following the recipe header section is a recipe item template. Like the recipe header
template, the recipe item template is provided as a guide in case you plan on editing the recipe.

The format of the header template is shown below:

;ITEM TEMPLATE:
;Identifier
;Formula
;Calculated Value
;Override Value
;Description
;UOM
;Override Low Limit
;Override High Limit
;Verify

List of Recipe Items


Following the recipe item template is the list of recipe items. This list consists of one section for each
recipe item and variable in the recipe. Each recipe item section starts with the following line:

[item #]

where # is row number of the item in the spreadsheet. Immediately following this line is the recipe
item or recipe variable information. The order of this information matches the recipe item template
shown above. Each field is on its own line and ends with a comma. If the field is blank, the line in the
recipe contains only the comma.

91
Creating Recipes

Example: Recipe Item List


[ITEM 1]
FERMENT1:T16F1.F_CV,
55,
55.0,
,
Fermenter set point,
degF,
RESTRICTED,
RESTRICTED,
OFF

[ITEM 2]
#Yeast,
#Lbs_Per_Barrel*#STD_BATCH
150.0
,
,
,
RESTRICTED,
RESTRICTED,
OFF

If you edit the text recipe, you can omit any information you want but the commas must be included.

Editing a Text Recipe


If you plan to edit a master text or control text recipe, you can open it with a third-party text editor.
The file must conform to the format described in the previous sections of this chapter, otherwise the
Recipe Builder cannot open it after you finish editing the file.

To modify a master or control text recipe, use the following guidelines:

• Each line in the file can be up to 256 characters. The Recipe Builder ignores any extra
characters beyond that limit.
• Specific characters have a special meaning when used in a master text or control text recipe.
The following table lists these characters.

Guidelines for Editing a Text Recipe

The Allows you to...


character ...

, (comma) Delimit a field.

; (semicolon) Start a comment. The Recipe Builder ignores all characters following the
semicolon to the end of the line. Comments can appear anywhere in the text file.

92
Creating Recipes

Guidelines for Editing a Text Recipe

The Allows you to...


character ...

\ (back slash) Cancel the meaning of a special character. For example, the Recipe Builder
treats the following text as a comma:
\,

For example, to have the value 9,999 appear in the Standard Batch Size field,
enter the following in the text file:
9\,999

Recipe Files
The following table lists the types of files available in the Recipe Package, the extension for each file
type and the path each file resides in.

File Type Extension Path

Control RCC Control Recipe path


recipe

Control text RCY Control Recipe path


recipe

Display RFT Local path


format files

Error file RCE Master Recipe path (when working with a master recipe) or
Control Recipe path (when working with a control recipe)

Master recipe RCM Master Recipe path

Master text RCX Master Recipe path


recipe

Note file RCN Control Recipe path

Recipe report RCR Master Recipe path (when working with a master recipe) or
Control Recipe path (when working with a control recipe)

93
Creating Recipes

Troubleshooting
The following table lists the messages that the Recipe Builder displays. Along with the message, the
response to the error or the message's meaning is included. When user action is required, be sure to
select the OK button on the message box to acknowledge you have read the message before taking the
recommended action.

Recipe Builder Messages

Message Meaning and Action

Are you sure you want to clear The Recipe Builder is about to delete all the values in the
all overrides? Override Value column of the recipe. Select the Yes button to
delete these values or the No button to abort the procedure.

Are you sure you want to The Recipe Builder is about to delete the recipe recipe_name
delete recipe recipe_name? and all the files associated with it. Select the Delete button to
delete these files or select the Cancel button to abort the
procedure.

Bad arccosine expression The Recipe Builder is attempting to calculate the arccosine of a
(operand < -1 or > 1?) number that is greater than one and less than negative one.
Retype the formula using a value that is between 1 and -1.

Bad arcsine expression The Recipe Builder is attempting to calculate the arcsine of a
(operand < -1 or > 1?) number that is greater than one and less than negative one.
Retype the formula using a value that is between 1 and -1.

Bad audit trail support option You opened a text recipe with an invalid entry in the audit trail
field. Valid entries are: No Audit Trail, Summary Audit Trail,
and Detailed Audit Trail. Modify the text recipe using the
guidelines in the section Editing a Text Recipe.

Bad base-10 log expression The Recipe Builder is attempting to calculate the base 10 log of
(operand <=0?) a number that is less than one. Retype the formula using a value
that is greater than or equal to one.

Bad division expression The Recipe Builder is attempting to divide two numbers.
(divide by zero?) However, the divisor is invalid and may equal zero. Retype the
formula using a value for the divisor that is non-zero.

Bad natural log expression The Recipe Builder is attempting to calculate the natural log of a
(operand <= 0?) number that is less than or equal to zero. Retype the formula
using a value that is greater than zero.

94
Creating Recipes

Recipe Builder Messages

Message Meaning and Action

Bad square root express The Recipe Builder is attempting to calculate the square root of a
(operand < 0?) negative number. Retype the formula using a value greater than
or equal to zero.

Can't delete Recipe file The Recipe Builder cannot delete the recipe file, filename. The
filename. Do you want to file may have one or more attributes set to prevent deletion or
continue deleting the files for may be in use (for example, from a file server). Select the Yes
this recipe? button to continue deleting recipe files or select the No button to
stop deleting files.

Can't open display format file While starting, the Recipe Builder could not locate its display
format file, DEFAULT.RFT. The file may not exist or may have
been renamed. To create the file, customize the display format as
needed and save it in the Local path.

Cannot display the Security The Recipe Builder is unable to display the list of available
Areas list security areas. The SANAMES.CFG file (which includes the list
of security area names) may be damaged or renamed. Consult
your system administrator before proceeding.

Cannot fetch data due to bad The Recipe Builder cannot upload from the database because it
node:tag.field cannot read from the requested tagname. The block in memory
may be corrupt or there may be a communications problem. Try
reloading the database and, if the block resides on a remote
node, make sure network communications are functioning
properly.

Cannot open a non-recipe file The Recipe Builder cannot open the specified file because it is
not a recipe or does not have a recognizable extension. For a list
of recipe extensions, refer to the chapter Recipe Files.

Cannot open clipboard The Recipe Builder is unable to locate or use the system
clipboard file. The file may have been renamed or is corrupt.

Cannot read data from The Recipe Builder cannot upload data from the database. There
database may be a communications problem or the database in memory
may be corrupt. Try reloading the database and, if the block
resides on a remote node, make sure network communications
are functioning properly.

Cannot read from clipboard The Recipe Builder is unable to paste data from the system
clipboard. Try copying a single row to the clipboard and pasting
it back into the recipe.

95
Creating Recipes

Recipe Builder Messages

Message Meaning and Action

Cannot save a backup recipe You attempted to save a master backup or a control backup
file recipe. Select a different recipe type and try saving the recipe
again.

Cannot save a non-recipe file The extension you specified does not have a recognizable
extension. For a list of recipe extensions, refer to the chapter
Recipe Files.

Cannot save an untitled recipe You attempted to save a new recipe from the Recipe Operations
file window. Switch to the Recipe Development window and try
saving the recipe again.

Cannot set batch size (reason) You entered a batch size in the Set Batch Size dialog box that:
• Is greater than 9,999,999.0,
• Is less than 0.0000001,
• Contains a negative number, or
• Contains non-numeric data.
• Retype the batch size you want and try again.

Cannot set tag group (Cannot You attempted to delete or re-assign a tag group while the
delete tag group assignment Recipe Builder is substituting tagnames for symbol names. Click
while substitutions are on) the Cancel button on the Assign Tag Group dialog box and then
select Show Symbols from the Window menu. Once this
command is selected, you can delete or re-assign the tag group
assignment.

Cannot set the interlock (Only You entered a field type for the upload or download interlock
F_ fields are allowed) that the Recipe Builder does not allow. Use only F_ fields for
interlock tagnames.

Cannot write to clipboard. The Recipe Builder is unable to copy or cut any data to the
system clipboard. Try copying a single row to the clipboard and
pasting it back into the recipe.

Changing the formula or You are changing an override limit while an override value is in
override limit will clear the effect for the current recipe item or variable. Select the Yes
override value. Continue? button to clear the override value and change the override limit
or select the No button to abort the operation.

96
Creating Recipes

Recipe Builder Messages

Message Meaning and Action

Circular reference detected. You have a set of formulas that reference each other. Modify
one of these formulas so that is contains a numeric or string
constant or references a different variable.

Column is not modifiable. The Recipe Builder was unable to replace any data in the
selected column because it is not modifiable. Select a different
column or modify the display format and make the selected
column modifiable.

Do you want to save this You selected the Exit command before saving any changes to
recipe? the recipe. To save your changes and quit the Recipe Builder,
select the Yes button. To quit without saving any changes, select
the No button. To return to the Recipe Builder without quitting,
select the Cancel button.

Editor spawn failed The Recipe Builder was unable to start the text editor it uses to
create and modify recipe note files. Close one or more
applications and try again. If the problem persists, restart the
computer.

Error number checking this You attempted to enter data into the Calc Val column. This
item: Field cannot be modified column displays the value of a recipe item's or variable's formula
and cannot be modified directly.

Error number checking this You entered a field type that the Recipe Builder does not allow.
item: Only F_ and A_ fields Use only A_ and F_ fields for tagnames you add to the recipe.
are allowed

Error number checking this You attempted to add or delete a recipe item or variable while
item: Recipe is in TAGNAME the Recipe Builder is substituting tagnames for symbol names.
MODE Select Show Symbols from the Window menu and then add or
delete the recipe items and variables you want.

Error reading display format The Recipe Builder attempted to load a display format file that
file, check version contains the wrong version number or has been corrupted.
Recreate the file by customizing the display format and saving it
to a file.

Error number setting this item: You entered a value in the Verify column that the Recipe
Bad verify option (on or off) Builder does not recognize. Type ON or OFF in any cell of this
column.

97
Creating Recipes

Recipe Builder Messages

Message Meaning and Action

Error number setting this item: You attempted to add more than 850 recipe items. Only 850
Cannot add node.tag.field to recipe items can be added to one recipe.
recipe. Has maximum number
The message also appears when you search a recipe with 850
been reached?
items because the Recipe Builder creates a temporary entry in
the spreadsheet during the search. Since all rows are filled, the
search generates the error. To avoid the message, remove one of
the recipe items.

Error number setting this item: You attempted to create a variable with a name that is reserved
Cannot use a keyword for a for a keyword. Enter a different name and try again. For a list of
variable name reserved keywords, refer to the Recipe Keywords table.

Error number setting this item: You attempted to create a variable or a recipe item with a name
Identifier is already defined in that is already in use. Enter a different name and try creating the
the recipe item again.

Error number setting this item: You entered a formula that does not conform to the syntax that
Improperly formed formula the Recipe Builder recognizes. Retype the formula using the
guidelines in the chapter Working with Formulas.

Error number setting this item: You entered an override limit that does not conform to the
Improperly formed override syntax the Recipe Builder recognizes. Refer to the section
limit Entering Override Limits and retype the override limit.

Error number setting this item: You entered an override value that does not conform to the
Improperly formed override syntax the Recipe Builder recognizes. Make sure any string you
value enter is enclosed in quotes and retype the override value.
NOTE: Formulas, keyword, and variables cannot be entered
into the Override Value column.

Error number setting this item: You entered a relative percentage or a relative difference
No calculated value to base override limit for a recipe item or variable. However, the Recipe
override limit on Builder cannot calculate the range of acceptable values for this
column because the formula of the current recipe item or
variable is empty or invalid. Complete or correct the item's
formula and then enter an override limit.

Error number setting this item: You attempted to enter an override value when both override
Override value cannot be limits are set to RESTRICTED. To change the value of the
modified recipe item, either change an override limit and then enter an
override value or change the item's formula.

98
Creating Recipes

Recipe Builder Messages

Message Meaning and Action

Error number setting this item: You entered an override value that is greater than the override
Override value is above the high limit allows. Enter a lower override value to try again.
override high limit

Error number setting this item: You entered an override value that is less than the override low
Override value is below the limit allows. Enter a higher override value to try again.
override low limit

Error number setting this item: You entered a mark of punctuation for a variable name that the
Variable name must start with Recipe Builder does not recognize. Retype the variable name
# and contain only starting it with a number sign (#) followed by no more than 14
alphanumeric and underscore alphanumeric or underscore (_) characters.
characters

Error number setting this item: You entered a variable name that is over 15 characters, including
Variable name too long the number sign (#). Shorten and retype the variable name.

Error while reading tag group The tag group file assigned to the recipe is unreadable. Select a
file different tag group or recreate the tag group you want to use. To
create a tag group, refer to the chapter Using the Tag Group
Editor.

Expression is too deeply You have a set of formulas that reference variables chained over
nested 14 rows. Modify the formulas so that they reference few
variables.

Invalid entry. Please enter the You selected a control recipe from the Open Control Recipe
name of an item in the list dialog box that does not exist or could not be found. Either copy
box. the control recipe into the Control Recipe path or select a recipe
from the list box.

Invalid item number You entered a negative number or nonnumeric data in the Go To
dialog box. Retype the row number you want to jump to and try
again.

Keyword is not defined in The keyword in the formula does not have a value. Refer to the
recipe section Understanding Recipe Keywords to learn how to set the
value of each keyword.

99
Creating Recipes

Recipe Builder Messages

Message Meaning and Action

Mismatched datatype Either you entered a string constant into the formula or override
value column when the associated tagname references an F_
field or you attempted to set an absolute, percentage, or
difference override limit for a string constant. To correct this,
enter a formula or override value that evaluates to a numeric
value and then enter the override limit.

No column selected You selected a button on the Search and Replace dialog box
without first selecting a column. Select the column you want to
search and then click a button on the dialog box to search for or
replace data in the recipe.

No formula to evaluate You have a formula that references a variable with no value.
Modify the formula of the appropriate variable so that the
Recipe Builder can calculate it.

No item selected in error list You selected the Go To Item button from an error list dialog box
without first selecting an item in the list box. Select an error in
the dialog box and then click the Go To Item button.

No tag group assignment or You selected the Show Tagnames command before creating or
tag group file does not exist assigning a tag group to the recipe. To create the tag group, refer
to the chapter Using the Tag Group Editor. To assign the tag
group, select Assign Tag Group from the Options menu and
enter the name of the tag group in the dialog box that appears.

No value entered for override You selected an absolute, a percentage, or a difference override
limit limit from the Override dialog box without entering a value for
the type of limit you selected. Complete the field associated with
the type of limit you selected and try again.

Note file [filename] not found. The Recipe Builder could not locate the note file for the current
Create it? recipe. Select the Yes button to create the file and start Notepad.
Select the No button to return to the recipe.

Out of range You entered standard batch size that:


• Is greater than 9,999,999.0,
• Is less than 0.0000001,
• Contains a negative number, or
• Contains nonnumeric data.
Retype the standard batch size you want and try again.

100
Creating Recipes

Recipe Builder Messages

Message Meaning and Action

Paste error for `tagname': text You are pasting a recipe item or variable into the recipe that may
Keep this item, discard it or already exist, does not have a valid formula, or contains text in
undo the paste? the Verify column other than YES or NO. Select the Keep Item
button to retain the valid parts of the recipe item being pasted or
select the Discard Item button to prevent the entire recipe item
from being pasted into the recipe. To cancel the entire operation,
select the Undo Paste button.

Precheck did not complete The Recipe Builder could not complete its examination for
(reason) errors during an upload or download. Restart your computer and
try again.

RCP.INI contains a bad The Recipe Builder's startup file, RCP.INI, contains a
verification time-out value; verification time-out value that:
using default
• Is greater than 65535,
• Is less than 1,
• Contains a negative number, or
• Contains non-numeric data.
Because the time-out value is invalid, the Recipe Builder uses its
default value of 30 seconds. To change the time-out value, edit
RCP.INI using the instructions in the section Changing the
Verification Time-out Interval.

Recalculation failed at Item The Recipe Builder cannot calculate the value of the formula in
#row_number. Error number: row row_number. Examine this formula and make sure it
text conforms to formula syntax. For more information about
formulas, refer to the chapter Working with Formulas.

Recipe has no items You attempted to upload or download while the spreadsheet was
empty. Either open a recipe or enter the tagnames you want to
upload from or download to.

Replace text? The Recipe Builder is about to replace the specified search string
with the specified replacement string. Select the Yes button to
replace each occurrence of the search string in the selected cell.
Select the All button to replace each occurrence of the search
string in the selected column. Select the No button to stop
replacing data.

Row is beyond end of recipe You entered a row number in the Go To dialog box that was
greater than the last row in the spreadsheet. Retype the row
number you want to jump to and try again.

101
Creating Recipes

Recipe Builder Messages

Message Meaning and Action

Search string was found x The Recipe Builder is about to replace the specified search string
times. Replace each one? with the specified replacement string. However, it located
multiple occurrences of the search string. Select the Yes button
to replace each occurrence of the search string in the selected
cell. Select the All button to replace each occurrence of the
search string in the selected column. Select the No button to stop
replacing data.

Tag group file does not exist The Recipe Builder cannot locate the specified tag group file.
Either the tag group does not exist or does not reside in the
Picture path. Try copying the file to this path or create it with the
Tag Group Editor.

Tagname does not exist. The Recipe Builder cannot locate the tagname you want to add
Continue? to the recipe in the specified database. Select the No button to
abort the operation or select the Yes button to add the tagname.
If you add the tagname, make sure you add the block to the
database or you will be unable to download or upload the recipe.

Text not found The Recipe Builder could not find the specified search string in
the selected column.

The column width must be You entered a report column width that:
between 1 and 100.
• Is greater than 100,
• Is less than 1,
• Contains a negative number, or
• Contains nonnumeric data.
Retype the column width you want and try again.

The editor is already running You selected the Notes command while the text editor used to
create and modify recipe note files was already in use. Select the
OK button on the message box; the Recipe Builder automatically
switches you back to the text editor. Modify your recipe note
files as needed. To quit the text editor and return to the Recipe
Builder, select the Exit command from the File menu.

There are recipe items with You are attempting to scale the batch size while one or more
OVERRIDE VALUES. override values are in use. Select the Continue button to proceed
or select the Cancel button to abort the operation. To clear all
overrides and scale the batch size, select the Clear All button.

102
Creating Recipes

Recipe Builder Messages

Message Meaning and Action

This change will destroy this You are deleting the current recipe identifier. This results in the
recipe item. Continue? deletion of the entire recipe item or variable. Select the Yes
button to delete the recipe item or variable. Select the No button
to abort the operation.

This column can't be You attempted to enter data into a column that is non-
modified. Check the display modifiable. To make the column modifiable, refer to the section
format. Modifying a Column. After making the column modifiable, try
entering data into the column again.

Unauthorized access You attempted to start the Recipe Builder without the security
attempted rights to the Recipe Development or the Recipe Operations
windows. Consult your system administrator before proceeding.

Using internal display format The Recipe Builder is using the default display format because it
could not find the file DEFAULT.RFT. To load this file on
startup, make sure the file resides in the Local path and restart
the Recipe Builder.

Variable is not defined in You entered a variable name in the formula column that is not in
recipe the Identifier column. Create the variable by entering its name in
a blank cell of the Identifier column.

You can only switch to the You attempted to display the Recipe Operations window with an
Operations window with a untitled recipe, a master recipe, a master text recipe, or a backup
CONTROL recipe recipe open in the spreadsheet. Either open a control recipe or
save the current recipe as a control recipe before switching to the
Recipe Operations window.

You can open only Control You specified a command line parameter to open a master recipe
Recipes in the Operations or a master text recipe when the Recipe Builder starts. However,
window the Recipe Builder is set up to automatically display the Recipe
Operations window. To display the specified recipe, select the
OK button to open the Recipe Operations window and switch to
the Recipe Development window and open the recipe. To set up
the Recipe Builder to automatically display the Recipe
Development window, switch to the Development window and
select the Start in DEV Window from the Window menu.

You do not have Security The Recipe Builder attempted to display the Recipe
Privileges to run RECIPE Development window. However, your user account does not
DEVELOPMENT feature contain the necessary privileges to display this window. Consult
your system administrator before proceeding.

103
Creating Recipes

Recipe Builder Messages

Message Meaning and Action

You do not have Security You attempted to download a recipe without the necessary
Privileges to run RECIPE security rights to do so. Consult your system administrator
DOWNLOAD feature before proceeding.

You do not have Security The Recipe Builder attempted to display the Recipe Operations
Privileges to run RECIPE window. However, your user account does not contain the
OPERATIONS feature necessary privileges to display this window. Consult your
system administrator before proceeding.

You do not have Security You attempted to save a recipe without the necessary security
Privileges to run RECIPE rights to do so. Consult your system administrator before
SAVE feature proceeding.

You do not have Security You attempted to create a report or save a master text or control
Privileges to run RECIPE text recipe without the necessary security rights to do so. Consult
TEXT OUTPUT feature your system administrator before proceeding.

You do not have Security You attempted to upload a recipe without the necessary security
Privileges to run RECIPE rights to do so. Consult your system administrator before
UPLOAD feature proceeding.

You do not have Security The Recipe Builder cannot complete the operation you selected
Privileges to run this RECIPE because you do not have the necessary application feature in
feature your user account. Consult your system administrator before
proceeding.

You must have at least one You attempted to remove all the columns from the display
column displayed format or from a report. The Recipe Builder requires at least one
column for display formats and reports.

Your untitled recipe report You are creating a report for an untitled recipe. To save the
will be saved to "untitled.rcr". report with the name UNTITLED, select the Yes button. To
Continue? abort the process select the No or Cancel buttons.
NOTE: If you subsequently name the recipe, the Recipe Builder
will not be able to locate the report you created. To enable the
Recipe Builder to locate the report, create a new report or
rename the existing one so that the recipe name and the report
name match.

104
Creating Recipes

Understanding Audit Trail and Error File Messages


Whenever you upload or download a recipe from the Recipe Builder, the program examines the recipe
to see if it is complete and can be uploaded or downloaded. If the recipe is complete, the Recipe
Builder examines the recipe for errors, as described in the chapter Downloading and Uploading
Recipes.

If the recipe is not complete, it displays an error message box with one of the following lines of text:

Download of recipe recipe aborted text

Upload of recipe recipe aborted text

where text is the reason that the upload or download aborted. These messages also appear in the error
file when uploading or downloading a recipe with a Program block or a VBA script.

Text in the Audit Trail


The reason for aborting the upload or download also appears in each recipe message saved in the audit
trail, if the audit trail is enabled for uploaded or downloaded recipe. For more information about the
audit trail, refer to the section Using an Audit Trail.

The following table lists the reasons for the aborted upload or download and the response to the error.

Audit Trail and Error File Messages

Message Action

bad completion status flag The analog block defined as the completion status indicator is
undefined or cannot be read from or written to. Make sure the
block exists in the database and that the block is in a mode that
allows it to be read from and written to (for example, Analog
Input blocks should be in Manual mode).

bad error file name One of the following command line parameters was not
specified:
• Control Recipe parameter
• Master Recipe parameter
• Master Text Recipe parameter
• Control Text Recipe parameter
Include the appropriate command line parameter and try again.

bad or active interlock The upload or download interlock specified for the recipe is
active or does not exist. Make sure the interlock is inactive
before you try again. If the specified tagname does not exist,
create the necessary block in the database or specify a different
tagname.

105
Creating Recipes

Audit Trail and Error File Messages

Message Action

bad override parameter The Recipe Builder does not recognize the command line
parameter specified in a script or a Program block. Refer to the
chapter Command Line Parameters for a list of recognized
command line parameters and modify the script or Program
block as needed.

bad override parameter variable The variable name specified in the command line does not exist
name in the recipe. Re-type the command line and try again.

cannot change batch size in The Batch Size parameter was specified in the command line
control recipe while downloading a control or control text recipe. This
command line parameter can only be used with master and
master text recipes. Either download a master recipe or omit the
Batch Size parameter from the command line and try again.

cannot change tag group in The Tag Group parameter was specified in the command line
control recipe while uploading or downloading a control or control text
recipe. This command line parameter can only be used with
master and master text recipes. Either upload or download a
master recipe or omit the Tag Group parameter from the
command line and try again.

cannot open parameter file The parameter file specified in the command line does not exist
or could be opened. By default, the Recipe Package assumes
the file resides in the Local path. Either create a parameter file
and save it in the Local path or copy the parameter file to this
path.

cannot open recipe file The Recipe Builder cannot open the specified recipe. Make
sure you specified the name of the recipe in the command line
and try again. Also make sure the recipe exists in the correct
recipe path. If it does not, create it.

cannot read recipe file The Recipe Builder cannot read the specified recipe. Try
specifying the backup version of the recipe.

cannot recalculate recipe The Recipe Download or Recipe Upload system task cannot
recalculate the formula of each recipe item. Make sure the
syntax of each formula is valid. Refer to the chapter Working
with Formulas for information on formulas.

106
Creating Recipes

Audit Trail and Error File Messages

Message Action

cannot set batch ID The Recipe Package attempted to set the Batch ID. However, it
encountered a memory or internal error. Exit from any
applications not in use and restart the Recipe Builder.

cannot set batch ID on upload The Batch ID parameter was specified to the Recipe Upload
system task. This task does not recognize this command line
parameter. Omit the parameter and try again.

cannot set batch size The Recipe Download system task cannot set the current
recipe's batch size because the batch size:
• Is greater than 9,999,999.0,
• Is less than 0.0000001,
• Contains a negative number, or
• Contains non-numeric data.
Retype the batch size you want and try again.

cannot set batch size on upload The Batch Size parameter was specified to the Recipe Upload
system task. This task does not recognize this command line
parameter. Omit the parameter and try again.

cannot set batch size with The Recipe Download system task cannot scale the recipe with
overrides override values in effect. Click the Clear Overrides button to
remove all overrides and try downloading the recipe again.

cannot set override value The Recipe Download system task cannot set one or more
override parameters. The values specified are out of range, do
not conform to a syntax that the Recipe Download task
recognizes, or are the wrong data type (for example, entering
string data for a F_ field). Verify all the values specified and try
to download the recipe again.

cannot set overrides on upload One or more override parameters were specified to the Recipe
Upload system task. This task does not recognize these
command line parameters. Omit the parameters and try again.

cannot set remarks The Recipe Package attempted to set the download remarks for
the specified recipe. However, it encountered a memory or
internal error. Exit from any application not in use and restart
the Recipe Builder.

107
Creating Recipes

Audit Trail and Error File Messages

Message Action

cannot set remarks on upload The Download Remarks parameter was specified to the Recipe
Upload system task. This task does not recognize this command
line parameter. Omit the parameter and try again.

cannot set tag group The Recipe Download system task cannot locate the tag group
assigned to the recipe or specified by the Tag Group parameter.
Make sure the tag group exists in the directory defined by the
Picture path.

cannot upload to a text file The Master Text Recipe or Control Text Recipe parameter was
specified to the Recipe Upload system task. Master and Control
Text recipes cannot be uploaded using this task. Upload the
recipe from the Recipe Builder instead.

cannot use parameter file with The Command Line File parameter was included in the
other parameters command line with other command line parameters. Delete the
Command Line File parameter or remove the other command
file parameters from the command line.

cannot write recipe file The specified recipe was uploaded but cannot be saved. Make
sure there is enough space on the disk to save the recipe and try
again.

missing batch ID The Batch ID parameter was specified without an identifier.


Include a batch ID and try again.

missing batch size The Batch Size parameter was specified without including a
batch size. Include the batch size and try again.

missing parameter file name The Command Line File parameter was specified without an
accompanying file name. Include the name of the parameter file
and try again.

missing recipe file name One of the following command line parameters was specified
without an accompanying recipe name:
• Control Recipe parameter
• Master Recipe parameter
• Master Text Recipe parameter
• Control Text Recipe parameter
Include the name of the recipe you want to upload or download
and try again.

108
Creating Recipes

Audit Trail and Error File Messages

Message Action

missing remarks The Download Remarks parameter was specified without any
accompanying text. Include the appropriate text and try again.

missing tag group file name The Tag Group parameter was specified without a tag group
file. Include the name of the tag group file to use and try again.

No RECIPE user found. Run The Recipe user account does not exist on the node you are
the Security Configuration downloading from. Consult your system administrator before
program and add a user called proceeding.
`RECIPE' to this node and all
referenced SCADA nodes

not a recipe file type The file specified is not a recipe. Re-enter the name of the
recipe to upload or download and try again.
If you are using the Recipe Upload system task, make sure it is
a master or control recipe. The Upload task cannot upload
master text or control text recipes.

recipe path not found The Recipe Package cannot locate the recipe path specified in
the SCU. Make sure the master and control recipe paths exist or
change the recipe paths to point to the directories where your
master and control recipes reside.

undefined recipe item The formula for one or more recipe items cannot be evaluated
or the identifier has not been entered. Complete the identifier
and formula of each item and try uploading or downloading the
recipe again.

unknown parameter The Recipe Package does not recognize the command line
parameter specified in a script or a Program block. Refer to the
chapter Command Line Parameters for a list of recognized
command line parameters and modify the script or Program
block as needed.

Understanding Upload and Download Messages


When you upload or download a recipe from the Recipe Builder, the program examines the recipe for
errors. If the Recipe Builder encounters an error, it displays an error dialog box.

The following table lists the common messages that appear in this dialog box. Along with the message,
the response to the error or the message's meaning is included.

109
Creating Recipes

Uploading and Downloading Messages

Message Action

Bad value You are downloading a value to a field that cannot be written to or the
value being written is invalid. Make sure the field can be written to and
that the field exists.

Cannot write to this You are downloading a value to a field that cannot be written to. Try
field downloading to a different field.

Current block mode You are downloading to a database block that is in Automatic mode.
does not allow writes Put the block in Manual mode and download the recipe again.

Field name returns You are uploading or downloading a recipe with one or more symbols
wrong data type defined and no tag group assignment. Assign the appropriate tag group
and try uploading or downloading the recipe again.

Field's value not The Recipe Builder cannot upload the recipe or verify the specified
known recipe item because it cannot read a value from the specified block.
Make sure SAC and your I/O driver are running. Also make sure the
block is on scan.

Illegal option, Please The data type of the formula does not match the specified field. For
re-enter example, you may have specified a string constant for a F_ field. Either
change the formula or the field you are downloading to.

Tagname is not defined Either the specified tagname cannot be written to or it may not exist.
Verify that the tagname exists and can be written to.

Undefined recipe item One or more recipe items have:


• A calculated or override value but no identifier, or
• An identifier but no formula or override value
Complete the identifier column and either formula or the override value
column for the specified recipe items.

The field cannot be You are downloading to a field that cannot be written to or the
written due to security necessary security area rights are not assigned to the Recipe user
or field access account on the target SCADA server. Consult with your system
restrictions. administrator and add the security areas of the block you are
downloading to the Recipe user account.

Value out of range You are downloading a value that is greater than the block accepts.
Change the formula or override value of the specified recipe item and
try downloading the recipe again.

110
Creating Recipes

Recipes and the Tag Group Editor


(TGE.exe)
This chapter provides instructions on creating, modifying, and deleting tag group files for use with
recipes. The chapter focuses on functions that are specific to the Tag Group Editor (TGE.exe). It
includes information on:

• Creating a New Tag Group File


• Understanding Tag Group Editor Layout
• Exiting the Tag Group Editor
• Opening and Closing Existing Tag Group Files
• Defining a Tag Group
• Editing a Tag Group File
• Deleting a Row
• Searching and Replacing Substitutions
• Saving a Tag Group File
• Deleting a Tag Group File
• Importing and Exporting Tag Group Reports

NOTE: The Recipe Builder requires the .TGE file format when using tag group files. As such, the
Recipe Builder uses the FIX32 Tag Group Editor (TGE.EXE). Be aware there is another Tag Group
Editor (TagGroupEditor.exe) for creating tag groups in iFIX pictures in .TGD file format. The Recipe
Builder cannot use these newer .TGD files.

Creating a New Tag Group File


The Tag Group Editor provides two methods for creating new tag group files. You can start the Tag
Group Editor by clicking the Start button, clicking Run, and entering the following text into the dialog
box that appears:

fixpath\TGE.EXE

For example, if the Tag Group Editor resides in the default Base path, C:\Program
Files\Proficy\Proficy iFIX, you could start the program by entering the following text in the Run dialog
box:

C:\Program Files\Proficy\Proficy iFIX\TGE.EXE

When the program starts, the Tag Group Editor displays a blank, untitled spreadsheet.

Alternatively, when a tag group file is already open, you can create a new tag group file by selecting
the New command. When you select this command, the Tag Group Editor closes the active tag group
file, prompts you to save any unsaved changes, and then displays a blank spreadsheet.

111
Creating Recipes

Understanding Tag Group Editor Layout


The layout of the Tag Group Editor follows the standard iFIX spreadsheet format, and functions like
most spreadsheets. The layout can be separated into the following items:

Menu Bar — contains menus that control the file input, output, and editing commands for the
spreadsheet. These menus include the File menu, the Edit menu, the Font! menu, and the
Help menu. The Font! menu lets you set the font used to display text in the Tag Group
Editor.

Menu Bar Commands — contains the commands necessary for creating, managing, and
formatting your tag group files. The following table summarizes these commands.

Tag Group Editor Menu Bar Commands

Menu Option Function

New Opens a new tag group file.

Open... Opens an existing tag group file or report.

Save Saves the active tag group file.


File
Save As... Saves a tag group file to a new name or file type.

Delete... Deletes a tag group file or report.

Exit Exits the Tag Group Editor.

Delete Row Delete a selected row of the spreadsheet.

Edit
Search and Replace Searches substitution column for specific text and
Substitutions... optionally replaces it with another.

Spreadsheet — contains your tag group definitions.

Understanding the Tag Group Spreadsheet


The Tag Group Editor spreadsheet has the following columns:

Symbol — specifies the text 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 up to 95 characters
long and is usually a tagname. It is recommended that you use the fully qualified name of
any tag for substitution in a spreadsheet.

112
Creating Recipes

Description — describes the function of the tag group. The description field is optional and can
contain up to 71 characters, including special characters, such as -(*)&+% and spaces.

Exiting the Tag Group Editor


To exit the Tag Group Editor, select Exit from the File menu. If you made changes since your last
save, the Tag Group Editor displays the Save Changes dialog box. If you want to save changes, select
Yes. If you do not want to save changes, select No. If you want to continue working on your tag group
file, select Cancel.

Opening and Closing Existing Tag Group Files


To open an existing tag group file in the Tag Group Editor, select Open from the File menu. All
previously-saved tag group files have an extension of .TGE and are stored in the Picture path. When
you select this command, the Open dialog box appears.

To specify the tag group file to open, 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 import a tag group report (*.CSV file) into a tag group spreadsheet using the
Open command. Refer to the section Importing and Exporting Tag Group Reports for more
information on working with tag group reports.

Closing Tag Group Files


Once the Tag Group Editor opens a tag group file, it cannot open another until the active file is closed.
To close a tag group file, simply select Open again. The Tag Group Editor closes the active tag group
file and opens the file you select.

If you made changes to the old tag group file and have not saved them, the Tag Group Editor prompts
you with the standard "Save Changes?" dialog box. Select Yes to save your changes to disk. If you do
not want to save your changes, select No. To continue working with the tag group file, select Cancel.

NOTE: The Tag Group Editor does not automatically create back-up files. If you need back-up files,
you must create them manually.

Defining a Tag Group


The Tag Group Editor displays its data in a spreadsheet. All valid cell entries in the Symbol and
Substitution columns must be alphanumeric and start with a letter. When you have finished entering
data into the spreadsheet, select Save from the File menu to save your changes to disk.

NOTE: When you enter tagnames into the substitution column, iFIX does not check the format or
validity of the tagnames. Be sure to double-check the format and spelling of all tagnames entered into

113
Creating Recipes

the substitution column.

When creating a second tag group file, you do not have to list the symbols in the exact order as the first
tag group file. However, they must have identical symbol names for the correct substitutions to take
place. For example, if one file represents the digital limit switch for the fuel intake valve of furnace A
as FIVLIMITSWITCH, then the symbol FIVLIMITSWITCH of furnace B's tag group file must
represent the same type of digital limit switch.

The following sections describe how to enter data into the Symbol, Substitution, and Description
columns of the spreadsheet.

Defining Symbols
Symbols are place holders for tagnames in recipes. When you enter a symbol into any of these
applications, you must type a question mark prior to the symbol name. This allows iFIX 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 want to implement this symbol into a recipe, type the following into the Identifier column of a
recipe spreadsheet:

?TEMPERATURE

When iFIX 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. In the Symbol column, select the desired cell by clicking it.


2. Type a symbol name. The symbol name can be a maximum of 31 alphanumeric characters. As
you type, the text appears in the text editing box of the spreadsheet.
3. Press ENTER to enter the data into the desired cell.
4. Repeat step 3 until you have entered all of the symbol names that you need for this tag group
file.

NOTE: 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.

If you plan to import or export comma separated files, you should not use the word SYMBOL
as a tag group symbol name. Refer to the section Importing and Exporting Tag Group
Reports for more information on working with tag group reports and comma separated files.

114
Creating Recipes

Defining Substitutions
Substitutions are tagnames that replace symbols in recipes. 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 and the tagname is properly formatted.

To define a substitution in the Tag Group Editor spreadsheet:

1. In the Substitution column, select the desired cell by clicking it.


2. Type the tagname 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 tagname appears in the
text editing box of the spreadsheet.
NOTE: It is strongly recommended that you use the fully qualified names for substitutions in
a spreadsheet.

3. Press ENTER to enter the data into the desired cell. If you have not defined the adjacent
Symbol cell, an error message appears and instructs you to do so first.

Defining Descriptions
The description cell offers a way to describe the function of a specific tagname substitution. The
description field is optional, and is not involved in the functionality of the Tag Group Editor. However,
it can be a powerful tool to help you organize and keep a record of tag groups that you create. It can
also be a useful visual aid when printing a report. Each description cell can contain up to 71
alphanumeric characters.

To define a description in the Tag Group Editor spreadsheet:

1. In the Description column, select the desired cell by clicking it.


2. Type the description into the desired cell. The data you enter can be a maximum of 71
alphanumeric characters. As you type, the text appears in the text editing box of the
spreadsheet.
3. Press ENTER to enter the data into the desired cell. If you have not defined that row's Symbol
cell, an error message appears and instructs you to do so first.

Editing a Tag Group File


While creating or customizing iFIX, you may find it necessary to modify the symbols, substitutions, or
descriptions that you have previously entered into a tag group file.

To edit a cell in the Tag Group Editor spreadsheet:

1. Double-click the cell you want to modify. The Edit Cell Data dialog box appears.
2. Type the correct text into the edit field of the dialog box.
3. Click OK to incorporate the new changes. If you make a mistake, click Cancel to revert to the
original cell data.

115
Creating Recipes

NOTE: You can also use the Edit Cell Data dialog box to delete an entire row from the spreadsheet by
double-clicking any cell in the row you want to delete, deleting all text from the edit field, and clicking
OK.

Deleting a Row
You can delete an entire row from a tag group file by selecting the Delete Row command from the Edit
menu. When you select Delete Row, the symbols, substitutions, and descriptions you delete are
irretrievable.

To delete an entire row of the Tag Group Editor spreadsheet:

1. Highlight any cell in the row you want to delete.


2. On the Edit menu, click Delete Row. The Tag Group Editor removes the selected cell's row
from the spreadsheet.
NOTE: You can also delete a row of the spreadsheet by highlighting any cell in the desired
row and pressing <Delete>.

Searching and Replacing Substitutions


Sometimes it is necessary to change a particular symbol's tagname substitution. For example, if a
tagname has changed within a database, you need to update all applicable substitution columns. You
could locate specific tagname substitutions by simply scrolling through the spreadsheet using the scroll
bars or arrow keys. However, as the spreadsheet becomes larger, this can become a very time-
consuming task.

For this reason, the Tag Group Editor provides a search and replace function that allows you to locate
tagname substitutions quickly by searching the spreadsheet for a specified tagname and replacing it.

To search for and replace a tagname substitution:

1. On the Edit menu, click Search and Replace Substitutions. The Search and Replace Tagnames
dialog box appears.
2. In the Search For field, enter the tagname you want to search for. If you choose, you can use
asterisk wildcard characters (*) to represent one or more characters in the node name or tag
name you are searching for.
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 (*) to
represent one or more characters in the new node name or tag name you want to use.
4. Click 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. For
example, the following text appears when occurrence is replaced.
1 occurrence(s) changed

When you finish searching for and replacing a tagname substitution, you can return to the spreadsheet
by selecting a cell. The Search and Replace Tagnames dialog box remains on the display until you
deselect Search and Replace Substitutions from the Edit menu or until you close it.

116
Creating Recipes

NOTE: The Search and Replace Substitutions command only functions with Node:Tag substitutions. If
you enter text into either of the Search and Replace fields that is not in Node:Tag format, it prompts
you to enter a valid tagname.

IMPORTANT: iFIX includes two Tag Group Editors: one is for use with pictures and the other is for
use with recipes. The Tag Group Editor discussed in this manual is intended for use with recipes. To
use the Tag Group Editor with pictures, select the Tag Group Editor button from the WorkSpace.

Saving a Tag Group File


When you finish making changes to a tag group file, you need to save the tag group file to disk in order
to make your changes permanent.

To save an existing tag group file, select Save from the File menu. 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
group file by displaying the Save As dialog box. Enter a new file name into the File Name field 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
section Importing and Exporting Tag Group Reports for more information on working with tag group
reports.

Deleting a Tag Group File


As you customize iFIX, you may find that certain tag group files have become obsolete. You can
delete them by using the Delete command from the File menu.

To delete a tag group file:

1. On the File menu, click Delete. The File Delete dialog box appears.
2. In the File Name field, type the name of the tag group file you want to delete, and click OK. If
you prefer, in the Tag Group list box, you double-click the tag group file to select it. A
confirm deletion message box appears.
3. Click Delete. 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 section Importing and Exporting Tag Group Reports for more information on working
with tag group reports.

Importing and Exporting Tag Group Reports


The Tag Group Editor can import and export tag group information that is formatted as a comma
separated variable (CSV) file. Comma separated files are useful if you want to exchange tag group
information between a third-party text editor, spreadsheet, or word processor and the Tag Group

117
Creating Recipes

Editor. The Tag Group Editor recognizes files with a .CSV file extension as tag group reports.

Tag group reports have several benefits. A large tag group file can be saved as a tag group report,
opened in a text editor or word processor, and printed as a text file. The printout provides an on-paper
list of all symbols, substitutions, and descriptions defined in the Tag Group Editor spreadsheet. This
list can help you verify your tag groups before you implement them into your SCADA strategy. Tag
group reports also allow you to enter tag group information into an application you are more familiar
with, such as Microsoft Excel or a text editor, and then import this information into the Tag Group
Editor.

Understanding the Tag Group Report Format


The Tag Group Editor provides an easy-to-use spreadsheet interface. However, you may feel more
comfortable entering tag group information in your favorite spreadsheet application or text editor
rather than the Tag Group Editor spreadsheet. Some spreadsheet applications, such as Microsoft Excel,
provide a CSV format option within their Save As dialog box. If you use this method, the application
does all the required formatting for the file you want to import.

If you prefer to use a text editor, you must follow some simple formatting rules to make sure that the
text file is successfully imported 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 Regional Settings control panel, you must
enclose that item in quotation marks. Also, you must type an extra quotation mark before each
quotation mark within that item. 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 represents one row when imported into the Tag Group Editor. 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 Number tab of the
Regional Settings 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; otherwise, when you import 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 Picture path, TGEIMP.ERR, that contains a list of errors that
occurred during the import of a comma separated file. After you import 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 Tag Group Editor
does not import the entire row of the file.

If you want to include comment statements in your text file, you must enclose each line of the

118
Creating Recipes

comment in brackets ( [ ] ). Information in brackets is not imported into the Tag Group Editor, but
remains 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.

Importing Tag Group Reports


The steps that follow explain how to import a tag group report.

To import a tag group report:

1. On the File menu, click Open. Select the directory that contains the tag group report you want
to import from the Directories list box.
2. Select the List Files of Type drop-down box and click the Tag Group Reports (*.CSV) option.
3. From the File Name list box, double-click the name of the report that you want to read in. The
Tag Group Editor imports the specified tag group report into the active spreadsheet.

If you import 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 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 Regional Settings control panel. To resolve
this conflict, change the separator in the control panel and open the .CSV file again.

Exporting a Tag Group File


When you export a tag group file, the Tag Group Editor applies all formatting rules described in
previous sections. Each line in the resulting report file represents a row in the Tag Group Editor
spreadsheet, with the exception of bracketed information. The information in brackets are comments;
they are ignored when the Tag Group Editor imports the report file. A tag group report automatically
provides three comments at the top of the report. These comments include 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.

119
Creating Recipes

Sample Tag Group Report

As the previous figure shows, all data is separated with a list separator and enclosed in quotation
marks. The Tag Group Editor does this as a safeguard even though the only items that require
quotation marks are list separators and other quotation marks. In fact, you can delete the quotations
around any component that does not contain a defined list separator or quotation mark if you want.

NOTE: The tag group report also provides a line with the text SYMBOL, SUBSTITUTION, and
DESCRIPTION. This line is provided for readability only. When importing a report, the Tag Group
Editor ignores any line that begins with the word SYMBOL. If you plan to use reports, do not name
any of your symbols with the word SYMBOL.

Creating a Tag Group Report


The steps that follow explain how to create a tag group report.

To create a tag group report:

1. Open the tag group file (*.TGE) that you want to export.
2. On the File menu, click Save As.
3. Select the Save File as Type drop-down box and click the Tag Group Reports (*.CSV) option.
4. In the File Name field, type a report name and click OK.

Recipe Dialog Boxes


The Recipe application includes the following dialog boxes:

• Advanced Options Dialog Box


• Assign Tag Group Dialog Box
• Column Details Dialog Box
• Download Dialog Box
• Download/Upload Error List Dialog Box
• Field Select Dialog Box

120
Creating Recipes

• Go To Dialog Box
• Open Control Recipe Dialog Box
• Override Low/High Limit Dialog Box
• Precheck Error List Dialog Box
• Recipe Mod Log Dialog Box
• Report Column Details Dialog Box
• Report Format Dialog Box
• Set Batch Size Dialog Box
• Window Display Format Dialog Box

Advanced Options Dialog Box


The Advanced Options dialog box lets you:

• Define the upload and download interlocks for the recipe.


• Define the tagname of an upload/download completion status indicator.
• Assign the recipe to a security area.
• Keep an audit trail of recipe activity.

The Advanced Options dialog box displays the following items:

Download
The Download field lets you define the tagname or symbol that acts as a download interlock for the
current recipe. When you download a recipe, the Recipe Builder verifies that the interlock is inactive.
If the interlock is active, the download process aborts.

Upload
The Upload field lets you define the tagname or symbol that acts as an upload interlock for the current
recipe. When you upload a recipe, the Recipe Builder verifies that the interlock is inactive. If the
interlock is active, the upload process aborts.

Completion Status
The Completion Status field lets you enter the tagname of an analog block. This block acts as a
completion status indicator. During an upload or download, the Recipe Builder stores a number (from
zero to four) in the block. The meaning of these values is as follows:

When the value is... The download or upload...

0 Is in progress.

121
Creating Recipes

When the value is... The download or upload...

1 Aborted.

2 Completed with errors.

3 Completed with no errors.

4 Completed with verification errors (download only).

Audit Trail Support

Item Description

Summary Audit Trail The Summary Audit Trail button tracks when:
• Changes to master recipes and control recipes are
saved and the name of the logged in user that saved
the recipe.
• A recipe is uploaded or downloaded and the name of
the logged in user that uploaded or downloaded the
recipe.
• An upload or download fails and why.
The Summary Audit Trail button also tracks the text entered into the
Mod Log field on the Recipe Mod Log dialog box.
The Recipe Builder records this information whenever a recipe is
saved, uploaded, or downloaded.

Detail Audit Trail The Detail Audit Trail button tracks the same summary information
that the Summary Audit Trail button does. The Detail Audit Trail
button also tracks the following additional information:
• The recipe item values that were downloaded.
• The variables that were present in the recipe.
• The recipe items that failed to download and why.

No Audit Trail The No Audit Trail button disables the audit trail for the current
recipe.

Security Area
The Security Area field lets you assign a security area to a recipe. You can enter up to 20
alphanumeric characters into this field. Once you assign a security area to a recipe, it can be opened
only if the logged in user has rights to that security area.

122
Creating Recipes

Assign Tag Group Dialog Box


The Assign Tag Group dialog box displays the following item:

Tag Group Filename


The Assign Tag Group dialog box lets you define the specific tag group you want to assign to the
current recipe. You can enter the name of the tag group file in the Tag Group Filename field or select
the tag group file from a list by clicking the browse (...) button.

Column Details Dialog Box


The Column Details dialog box lets you modify a column in the spreadsheet. The Column Details
dialog box displays the following items:

Column Heading
The Column Heading field lets you change the column heading of any column in the spreadsheet or in
a recipe report. You can enter up to 39 characters into this field.

Modifiable
The Modifiable check box controls whether the text in the selected column is modifiable. When you
select the check box, the text is modifiable. When you clear the check box, the text is not modifiable.

Download Dialog Box


The Download dialog box lets you enter text (or remarks) about the download of the current recipe.
This dialog box only appears if the audit trail is enabled.

The Download dialog box displays the following items:

Batch ID
The Batch ID field lets you enter an identifier for the download of the current recipe. This identifier
can be up to 10 characters. The text you enter is added to the audit trail, uniquely identifies the
download, and is added to the keyword #BATCH_ID. Entering data into the field is optional.

Download Remarks
The Download Remarks field lets you enter up to 20 characters explaining why the current recipe is
being downloaded. The text you enter is added to the audit trail and is assigned to the keyword
#REMARKS. Entering data into the field is optional.

123
Creating Recipes

Download/Upload Error List Dialog Box


The Download/Upload Error List dialog box lets you list the errors that the Recipe Builder
encountered during the last upload or download. The dialog box also includes the:

• Recipe that was uploaded or download


• Number of errors encountered
• Date and time of the last upload or download

The Download/Upload Error List dialog box displays the following items:

Error List
The Error list box displays the upload, download, or verification errors that the Recipe Builder
encountered during an upload or download. Each error is identified by tagname and row number.

To correct an error, use the buttons directly beneath the Error list box.

Go To Item Button
Use this button to move the cell selector to the highlighted tagname in the recipe.

Save Errors Button


Use this button to store contents of the list box to the file recipe.RCE. This file resides in either the
master recipe path or control recipe path, depending on the type of recipe you are working with.

Field Select Dialog Box


The Field Select dialog box lets you to select a node, tag, and field combination. To select a node and
tag, you can use one of three methods:

• Select a node from the Node Selection list box, a tag from the Tag Selection list box, 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.
• 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.

The Field Select dialog box displays the following items:

Filter Fields
The Filter field lets you search for a specific selection in the Node Select, Tag Select, and Field Select
dialog boxes.

124
Creating Recipes

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


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


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.

Field Selection List


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.

Selection Edit Box


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 tagname in the Selection field and click OK.

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
the Filter button.

Go To Dialog Box
The Go To dialog box lets you jump to a specific row. The Go To dialog box displays the following
item:

Item Number
The row number that you want to jump to. After entering a row number, select the Go button to jump
to the specified row.

Open Recipe Dialog Box


The Open Recipe dialog box only opens control recipes located in the control recipe path. The Open

125
Creating Recipes

Recipe dialog box displays the following items:

Recipe Name Field


The Recipe Name field lets you to enter the name of the recipe you want to open.

Recipe List Box


The Recipe list box displays the recipes you can open.

List Files of Type


The List Files of Type list box displays the types of files you can enter in the File Name field.

Drives
The Drives list box shows the name of the drive you have selected.

Network
The Network button allows you to connect to a shared network folder.

Override Low/High Limit Dialog Box


The Override Low/High Limit dialog box lets you define the high and low override limit for a recipe
item or variable. The Override Low/High Limit dialog box displays the following items:

Unrestricted Limit
When either override limit is unrestricted, the operator can enter any override value that is less than or
equal to the high limit and greater than or equal to the low limit. If both override limits are
unrestricted, any override value can be entered.

Restricted Limit
When the high override limit is restricted, the operator can enter an override value that is less than or
equal to the recipe item's calculated value. When the low override limit is restricted, the operator can
enter an override value for the high limit that is greater or equal to the calculated value. If both
override limits are restricted, no override value can be entered.

Absolute Limit
The Absolute Limit field lets you enter a numeric constant as the high or low override limit. When an
absolute limit is used, the operator can enter an override value less than or equal to the high limit and
greater than or equal to the low limit.

126
Creating Recipes

Percentage Limit
The Percentage Limit field lets you enter a percentage as the high or low override limit. When a
percentage limit is used, the operator can enter an override value equal to the recipe item's calculated
value plus or minus the specified percentage.

Difference Limit
The Difference Limit field lets you enter a relative difference as the high or low override limit. When
a difference limit is used, the operator can enter an override value equal to the recipe item's calculated
value plus or minus the specified difference.

Precheck Error List Dialog Box


The Precheck Error List dialog box lists the errors the Recipe Builder encountered prior to uploading
or downloading a recipe. Common precheck errors include an active interlock or uploading from or
downloading to a tagname that does not exist.

The Precheck Error List dialog box displays the following items:

Precheck Error List


The Precheck Error list box displays the errors that the Recipe Builder encountered prior to uploading
or downloading a recipe. Each error is identified by tagname and row number.

Available Buttons
Use the buttons directly beneath the Error list box to proceed with or cancel the upload or download:

Use the... To...

Continue Proceed with the download despite the errors.


Download button

Continue Upload Proceed with the upload despite the errors.


button

Cancel Abort the download.


Download button

Cancel Upload Abort the upload.


button

Save Errors Store the contents of the list box to the file recipe.RCE. This file resides in
button either the master recipe path or control recipe path, depending on the type of
recipe you are working with.

127
Creating Recipes

Recipe Mod Log Dialog Box


The Recipe Mod Log dialog box lets you enter a description of why the current recipe is being saved.
The Recipe Mod Log dialog box only appears if the audit trail is enabled.

The Recipe Mod Log dialog box displays the following items:

Mod Log Field


The Mod Log field lets you enter up to 30 characters of text explaining any changes made to the
current recipe. Entering data into the field is optional. The text you enter is incorporated into the audit
trail.

Save As
The Save As button provides you with access to the Save Recipe As dialog box. Enter the name you
want to save the recipe as.

Report Column Details Dialog Box


The Report Column Details dialog box lets you modify a column in a recipe report. The Report
Column Details dialog box displays the following items:

Column Heading
The Column Heading field lets you change the column heading of any column in the spreadsheet or in
a recipe report. You can enter up to 39 characters into this field.

Column Width
The Column Width field lets you define the length of a column in a recipe report. You can enter any
value between 1 and 100 into this field.

Report Format Dialog Box


The Report Format dialog box lets you:

• Add a column to a recipe report.


• Remove a column to a recipe report.
• Arrange the columns in a report.
• Modify a report column heading.
• Change the column width in a report.

The Report Format dialog box displays the following items:

128
Creating Recipes

Available Columns List Box


The Available Columns list box displays the columns you can add to the spreadsheet or a recipe report.
If the list box is empty, all columns are in use.

Column Layout List Box


The Columns Layout list box displays all the columns that appear in the spreadsheet or that will appear
in the recipe report. The list box also shows the order in which the columns appear, each column
heading, and one of the following items:

• If the column can be modifiable (when editing a display format)


• The column width (when editing a report layout)

Column Layout List Buttons


The Column Layout List Box buttons let you modify the display format as follows:

Use the... To...

Up Arrow and Move the selected column up or down in the Column Layout list box.
Down Arrow
buttons

Add button Move the selected column from the Available Columns list box to the
Column Layout list box.

Modify button Change the column heading and either the column width (when modifying
the format of a report) or whether the column is modifiable (when modifying
the format of the spreadsheet).

Delete button Remove a column from the Column Layout list box.

Switch To button Toggle between the display format of the Recipe Development window and
Recipe Operations window.

Search and Replace Dialog Box


The Search and Replace dialog box lets you search and replace data in a recipe. The dialog box
provides the following options:

• Performing a case-sensitive search.


• Searching forward or backward in the recipe.
• Starting a search in the middle of a column and wrapping to the column's beginning or end.

129
Creating Recipes

The Search and Replace dialog box displays the following items:

Search for
The Search for field lets you enter a search string of up to 100 characters. Wildcard characters (such as
* and ?) are treated as text.

After entering a search string, select the Search Next button to search forward for the next occurrence
of the search string in the selected column. Select the Search Previous button to search backward for
the next occurrence of the search string.

Replace with
The Replace with field lets you enter a replacement string of up to 100 characters. Wildcard characters
(such as * or ?) are treated as text.

After entering a replacement string, select the Replace Next button to search forward for the next
occurrence of the search string and replace it. Select the Replace Previous button to search backward
for the next occurrence of the search string and replace it.

Case Sensitive
The Case Sensitive check box lets you control whether the search for the search string 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 column, either forward or backward, no matter
where you start in the column. When you select this check box, the Recipe Builder automatically
wraps and continues searching the selected column when it reaches the spreadsheet's beginning or end.

When the check box is cleared, the Recipe Builder searches the selected column until it reaches the
spreadsheet's end or the beginning.

Set Batch Size Dialog Box


The Set Batch Size dialog box lets you specify the current batch size. The Set Batch Size dialog box
displays the following item:

Batch Size
Enter any batch size from 0.000001 to 9,999,999.0 into the Batch Size field.

Window Display Format Dialog Box


The Window Display Format dialog box lets you:

• Add a column to the spreadsheet

130
Creating Recipes

• Remove a column to the spreadsheet


• Arrange the columns in the spreadsheet
• Modify a spreadsheet column heading
• Make a column modifiable
• Display the current display format of the Recipe Development window or the Recipe
Operations window

The Window Display Format dialog box displays the following items:

Available Columns List Box


The Available Columns list box displays the columns you can add to the spreadsheet or a recipe report.
If the list box is empty, all columns are in use.

Column Layout List Box


The Columns Layout list box displays all the columns that appear in the spreadsheet or that will appear
in the recipe report. The list box also shows the order in which the columns appear, each column
heading, and one of the following items:

• If the column can be modifiable (when editing a display format)


• The column width (when editing a report layout)

Column Layout List Buttons


The Column Layout List Box buttons let you modify the display format as follows:

Use the... To...

Up Arrow and Move the selected column up or down in the Column Layout list box.
Down Arrow
buttons

Add button Move the selected column from the Available Columns list box to the
Column Layout list box.

Modify button Change the column heading and either the column width (when modifying
the format of a report) or whether the column is modifiable (when modifying
the format of the spreadsheet).

Delete button Remove a column from the Column Layout list box.

Switch To button Toggle between the display format of the Recipe Development window and
Recipe Operations window.

131
Creating Recipes

How Do I...
Click any of the following links for more information about Recipe's step-by-step procedures:

• Using Basic Functions


• Working with Recipes
• Locating and Displaying Data
• Working with Formulas
• Using Advanced Features
• Using Keyboard Accelerators

Using Basic Functions


You can perform the following basic functions in the Recipe Builder:

• Downloading Recipes
• Uploading Recipes
• Scheduling Recipes for Automatic Upload and Download
• Uploading and Downloading from an Operator Display

Downloading Recipes

To download a recipe from the Recipe Builder:

1. In the iFIX WorkSpace system tree, in the FIX Recipes folder, double-click New Recipe. The
Recipe Operations or Recipe Development window appears.
2. On the File menu, click Open. If you are in the Recipe Operations window, the Open Control
Recipe dialog box appears. If you are in the Recipe Development window, the Open Recipe
dialog box appears.
TIP: To change the type of recipes that appear in the Open Recipe dialog box from the Recipe
Development window, in the List Files of Type drop-down list, select Master Recipe (*.rcm)
or Control Recipe (*.rcc). Be aware that the Open Control Recipe dialog box from the Recipe
Operations dialog box only displays control recipes.

3. Select the recipe you want to download. The recipe displays in the spreadsheet.
4. Click the Download button from the recipe header. The Download dialog box appears.
5. Enter the necessary information in the Download dialog box.
6. Click OK.
NOTE: Prior to downloading a recipe, the Recipe Builder performs error checking. If the
Recipe Builder detects an error, the download aborts and the Precheck Error List dialog box
appears. If the Recipe Builder detects no errors, the download begins. When the Recipe
Builder completes the download, it displays the results in a message or the Download Error

132
Creating Recipes

List dialog box.

Uploading Recipes

To upload a recipe from the Recipe Builder:

1. In the iFIX WorkSpace system tree, in the FIX Recipes folder, double-click New Recipe. The
Recipe Operations or Recipe Development window appears.
2. On the File menu, click Open. If you are in the Recipe Operations window, the Open Control
Recipe dialog box appears. If you are in the Recipe Development window, the Open Recipe
dialog box appears.
• TIP: To change the type of recipes that appear in the Open Recipe dialog box from
the Recipe Development window, in the List Files of Type drop-down list, select Master
Recipe (*.rcm) or Control Recipe (*.rcc). Be aware that the Open Control Recipe dialog box
from the Recipe Operations dialog box only displays control recipes.

3. Select the recipe you want to upload. The recipe displays in the spreadsheet.
4. Select the Upload button from the recipe header. The Recipe Builder starts the uploading
process.
NOTE: Prior to uploading a recipe, the Recipe Builder performs error checking. If the
Recipe Builder detects an error, the upload aborts and the Precheck Error List dialog box
appears. If the Recipe Builder detects no errors, the upload begins. When the Recipe Builder
completes the upload, it displays the results in a message or the Upload Error List dialog box.

Scheduling Recipes for Automatic Upload and Download

To schedule a recipe for automatic uploading or downloading:

1. In Classic view, on the iFIX WorkSpace application toolbar, click the Database Manager
button.
-Or-
In Ribbon view, on the Application tab, in the Process Database group, click Database
Manager.
2. Select the SCADA server you want to connect to.
3. Click OK. Once Database Manager connects to the selected SCADA server, the program
opens the server's current database and the Database Manager window appears.
4. In Classic view, in Database Manager, on the Blocks menu, click Add.
-Or-
In Ribbon view, in Database Manager, on the Home tab, in the Blocks group, click Add.
5. Select the PG Program Block and click OK. The Program dialog box appears.
6. Enter a Tag Name and Description, and add a RUNTASK command in the Programming
Statements area. The syntax for this command is:
RUNTASK task_parameters

133
Creating Recipes

For example, this command would perform a recipe download for the control recipe named
BEER, and include an error file:

RUNTASK RCPDOWN /cBEER /e

7. You can also combine the RUNTASK statement with other Program block statements (such
as WAITFOR) to schedule an upload or download automatically.
For example, if you add the first line to the Programming Statements area, the recipe would
also wait for the TIME variable to equal 12 hours, before recipe download occurs:

WAITFOR TIME = 12:00:00


RUNTASK RCPDOWN /cBEER /e

Uploading and Downloading from an Operator Display

To upload or download a recipe from an operator display:

1. In the iFIX WorkSpace, create a picture with the necessary objects (such as a Push Button
link) or modify an existing picture by adding objects.
2. Include a command script with the RUNTASK command for each object that will trigger an
upload or download. The syntax for this command is:
RUNTASK task parameters.

For example, this command would perform a recipe download for the control recipe named
BEER, and include an error file:

RUNTASK RCPDOWN /cBEER /e

This command would perform a recipe upload for the control recipe named BEER, and
include an error file:

RUNTASK RCPUP /cBEER /e

3. When in run mode, select the appropriate object to start the upload or download process.
When selected, the associated command script executes and uploads or downloads the
specified recipe.

Working with Recipes


In the Recipe Builder, you can perform the following tasks when working with recipes:

• Creating a Recipe Item or Variable


• Inserting a Recipe Item or Variable
• Deleting a Recipe Item or Variable
• Creating a Recipe Report
• Creating and Modifying a Recipe Note File
• Enabling and Disabling Recipe Verification
• Importing and Exporting Data to a Third-Party Application

134
Creating Recipes

• Modifying a Report Column

Creating a Recipe Item or Variable

To create a new recipe item or variable for the current recipe:

1. Select a cell in the Recipe window's Identifier column and type a tagname, variable name, or a
symbol name.
NOTE: If you prefer, you can double-click a cell in the Identifier column to display the Field
Select dialog box.

2. Select the corresponding cell in the Formula column and enter a formula for the recipe item.
When you complete your entry, the text in the Calc Val column changes to reflect the
formula’s value.
3. Modify the text in the Description and UOM columns as needed. Notice that if you enter a
tagname the text from the specified block’s Description and EGU Tag fields are automatically
inserted for you.
4. Modify the override limits as needed. By default, the override limits are sent to
UNRESTRICTED.
5. Modify the Verify column as needed. By default, recipe verification is disabled for each
recipe item you add to the recipe. To enable it, select a cell in the Verify column and type ON
in the text editing box. It is recommended that you only verify Analog Register, Digital
Register, and Text blocks.

Inserting a Recipe Item or Variable

To insert a recipe item or variable to a recipe:

1. In the Recipe window's spreadsheet, select a cell from the row where you want to insert a
recipe item or variable.
2. On the Edit menu, click Insert Item. The Recipe Builder inserts a blank row above the row
you selected and renumbers the spreadsheet.
NOTE: You can add up to 3500 recipe items to a recipe.

Deleting a Recipe Item or Variable

To delete a recipe item or variable from a recipe:

1. In the Recipe window's spreadsheet, select a cell from a row that you want to delete.
2. On the Edit menu, click Delete Item. The Recipe Builder removes the selected item from the
recipe and renumbers each row in the spreadsheet.
You can also delete a recipe item or variable by selecting Cut from the Edit menu. The main
difference between these commands is that when you delete a recipe item or variable with
Cut, you can paste it back into the recipe if you accidentally remove the wrong item or if you
change your mind. When you select Delete Item, the recipe item or variable is irretrievable.

135
Creating Recipes

Creating a Recipe Report

To create a report from the current recipe:

1. With a recipe loaded in the Recipe window's spreadsheet, on the File menu, select Report.
The Report Format dialog box appears.
2. Use the Column Layout List Box buttons to add or delete report columns. Also use these
buttons to arrange the columns in the report and modify the column widths and headings.
3. Click OK. The Recipe Builder creates a report from the current recipe and stores it in the
appropriate recipe path.

Creating and Modifying a Recipe Note File

To create or modify a recipe note file:

1. In the Recipe window, on the File menu, select Notes. The Recipe Builder starts Notepad.
If a note file does not already exist for the current recipe or if the Recipe Builder cannot locate
the note file in the control recipe path, the Recipe Builder prompts you to create a new one.
Select the No button to create an untitled note file. To create a note file with a name that
matches the current recipe, select the Yes button.

2. Enter the information you want after the program starts.


3. When you are ready to save the note file, on the File menu, click Save. If you are working
with a new, untitled recipe, save the file in the control recipe path with the extension .RCN.
The name of the note file should also match the name of the recipe; otherwise, the Recipe
Builder will not be able to locate the note file subsequently.

Enabling and Disabling Recipe Verification

To enable recipe verification for each recipe item:

• In the Recipe window's spreadsheet, enter ON in the Verify column.

To disable recipe verification:

• In the Recipe window's spreadsheet, enter OFF in the Verify column. By default, recipe
verification is disabled.

Importing from and Exporting Data to a Third-Party Application

To import data from a third-party application:

1. Save the data you want to import in a text file and copy it into the master recipe path or
control recipe path.
2. If you are not already in development mode in the Recipe window, on the Window menu,
select Switch to DEV. The Recipe Development window appears.

136
Creating Recipes

3. In the Recipe Development window, on the File menu, click Open. The standard Open dialog
box appears.
4. From the List Files of Type drop-down list, select either master text recipes or control text
recipes.
5. Select the text file you want to open. The Recipe Builder imports the data.

To export data to a third-party application:

1. If you are not already in development mode in the Recipe window, on the Window menu,
select Switch to DEV. The Recipe Development window appears.
2. From the File menu, click Save As. If the audit trail is enabled, the Recipe Mod Log dialog
box appears.
If the audit trail is disabled, the standard Save As dialog box appears. Go to step 4.
3. Enter the reason for exporting the recipe, and click Save As. The standard Save As dialog box
appears.
4. Select either master text recipes or control text recipes from the List Files of Type drop-down
box.
5. Type the name for the exported recipe in the File Name field, and select the OK button. The
Recipe Builder exports the recipe to a text file.
6. Start your third-party application and open the text file with it.

Modifying a Report Column

To modify a report column:

1. In the Recipe window, on the File menu, click Report. The Report Format dialog box appears.
2. Select the column you want to modify from the Column Format list box.
3. Click Modify. The Report Column Details dialog box appears.
4. In the Column Heading field, edit the text as needed.
5. In the Column Width field, edit the text as needed.
6. From the Report Column Details dialog box, click OK. The Recipe Builder updates the
Column Layout list box to reflect the changes you made.
7. Repeat steps 4 through 6 until you have modified each report column.
8. From the Report Format dialog box, click OK. The Recipe Builder updates the report format.

Locating and Displaying Data


In the Recipe Builder, you can perform the following tasks when locating and displaying data:

• Changing a Display Format


• Modifying a Column
• Searching and Replacing Data

137
Creating Recipes

Changing a Display Format

To change the current display format:

1. In the Recipe window, on the Window menu, click Edit Display Format. The Window
Display Format dialog box appears.
2. Use the Column Layout List Box buttons to add or delete spreadsheet columns. Also use these
buttons to modify the column heading, make a column modifiable, arrange the columns in the
spreadsheet, and toggle between the display format of the Recipe Development window and
the Recipe Operations window
3. Select the OK button. The Recipe Builder saves the display format in memory.

Modifying a Column

To modify a column for a display format:

1. In the Recipe window, on the Window menu, click Edit Display Format. The Window
Display Format dialog box appears.
2. From the Column Format list box, select the column you want to modify.
3. Click Modify, or double-click the column name in the Column Layout list box. The Column
Details dialog box appears.
4. In the Column Heading field, edit the text as needed.
5. Select the Modifiable check box to make the column modifiable. To make the column non-
modifiable, clear the check box.
6. Select the OK button from the Column Details dialog box. The Recipe Builder updates the
Column Layout list box to reflect the changes you made.
7. From the Window Display Format dialog box, click OK. The Recipe Builder updates the
spreadsheet.

Searching and Replacing Data

To search for data in a column (or search and replace data):

1. In the Recipe window's spreadsheet, select the column you want searched.
2. Select the Search button. The Search and Replace dialog box appears.
3. In the Search for field, enter the text you want to locate. If you want to search and replace
data, enter the replacement data in the Replace with field.
4. Use the Search Next and Search Previous buttons to search forward and backward in the
column. Use the Replace Next and Replace Previous buttons to search and replace data in the
column.
5. When you finish searching the selected column, you can return to the spreadsheet by selecting
a cell. The Search and Replace dialog box remains on the screen. To close the dialog box,
select the Exit button.

138
Creating Recipes

Working with Formulas


In the Recipe Builder, you can perform the following tasks when working with formulas:

• Entering an Override Limit


• Entering and Clearing Overrides
• Entering and Modifying a Formula

Entering an Override Limit


When you add or insert a recipe item or variable, the Recipe Builder automatically sets the high and
low override limits to Unrestricted. This allows anyone to enter any override value needed. If you want
to restrict the possible value of the override value, change the override limits.

To change the override limits:

1. In the Recipe window's spreadsheet, double-click a cell in the Override Lo Lim column or the
Override Hi Lim column that is in the row you want to update. The Override Low Limit or
Override High Limit dialog box appears.
• TIP: For Restricted and Unrestricted Limits, you can also select the cell, type R for
Restricted or U for Unrestricted, and press Enter. This assigns the Restricted or Unrestricted
Limit without opening the Override Low Limit or Override High Limit dialog box.

2. Select the override limit that you want to use.


3. For the Absolute, Percentage, and Difference Limit, enter a value. The following table
provides a guidelines for entering values.

To set an override limit Type...


to...

An absolute value The value you want to use.

A relative percentage of the The percentage of the calculated value you want to use. Be sure
calculated value to include the percent sign (%).

A relative difference from the The difference from the calculated value you want to use
calculated value followed by a minus sign (-).

4. Click OK.

Entering and Clearing Overrides

To enter an override value:

1. In the Recipe window's spreadsheet, select the appropriate cell in the Override Val column.
2. Type a value in the text editing box. The range of values you can enter into the Override Val

139
Creating Recipes

column depends on the high and low override limits defined for a specific recipe item or
variable.

To clear an override value:

• In the Recipe window's spreadsheet, select the appropriate cell and press <Delete>.
NOTE: To delete all the override values in use, select the Clear Overrides button.

Entering and Modifying a Formula

To enter a formula for a recipe item or variable:

1. In the Recipe window's spreadsheet, select the appropriate cell in the Formula column.
2. Type the formula you want into the text editing box. When typing the formula, you can
combine one or more of the following items:

Formula Type Examples

Numeric or string constant 5 or “John”

Mathematical operators +, -, *, /,= =, >, <, <=, !=, ^,

Function Log(234) or
Lookup (#COLOR;1;2;3;4;5)

Variable #COLOR

Keyword #BATCH or #NAME

To modify a formula:

1. In the Recipe window's Formula column, select the appropriate cell, and press INSERT. The
Recipe Builder highlights the text in the text editing box.
2. Type the new text you want. The Recipe Builder replaces the original text with the text you
enter.

Using Advanced Features


In the Recipe Builder, you can perform the following tasks when using advanced features:

• Assigning a Tag Group


• Changing the Verification Timeout Interval
• Defining the Completion Status Indicator

140
Creating Recipes

• Defining the Upload and Download Interlocks


• Enabling and Disabling the Audit Trail
• Selecting a Security Area
• Setting and Scaling the Batch Size
• Setting the Standard Batch Size

Assigning a Tag Group

To assign a tag group to the current recipe:

1. In the Recipe window, on the Options menu, click Assign Tag Group. The Assign Tag Group
dialog box appears.
2. In the Tag Group Filename field, enter the tag group file that you want to assign to the recipe.
- Or -
To the right of the Tag Group Filename field, select the browse (...) button and double-click
the tag group file you want to assign to the recipe from the list that appears.
After you assign a tag group to a recipe, you can display the tagnames by selecting Show
Tagnames from the Window menu. To display the symbol names again, select Show Symbols
from the Window menu.

Changing the Verification Timeout Interval

To modify the timeout interval:

1. In the Recipe window, on the File menu, click Exit. If necessary, save any changes you have
made to the current recipe.
2. With a text editor such as Notepad, open the RCP.INI file. This file resides in the directory
pointed to by the local path.
When you open the file, you should see the following text:
[startup]
startup.mode=2
verification.timeout=30

3. Modify the timeout interval by changing it from 30 to some other value. Possible values for
the timeout interval are from 1 to 65535 seconds.
4. After modifying the timeout interval, save the RCP.INI file and restart the Recipe Builder.

Defining the Completion Status Indicator

To define the completion status indicator:

1. In the Recipe window, on the Options menu, click Advanced Options. The Advanced Options
dialog box appears.
2. In the Completion Status field, enter the tagname of the block that acts as the completion

141
Creating Recipes

status indicator for the recipe, or click the browse (...) button and select the tagname from the
dialog box that appears.
By default, the F_CV field of the block is assigned to the tagname if you do not specify a field
name. However, you can specify any F_ field for the tagname (such as F_02 for an Analog
Register block).

Defining the Upload and Download Interlocks

To define the upload and download interlocks for the current recipe:

1. In the Recipe window, on the Options menu, click Advanced Options. The Advanced Options
dialog box appears.
2. In the Download field, enter the tagname or symbol of the block that acts as a download
interlock for the recipe. In the Upload field enter the tagname or symbol of the block that acts
as an upload interlock. If you prefer, you can select the browse (...) button to the right of
either field and select the tagname from the dialog box that appears.
By default, the F_CV field is assigned to the tagname when no field name is specified.
However, you can enter any F_ field for the tagname (such as F_04 for a Digital Register
block).

Enabling and Disabling the Audit Trail

To enable the audit trail for the current recipe:

1. In the Recipe window, on the Options menu, click Advanced Options. The Advanced Options
dialog box appears.
2. Select either the Summary Audit Trail button or the Detail Audit Trail button to select the
type of audit trail you want.

To disable the audit trail:

1. In the Recipe window, on the Options menu, click Advanced Options. The Advanced Options
dialog box appears.
2. Select the No Audit Trail button.

Selecing a Security Area

To select a security area for the current recipe:

1. In the Recipe window, on the Options menu, click Advanced Options. The Advanced Options
dialog box appears.
2. In the Security Area field, enter the appropriate text. To assign the recipe to:
• Every security area, type ALL.
• No security area, type NONE.
• A specific security area, type the security area name in the Security Area field.

142
Creating Recipes

If you prefer, click the browse (...) button and select a security area from the dialog box that
appears. Use the scroll bar or arrow keys to locate the security area you want. Press the OK
button to complete the selection.

Setting and Scaling the Batch Size

To set the batch size for the current recipe:

1. In the Recipe window, on the Options menu, click Set Batch Size. The Set Batch Size dialog
box appears.
2. In the Batch Size field, enter the amount of the product you want to make.
3. From the Set Batch Size dialog box, click OK. The Recipe Builder assigns the value you enter
to the #BATCH keyword. The Recipe Builder also divides #BATCH by #STD_BATCH to
compute the scaling factor. The result of this calculation is stored in the #SCALE keyword.

To scale a batch size for the current recipe:

• Multiply the formula of each recipe item you want to scale by #SCALE. Once this is done,
you can scale a batch by changing the current batch size.

Setting the Standard Batch Size

To set the standard batch size for the current recipe:

• In the Recipe window, in the Standard Batch Size field, type the standard amount of the
product that this recipe produces. The Recipe Builder assigns the value you enter to the
#STD_BATCH keyword.

Using Keyboard Accelerators


The following keys and keyboard accelerators are available in the Recipe Operations or Recipe
Development window to help you move through the menu bar and dialog boxes.

Movement Keys
• The ALT key activates the menu bar.
• The left and right arrow keys move between menus.
• The up and down arrow keys move through menu commands.
• The ENTER key selects a command or dialog box button and records field entries.
• The TAB key moves the selection box or cursor through all dialog box fields, list boxes, check
boxes, and buttons.
• The PAGE UP and PAGE DOWN keys shift the spreadsheet up or down to display additional
rows.

143
Creating Recipes

Keyboard Accelerators

Task Accelerator

Access help for dialog boxes and commands F1

Access help for fields and controls ALT+F1

Apply a font CTRL+F

Assign a tag group to a recipe CTRL+G

Copy a recipe item or variable CTRL+C

Copy all recipe items and variables CTRL+A

Create a new recipe CTRL+N

Create a recipe report CTRL+R

Cut a recipe item or variable CTRL+X

Delete a recipe item CTRL+D

Display symbols in a recipe CTRL+Y

Exit the Recipe Builder ALT+F4

Insert a recipe item CTRL+E

Open a recipe CTRL+O

Paste a recipe item or variable CTRL+V

Save a recipe CTRL+S

Set the current batch size CTRL+B

Substitute tagnames for symbols CTRL+T

Switch to the Recipe Development or Recipe CTRL+W


Operations window

144
Creating Recipes

145
Index
A Changing the verification timeout interval .....141

adding a column ............................................... 43 Clearing all override values ............................139

adding a column to a report .............................. 32 Clearing an override value ..............................139

adding recipe items or variables ....................... 29 clearing overrides .............................................69

applying fonts ................................................... 42 closing tag groups ...........................................113

Assigning tag groups to a recipe..................... 141 command line parameters

audit trail Batch ID........................................................85

detailed ......................................................... 77 batch size ......................................................83

storing messages ........................................... 77 Command Line File ......................................84

summary ....................................................... 77 control recipe ................................................83

summary format............................................ 77 Control Text Recipe......................................87

audit trail ............................................................1 description ....................................................81

automatic uploads and downloads .................... 57 Download Remarks ......................................86

B error file ........................................................84

batch size Master Recipe ...............................................86

scaling.............................................................1 Master Text Recipe .......................................87

scaling batch size .......................................... 69 overriding a variable .....................................88

binary recipes ................................................... 13 Tag Group .....................................................85

C using .............................................................81

changing a column heading in a report ............. 32 using multiple ones .......................................81

changing a column width in a report ................ 32 command line parameters .................................81

Changing a display format .............................. 138 completion status indicator

changing the order of precedence in a defining .........................................................75


formula ......................................................... 62
possible values ..............................................75
changing the recipe type ................................... 28
using in an operator display ..........................75

147
Creating Recipes

configuring a program block for automatic defining tag group substitutions......................115


uploads or downloads ................................... 57
defining tag group symbols ............................114
Control recipe path ........................................... 40
defining the completion status indicator ...........75
control recipes
Defining the download interlock ....................142
described.........................................................3
Defining the upload interlock .........................142
downloading ................................................. 47
Deleting a recipe item or variable ...................135
opening ......................................................... 25
deleting a row from a tag group ......................116
saving ........................................................... 27
deleting overrides .............................................69
using ............................................................. 13
deleting recipe files ...........................................32
copy
deleting recipe items .........................................32
all recipe items or variables .......................... 31
deleting recipes .................................................32
copying
deleting tag groups..........................................117
all recipe items or variables .......................... 31
deleting variables ..............................................31
from third-party applications ........................ 29
detailed audit trail
recipe items or variables ............................... 29
overview .......................................................77
Creating a recipe item or variable................... 135
developing recipes ............................................. 6
Creating a recipe note file ............................... 136
disabling recipe verification .............................20
Creating a recipe report .................................. 136
Disabling the audit trail ..................................142
creating formulas .............................................. 66
displaying symbols ...........................................42
creating recipe items or variables ..................... 24
displaying tagnames .........................................42
creating recipe note files ................................... 34
displaying the Recipe Development window
creating recipe reports ...................................... 32
on startup ......................................................41
creating recipes ...................................................4
displaying the Recipe Development window ...16
creating sample recipe ........................................8
displaying the Recipe Operations window
creating tag groups ......................................... 111
on startup ......................................................41
cutting and pasting data ......................................1
downloading control recipes .............................47
D
Downloading from an operator display ..........134
defining interlocks ............................................ 74
downloading master recipes .............................47

148
Creating Recipes

Downloading recipes ...................................... 132 making a column modifiable ........................44

downloading recipes automatically making a column non-modifiable .................44

configuring a program block ........................ 57 saving ............................................................45

downloading recipes from an operator format of recipes


display
See also binary recipes, text recipes .............13
example scripts ............................................. 56
formula ...........................................................140
downloading recipes from Recipe Builder
formulas
checking for errors ........................................ 49
changing the order of precedence .................62
displaying the results .................................... 50
components ...................................................20
handling errors .............................................. 49
creating .........................................................66
starting the download ................................... 48
described ........................................................ 4
downloading variables ...................................... 49
examples .......................................................58
E
functions .......................................................60
Enabling and disabling recipe verification ..... 136
keywords.......................................................64
enabling recipe verification .............................. 20
modifying .....................................................66
Enabling the audit trail ................................... 142
operators .......................................................62
Entering a formula .......................................... 140
order of precedence ......................................62
Entering an override limit ............................... 139
overview ........................................................ 1
entering an override value ................................ 68
recalculating..................................................66
entering override limits..................................... 68
syntax............................................................60
error messages .................................................. 94
using the Index function ...............................60
exiting the Tag Group Editor .......................... 113
using the Lookup function ............................60
Exporting data ................................................ 136
using variables and keywords .......................58
exporting tag group reports ............................ 119
using with variables ......................................66
F
H
fermentation example .........................................8
handling download errors .................................49
format files
I
loading .......................................................... 46
Importing data ................................................136

149
Creating Recipes

importing tag group reports ............................ 119 modifying a column heading ............................44

Index function................................................... 60 Modifying a formula .......................................140

Inserting a recipe item or variable .................. 135 Modifying a recipe note file ...........................136

interlocks Modifying a report column .............................137

defining......................................................... 74 modifying all recipe items or variables.............31

J modifying formulas ..........................................66

jumping to a row............................................... 39 moving data from third-party applications .......31

K moving recipe items or variables ......................30

keeping an audit trail ........................................ 15 N

Keyboard ........................................................ 143 naming conventions ..........................................13

keywords O

setting the value of........................................ 64 opening a recipe

using in formulas .......................................... 58 in the Recipe Development window .............17

L in the Recipe Operations window .................17

loading a format file ......................................... 46 overview .......................................................25

local node alias ...................................................9 opening tag groups..........................................113

Lookup function ............................................... 60 order of precedence

M changing .......................................................62

making a column modifiable ............................ 44 override limits

making a column non-modifiable ..................... 44 entering .........................................................68

master recipe path ............................................. 40 overview .......................................................20

master recipes types of .........................................................20

described.........................................................3 override value

downloading ................................................. 47 deleting .........................................................69

opening ......................................................... 25 entering .........................................................67

saving ........................................................... 27 overriding a value

using ............................................................. 13 scaling a batch ..............................................67

Modifying a column ....................................... 138 overriding a value .............................................. 9

150
Creating Recipes

overriding the default value format .................. 46 window elements ..........................................17

P recipe buttons

preferred block types for recipes ........................9 definition of ..................................................17

preferred blocks for recipe verification ..............9 in Recipe Development window ...................19

preferred fields for recipes..................................9 in Recipe Operations window .......................19

program block working with .................................................19

configuring for automatic uploads and Recipe Development window


downloads ................................................. 57
available menus ............................................17
protecting database blocks ................................ 80
comparison with Recipe Operations
R window .....................................................17

recalculating formulas ...................................... 66 displaying .....................................................16

Recipe Builder displaying on startup .....................................41

command line parameters ............................. 81 elements ........................................................17

downloading recipes ..................................... 47 opening a recipe ............................................17

error messages .............................................. 94 recipe buttons ................................................17

overview .........................................................1 recipe header .................................................17

recipe buttons ............................................... 17 recipe items ...................................................17

recipe display area ........................................ 17 spreadsheets ..................................................17

recipe header................................................. 17 switching to ..................................................42

recipe paths ................................................... 40 variables ........................................................17

security ......................................................... 80 recipe display area ............................................17

spreadsheet ................................................... 17 Recipe Download program

spreadsheet columns ..................................... 20 command line parameter summary ...............89

starting .......................................................... 16 component of Recipe Package ....................... 1

starting the upload ........................................ 54 using in script................................................56

text editing box ............................................. 17 using with Program block .............................57

uploading recipes .......................................... 54 recipe extensions...............................................93

window differences ...................................... 17 recipe files ........................................................93

151
Creating Recipes

recipe header recipe note files

definition of .................................................. 17 creating .........................................................34

fields ............................................................. 20 Recipe Operations window

in Recipe Development window................... 17 available menus ............................................17

in Recipe Operations window....................... 17 comparison with Recipe Development


window .....................................................17
recipe items
displaying on startup .....................................41
copying ......................................................... 29
elements ........................................................17
copying all from third-party data .................. 31
opening a recipe ............................................17
copying from third-party applications .......... 29
recipe buttons ................................................17
creating ......................................................... 24
recipe header .................................................17
creating formulas .......................................... 66
recipe items ...................................................17
deleting ......................................................... 31
spreadsheets ..................................................17
deleting overrides ......................................... 69
switching to ..................................................42
described.........................................................3
variables ........................................................17
displaying current value of ........................... 20
recipe package
entering override limits ................................. 68
description of ................................................. 1
in the Recipe Development window ............. 17
recipe paths
in the Recipe Operations window ................. 17
defaults .........................................................40
inserting ........................................................ 29
defining with a file server .............................40
jumping to..................................................... 39
defining without a file server ........................40
maximum number of ......................................3
overview .......................................................40
modifying formulas ...................................... 66
used for each file type ...................................93
moving .......................................................... 30
recipe types
moving all from third-party applications ...... 31
changing .......................................................28
moving data from third-party applications ... 31
overview ........................................................ 3
overriding a value ......................................... 20
recipe types See also control recipes, master
verifying ....................................................... 15 recipes ............................................................ 3

152
Creating Recipes

Recipe Upload program developing ..................................................... 6

command line parameter summary............... 89 displaying symbols .......................................42

component of Recipe Package ........................1 displaying tagnames .....................................42

using in script ............................................... 56 downloading automatically ...........................57

using with program block ............................. 57 downloading from an operator display .........56

Recipe user account .......................................... 80 downloading from Recipe Builder ................47

recipe verification editing a text version .....................................92

changing the timeout interval ....................... 52 establishing naming conventions ..................13

disabling ....................................................... 20 format of .......................................................13

enabling ........................................................ 20 inserting recipe items or variables into .........29

overview ....................................................... 51 jumping to a row ...........................................39

preferred block types ......................................9 making a column modifiable ........................44

timeout interval ............................................. 51 making a column non-modifiable .................44

recipes master text format .........................................89

binary ............................................................ 13 opening .........................................................25

changing the recipe type ............................... 28 opening from Recipe Development


window .....................................................17
changing the verification timeout ................. 52
opening from Recipe Operations window ....17
control text format ........................................ 89
opening more than one..................................26
creating ...........................................................4
overriding a value .........................................15
creating note files ......................................... 34
overriding calculated values .........................67
creating reports ............................................. 32
overriding the default format ........................46
creating sample ...............................................8
preferred block types ..................................... 9
defining interlocks ........................................ 74
preferred fields ............................................... 9
defining the completion status indicator ....... 75
renaming .......................................................28
deleting ......................................................... 32
saving ............................................................13
deleting associated files ................................ 32
saving an untitled note ..................................34
deleting override values ................................ 69
saving related information ............................34
deleting recipe items or variables ................. 31

153
Creating Recipes

searching and replacing ................................ 36 saving recipes ...................................................13

security ......................................................... 56 saving tag groups ............................................117

selecting a security area ................................ 76 saving text recipes ............................................28

substituting tagnames for symbols................ 42 Scaling the batch size

types of ...........................................................3 batch size ......................................................69

uploading automatically ............................... 57 Scaling the batch size .....................................143

uploading from an operator display .............. 56 Scheduling recipes ..........................................133

uploading from recipe builder ...................... 53 Searching and replacing data

using existing ones .........................................4 case sensitivity ..............................................36

using formulas .............................................. 12 overview .......................................................36

using text format ........................................... 13 substrings ......................................................36

using variables ................................................9 wrap around ..................................................36

verifying ....................................................... 15 Searching and replacing data ..........................138

recipes See also control recipes, master security .............................................................56


recipes........................................................... 13
Selecting a security area .................................142
removing a column ........................................... 43
Setting the current batch size ..........................143
removing a column from a report ..................... 32
Setting the standard batch size ........................143
renaming recipes............................................... 28
spreadsheet .....................................................112
reports
spreadsheets
adding a column to ....................................... 32
columns.........................................................20
changing a column heading .......................... 32
description of ................................................17
changing a column width.............................. 32
in the Recipe Development window .............17
creating ......................................................... 32
in the Recipe Operations window .................17
removing a column from .............................. 32
loading a format file .....................................46
S
making a column modifiable ........................44
saving a format ................................................. 45
making a column non-modifiable .................44
saving an untitled recipe note file ..................... 34
modifying a column ......................................44
saving recipe-related information ..................... 34
modifying a column heading ........................44

154
Creating Recipes

overriding the default format ........................ 46 creating .......................................................111

saving a format file ....................................... 45 defining descriptions ...................................115

substituting tagnames for symbols ................... 42 defining substitutions ..................................115

substitutions defining symbols.........................................114

searching and replacing .............................. 116 deleting .......................................................117

substrings .......................................................... 36 deleting a row .............................................116

summary audit trail editing .........................................................115

format of ....................................................... 77 opening .......................................................113

switching to the Recipe Development saving ..........................................................117


window ......................................................... 42
searching and replacing substitutions .........116
switching to the Recipe Operations window .... 42
what they enable you to do ...........................71
symbols
tag groups .......................................................... 1
displaying ..................................................... 42
tagnames
T
described ........................................................ 3
Tag Group Editor
text editing box .................................................17
closing files................................................. 113
text recipes
commands ................................................... 112
how they can be opened ................................13
exiting ......................................................... 113
opening .........................................................26
layout .......................................................... 112
saving ............................................................28
OPC Server address substitution ................ 115
THISNODE as node name................................. 9
opening files ............................................... 113
timeout interval
spreadsheet ................................................. 112
changing .......................................................52
tag group reports
tracking recipe activity, See Audit trail ............15
exporting ..................................................... 119
types of recipes .................................................. 3
format of ..................................................... 118
U
importing .................................................... 119
Uploading from an operator display ...............134
tag groups
Uploading recipes ...........................................133
closing ........................................................ 113
uploading recipes automatically .......................57

155
Creating Recipes

uploading recipes from an operator display displaying current value of ...........................20

example scripts ............................................. 56 downloading .................................................49

why it is useful ............................................. 56 entering override limits .................................68

uploading recipes from Recipe Builder in the Recipe Development window .............17

checking for errors ........................................ 54 in the Recipe Operations window .................17

displaying results .......................................... 55 inserting ........................................................29

how it works ................................................. 53 jumping to .....................................................39

starting the upload ........................................ 54 moving ..........................................................30

uploading variables ........................................... 53 moving all data from third-party


applications ...............................................31
using notepad .................................................... 34
moving data from third-party applications ...31
using the Delete key ......................................... 31
overriding ...................................................... 9
V
overriding a value .........................................20
variables
recalculating formulas ..................................66
copying ......................................................... 29
uploading ......................................................53
copying all data from third-party
applications ............................................... 31 using .............................................................. 9

copying from third-party applications .......... 29 using with formulas ......................................58

creating ......................................................... 24 verifying a recipe

creating formulas .......................................... 66 changing the timeout interval .......................52

deleting ......................................................... 31 overview .......................................................51

deleting overrides ......................................... 69 verifying a recipe item ......................................15

described.........................................................4

156
Proficy* HMI/SCADA - iFIX
DISCOVER AND AUTO CONFIGURE OVERVIEW

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

Disclaimer of Warranties and Liability

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

Notice

©2010 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
Discover and Auto Configure Overview ........................................................................................... 7

Supported Software ....................................................................................................................... 11

Operating System ...................................................................................................................... 11

OPC Servers .............................................................................................................................. 11

Supported Hardware ...................................................................................................................... 12

Allen-Bradley PLC-5/SLC 500/MicroLogix Families Discovery Agent ....................................... 12

IGS - Industrial Gateway Server Discovery Agent ..................................................................... 12

Siemens S7 Discovery Agent .................................................................................................... 12

Supported OPC Data Access Specifications ................................................................................. 19

Supported Tag Types ..................................................................................................................... 19

Supported iFIX Block Types....................................................................................................... 19

Setting up for Remote OPC Server Access ................................................................................... 21

Set Up Windows XP, Windows Vista or Windows Server 2008 Firewall for Remote OPC Servers
................................................................................................................................................... 21

Setting Up DCOM for Discovery of Remote OPC Servers ........................................................ 26

DCOM Settings .......................................................................................................................... 27

System-wide COM/DCOM Limits Settings ............................................................................. 28

OPC Server-specific DCOM Settings .................................................................................... 29

Discover and Auto Configure Application ...................................................................................... 33

Toolbars and Menus .................................................................................................................. 38

Working with the Spreadsheet ................................................................................................... 42

Discovery Agents ........................................................................................................................... 45

Discovery Agent Selection Wizard - Welcome........................................................................... 47

Discovery Agent Selection Wizard - Select a Discovery Agent ................................................. 47

OPC Discovery Agent ................................................................................................................ 47

Discovery Agent Selection Wizard - Select Local or Remote OPC Server ........................... 48

iii
Discover and Auto Configure

Discovery Agent Selection Wizard - Select an OPC Data Access Server ............................. 49

Extracting Item Information from an OPC Server .................................................................. 50

Rerunning the Discovery Agent for an OPC Server............................................................... 51

Siemens S7 Discovery Agent .................................................................................................... 52

Discovery Agent Selection Wizard - Select a Siemens .S7P Project .................................... 53

Extracting Tag Information From a Siemens .S7P Project File ............................................. 53

Rerunning the Discovery Agent for a Siemens .S7P Project ................................................. 54

Allen-Bradley PLC-5/SLC 500/MicroLogix Families Discovery Agent ....................................... 54

Supported File Types ............................................................................................................. 55

Discovery Agent Selection Wizard - Select an RSLogix 5 or RSLogix 500 .EAS File ........... 57

Extracting Tag Information from an RSLogix .EAS File ......................................................... 58

Rerunning the Discovery Agent for an RSLogix .EAS Project ............................................... 58

IGS - Industrial Gateway Server Discovery Agent ..................................................................... 59

Discovery Agent Selection Wizard - Select an Action ........................................................... 60

Discovery Agent Selection Wizard - Select an RSLogix 5000 .L5K File ............................... 61

Discovery Agent Selection Wizard - Select a Device to Rescan ........................................... 61

Extracting Tag Information from an RSLogix 5000 ControlLogix .L5K File .......................... 62

Rerunning the Discovery Agent for the IGS Driver for an RSLogix .L5K Project .................. 62

Discovery Agent Selection Wizard - Summary .......................................................................... 63

Target Applications ........................................................................................................................ 64

Proficy HMI/SCADA - iFIX.......................................................................................................... 64

The iFIX Wizards Toolbar and Right-Click Menu ....................................................................... 65

iFIX - All Wizards ........................................................................................................................ 67

Tag Name and Description Wizard ............................................................................................ 67

Block Type and Scan Time Wizard ............................................................................................ 70

Driver Wizard ............................................................................................................................. 72

OPC Client Driver ................................................................................................................... 72

Siemens S7 Drivers ............................................................................................................... 75

iv
Table Of Contents

Allen-Bradley PLC 5 Driver .................................................................................................... 78

IGS Driver............................................................................................................................... 79

Summary .................................................................................................................................... 80

How Do I… ................................................................................................................................. 80

Modifying iFIX Columns in the Spreadsheet .......................................................................... 80

Using the iFIXColumns.txt File to Modify iFIX Columns in the Spreadsheet ......................... 82

Using the iFIXColumns.txt File to Modify iFIX Columns in the Spreadsheet ......................... 83

Adding Proficy Historian Fields as Columns .......................................................................... 85

Running iFIX - All Wizards ..................................................................................................... 86

Generating Tag Names .......................................................................................................... 86

Assigning Block Types and Scan Times ................................................................................ 87

Selecting a Driver ................................................................................................................... 88

Adding Tags to iFIX ................................................................................................................ 88

Modifying Tag Information for iFIX ......................................................................................... 89

Drivers ............................................................................................................................................ 89

GE Intelligent Platforms OPC Client Driver ................................................................................ 91

GE Intelligent Platforms SI7 Driver ............................................................................................ 91

GE Intelligent Platforms ABR Driver .......................................................................................... 91

GE Intelligent Platforms IGS Driver ........................................................................................... 91

InCoSol S7A Driver .................................................................................................................... 91

Troubleshooting ............................................................................................................................. 92

Troubleshooting the Discovery Agent Selection Wizard ............................................................ 92

Discovery Agent and Target Application Issues .................................................................... 92

Remote OPC Server Running as a Service ........................................................................... 94

Browsing for OPC Servers ..................................................................................................... 94

Accessing Remote OPC Servers ........................................................................................... 94

Troubleshooting the Driver Wizard ............................................................................................ 95

Troubleshooting Digital Certificate Errors .................................................................................. 96

v
Discover and Auto Configure

Index ............................................................................................................................................... 97

vi
Discover and Auto Configure Overview
The Discover and Auto Configure is a tool that you use to extract tag information from PLC
programming software files or OPC servers and then add the tags to your target application's database.
Using this tool saves you valuable time and effort when creating tags for your driver(s) and application
database because you no longer need to manually create the individual tags.

The Discover and Auto Configure uses wizards to make it easy for you to extract tag information from
a source file or OPC server and then add that tag information to your target application database. The
Select a Discovery Agent wizard takes you through the necessary steps to:

• Choose a Discovery Agent.


• Choose the specific source file or OPC server you want to extract the tag information from.

The Discovery Agent is specific to the programming software you are extracting information from. For
example, the Siemens S7 Discovery Agent can be used only with Siemens .s7p project files and the
OPC Discovery Agent can be used only with OPC servers. The extracted tag information is used to
create new tags in your database and assist in configuring drivers.

After the tag information is extracted, it is displayed in a spreadsheet. From this spreadsheet you
choose the tags you want to add to the target database. The toolbar provides access to another set of
wizards that you can run individually or as a single wizard. These wizards allow you to:

• Create tag names.


• Configure tag information to display in the spreadsheet.
• Choose the driver the tags will be added to.
• Add the tags to iFIX.
IMPORTANT: The Discover and Auto Configure supports datablock numbers up to 65535. However,
the individual drivers do not necessarily support the same number of datablocks. You can create up to
65535 tags to add to the target database, but if the selected driver supports fewer datablocks, the
database fails the I/O addresses that exceed the driver's maximum datablocks. For information about
the maximum number of driver datablocks, refer to the specific driver topics.

Assumptions and Preconditions for Using the Discover and Auto ConfigureThe following conditions
must be met before you can use the Discover and Auto Configure.

Siemens ® S7 ™ Discovery Agent

This information is specific to the Siemens S7 Discovery Agent and Proficy ™ iFIX ® .

Drivers:

• The GE Intelligent Platforms SI7 version 7.2x or the Industrial Communications Solution (InCoSol)
S7A version 7.2x driver is installed on the same machine as the Discover and Auto Configure.
• The channel and device information for the selected driver are configured. If the channel
and/or device you want is not available, you can launch the driver configuration tool and add
the required information.

7
Discover and Auto Configure

• The driver you are using must be running so that it can be configured if necessary, but does
not have to be communicating with the PLC hardware.

Siemens Software and Hardware

• The PLC is configured using the appropriate programming software and the project files
associated with the project are accessible to the Discover and Auto Configure. This includes
all the other files in the sub-directories within the project directory.
NOTE: If the project files are located on a shared (mapped) drive on a remote machine, that
shared drive must have the allow Read/Write/Modify/Full Control option enabled; otherwise,
the project cannot be opened.

• The computer that the Discover and Auto Configure is installed on does not have to be
connected to the PLC hardware. This tool is independent of the actual PLC communications.
The driver handles all communications with the PLC hardware.

OPC Discovery Agent

This information is specific to the OPC Discovery Agent and Proficy iFIX.

Drivers

• The iFIX OPC Client Driver version 7.3x driver is installed on the same machine as the
Discover and Auto Configure. This driver is automatically installed with iFIX 4.0 or greater.
• The iFIX OPC Client Driver must be running so that it can be configured if necessary, but
does not have to be communicating with the OPC Servers.

OPC Servers

• OPC servers support OPC Data Access specification v1.0a and v2.05 on both the local and
remote machine.
• OPC servers support browsing of OPC tags.
• OPC server software is installed on the local or remote computer.
• OPC servers on a remote computer must be accessible through the local area network.
• OPC servers on both the local and remote computer(s) must be correctly set up for DCOM
communications, including any Windows Firewall settings, DCOM settings, OPC Server /
OPC Client settings, and any other network settings.
• Connection to the data source (that is, a PLC or some other data source) may be required in
order to browse the tags in the selected OPC server.
• If you are browsing OPC servers on a remote machine, then OPCENUM must reside and be
registered on that remote machine for the browse to work correctly. While most OPC server
applications install and register this file, some may not. You can download this file from
www.opcfoundation.org. Currently, it is contained within the OPC Core Components 2.00
Redistributable 2.30.msi file. After you download the file, run the .msi program and follow
the instructions on screen to install it. You must do this on each of the remote machines you
intend to browse. For more detailed information, refer to Setting Up DCOM for Discovery of
Remote OPC Servers.

8
Implementing Alarms and Messages

Allen-Bradley PLC-5 ® / SLC 500 ™ / MicroLogix ™ Discovery Agent

This information is specific to the Allen-Bradley PLC-5 / SLC 500 / MicroLogix Discovery Agent and
Proficy iFIX.

Drivers:

• The GE Intelligent Platforms ABR version 7.2x driver is installed on the same machine as the
Discover and Auto Configure.
• The channel and device information for the selected driver are configured. If the channel
and/or device you want is not available, you can launch the driver configuration tool and add
the required information.
• The driver you are using must be running so that it can be configured if necessary, but does
not have to be communicating with the PLC hardware.

Allen-Bradley ® / Rockwell ® Software and Hardware

• The PLC is configured using the appropriate programming software (RSLogix ™ 5 or


RSLogix ™ 500) and the project export files (with the .EAS extension) associated with the
project are accessible to the Discover and Auto Configure.
NOTE: If the project files are located on a shared (mapped) drive on a remote machine, that
shared drive must have the allow Read/Write/Modify/Full Control option enabled; otherwise,
the project cannot be opened.

• The computer that the Discover and Auto Configure is installed on does not have to be
connected to the PLC hardware. This tool is independent of the actual PLC communications.
The driver handles all communications with the PLC hardware.
• For the ABR driver to run, you need the appropriate RSLinx ® software installed and
configured. Please refer to the ABR Driver Documentation for a complete list of ABR Driver
requirements.

IGS - Industrial Gateway Server Discovery Agent

This information is specific to the IGS - Industrial Gateway Server Discovery Agent and Proficy iFIX.

Drivers:

• The GE Intelligent Platforms IGS version 7.41 and 7.51 or greater driver is installed on the
same machine as the Discover and Auto Configure.
• The channel and device information for the selected driver are configured. If the channel
and/or device you want is not available, you can launch the driver configuration tool and add
the required information.
• The driver you are using must be running so that it can be configured if necessary, but does
not have to be communicating with the PLC hardware.

9
Discover and Auto Configure

Allen-Bradley ® / Rockwell ® Software and Hardware

• The PLC is configured using the appropriate programming software (RSLogix ™ 5000) and
the project export files (with the .L5K extension) associated with the project are accessible to
the Discover and Auto Configure.
NOTE: If the project files are located on a shared (mapped) drive on a remote machine, that
shared drive must have the allow Read/Write/Modify/Full Control option enabled; otherwise,
the project cannot be opened.

• The computer that the Discover and Auto Configure is installed on does not have to be
connected to the PLC hardware. This tool is independent of the actual PLC communications.
The driver handles all communications with the PLC hardware.

All Discovery Agents

Drivers Used with Proficy iFIX

• The driver must be added to the iFIX SCU (System Configuration Utility), in the Configured
I/O Drivers list before it can be configured to run in iFIX and be used with the Discover and
Auto Configure.

NOTE: If iFIX is running, you must shut down and restart iFIX for your changes to take effect.

• The driver you use must be running so that it can be configured if necessary, but does not
have to be communicating with the PLC hardware.
• The necessary driver configuration file is set as the default to load on driver startup.
• The default configuration file is open.
• The default configuration file for the locally installed driver is used by the Discover and Auto
Configure when you are working with the Device (or Group) Selection page of the Driver
Wizard. If you connect to a remote driver's Power Tool, its configuration file is not displayed
in the Device (or Group) Selection page of the Driver Wizard.
• The driver's Auto Create option is enabled. This allows the database to automatically add I/O
addresses to the driver configuration. For more information, refer to the online help for the
selected driver.

Discover and Auto Configure

• Only one Discovery Agent can run at any given time.

Target Applications

• iFIX 4.0 or greater is installed and running.


• The iFIX node you are running must be a SCADA node.
• The target database is loaded in order to add tags to the database. You can create a new
database or load an existing one; however, the database must be the local database. You
cannot add or modify tags in a database located on a remote SCADA node.

10
Implementing Alarms and Messages

IMPORTANT:

• The Discover and Auto Configure, the Discovery Agent, the target application, and the target
driver must all be installed and running on the same machine.

• The Discover and Auto Configure does not support remote configurations; however, the OPC
Discovery Agent supports connections to remote OPC servers, as described above.

Supported Software

Operating System
• Windows NT 4.0 with Service Pack 5 or greater
• Windows 2000
• Windows XP
• Windows 2003
• Windows Vista
• Windows 2008

OPC Servers
Any OPC server that supports the OLE for Process Control specification v1.0a or v2.05.

NOTE: Using a Human-Machine Interface (HMI) software package is not required to use the OPC
Client. However, if you choose to use an HMI software package, select one of the following:

• FIX for Windows NT version 6.15 or greater. Latched data support requires FIX 6.15 with a
special SACDLL SIM. Contact Technical Support to obtain the SIM.

• iFIX version 2.1 or greater.

• A third-party HMI software package.

11
Discover and Auto Configure

Supported Hardware
The following families of PLC's are supported by the Discover and Auto Configure:

Allen-Bradley PLC-5/SLC 500/MicroLogix Families Discovery


Agent
The Allen-Bradley PLC-5/SLC 500/MicroLogix Families Discovery Agent supports the following
PLC families.

• Allen-Bradley PLC-5
• SLC 500
• MicroLogix

IGS - Industrial Gateway Server Discovery Agent


The IGS - Industrial Gateway Server Discovery Agent supports the following hardware:

• Allen-Bradley ControlLogix Family of PLCs

Siemens S7 Discovery Agent


The Siemens S7 Discovery Agent supports the following PLC families.

• S7-300
• S7-400

The supported SIMATIC 300 CPUs include:

• Baugruppe MLFB Firmware


• CPU 312 6ES7 312-1AD10-0AB0 V2.0
• CPU 312 6ES7 312-1AE13-0AB0 V2.0
• CPU 312IFM 6ES7 312-5AC00-0AB0 -
• CPU 312IFM 6ES7 312-5AC01-0AB0 -
• CPU 312IFM 6ES7 312-5AC02-0AB0 V1.0
• CPU 312IFM 6ES7 312-5AC02-0AB0 V1.1
• CPU 312IFM 6ES7 312-5AC02-0AB0 V1.2
• CPU 312IFM 6ES7 312-5AC81-0AB0 -
• CPU 312IFM 6ES7 312-5AC82-0AB0 V1.0
• CPU 312IFM 6ES7 312-5AC82-0AB0 V1.1

12
Implementing Alarms and Messages

• CPU 312IFM 6ES7 312-5AC82-0AB0 V1.2


• CPU 312C 6ES7 312-5BD00-0AB0 V1.0
• CPU 312C 6ES7 312-5BD01-0AB0 V2.0
• CPU 312C 6ES7 312-5BE03-0AB0 V2.0
• CPU 313 6ES7 313-1AD00-0AB0 -
• CPU 313 6ES7 313-1AD01-0AB0 -
• CPU 313 6ES7 313-1AD02-0AB0 -
• CPU 313 6ES7 313-1AD03-0AB0 V1.0
• CPU 313 6ES7 313-1AD03-0AB0 V1.1
• CPU 313 6ES7 313-1AD03-0AB0 V1.2
• CPU 313C 6ES7 313-5BE00-0AB0 V1.0
• CPU 313C 6ES7 313-5BE01-0AB0 V2.0
• CPU 313C 6ES7 313-5BF03-0AB0 V2.0
• CPU 313C-2 DP 6ES7 313-6CE00-0AB0 V1.0
• CPU 313C-2 DP 6ES7 313-6CE01-0AB0 V2.0
• CPU 313C-2 DP 6ES7 313-6CF03-0AB0 V2.0
• CPU 313C-2 PtP 6ES7 313-6BE00-0AB0 V1.0
• CPU 313C-2 PtP 6ES7 313-6BE01-0AB0 V2.0
• CPU 313C-2 PtP 6ES7 313-6BF03-0AB0 V2.0
• CPU 314 6ES7 314-1AE01-0AB0 -
• CPU 314 6ES7 314-1AE02-0AB0 -
• CPU 314 6ES7 314-1AE03-0AB0 -
• CPU 314 6ES7 314-1AE04-0AB0 V1.0
• CPU 314 6ES7 314-1AE04-0AB0 V1.1
• CPU 314 6ES7 314-1AE04-0AB0 V1.2
• CPU 314 6ES7 314-1AE83-0AB0 -
• CPU 314 6ES7 314-1AE84-0AB0 V1.0
• CPU 314 6ES7 314-1AE84-0AB0 V1.1
• CPU 314 6ES7 314-1AE84-0AB0 V1.2
• CPU 314 6ES7 314-1AF10-0AB0 V2.0
• CPU 314 6ES7 314-1AF11-0AB0 V2.0
• CPU 314 6ES7 314-1AG13-0AB0 V2.0
• CPU 314 IFM 6ES7 314-5AE00-0AB0 -
• CPU 314 IFM 6ES7 314-5AE01-0AB0 -
• CPU 314 IFM 6ES7 314-5AE02-0AB0 -

13
Discover and Auto Configure

• CPU 314 IFM 6ES7 314-5AE03-0AB0 V1.0


• CPU 314 IFM 6ES7 314-5AE03-0AB0 V1.1
• CPU 314 IFM 6ES7 314-5AE03-0AB0 V1.2
• CPU 314 IFM 6ES7 314-5AE10-0AB0 V1.1
• CPU 314 IFM-MC 6ES7 314-5AE10-0AB0 V1.2
• CPU 314 IFM 6ES7 314-5AE82-0AB0 -
• CPU 314 IFM 6ES7 314-5AE83-0AB0 V1.0
• CPU 314 IFM 6ES7 314-5AE83-0AB0 V1.1
• CPU 314 IFM 6ES7 314-5AE83-0AB0 V1.2
• CPU 314C-2 DP 6ES7 314-6CF00-0AB0 V1.0
• CPU 314C-2 DP 6ES7 314-6CF01-0AB0 V2.0
• CPU 314C-2 DP 6ES7 314-6CF02-0AB0 V2.0
• CPU 314C-2 DP 6ES7 314-6CG03-0AB0 V2.0
• CPU 314C-2 PtP 6ES7 314-6BF00-0AB0 V1.0
• CPU 314C-2 PtP 6ES7 314-6BF01-0AB0 V2.0
• CPU 314C-2 PtP 6ES7 314-6BF02-0AB0 V2.0
• CPU 314C-2 PtP 6ES7 314-6BG03-0AB0 V2.0
• CPU 315 6ES7 315-1AF00-0AB0 -
• CPU 315 6ES7 315-1AF01-0AB0 -
• CPU 315 6ES7 315-1AF02-0AB0 -
• CPU 315 6ES7 315-1AF03-0AB0 V1.0
• CPU 315 6ES7 315-1AF03-0AB0 V1.1
• CPU 315 6ES7 315-1AF03-0AB0 V1.2
• CPU 315-2 DP 6ES7 315-2AF00-0AB0 -
• CPU 315-2 DP 6ES7 315-2AF01-0AB0 -
• CPU 315-2 DP 6ES7 315-2AF02-0AB0 -
• CPU 315-2 DP 6ES7 315-2AF03-0AB0 V1.0
• CPU 315-2 DP 6ES7 315-2AF03-0AB0 V1.1
• CPU 315-2 DP 6ES7 315-2AF03-0AB0 V1.2
• CPU 315-2 DP 6ES7 315-2AF82-0AB0 -
• CPU 315-2 DP 6ES7 315-2AF83-0AB0 V1.0
• CPU 315-2 DP 6ES7 315-2AF83-0AB0 V1.1
• CPU 315-2 DP 6ES7 315-2AF83-0AB0 V1.2
• CPU 315-2 DP 6ES7 315-2AG10-0AB0 V2.0
• CPU 315-2 PN/DP 6ES7 315-2EG10-0AB0 V2.3

14
Implementing Alarms and Messages

• CPU 315-2 PN/DP 6ES7 315-2EH13-0AB0 V2.3


• CPU 315-2 PN/DP 6ES7 315-2EH13-0AB0 V2.5
• CPU 315-2 PN/DP 6ES7 315-2EH13-0AB0 V2.6
• CPU 315F-2 DP 6ES7 315-6FF00-0AB0 V1.0
• CPU 315F-2 DP 6ES7 315-6FF01-0AB0 V1.0
• CPU 315F-2 DP 6ES7 315-6FF01-0AB0 V2.0
• CPU 315F-2 PN/DP 6ES7 315-2FH10-0AB0 V2.3
• CPU 315F-2 PN/DP 6ES7 315-2FH13-0AB0 V2.3
• CPU 315F-2 PN/DP 6ES7 315-2FH13-0AB0 V2.5
• CPU 315F-2 PN/DP 6ES7 315-2FH13-0AB0 V2.6
• CPU 316 6ES7 316-1AG00-0AB0 -
• CPU 316-2 DP 6ES7 316-2AG00-0AB0 V1.0
• CPU 316-2 DP 6ES7 316-2AG00-0AB0 V1.1
• CPU 316-2 DP 6ES7 316-2AG00-0AB0 V1.2
• CPU 317-2 6ES7 317-2AJ10-0AB0 V2.1
• CPU 317-2 6ES7 317-2AJ10-0AB0 V2.5
• CPU 317-2 6ES7 317-2AJ10-0AB0 V2.6
• CPU 317-2 PN/DP 6ES7 317-2EJ10-0AB0 V2.2
• CPU 317-2 PN/DP 6ES7 317-2EJ10-0AB0 V2.3
• CPU 317-2 PN/DP 6ES7 317-2EK13-0AB0 V2.3
• CPU 317-2 PN/DP 6ES7 317-2EK13-0AB0 V2.5
• CPU 317-2 PN/DP 6ES7 317-2EK13-0AB0 V2.6
• CPU 317F-2 6ES7 317-6FF00-0AB0 V2.1
• CPU 317F-2 6ES7 317-6FF03-0AB0 V2.1
• CPU 317F-2 6ES7 317-6FF03-0AB0 V2.5
• CPU 317F-2 DP 6ES7 317-6FF03-0AB0 V2.6
• CPU 317F-2 PN/DP 6ES7 317-2FJ10-0AB0 V2.3
• CPU 317F-2 PN/DP 6ES7 317-2FK13-0AB0 V2.3
• CPU 317F-2 PN/DP 6ES7 317-2FK13-0AB0 V2.5
• CPU 317F-2 PN/DP 6ES7 317-2FK13-0AB0 V2.6
• CPU 318-2 6ES7 318-2AJ00-0AB0 V1.0
• CPU 318-2 6ES7 318-2AJ00-0AB0 V1.1
• CPU 318-2 6ES7 318-2AJ00-0AB0 V1.2
• CPU 318-2 6ES7 318-2AJ00-0AB0 V3.0
• CPU 319-3 PN/DP 6ES7 318-3EL00-0AB0 V2.4

15
Discover and Auto Configure

• CPU 319-3 PN/DP 6ES7 318-3EL00-0AB0 V2.5


• CPU 319-3 PN/DP 6ES7 318-3EL00-0AB0 V2.6
• CPU 319F-3 PN/DP 6ES7 318-3FL00-0AB0 V2.5
• CPU 614 6ES7 614-1AH00-0AB3 -
• CPU 614 6ES7 614-1AH01-0AB3 -
• CPU 614 6ES7 614-1AH02-0AB3 -
• CPU 614 6ES7 614-1AH03-0AB3 V1.0
• CPU 614 6ES7 614-1AH03-0AB3 V1.1
• CPU 614 6ES7 614-1AH03-0AB3 V1.2

The supported SIMATIC 400 CPUs include:

• Baugruppe MLFB Firmware


• CPU 412-1 6ES7 412-1XF00-0AB0 -
• CPU 412-1 6ES7 412-1XF01-0AB0 -
• CPU 412-1 6ES7 412-1XF02-0AB0 -
• CPU 412-1 6ES7 412-1XF03-0AB0 V1.1
• CPU 412-1 6ES7 412-1XF03-0AB0 V1.2
• CPU 412-1 6ES7 412-1XF03-0AB0 V3.0
• CPU 412-1 6ES7 412-1XF03-0AB0 V3.1
• CPU 412-1 6ES7 412-1XF04-0AB0 V4.0
• CPU 412-1 6ES7 412-1XF04-0AB0 V4.1
• CPU 412-1 6ES7 412-1XJ05-0AB0 V5.0
• CPU 412-1 6ES7 412-1XJ05-0AB0 V5.1
• CPU 412-2 DP 6ES7 412-2XG00-0AB0 V1.1
• CPU 412-2 DP 6ES7 412-2XG00-0AB0 V1.2
• CPU 412-2 DP 6ES7 412-2XG00-0AB0 V3.0
• CPU 412-2 DP 6ES7 412-2XG00-0AB0 V3.1
• CPU 412-2 DP 6ES7 412-2XG04-0AB0 V4.0
• CPU 412-2 DP 6ES7 412-2XG04-0AB0 V4.1
• CPU 412-2 DP 6ES7 412-2XJ05-0AB0 V5.0
• CPU 412-2 DP 6ES7 412-2XJ05-0AB0 V5.1
• CPU 413-1 6ES7 413-1XG00-0AB0 -
• CPU 413-1 6ES7 413-1XG01-0AB0 -
• CPU 413-1 6ES7 413-1XG02-0AB0 -
• CPU 413-2 DP 6ES7 413-2XG00-0AB0 -
• CPU 413-2 DP 6ES7 413-2XG01-0AB0 -

16
Implementing Alarms and Messages

• CPU 413-2 DP 6ES7 413-2XG02-0AB0 -


• CPU 414-1 6ES7 414-1XG00-0AB0 -
• CPU 414-1 6ES7 414-1XG01-0AB0 -
• CPU 414-1 6ES7 414-1XG02-0AB0 -
• CPU 414-2 DP 6ES7 414-2XG00-0AB0 -
• CPU 414-2 DP 6ES7 414-2XG01-0AB0 -
• CPU 414-2 DP 6ES7 414-2XG02-0AB0 -
• CPU 414-2 DP 6ES7 414-2XG03-0AB0 V1.1
• CPU 414-2 DP 6ES7 414-2XG03-0AB0 V1.2
• CPU 414-2 DP 6ES7 414-2XG03-0AB0 V3.0
• CPU 414-2 DP 6ES7 414-2XG03-0AB0 V3.1
• CPU 414-2 DP 6ES7 414-2XG04-0AB0 V4.0
• CPU 414-2 DP 6ES7 414-2XG04-0AB0 V4.1
• CPU 414-2 DP 6ES7 414-2XJ00-0AB0 -
• CPU 414-2 DP 6ES7 414-2XJ01-0AB0 -
• CPU 414-2 DP 6ES7 414-2XK05-0AB0 V5.0
• CPU 414-2 DP 6ES7 414-2XK05-0AB0 V5.1
• CPU 414-3 DP 6ES7 414-3XJ00-0AB0 V1.1
• CPU 414-3 DP 6ES7 414-3XJ00-0AB0 V1.2
• CPU 414-3 DP 6ES7 414-3XJ00-0AB0 V3.0
• CPU 414-3 DP 6ES7 414-3XJ00-0AB0 V3.1
• CPU 414-3 DP 6ES7 414-3XJ04-0AB0 V4.0
• CPU 414-3 DP 6ES7 414-3XJ04-0AB0 V4.1
• CPU 414-3 DP 6ES7 414-3XM05-0AB0 V5.0
• CPU 414-3 DP 6ES7 414-3XM05-0AB0 V5.1
• CPU 414-3 PN/DP 6ES7 414-3EM05-0AB0 V5.0
• CPU 414-3 PN/DP 6ES7 414-3EM05-0AB0 V5.1
• CPU 414-4 H 6ES7 414-4HJ00-0AB0 V2.1
• CPU 414-4 H 6ES7 414-4HJ00-0AB0 V3.0
• CPU 414-4 H 6ES7 414-4HJ00-0AB0 V3.1
• CPU 414-4 H 6ES7 414-4HJ04-0AB0 V4.0
• CPU 416-1 6ES7 416-1XJ00-0AB0 -
• CPU 416-1 6ES7 416-1XJ01-0AB0 -
• CPU 416-1 6ES7 416-1XJ02-0AB0 -
• CPU 416-2 DP 6ES7 416-2XK00-0AB0 -

17
Discover and Auto Configure

• CPU 416-2 DP 6ES7 416-2XK01-0AB0 -


• CPU 416-2 DP 6ES7 416-2XK02-0AB0 V1.1
• CPU 416-2 DP 6ES7 416-2XK02-0AB0 V1.2
• CPU 416-2 DP 6ES7 416-2XK02-0AB0 V3.0
• CPU 416-2 DP 6ES7 416-2XK02-0AB0 V3.1
• CPU 416-2 DP 6ES7 416-2XK04-0AB0 V4.0
• CPU 416-2 DP 6ES7 416-2XK04-0AB0 V4.1
• CPU 416-2 DP 6ES7 416-2XL00-0AB0 -
• CPU 416-2 DP 6ES7 416-2XL01-0AB0 -
• CPU 416-2 DP 6ES7 416-2XN05-0AB0 V5.0
• CPU 416-2 DP 6ES7 416-2XN05-0AB0 V5.1
• CPU 416-3 DP 6ES7 416-3XL00-0AB0 V1.1
• CPU 416-3 DP 6ES7 416-3XL00-0AB0 V1.2
• CPU 416-3 DP 6ES7 416-3XL00-0AB0 V3.0
• CPU 416-3 DP 6ES7 416-3XL00-0AB0 V3.1
• CPU 416-3 DP 6ES7 416-3XL04-0AB0 V4.0
• CPU 416-3 DP 6ES7 416-3XL04-0AB0 V4.1
• CPU 416-3 DP 6ES7 416-3XR05-0AB0 V5.0
• CPU 416-3 DP 6ES7 416-3XR05-0AB0 V5.1
• CPU 416-3 PN/DP 6ES7 416-3ER05-0AB0 V5.0
• CPU 416-3 PN/DP 6ES7 416-3ER05-0AB0 V5.1
• CPU 416F-2 6ES7 416-2FK02-0AB0 V3.1
• CPU 416F-2 6ES7 416-2FK04-0AB0 V4.0
• CPU 416F-2 6ES7 416-2FK04-0AB0 V4.1
• CPU 416F-2 6ES7 416-2FN05-0AB0 V5.0
• CPU 416F-2 6ES7 416-2FN05-0AB0 V5.1
• CPU 416F-3 PN/DP 6ES7 416-3FR05-0AB0 V5.0
• CPU 416F-3 PN/DP 6ES7 416-3FR05-0AB0 V5.1
• CPU 417-4 6ES7 417-4XL00-0AB0 V1.0
• CPU 417-4 6ES7 417-4XL00-0AB0 V1.1
• CPU 417-4 6ES7 417-4XL00-0AB0 V1.2
• CPU 417-4 6ES7 417-4XL00-0AB0 V3.0
• CPU 417-4 6ES7 417-4XL00-0AB0 V3.1
• CPU 417-4 6ES7 417-4XL04-0AB0 V4.0
• CPU 417-4 6ES7 417-4XL04-0AB0 V4.1

18
Implementing Alarms and Messages

• CPU 417-4 6ES7 417-4XT05-0AB0 V5.0


• CPU 417-4 6ES7 417-4XT05-0AB0 V5.1
• CPU 417-4 H 6ES7 417-4HL00-0AB0 V1.1
• CPU 417-4 H 6ES7 417-4HL00-0AB0 V2.0
• CPU 417-4 H 6ES7 417-4HL00-0AB0 V2.1
• CPU 417-4 H 6ES7 417-4HL01-0AB0 V2.1
• CPU 417-4 H 6ES7 417-4HL01-0AB0 V3.0
• CPU 417-4 H 6ES7 417-4HL01-0AB0 V3.1
• CPU 417-4 H 6ES7 417-4HL04-0AB0 V4.0

Supported OPC Data Access


Specifications
The OPC servers you want to access to extract item information from must be compliant with the
following OPC Data Access Specification versions:

• 1.0a
• 2.0x

Supported Tag Types


Each of the supported target applications supports its own tag types. The following sections describe
the tag types that you can create to add to your target application's database.

Supported iFIX Block Types


Proficy HMI/SCADA - iFIX supports both standard datablocks and Database Dynamos (loadable
blocks). The following table lists the standard blocks that are supported by the Discover and Auto
Configure.

Supported iFIX Standard Blocks

Block Type Description

AI Analog Input

19
Discover and Auto Configure

Block Type Description

AA Analog Alarm

AR Analog Register

AO Analog Output

DI Digital Input

DA Digital Alarm

DR Digital Register

DO Digital Output

TX Text

In Addition, if you are using the Allen-Bradley PLC-5/SLC 500/MicroLogix Families Discovery
Agent you can also use the iFIX Productivity Pack for Allen-Bradley (ABP, ABT, and ABC blocks)
that was specially created for Allen-Bradley hardware and the ABR driver. You can use these blocks
with the corresponding Allen-Bradley Memory /File types.

You can use the Database Dynamos that are supplied with iFIX, or you can create your own using the
Build Dynamo Wizard.

NOTES:

• Database Dynamos must exist in your iFIX application in order for them to appear in the
Block Type list on the Block Type and Scan Time Wizard. For more information about
Database Dynamos, refer to the Understanding Database Dynamos topic in the iFIX
electronic books

• If you are using an existing iFIX database that contains datablocks of a type not supported by
the Discover and Auto Configure, those datablocks are not affected when you add new

20
Implementing Alarms and Messages

datablocks with the Discover and Auto Configure. Any datablocks already existing in your
database are still supported by iFIX.

Setting up for Remote OPC Server Access


Before you can use the Discover and Auto Configure to extract OPC items from and OPC server, you
must make sure that your firewall settings are correct if you are using Windows XP, Windows Vista,
or Windows Server 2008, and that the DCOM settings for your operating system are correct. You may
not be able to access remote OPC servers if these settings are not correctly set. For more detailed
information on configuring these settings, refer to the following topics:

• Setting Up Windows XP, Windows Vista or Windows Server 2008 Firewall for Discovery of
Remote OPC Servers
• Setting Up DCOM for Discovery of Remote OPC Servers

Set Up Windows XP, Windows Vista or Windows Server 2008


Firewall for Remote OPC Servers
If Firewall security is enabled on Windows XP, Windows Vista, or Windows Server 2008 you may
need to modify or add items to the Exceptions list.

GE Intelligent Platforms recommends that you enter these settings on the local machine running the
OPC Client, as well as on the remote machine that has the OPC server you want to use.

To modify Windows Firewall settings:

1. Log into the Windows operating system with an Administrator account.


2. Open the Control Panel and double-click Windows Firewall. The Windows Firewall dialog
box appears. For the Windows Vista and Windows Server 2008 operating system, you also
need to click the "Allow a program through Windows firewall" option.
3. Click the Exceptions tab and make sure that the File and Printer Sharing check box is
selected. The following figure shows an example of this dialog box in Microsoft Windows
XP.

21
Discover and Auto Configure

4. Click the Add Port button. The Add a Port dialog box appears. The following figure shows an
example of this dialog box in Microsoft Windows XP.

22
Implementing Alarms and Messages

5. In the Name field, enter a name for the port.


6. In the Port Number field enter 135.
7. Select the TCP option.
8. Click OK to save your changes.
The port name you entered is now listed with its check box selected.
9. Select the Add Program button. The Add a Program dialog box appears. The following figure
shows an example of this dialog box in Microsoft Windows XP.

10. Click the Browse button. A Browse dialog box appears.

23
Discover and Auto Configure

11. Navigate to the System32 folder. This folder is found under the operating system folder
(usually Windows or WINNT).
12. In the System32 folder, select the OPCENUM.exe file, and then click the Open button.
In the Add a Program dialog box the path field displays the full path to, and including, the
OPCENUM.exe file.

24
Implementing Alarms and Messages

13. Click OK.


OPCENUM.exe should now be listed in the Exceptions list with its check box selected.

25
Discover and Auto Configure

14. Complete steps 9-13 for each OPC server that you want to access.

NOTES:

• You must also add the GE Intelligent Platforms OPC Client driver by adding the file
OPCDrv.exe into the Exceptions list.

• If any OPC server that you want to use is a dll surrogate (an in-process dll and not an .exe),
you must add \system32\dllhost.exe into the Exceptions list.

• OPCENUM must reside on the remote machine with the OPC server. While most OPC Server
applications install and register this file, some do not. You can download this file from
www.opcfoundation.org. Currently it is contained within the OPC Core Components 2.00
Redistributable 2.30.msi file. After you download OPCENUM, run the .msi file.

Setting Up DCOM for Discovery of Remote OPC Servers


The Discover and Auto Configure supports DCOM (Distributed Component Object Model) to browse
remote OPC Servers. If you want to grant only certain users permission to launch or access the remote

26
Implementing Alarms and Messages

OPC servers, you can use the Windows utility, DCOMCNFG.EXE for configuring DCOM
applications. DCOMCNFG.EXE is usually located in your operating system’s \system32 folder.

When OPC Servers register, they set up initial custom DCOM security settings to enable users on the
network to access and launch the Server. On large networks, it is recommended that you modify these
settings to avoid confusion and inadvertent changes to a running OPC Server.

If Firewall security is enabled on Windows XP, Windows Vista, or Windows Server 2008, you must
also modify or add items to the Exceptions list. Refer to Setting Up Windows XP or Vista Firewall for
Discovery of Remote OPC Servers.

IMPORTANT NOTES:

• It is recommended that all Discover and Auto Configure users be members of the
Administrators group. To facilitate this, it is recommended that you create a users group to
contain individual users that need to access remote OPC servers.

For example, create a group named “DAC” and add those users who will log into the
operating systems and access remote OPC servers. Add the users Tom, Denise, and Harry
into the DAC group. Each of these users will also be added into the Administrators group.
This DAC group should also contain the following built-in security principals:
INTERACTIVE; NETWORK; SYSTEM.

• To make any OPC Client / OPC Server application work via DCOM, changes need to be
made on both sides, especially if you intend to use Asynchronous I/O communications.

• OPCENUM must reside on the remote machine with the OPC server. While most OPC Server
applications install and register this file, some do not. You can download this file from
www.opcfoundation.org. Currently it is contained within the OPC Core Components 2.00
Redistributable 2.30.msi file. After you download OPCENUM, run the .msi file.

• This section applies to OPC servers that need to use DCOM communications, regardless of
whether the OPC server uses Serial or Ethernet devices.

• If OPC communications is confined to a single machine (that is, using COM, but not DCOM),
it continues to work properly without making changes to DCOM settings.

• If you do not plan to use the Discover and Auto Configure to connect remotely to OPC
servers, then you may not need to change your DCOM settings.

• If this is the first time you are connecting to (or allowing connections from) other machines
on the network, you must run the Windows Network Wizard (from Start > Control Panel) to
set up your computer to run on your network. This allows you to share resources on your
computer with other computers on your network. It is recommended that you run the Network
Setup Wizard before modifying the DCOM settings.

DCOM Settings
The following procedures provide general guidelines for configuring DCOM settings. Differences
between Windows 2000, Windows 2003, Windows XP, Windows Vista, and Windows Server 2008
are noted.

27
Discover and Auto Configure

To launch the DCOM configurator:

1. From the Start menu, select or type Run. The Run dialog box appears.
2. Type: dcomcnfg and click OK.
In Windows 2000, the Distributed COM Configuration Properties dialog box appears.
In Windows Server 2003, Windows XP, Windows Vista, and Windows Server 2008, the
Component Services dialog box appears.

System-wide COM/DCOM Limits Settings


This procedure modifies the system-wide DCOM settings for the computer on Windows XP, Windows
Vista, and Windows Server 2008 operating systems. When these steps are implemented, they apply to
all programs that use COM/DCOM communications on the computer.

IMPORTANT: Be careful when making any system-wide security changes. Any inadvertent changes
may affect the entire system and may cause some or all programs to stop working.

For Windows XP, Vista, and Windows Server 2008:

To update system-wide COM/DCOM limits settings:

1. On the Component Services dialog box, expand Component Services, then expand the
Computers item.
2. Right-click My Computer and choose Properties. The My Computer Properties dialog box
appears.
3. Click the COM Security tab. There are four permissions on this dialog box.
You may need to make changes to the Edit Limits… for Access Permissions and Launch and
Activation Permissions.
Do not change the Edit Default… settings, since this will change the default settings for all
programs and applications running on the computer.
4. Click Access Permissions > Edit Limits… The Access Permission dialog box appears.
i. Select the user labeled ANONYMOUS LOGON, and then select the Allow check box
for Remote Access.

NOTE: This setting is necessary for applications that use OPCenum.exe to function
and also for some OPC Servers and OPC Clients that set their DCOM ‘Authentication
Level’ to ’None’ to allow anonymous connections. If you do not use such applications,
you may not need to enable remote access for anonymous logon users.

ii. Select the user labeled Everyone, and then select the Allow check box for Remote
Access.
IMPORTANT: Since “Everyone” includes all authenticated users, it is
recommended to add these permissions to a smaller subset of users. One way of
doing this is to create a Group named “DAC” and add all user accounts to this
Group that will access any OPC server. Then substitute “DAC” everywhere that
“Everyone” appears in the entire DCOM configuration dialogs.

28
Implementing Alarms and Messages

iii. Click OK to close the Access Permissions dialog box and return to the My Computer
Properties dialog box.
5. Click Launch and Activation Permissions > Edit Limits… The Launch Permission dialog box
appears.
For each user or group (preferably add the “DAC” group) that needs to launch or activate the
OPC server, or participates in OPC / DCOM communications, make sure that the Local
Launch, Remote Launch, Local Activation, and Remote Activation check boxes are selected.
6. Click OK to save your changes, then click OK again to save and close the My Computer
Properties dialog box.

OPC Server-specific DCOM Settings


The following procedures detail the OPC server-specific COM/DCOM settings on all supported
Windows operating systems. You must change the OPC server settings so remote users can access the
OPC server as an OPC Data Access Server. This procedure is also necessary for the GE Intelligent
Platforms OPC Client driver to connect to, launch, configure, and start the remote OPC servers.

It is recommended that all Discover and Auto Configure users be members of the Administrators
group.

IMPORTANT: Since the “Everyone” group includes all authenticated users, it is recommended to
add these permissions to a smaller subset of users.

It is recommended that you create a group to contain individual users that need to access remote OPC
servers. It is also recommended that all Discover and Auto Configure users be members of the
Administrators group.

For example, create a group named “DAC” and add those users who will log into the operating
systems and access remote OPC servers. Add the users Tom, Denise, and Harry into the DAC group.
Each of these users will also be added into the Administrators group. This DAC group should also
contain the following built-in security principals: INTERACTIVE; NETWORK; SYSTEM. Then
substitute “DAC” everywhere that “Everyone” appears in the entire DCOM configuration dialogs.

To modify driver-specific DCOM settings:

In Windows 2000

1. Access the DCOM configurator (dcomcnfg.exe). The Distributed COM Configuration


Properties dialog box appears.
2. Click the Applications tab. A list of applications displays.
3. Select the OPC server you want to modify and click the Properties button. The <Selected
OPC Server> Properties dialog box appears.
4. Click the General tab. The Authentication Level should be left as “Default”. This uses the
default authentication rules that are set in the system-wide DCOM settings.
5. Click the Location tab and make sure that the Run Application on this computer check box is
selected.
6. Click the Security tab and select the Use Custom option for each of the permissions in this
dialog box and edit as described in the following steps.

29
Discover and Auto Configure

7. In the Use custom access permissions area, click Edit. The Registry Value Permissions for
Access Permission dialog box appears.
8. Click the Add button. The Add Users and Groups dialog box appears.
9. From the Names list, select the DAC group and click the Add button. The DAC group
displays in the Add Names list.
10. Set Type of Access to Allow Access, then click OK to return to the Registry Value
Permissions dialog box. The DAC group is now displayed.
11. Click OK.
12. In the Use custom launch permissions area, click Edit. The Registry Value Permissions for
Launch Permission dialog box appears.
13. Click the Add button. The Add Users and Groups dialog box appears.
14. From the Names list, select the DAC group and click the Add button. The DAC group
displays in the Add Names list.
15. Set Type of Access to Allow Launch, then click OK to return to the Registry Value
Permissions dialog box. The DAC group is now displayed.
16. Click OK.
17. In the Use custom configuration permissions area, click Edit. The Registry Value Permissions
for <selected OPC server> dialog box appears.
18. Click the Add button. The Add Users and Groups dialog box appears.
19. From the Names list, select the DAC group and click the Add button. The DAC group
displays in the Add Names list.
20. Set Type of Access to Full Control, then click OK to return to the Registry Value Permissions
dialog box. The DAC group is now displayed.
21. Click OK.
22. In the <Selected OPC Server> Properties dialog box, click OK.
23. Repeat steps 2 through 22 for each OPC server you need to access remotely.
24. When you are done, click OK to close the Distributed COM Configuration Properties dialog
box.

In Windows 2003

1. Access the DCOM configurator (dcomcnfg.exe). The Component Services dialog box
appears.
2. Expand the Component Services item, then expand the Computers item, and then expand the
My Computer item.
3. Select the DCOM Config object. A list of applications displays.
4. Right-click the OPC server you want to modify and choose Properties. The <Selected OPC
Server> Properties dialog box appears.
5. Click the General tab. The Authentication Level should be left as “Default”. This uses the
default authentication rules that are set in the system-wide DCOM settings.
6. Click the Location tab and make sure that the Run Application on this computer check box is
selected.

30
Implementing Alarms and Messages

7. Click the Security tab and select the Customize option for each of the permissions in this
dialog box and edit them as described in the following steps.
8. In the Launch Permissions area, click Edit. The Launch Permissions dialog box appears.
9. Click the Add button. The Select Users and Groups dialog box appears.
10. Click the Advanced Button. The Select Users and Groups dialog box appears.
11. Click the Find Now button. In the search results, select the DAC group and click OK. The
Select Users and Groups dialog box displays the DAC group.
12. Click OK to return to the Launch Permission dialog box. The DAC group is displayed in the
Group or user names list.
13. Select the DAC group and select the Allow check box for Launch Permission.
14. Click OK to return to the <Selected OPC Server> Properties dialog box.
15. In the Access Permissions area, click Edit. The Access Permission dialog box appears.
16. Click the Add button. The Select Users and Groups dialog box appears.
17. Click the Advanced Button. The Select Users and Groups dialog box appears.
18. Click the Find Now button. In the search results, select the DAC group and click OK. The
Select Users and Groups dialog box displays the DAC group.
19. Click OK to return to the Access Permission dialog box. The DAC group is displayed in the
Group or user names list.
20. Select the DAC group and select the Allow check box for Access Permission.
21. Click OK to return to the <Selected OPC Server> Properties dialog box.
22. In the Configuration Permissions area, click Edit. The Change Configuration Permission
dialog box appears.
23. Click the Add button. The Select Users and Groups dialog box appears.
24. Click the Advanced Button. The Select Users and Groups dialog box appears.
25. Click the Find Now button. In the search results, select the DAC group and click OK. The
Select Users and Groups dialog box displays the DAC group.
26. Click OK to return to the Change Configuration Permission dialog box.
27. Select the DAC group and select the Allow check boxes for Full Control and Read,
28. Click OK to return to the <Selected OPC Server> Properties dialog box.
29. Click OK.
30. Repeat steps 2 through 29 for each OPC server you need to access remotely.
31. When you are done, close the Component Services dialog box.

In Windows XP, Windows Vista, and Windows Server 2008

1. Access the DCOM configurator (dcomcnfg.exe). The Component Services dialog box
appears.
2. Expand the Component Services item, then expand the Computers item, and then expand the
My Computer item.
3. Select the DCOM Config object. A list of applications displays.

31
Discover and Auto Configure

4. Right-click the OPC server you want to modify and choose Properties. The <Selected OPC
Server> Properties dialog box appears.
5. Click the General tab. The Authentication Level should be set to “Default,” if it is not already.
This uses the default authentication rules that are set in the system-wide DCOM settings.
6. Click the Location tab and make sure that the "Run Application on this computer" check box
is selected.
7. Click the Security tab and select the Customize option for each of the permissions in this
dialog box and edit them as described in the following steps.
8. In the Launch and Activation Permissions area, click Edit. The Launch Permission dialog box
appears for Windows XP, or the Launch and Activation Permission dialog box appears for
Windows Vista or Windows Server 2008.
9. Click the Add button. The Select Users or Groups dialog box appears.
10. Click the Advanced Button. Another Select Users or Groups dialog box appears.
11. Click the Find Now button. In the search results, select the DAC group and click OK. The
Select Users or Groups dialog box displays the DAC group.
12. Click OK to return to the Launch Permission dialog box. The DAC group is displayed in the
Group or user names list.
13. Select the DAC group and then select the Allow check boxes for Local Launch, Remote
Launch, Local Activation, and Remote Activation permissions.
14. Click OK to return to the <Selected OPC Server> Properties dialog box.
15. In the Access Permissions area, click Edit. The Access Permission dialog box appears.
16. Click the Add button. The Select Users or Groups dialog box appears.
17. Click the Advanced Button. Another Select Users or Groups dialog box appears.
18. Click the Find Now button. In the search results, select the DAC group and click OK. The
Select Users or Groups dialog box displays the DAC group.
19. Click OK to return to the Access Permission dialog box. The DAC group is displayed in the
Group or user names list.
20. Select the DAC group and then select the Allow check boxes for Local Access and Remote
Access permissions.
21. Click OK to return to the <Selected OPC Server> Properties dialog box.
22. In the Configuration Permissions area, click Edit. The Change Configuration Permission
dialog box appears.
23. Click the Add button. The Select Users or Groups dialog box appears.
24. Click the Advanced Button. Another Select Users or Groups dialog box appears.
25. Click the Find Now button. In the search results, select the DAC group and click OK. The
Select Users or Groups dialog box displays the DAC group.
26. Click OK to return to the Change Configuration Permission dialog box. The DAC group is
displayed in the Group or user names list.
27. Select the DAC group and then select the Allow check boxes for Full Control and Read
permissions.
28. Click OK to return to the <Selected OPC Server> Properties dialog box.

32
Implementing Alarms and Messages

29. Click OK.


30. Repeat steps 2 through 29 for each OPC server you need to access remotely.
31. When you are done, close the Component Services dialog box.

Discover and Auto Configure Application


The Discover and Auto Configure application is composed of a system tree and a spreadsheet, as well
as toolbars and menus. Using each of these components, you can search for and select the tags you
want to add to your target application database, as well as define valid tag names and other tag features
explicit to your target database. The following diagram shows examples of the different components
with tag information extracted from a Siemens S7 project and iFIX as the target application.

Discover and Auto Configure Application

For more information about the standard toolbars and menus, refer to Toolbars and Menus.

When you are working in the spreadsheet, you may find that the number of extracted tags is too great
to process in one sitting. Therefore, you have the opportunity to save your work and exit the
application, then reopen the file and continue working on it at another time. If you make changes to the
spreadsheet (for example, create tag names), and do not save your work before exiting the application,
you are prompted to save your work as a .DAC file. For more information, see To save a .DAC file.

It is also possible that the source of your tag information has changed since you performed the tag
extraction. If this is the case, you have the ability to rerun the Discovery Agent to extract the tag
information from the source again. You can also use this feature to run the Discovery Agent tool on a

33
Discover and Auto Configure

new source to display the differences between them. For more information, see Rerunning the
Discovery Agent for a Siemens .S7P Project or Rerunning the Discovery Agent for an OPC Server.

The Discover and Auto Configure provides a number of ways to search for tags displayed in the
spreadsheet. Searching can be accomplished by using one of the following features:

• Find
• Filter
• Sort

The System TreeThe system tree displays the tags extracted by the Discovery Agent. The following
diagram is an example of the system tree showing the tags extracted from a Siemens S7 project file.
Tags extracted by the Siemens S7 Discovery Agent are categorized by the PLC programming software.
The project file is separated into two programs according to the CPU information. Each program has a
separate list for its symbols and datablocks. You can select the CPU level to display all symbols and
datablocks for that CPU, or you can expand each level to select an individual symbol or datablock to
display in the spreadsheet.

Discover and Auto Configure System Tree for a Siemens .S7P project

When you use the OPC Discovery Agent, the individual tag information does not automatically display
in the system tree; only the top level initially displays. This is because when the Discover Agent
retrieves all of the data from a remote machine the process can be slow due to large amounts of
information. As you expand each level, the OPC Discovery Agent gets and displays the data for that
level.

34
Implementing Alarms and Messages

Remote OPC Server

The following figure displays an example of the system tree showing the tags extracted from a remote
OPC server.

Discover and Auto Configure System Tree for a Remote OPC Server

When the information for a remote OPC server displays in the system tree, the remote machine name
or TCP/IP address is appended to the OPC server name. In the above example, 3.26.61.47 represents
the TCP/IP address of the remote machine that the OPC server resides on. When you use an OPC
server located on a remote machine, the system tree display uses the format <ipaddress>\<OPC server
name> or <machine name>\<OPC server name>. The remote machine name or TCP/IP address is
entered in the Select Local or Remote OPC Server page of the Discovery Agent Selection Wizard.

Local OPC Server

The following figure displays an example of the system tree showing the tags extracted from a local
OPC server.

Discover and Auto Configure System Tree for a Local OPC Server

When the information for a local OPC server displays in the system tree, the display format is
<.>\<OPC server name>, where the period (.) represents the local machine. The local machine is
selected in the Select Local or Remote OPC Server page of the Discovery Agent Selection Wizard.

The SpreadsheetThe Discover and Auto Configure spreadsheet displays the information about the tags
you selected to display. In this spreadsheet, you can view the original tag information and select the
individual tags you want to add to your database.

The spreadsheet is divided into two sections:

• The Discovery Agent section (left side of the spreadsheet)


• The Target Application section (right-side of the spreadsheet)

Each of these sections can be expanded and collapsed horizontally to show or hide the columns of tag
information. Click the >> Discovery Agent << cell or the >> Target Application << cell to expand and
collapse these sections.

35
Discover and Auto Configure

The Discovery Agent SectionThe Discovery Agent section of the spreadsheet displays the raw tag
information as it exists in the source. The displayed columns depend on the source you extracted the
tag information from. For more information, see the specific Discovery Agent help topics.

The Select column of check boxes is available for all Discovery Agents and target applications and
affects both sections of the spreadsheet. For more information, see Selecting Tags to Add to the
Database.

The Status column is also available for all Discovery Agents. This column name is different depending
on the Discovery Agent you are using. When you rerun the Discovery Agent on the same source, the
status of the tags is displayed as New, Not Found, Modified, or Blank. When you run the Discovery
Agent on a new source, the status of all tags displays as New. The following table describes each of the
statuses.

Tag Statuses

Status Description

A new tag found by the Discovery Agent during the extraction process
that did not previously exist in the current system tree.
New
NOTE: If you are running the Discovery Agent for the first time, all tag
statuses are displayed as New.

Not Found The tag name, which previously existed in the current system tree, was
not found when the Discovery Agent was rerun on the source.

The tag, which previously existed in the current system tree, was found
Modified when the Discovery Agent was rerun, but some or all of the tag's
information has been modified.

(Blank) No change.

NOTE: The status field is for information purposes only and does not affect your ability to add tags to
or modify tags in the target database.

IMPORTANT: When you are using the OPC or IGS Discovery Agent, the individual tag information
does not automatically display in the system tree; only the top level initially displays. As you expand
each level, the OPC or IGS Discovery Agent gets and displays the data for that level. For this reason,
the OPC or IGS Item Status column may not display the status you expect.

Because the OPC or IGS Server is browsed only when requested (that is, when a branch is expanded),
when you rerun the OPC (or IGS) Discovery Agent, the OPC or IGS Item Status field updates only
those items already displayed in the spreadsheet. When you browse for items for the very first time, the
status field will always display New, regardless of whether there were changes to the OPC or IGS

36
Implementing Alarms and Messages

Server since the first time it was browsed. Only those items already displayed in the spreadsheet show
an updated status.

The Target Application SectionThe target application section of the spreadsheet displays the tag
information the way it will appear in your database. The information in these columns is added
automatically when you define the tags selected from the Discovery Agent section or can be entered
manually. The displayed columns depend on the target application you are adding the tags to. For more
information, see the specific target application help topics.

TIP: After you have added the tag(s) to the database, view the status of the tags in the target
application section. If the tags were successfully added to the database, the Status column displays
OK. A small red square in a cell indicates bad data. Hover the mouse pointer over the red square to
display a pop-up explanation for the bad data. You can double-click in the cell and change the bad
data to valid data, then update the tag information in the database.

FindThe Discover and Auto Configure provides a Find dialog box where you can enter search criteria
to help you find the tag(s) you want. You can enter full words or enter a partial word in the search
field; however, if you use only a partial word, such as "int", every instance of that letter combination is
located.

You can search for the tag information that exactly matches the case entered in the search criteria. For
example, if you enter your search criteria in lower case, the tag information must also be in lower case.
You can also set the search criteria to match the contents of an entire cell; only the cell that exactly
matches the search criteria is found.

The Find feature saves the last 10 searches in a list box, allowing you to repeat a search without having
to re-enter your search criteria. As you enter more search items and exceed the limit of 10, the last item
on the list is deleted.

FilterThe Discover and Auto Configure provides a filter row in the spreadsheet that removes items
from the display that do not match the filter criteria. You can filter tag information based on one
column or any combination of columns. Filtering begins as soon as you move the cursor to another cell
or press ENTER. Wildcards are not supported.

SortThe Discover and Auto Configure provides the ability to sort column information displayed in the
spreadsheet by clicking on the column heading. Sorting the displayed data can make it easier to
understand and find what you are looking for. All the data in the spreadsheet is sorted based on the
values of the first sort column. Within that sort, the data is sorted based on the values of the second
column, and so on.

You can sort the column values in both ascending and descending order. Ascending is the default.
Ascending means that numeric data is sorted from lowest-to-highest and character data is sorted from
A-to-Z. Descending means the numeric data is sorted from highest-to-lowest value and character data
is sorted from Z-to-A.

Names that are surrounded by quotes are sorted separately from names that do not have quotes. That is,
when sorted in ascending order, names with quotes are listed first; when sorted in descending order,
names with quotes are listed last.

You can also sort the Select column of check boxes to group all selected tags together either at the
beginning of the list (ascending) or at the end (descending).

37
Discover and Auto Configure

Number of RowsThe Number of Rows field displays the total number of rows currently displayed in
the spreadsheet.

Number of Selected RowsThe Number of Selected Rows field displays the total number of
selected rows.

Toolbars and Menus


The Discover and Auto Configure provides a standard toolbar for performing common operations, as
well as the standard menus.

In addition, the Discover and Auto Configure provides a search feature and a right-click menu to make
selections from. For more information on the Find feature, see Discover and Auto Configure
Application.

The Standard ToolbarThe following table describes the standard toolbar options. These options are
available with every Discovery Agent and target application.

Click this button... To...

Locate and load the .DAC file you want to work with.

Save the .DAC file that is currently open. If the .DAC file does not
already exist, the Save As dialog box appears.

Open the Save As dialog box where you can browse to the location you
want to save your .DAC file in.

Open the Find dialog box.

Open the Discover and Auto Configure online Help.

Open the About dialog box.

To view the toolbar buttons specific to the iFIX target application, see The iFIX Wizards Toolbar and
Right-Click Menu.

38
Implementing Alarms and Messages

The Standard MenusThe following table describes the standard menu options. These options are
available with every Discovery Agent and target application.

Menu Menu Option Description


Name

Open Open a browser dialog box to locate the


.DAC file you want to open.

Save Save the currently open .DAC file. If


the .DAC file has not yet been saved,
the Save As dialog appears.

Save As Open the Save As dialog box to save


the spreadsheet as a .DAC file in the
desired location.

File

Export to .CSV Open the Save As dialog box to save


the spreadsheet as a .CSV file in the
desired location.

Run Discovery Agent Open the Discovery Agent Selection


Wizard to extract tag information from
the same project file or a different
project file.

Exit Exit the Discover and Auto Configure


application.

Select All Select all of the rows displayed in the


spreadsheet.

Edit

Unselect All Clear the Select check boxes of all the


selected rows.

39
Discover and Auto Configure

Menu Menu Option Description


Name

Clear Selected Rows Clear the tag information from the


target (right) side of the spreadsheet for
the selected rows.

NOTES:

• Clearing rows does not clear the


rows on the Discovery Agent
(left) side of the spreadsheet.
• Clearing rows does not delete
the tags from the target
database.

Clear All Rows Clear the tag information from the


target (right) side of the spreadsheet for
all rows.

NOTES:

• Clearing rows does not clear the


rows on the Discovery Agent
(left) side of the spreadsheet.
• Clearing rows does not delete
the tags from the target
database.

Find Find the tag information using the


specified search criteria.

Select to show the toolbars.


Toolbars Select again to hide the toolbars.
NOTE: Toolbars are displayed by default.

View
Select to show the status bar.
Status Bar Select again to hide the status bar.
NOTE: The status bar is displayed by
default.

40
Implementing Alarms and Messages

Menu Menu Option Description


Name

Select to show the column settings for:


Target Column Settings
• Current Project
• Default Settings for Proficy
HMI/SCADA - iFIX

Help Topics Open the Discover and Auto Configure


online help.

Help

About Discover and Auto Open the About Discover and Auto
Configure Configure dialog box.

The Right-Click MenuThe following table describes the common right-click menu options. These
options are available with every Discovery Agent and target application. For information about the
right-click menu options for your target application, refer to the toolbar and right-click menu help topic
for your specific target application.

Choose this menu To...


item...

Select All
Select all of the rows displayed in the spreadsheet.

Unselect All
Clear the Select check boxes of all the selected rows.

Clear Selected Rows


Clear the tag information from the target (right) side of the
spreadsheet for the selected rows.

NOTES:

• Clearing rows does not clear the rows on the Discovery


Agent (left) side of the spreadsheet.
• Clearing rows does not delete the tags from the target
database.

41
Discover and Auto Configure

Clear All Rows


Clear the tag information from the target (right) side of the
spreadsheet for all rows.

NOTES:

• Clearing rows does not clear the rows on the Discovery


Agent (left) side of the spreadsheet.
• Clearing rows does not delete the tags from the target
database.

Working with the Spreadsheet


The Discover and Auto Configure displays tag information in a spreadsheet format that allows you to
select the tags you want to add to your target application database. The number of displayed rows can
be extremely high; therefore, you can search for specific tags, filter out unwanted tags, and sort each
column to help you determine which tags you want to add to your database.

The Discover and Auto Configure also allows you to save the spreadsheet you are working on so that
you can open it at another time and continue selecting and defining tags to add to your database.

To find tags in the spreadsheet:

1. From the toolbar, click the Find in Spreadsheet button. The Find dialog box appears.
2. In the Find what field, enter the search criteria to find the tag(s) you want.
3. If applicable, select the Match case and/or the Match entire cell contents check boxes.
4. Click Find Next. When an item that matches the search criteria is found, the spreadsheet cell
is selected. Continue clicking the Find Next button until you find the item you want.

To filter tags in the spreadsheet:

1. Click any cell on the Filter row to select the field.


2. Enter the characters you want to use as the criteria to filter the items you want to work with
and move the cursor to another cell. The items that match the filter criteria are displayed in
the spreadsheet. Wildcards are not supported.
NOTE: When you are filtering in the Name column, you must enter the beginning of the string
exactly as it appears. For example, if the tag name is enclosed in quotes you must start the
filter with the opening quotes. You do not need to enter the entire string.

To sort tags in the spreadsheet:

• Click a column heading to sort the displayed items in ascending order. Click the column
heading again to sort the items in descending order.

42
Implementing Alarms and Messages

To select tags to add to the database:

1. From the system tree, expand the branch you want to select items from, then select the
applicable level to display the tags in the spreadsheet. For example, for Siemens projects, you
can;
• Select the highest level, which displays all symbols and datablocks.
• Select the Symbols level to display the tags in that Symbol Table.
• Select the Datablocks level to display a list of database blocks.
IMPORTANT: When you use the OPC Discovery Agent, the individual tag information does
not automatically display in the system tree; only the top level initially displays. This is
because getting all of the data from a remote machine can be slow due to large amounts of
information. As you expand each level, the OPC Discovery Agent gets and displays the data
for that level.

2. In the spreadsheet, select the check box of each tag you want to add to the database. Each row
is highlighted in yellow to indicate that it has been selected.
TIPS:

• To select all of the displayed tags:

Click the cell in the upper left corner of the spreadsheet.

- Or -

Right-click anywhere in the spreadsheet and choose Select All.

- Or -

From the Edit menu, choose Select All.

- Or -

Press <CTRL + A>.

• To select a consecutive series of tags:

Select the first row and drag the mouse pointer to the last tag you want to add that is
displayed in the current window.

- Or -

Select the check box of the first tag, hold down the SHIFT key and then select the
check box of the last tag you want to add.

• To select a single row:

Select the check box.

- Or -

With the cell cursor on the appropriate Select cell, press the space bar.

43
Discover and Auto Configure

• To remove a single selection:

Select the check box to clear it.

- Or -

With the cell cursor on the appropriate Select cell, press the space bar to clear it.

• To clear all selections, right-click anywhere in the spreadsheet and choose Unselect
All.

• To clear only the selected rows:

Right-click anywhere in the spreadsheet and choose Clear Selected Rows. The
information displayed in the selected rows on the target application side of the
spreadsheet is cleared.

- Or -

From the Edit menu, choose Clear Selected Rows.

• To clear all rows:

Right-click anywhere in the spreadsheet and choose Clear All Rows. The information
displayed in all rows on the target application side of the spreadsheet is cleared.

- Or -

From the Edit menu, choose Clear All Rows.

To save a .DAC file:

1. Extract the tag information from your project file if you haven't already done so. The tag
information is displayed in the spreadsheet.
2. Click the Save As button. The Save As dialog box appears.
3. Browse to the directory where you want the .DAC file to be located.
4. In the File name field, enter a unique name for your .DAC file and click Save.

To open a .DAC file:

1. Launch the Discover and Auto Configure. Step 1 of the Discovery Agent Selection Wizard
appears.
2. Click Cancel to close the wizard. The Discover and Auto Configure application appears with
no information displayed in the spreadsheet.
3. Click the Open button. The Open dialog box appears.
4. Locate and select the .DAC file you want to open and click Open. The .DAC file opens and
displays the tag information in the spreadsheet and system tree.

44
Implementing Alarms and Messages

To export to a .CSV file:

1. Extract the tag information from your project file or OPC server if you haven't already done
so. The tag information is displayed in the spreadsheet.
2. From the File menu, choose Export to .CSV. The Save As dialog box appears.
3. Browse to the directory where you want the .CSV file to be located.
4. In the File name field, enter a unique name for your .CSV file and click Save.

NOTE: Only the tags or OPC items that are currently displayed in the spreadsheet are
exported.

To view an exported .CSV file on a non-English computer:

IMPORTANT: When you use the Discover and Auto Configure on a non-English computer
(that is, the operating system is any language other than English), and you use MS Excel® to
view your exported .CSV file, you must use Excel's ImportData Wizard to import the file
information, otherwise your data may not display properly.

The default English regional settings define the list separator as a comma (,). Non-English
regional settings may use a semicolon (;) as the list separator. Excel uses commas as the list
separator for .CSV (comma separated value) files. Therefore, if you open the .CSV file directly
in Excel on a non-English operating system, the data may not display properly.

1. Start MS Excel.
2. From the Data menu, point to External Data and choose Import Text File. The Import Text
File dialog box appears.
3. From the Files of Type list, choose All Files (*.*) to display the .CSV file you want to view.
4. Select the .CSV file and click Import. The Text Import Wizard appears.
5. Follow the steps of the Text Import Wizard to define the list separator you want to use (for
example, comma).
6. Click Finish to import the data from the .CSV file to Excel. The data is displayed in the Excel
spreadsheet.

Discovery Agents
This section provides you with information about the Discovery Agents that are available to you for
extracting tag information. The following is a list of Discovery Agents currently available:

• Siemens S7 Discovery Agent


• OPC Discovery Agent
• Allen-Bradley PLC-5/SLC 500/MicroLogix Families Discovery Agent
• IGS - Industrial Gateway Server Discovery Agent

45
Discover and Auto Configure

Discovery Agent Selection Wizard

The Discovery Agent Selection Wizard takes you through the steps required to select a Discovery
Agent and to extract the desired tag information from the selected source; for example a Siemens S7P
project file, or an OPC server.

The following table lists the wizard steps and indicates whether they are applicable to all Discovery
Agents or if they are specific to only one.

Wizard Step Discovery Agent

Welcome All

Select a Discovery Agent All

Select a Local or Remote OPC OPC Discovery Agent


Server

Select an OPC Data Access Server OPC Discovery Agent

Select a Siemens S7P Project File Siemens S7 Discovery Agent

Select an RSLogix 5 or RSLogix Allen-Bradley PLC-5/SLC 500/MicroLogix Families


500 .EAS File Discovery Agent

IGS - Select an Action IGS - Industrial Gateway Server Discovery Agent

Select an RSLogix 5000 .L5K File IGS - Industrial Gateway Server Discovery Agent

Select a Device to Rescan IGS - Industrial Gateway Server Discovery Agent

Summary All

46
Implementing Alarms and Messages

IMPORTANT: If you do not have a specific Discovery Agent installed on your computer, the steps
that apply to that Discovery Agent are not available.

Discovery Agent Selection Wizard - Welcome


The Discovery Agent Selection Wizard - Welcome page introduces you to the Discover and Auto
Configure. On this page you will find the version number of the application, a brief introduction to the
wizard, and copyright information.

Discovery Agent Selection Wizard - Select a Discovery Agent


The Select a Discovery Agent page is where you select the Discovery Agent you want to use for
extracting database tag, symbol, or OPC item information. On this page you will find a list of the
available Discovery Agents; that is, the Discovery Agents that are installed on your computer. This
page also displays a brief description of the Discovery Agent you selected and the type of source that
the tag or item information will be extracted from (for example, a Siemens S7 project file, an OPC
server, an Allen-Bradley PLC5 / SLC 500 / MicroLogix Families .EAS export file, or an Allen-Bradley
ControlLogix .L5K export file).

Click Next or click Back to return to the Welcome page.

NOTE: Click the Back button at any time to make changes to your selections.

OPC Discovery Agent


The OPC Discovery Agent examines an OPC server and finds all of the items associated with that
server.

You select the OPC Discovery Agent on the Select a Discovery Agent page of the Discovery Agent
Selection Wizard.

This section explains how to use the Discovery Agent Selection Wizard to choose the OPC Discovery
Agent and to extract item information from an OPC server. When you click the Finish button at the
end of the wizard the item information is extracted from the selected OPC server, is read by the
Discover and Auto Configure, and is then displayed in the spreadsheet.

The following table describes the columns exclusive to the OPC Discovery Agent that are displayed in
the spreadsheet.

Discovery Agent Section Columns

Column Name Description

Name The name of the item.

47
Discover and Auto Configure

Column Name Description

Fully Qualified The I/O address of the item, as returned by the OPC server. This
ItemID information can be copied to the Description field in the target
(Comments) application section of the spreadsheet .If the call fails, this field is left
blank.

The OPC client driver uses this field to auto-generate the I/O address
field in the target database tab. If this field is blank, the driver will not
auto-generate the I/O address. You must then enter the I/O address
manually.

OPC Tag Status The status of each item since it was last scanned from the OPC server.
For more information on tag statuses, see The Discovery Agent Section
in the Discover and Auto Configure Application topic.

After selecting the items you want to add to the database and using the applicable iFIX wizards, the
I/O addresses are automatically created in the target application section of the spreadsheet. Using the
server and group you selected from the Driver Wizard, the application converts each fully qualified
item ID into an I/O address that can be used by iFIX and the OPC Client driver.

Discovery Agent Selection Wizard - Select Local or Remote OPC Server


The Select Local or Remote OPC Server page of the Discovery Agent Selection Wizard is where you
choose whether to access an OPC server on the local machine or on a remote machine. If you choose to
use a remote OPC server, you can enter the name of the computer or its TCP/IP address, or you can
browse your network for the machine that has the OPC server you want to use.

If you select or enter a remote machine name, the machine name is validated when you attempt to go to
the next page in the wizard. If the remote machine name is not valid, the following message displays:

The Remote Machine Name is not available. Please select or enter a different Machine Name.

You must then select or enter a valid machine name to continue.

IMPORTANT: You must have Administrative rights on the remote machine you are accessing to be
able to access the remote registry.

Click Next to go to the Select an OPC Data Access Server page or click Back to return to the Select a
Discovery Agent page.

NOTE: Click the Back button at any time to make changes to your selections.

48
Implementing Alarms and Messages

Discovery Agent Selection Wizard - Select an OPC Data Access Server


The Select an OPC Data Access Server page lists all of the OPC servers installed on the local or
remote computer you selected on the previous page. Choose the OPC server you want to extract item
information from and click OK to go to the Summary page.

If the OPC server you want to use is not listed, see the Browse Failure section below for information
on how to remedy the problem.

TIPS:

• If you see the server you want to use, you do not have to wait until the search is complete. You
can double-click the server or select it and press ENTER.

• If you did not find the OPC server you wanted and either installed it or corrected an issue of
remote access, you can click the Search Again button to start browsing again.

• You can click the Program Name or Description column headers to sort in ascending or
descending order.

Click Cancel to return to the Select Local or Remote OPC Server page.

OPC Server Browse Methods

The Discover and Auto Configure uses various methods for browsing local and remote machines for
OPC servers.

Browsing OPC Servers on the Local Machine:

When browsing for OPC servers on the local machine, three methods are used:

• OPCEnum.exe - this is a tool provided by the OPC Foundation that helps clients browse local
or remote machines. The Discover and Auto Configure installs this utility on your local
machine as part of the product installation.
• Browse the Windows Registry for OPC servers.
• By CatagoryID - any OPC 1.0 and 2.0 server that is registered with the Windows
StdComponentCategoriesMgr as an OPC 1.0 or OPC 2.0 CATID Server displays with this
method. This method is not supported for use with remote machines.

Browsing OPC Servers on a Remote Machine:

When browsing for OPC servers on a remote machine, two methods are used:

• OPCEnum.exe - this is a tool provided by the OPC Foundation that helps clients browse local
or remote machines. The Discover and Auto Configure installs this utility on your local
machine as part of the product installation.
• Browse the Windows Registry for OPC servers. You must have Administrator rights to be
able to do this on a remote machine.

All servers that are found using any of the above methods are displayed in this list.

49
Discover and Auto Configure

Browse Failure

If no servers were found on the machine, the message "No servers were found on the machine"
displays. You must then verify that either the correct machine name/TCP/IP address was entered in the
previous page or that the OPC server(s) are correctly installed on the given machine.

If one or more methods fail, a message box displays indicating the methods used and which ones
succeeded or failed. It also displays an error message indicating the reason for failure, as returned by
the system. Any server(s) found are listed. You can select a server from the list or remedy the reason
for the failure and rerun the search.

One possible remedy includes modifying your DCOM settings, even if your OPC server is running
locally. For more information about DCOM settings, refer to Setting Up DCOM for Discovery of
Remote OPC Servers.

Extracting Item Information from an OPC Server

Extracting tag information from an OPC server on the local machine | Extracting tag information from
an OPC server on a remote machine

It is possible that the source of your tag information has changed since you performed the tag
extraction. If this is the case, you can rerun the OPC Discovery Agent to extract the tag information
again. You can also use this feature to run the OPC Discovery Agent on a new OPC server.

To extract item information from an OPC server on the local machine:

1. Launch the Discover and Auto Configure application. The Discovery Agent Selection Wizard
appears.
2. Click Next. The Select a Discovery Agent page appears.
3. From the list, select the OPC Discovery Agent and click Next. The Select Local or Remote
OPC Server page appears.
4. Select Use Local OPC Server to choose an OPC server that is installed on the local machine.
5. Click Next. The Select an OPC Data Access Server page appears, displaying a list of the OPC
servers installed on the local machine.

NOTE: If no servers are found, verify that the OPC server(s) you want to access are properly
installed on the local machine. For more information, see Discovery Agent Selection Wizard -
Select an OPC Data Access Server.

6. Choose the OPC server you want to extract item information from and click OK. The
Summary page appears.
7. Click Finish. The OPC Discovery Agent extracts item information from the selected OPC
server. When you select or expand a branch in the system tree, the item information displays
in the Discover and Auto Configure spreadsheet.

To extract item information from an OPC server on a remote machine:

IMPORTANT: You must have Administrative rights on the remote machine you are accessing to be
able to access the remote registry.

50
Implementing Alarms and Messages

1. Launch the Discover and Auto Configure application. The Discovery Agent Selection Wizard
appears.
2. Click Next. The Select a Discovery Agent page appears.
3. From the list, select the OPC Discovery Agent and click Next. The Select Local or Remote
OPC Server page appears.
4. Select Use Remote OPC Server to select an OPC server that is installed on a remote machine.
5. In the Remote machine name or TCP/IP address field, enter the name or TCP/IP address of
the remote computer.
- Or -
Browse the Network list and select the computer name with the OPC server you want to use.
The computer name automatically appears in the Remote machine name or TCP/IP address
field.
6. Click Next. The Select an OPC Data Access Server page appears, displaying a list of the OPC
servers installed on the remote machine.

NOTE: If no servers are found, verify that the OPC server(s) you want to access are properly
installed on the local machine. For more information, see Discovery Agent Selection Wizard -
Select an OPC Data Access Server.

7. Choose the OPC server you want to extract item information from and click OK. The
Summary page appears.
8. Click Finish. The OPC Discovery Agent extracts item information from the selected OPC
server. When you select or expand a branch in the system tree, the item information displays
in the Discover and Auto Configure spreadsheet.

Rerunning the Discovery Agent for an OPC Server

IMPORTANT: When you are using the OPC Discovery Agent, the individual tag information does not
automatically display in the system tree; only the top level initially displays. As you expand each level,
the OPC Discovery Agent gets and displays the data for that level. For this reason, the OPC Item
Status column may not display the status you expect.

Because the OPC Server is browsed only when requested (that is, when a branch is expanded), when
you rerun the OPC Discovery Agent, the OPC Item Status field updates only those items already
displayed in the spreadsheet. When you browse for items for the very first time, the status field will
always display New, regardless of whether there were changes to the OPC Server since the first time it
was browsed. Only those items already displayed in the spreadsheet show an updated status.

To rerun the Discovery Agent:

1. Launch the Discover and Auto Configure application and follow the Discovery Agent
Selection Wizard steps to extract item information from the OPC server. The item information
is displayed in the Discovery Agent section of the spreadsheet.
NOTE: The OPC Item Status column displays New for all rows.

2. Perform any applicable tasks you need to in the spreadsheet, including selecting tags, defining
tags for the target database, saving a .DAC file, adding tags to the database, and so on.
3. From the File menu, choose Run Discovery Agent. You are prompted with the question "Do

51
Discover and Auto Configure

you want to run the Discovery Agent again?"


4. Click Yes. The Discovery Agent Selection Wizard opens at the Select Local or Remote OPC
Server page with the previous selections displayed; that is, if you had previously browsed an
OPC server on a remote machine, the Remote Machine option is selected and the machine
name is displayed.
5. Leave your selection as is, or change it to the other option and click Next to go to the Select
an OPC Data Access Server dialog box..
6. Select an OPC server and click OK to go to the Summary page. You can select the same OPC
server or a different one.
7. On the Summary page, click Finish. The item information is extracted from the OPC server
again. For each item that is being browsed again, the Discovery Agent tool compares the item
information from the new extraction with the items displayed in the spreadsheet and then
updates the spreadsheet.
The status of each item is updated in the spreadsheet. The status can be New, Modified, Not
Found, or blank (that is, no change). For more information, refer to the Discovery Agent
Section of the Discover and Auto Configure Application topic.
8. Click the OPC Item Status column to sort the statuses and view the differences.

Siemens S7 Discovery Agent


The Siemens S7 Discovery Agent examines a project file with a .S7P extension and finds all the
Symbols and Datablocks for that project. A .S7P project file is saved from the Siemens Step 7
programming software, version 5.4.

NOTE: The Step 7 project file (.s7p) and all files associated with the Step 7 project, including all the
other files in the sub-directories within the project directory, must be accessible to the Siemens S7
Discovery Agent and have the Read/Write/Modify/Full Control option enabled.

You select the Siemens Discovery Agent on the Select a Discovery Agent page of the Discovery Agent
Selection Wizard.

This section tells you how to use the Discovery Agent Selection Wizard to choose the Siemens
Discovery Agent and to extract database tag information from a Siemens .S7P project file. When you
click the Finish button at the end of the wizard the database tag information is extracted from the
selected project file, is read by the Discover and Auto Configure, and then displayed in the
spreadsheet.

The following table describes the columns exclusive to the Siemens S7 Discovery Agent that are
displayed in the spreadsheet.

Discovery Agent Section Columns

Column Name Description

Name The name of the tag.

52
Implementing Alarms and Messages

Column Name Description

Address The I/O address of the tag.

Comment Descriptive information about the tag.

Type The database tag type assigned to the tag.

Siemens Tag The status of each tag since it was last scanned from the .s7p project
Status file. For more information on tag statuses, see The Discovery Agent
Section in the Discover and Auto Configure Application topic.

Discovery Agent Selection Wizard - Select a Siemens .S7P Project


On the Select a Siemens .S7P Project page, you must select the appropriate Step 7 project file (.s7p)
that you want to extract tag information from. You can either enter the full path of the project file's
location, or click the Browse button to search for the project file you want to use.

Click Next to go to the Summary page or click Back to return to the Select a Discovery Agent page.

NOTE: Click the Back button at any time to make changes to your selections.

IMPORTANT: The Step 7 project file (.s7p) and all files associated with the Step 7 project, including
all the other files in the sub-directories within the project directory, must be accessible to the Siemens
S7 Discovery Agent. Project files must have the Read/Write/Modify/Full Control option enabled;
otherwise, the project cannot be opened (whether the project files reside on a local or remote
computer).

Extracting Tag Information From a Siemens .S7P Project File


It is possible that the source of your tag information has changed since you performed the tag
extraction. If this is the case, you can rerun the Siemens S7 Discovery Agent to extract the tag
information again. You can also use this feature to run the Siemens S7 Discovery Agent tool on a new
source file.

To extract tag information from a Siemens .S7P project file:

1. Launch the Discover and Auto Configure application. The Discovery Agent Selection Wizard appears.
2. Click Next. The Select a Discovery Agent page appears.
3. From the list, select the Siemens S7 Discovery Agent and click Next. The Select a Siemens
S7P Project page appears.

53
Discover and Auto Configure

4. Enter the full path and file name of the .S7P project file you want to extract tag information
from, or click the Browse button to locate the file you want.

NOTE: If the project files are located on a shared (mapped) drive on a remote machine, that
shared drive must have the allow Read/Write/Modify/Full Control option enabled, otherwise
the project cannot be opened.

5. Click Next. The Summary page appears displaying a summary of the selections you made in
the previous wizard pages.
6. Click Finish. The Siemens S7 Discovery Agent extracts all of the tag information from the
selected project file and displays it in the Discover and Auto Configure application.

Rerunning the Discovery Agent for a Siemens .S7P Project

To rerun the Discovery Agent:

1. Launch the Discover and Auto Configure application and follow the Discovery Agent
Selection Wizard steps to extract tag information from the source file. The tag information
displays in the Discovery Agent section of the spreadsheet.
NOTE: The Tag Status column displays New for all rows.

2. Perform any applicable tasks you need to in the spreadsheet, including selecting tags, defining
tags for the target database, saving a .DAC file, adding tags to the database, and so on.
3. From the File menu, choose Run Discovery Agent. You are prompted with the question "Do
you want to run the Discovery Agent again?"
4. Click Yes. The Discovery Agent Selection Wizard opens at the Select a Siemens .S7P Project
File page and the location of the current source file is displayed.
5. Click Next to go to the Summary page, and then click Finish. The tag information is extracted
from the source file again. The Discovery Agent tool compares the tag information from the
new extraction with the tags displayed in the spreadsheet and then updates the spreadsheet.
The status of each tag is updated in the spreadsheet. The status can be New, Modified, Not
Found, or blank (that is, no change). For more information, refer to the Discovery Agent
Section of the Discover and Auto Configure Application topic.
6. Click the Tag Status column to sort the statuses and view the differences.

Allen-Bradley PLC-5/SLC 500/MicroLogix Families Discovery


Agent
The Allen-Bradley PLC-5/SLC 500/MicroLogix Families Discovery Agent examines an exported
address and symbol description file with an .EAS extension and finds all the symbols defined for a
device. An .EAS file is exported from the Rockwell RSLogix 5 or RSLogix 500 programming
software, containing address and symbol definition information in an RSLogix project.

You select the Allen-Bradley PLC-5/SLC 500/MicroLogix Families Discovery Agent on the Select a
Discovery Agent page of the Discovery Agent Selection Wizard.

This section tells you how to use the Discovery Agent Selection Wizard to choose the Allen-Bradley

54
Implementing Alarms and Messages

PLC-5/SLC 500/MicroLogix Families Discovery Agent and how to extract symbol information from a
Rockwell RSLogix .EAS file. When you click the Finish button at the end of the wizard the symbol
information is extracted from the selected file, is read by the Discover and Auto Configure application,
and then displayed in the spreadsheet.

The following table describes the columns exclusive to the Allen-Bradley PLC-5/SLC 500/MicroLogix
Families Discovery Agent that are displayed in the spreadsheet.

Discovery Agent Section Columns

Column Name Description

Name The name of the symbol.

Address The I/O address of the symbol.

Comment Descriptive information about the symbol.

Type The database tag type assigned to the symbol.

File Type The file type associated with the symbol.

Allen-Bradley The status of each symbol since it was last scanned from the .EAS file.
PLC Tag Status For more information on tag statuses, see The Discovery Agent Section
in the Discover and Auto Configure Application topic.

Supported File Types


The following table describes the file types supported by the Allen-Bradley PLC-5/SLC
500/MicroLogix Families Discovery Agent.

Discovery Agent Supported File Types

Type Description

A ASCII

55
Discover and Auto Configure

Type Description

B Binary

BT Block Transfer

C Counter

CT ControlNet Transfer

D BCD

F Float

I Input

MG Message Control

N Integer

O Output

PD PID control

R Control

56
Implementing Alarms and Messages

Type Description

S Status

ST String

R Timer

IMPORTANT:

• Generally, only the file or memory types supported by the GE Intelligent Platforms ABR
Driver v7.2x or above are supported by this Discovery Agent.

• The Discovery Agent will not perform any Address Range checking. You need to make sure
that the imported addresses match those in the PLC.

• The Discovery Agent imports all the file or memory types in the above table, regardless of the
type of PLC (for example, PLC-5, SLC 500, or MicroLogix) that you configured. The PLC
may only support a sub-set of the above file or memory types. Therefore, when configuring
your driver, you need to map it to the device with the appropriate PLC type. Otherwise, you
may get errors when trying to add tags to iFIX or the driver configurations.

Discovery Agent Selection Wizard - Select an RSLogix 5 or RSLogix 500


.EAS File
On the Select an RSLogix 5 or RSLogix 500 .EAS File page, you must select the appropriate RSLogix
exported address and symbol definition file (.EAS) that you want to extract symbol information from.
You can either enter the full path of the file's location, or click the Browse button to search for the
file you want to use.

You also need to enter a name for the PLC you are extracting the symbol information for. The wizard
uses this name to determine whether the PLC is a new device being imported into the project, or it is a
device already existing in the project. The latter case can happen if you re-run the discovery agent to
update an existing device. You can conveniently select the name from the drop-down list if it is an
existing device in the project.

NOTE: You can extract symbols from only one EAS file a time. To extract symbols from more devices,
rerun the Discovery Agent.

Click Next to go to the Summary page or click Back to return to the Select a Discovery Agent page.

NOTE: Click the Back button at any time to make changes to your selections.

57
Discover and Auto Configure

Extracting Tag Information from an RSLogix .EAS File


It is possible that the source of your symbol information has changed since you performed the symbol
extraction. If this is the case, you can rerun the Allen-Bradley PLC-5/SLC 500/MicroLogix Families
Disovery Agent to extract the symbol information again. You can also use this feature to run the Allen-
Bradley PLC-5/SLC 500/MicroLogix Families Disovery Agent tool on a new source file.

To extract symbol information from an RSLogix .EAS file:

1. Launch the Discover and Auto Configure application. The Discovery Agent Selection Wizard
appears.
2. Click Next. The Select a Discovery Agent page appears.
3. From the list, select the Allen-Bradley PLC-5/SLC 500/MicroLogix Families Discovery
Agent and click Next. The Select an RSLogix .EAS File page appears.
4. Enter the full path and file name of the .EAS file you want to extract symbol information
from, or click the Browse button to locate the file you want.
5. Enter or select a name for the device.
6. Click Next. The Summary page appears displaying a summary of the selections you made in
the previous wizard pages.
7. Click Finish. The Allen-Bradley PLC-5/SLC 500/MicroLogix Families Discovery Agent
extracts all of the symbol information from the selected .EAS file and displays it in the
Discover and Auto Configure application.

Rerunning the Discovery Agent for an RSLogix .EAS Project

To rerun the Discovery Agent:

1. Launch the Discover and Auto Configure application and follow the Discovery Agent
Selection Wizard steps to extract symbol information from the source file. Or, you can Open
an existing DAC Project File for the Allen-Bradley PLC-5/SLC 500 /MicroLogix Discovery
Agent that you previously saved.
The symbol information displays in the Discovery Agent section of the spreadsheet.
NOTE: The Tag Status column displays New for all rows.

2. Optionally, perform any applicable tasks you need to in the spreadsheet, including selecting
tags, defining tags for the target database, saving a .DAC file, adding tags to the database, and
so on.
3. From the File menu, choose Run Discovery Agent. You are prompted with the question "Do
you want to run the Discovery Agent again?"
4. Click Yes. The Discovery Agent Selection Wizard opens at the Select an RSLogix .EAS file
page and the location of the current source file is displayed.
5. Click Next to go to the Summary page, and then click Finish. The symbol information is
extracted from the source file again. The Discovery Agent tool compares the symbol
information from the new extraction with the symbols displayed in the spreadsheet and then
updates the spreadsheet.
The status of each tag is updated in the spreadsheet. The status can be New, Modified, Not

58
Implementing Alarms and Messages

Found, or blank (that is, no change). For more information, refer to the Discovery Agent
Section of the Discover and Auto Configure Application topic.
6. Click the Tag Status column to sort the statuses and view the differences.

IGS - Industrial Gateway Server Discovery Agent


The IGS - Industrial Gateway Server Discovery Agent examines an exported address and tag
description file with an .L5K file extension and finds all the tags defined for a device. An .L5K file is
exported from the Rockwell RSLogix 5000 programming software, containing address and tag
information in an RSLogix project for a ControlLogix PLC.

You select the IGS - Industrial Gateway Server Discovery Agent on the Select a Discovery Agent page
of the Discovery Agent Selection Wizard.

This section tells you how to use the Discovery Agent Selection Wizard to choose the IGS - Industrial
Gateway Server Discovery Agent and how to extract symbol information from a Rockwell RSLogix
.L5K file for ControlLogix PLCs. When you click the Finish button at the end of the wizard the
symbol information is extracted from the selected file, is read by the Discover and Auto Configure, and
then displayed in the spreadsheet.

The following table describes the columns exclusive to the IGS - Industrial Gateway Server Discovery
Agent that are displayed in the spreadsheet.

Discovery Agent Section Columns

Column Name Description

Name The name of the tag.

IGS Item ID The item ID of the tag.

Description Descriptive information about the tag.

Data Type The IGS data type assigned to the tag.

Status The status of each tag since it was last scanned from the .L5K file. For
more information on tag statuses, see The Discovery Agent section in
the Discover and Auto Configure Application topic.

59
Discover and Auto Configure

IMPORTANT:

• This Discovery Agent supports only the file or memory types supported by the GE Intelligent
Platforms IGS driver version 7.41 and 7.51 or greater.

• The Discovery Agent does not perform any Address Range checking. You need to make sure
that the imported addresses match those in the PLC.

• The Discovery Agent imports all the file or memory types that are supported by the IGS
driver. The PLC may only support a sub-set of the memory types. Therefore, when
configuring your driver, you need to map it to the device with the appropriate PLC type.
Otherwise, you may get errors when trying to add tags to iFIX or the driver configurations.

• The IGS driver configuration tags displayed in the tree view and spreadsheet are not limited
to ControlLogix PLCs. You can browse all the configured channels and devices in your IGS
Server.

• When you are using the IGS Discovery Agent, the individual tag information does not
automatically display in the system tree; only the top level initially displays. As you expand
each level, the IGS Discovery Agent gets and displays the data for that level. For this reason,
the IGS Item Status column may not display the status you expect.

• Because the IGS Server is browsed only when requested (that is, when a branch is expanded),
when you rerun the IGS Discovery Agent, the IGS Item Status field updates only those items
already displayed in the spreadsheet. When you browse for items for the very first time, the
status field will always display New, regardless of whether there were changes to the IGS
Server since the first time it was browsed. Only those items already displayed in the
spreadsheet show an updated status.

Discovery Agent Selection Wizard - Select an Action


On the Select an Action page, you must select the appropriate action:

• Import New RSLogix 5000 .L5K File – if you want to add a new device and import an .L5K
file.
• Browse Current IGS Driver Configuration – if you want to browse existing IGS driver
configurations. In this case, you do not add or rescan the existing devices.
NOTE: The GE Intelligent Platforms IGS driver version 7.51 has the ability to add additional
protocols when setting up the IGS driver configuration. When you browse your current IGS
driver configuration to populate the DAC items, the browse now includes items in the IGS
driver configuration created under any of these additional protocols.

• Rescan Existing Device Tags from .L5K File – if you want to rescan an existing device.
This triggers an IGS driver database tag update for the existing device that you select.

Click Next to go to the next page, or click Back to return to the previous page.

NOTE: Click the Back button at any time to go back to make changes to your previous selections.

60
Implementing Alarms and Messages

Discovery Agent Selection Wizard - Select an RSLogix 5000 .L5K File


On the select an RSLogix 5000 ControlLogix Ethernet .L5K File page, you must select the appropriate
RSLogix exported address and tag definition file (.L5K) that you want to get tag information from.
You can either enter the full path of the file's location, or click the Browse button to search for the
file you want to use.

After you enter the name for the .L5K file, the Device name, IP address, and slot number from the
.L5K file automatically appear in this dialog box, if available. By default, the Controller name found in
the .L5K file is used as your device name.

If these are not available or you want to change these values, you need to manually enter the name of
the PLC or Device you are extracting the tag information for, along with the IP address and the CPU
slot number.

Select the ControlLogix Ethernet channel from the drop-down list. If you want to add a new
ControlLogix Ethernet channel, type in the channel name. A new channel is added to the IGS
configuration. The Device or PLC that you enter is added to this channel.

NOTES:

• You can extract tags from only one .L5K file a time. To extract tags from more devices, rerun
the Discovery Agent.

• If you have multiple Ethernet modules in your PLC project, the Discovery Tool obtains the IP
address of the first ENET module found in your .L5K file. If it cannot find the IP address in
your .L5K file, this field remains blank. You must then manually enter the IP address for
proper communications to your PLC.

• Similarly, if you have multiple CPU modules in your PLC project, the Discovery Tool obtains
the slot number for the first controller module found in your .L5K file.

• In the Channel drop-down list, the Discovery Tool displays only the channels in the IGS that
have been configured for ControlLogix Ethernet driver communications.

Click Next to go to the Summary page or click Back to return to the previous page.

NOTE: Click the Back button at any time to make changes to your selections.

Discovery Agent Selection Wizard - Select a Device to Rescan


On the Select a Device to Rescan page, you must select the channel and device name from the drop-
down lists. The path for the .L5K file name (if available) associated with the selected device
automatically appears in the Path and L5K File Name field.

This triggers the IGS driver to perform a database tag update for the existing device that you select.

NOTE: You can rescan tags from only one .L5K file a time. To rescan tags from more devices, rerun
the Discovery Agent.

Click Next to go to the Summary page or click Back to return to the previous page.

61
Discover and Auto Configure

Extracting Tag Information from an RSLogix 5000 ControlLogix .L5K File


Use this feature to run the IGS - Industrial Gateway Server Discovery Agent tool on a new source file.

To extract tag information from an RSLogix 5000 ControLogix .L5K file:

1. Launch the Discover and Auto Configure application. The Discovery Agent Selection Wizard
appears.
2. Click Next. The Select a Discovery Agent page appears.
3. From the list, select the IGS - Industrial Gateway Server Discovery Agent and click Next. The
Select an Action page appears.
4. Select the Import New RSLogix 5000 .L5K File option and click Next. The Select an
RSLogix 5000 .L5K File page appears.
5. Enter the full path and file name of the .L5K file you want to extract symbol information
from, or click the Browse button to locate the file you want.
6. Enter a name for the device if it does not automatically appear when you enter or select the
.L5K file. By default, the Controller name found in the .L5K file is used as your device name.
7. Enter the Device IP address and CPU slot number if it does not automatically appear when
you enter or select the .L5K file. By default, the IP Address found for the first ENET module
will be used as your IP address. Similarly, by default, the slot number for the first controller
module found in your .L5K file will be used as the CPU slot number.
8. Select a ControlLogix channel from the drop-down list.
9. Click Next. The Summary page appears displaying a summary of the selections you made in
the previous wizard pages.
10. Click Finish. The IGS - Industrial Gateway Server Discovery Agent extracts all of the symbol
information from the selected .L5K file and displays it in the Discover and Auto Configure
application.

Rerunning the Discovery Agent for the IGS Driver for an RSLogix .L5K
Project
It is possible that the source of your tag information has changed since you performed the tag
extraction. If this is the case, you can rerun the IGS - Industrial Gateway Server Discovery Agent to
extract the tag information again. You can also use this to add a new device.

IMPORTANT: When you are using the IGS Discovery Agent, the individual tag information does not
automatically display in the system tree; only the top level initially displays. As you expand each level,
the IGS Discovery Agent gets and displays the data for that level. For this reason, the IGS Item Status
column may not display the status you expect.

Because the IGS Server is browsed only when requested (that is, when a branch is expanded), when
you rerun the IGS Discovery Agent, the IGS Item Status field updates only those items already
displayed in the spreadsheet. When you browse for items for the very first time, the status field will
always display New, regardless of whether there were changes to the IGS Server since the first time it
was browsed. Only those items already displayed in the spreadsheet show an updated status.

62
Implementing Alarms and Messages

To rerun the Discovery Agent:

1. Launch the Discover and Auto Configure application and follow the Discovery Agent
Selection Wizard steps to extract tag information from the source file. Or, you can open an
existing DAC Project File for the IGS - Industrial Gateway Server Discovery Agent that you
previously saved.
The tag information displays in the Discovery Agent section of the spreadsheet.
NOTE: The Tag Status column displays New for all rows.

2. Optionally, perform any applicable tasks you need to in the spreadsheet, including selecting
tags, defining tags for the target database, saving a .DAC file, adding tags to the database, and
so on.
3. From the File menu, choose Run Discovery Agent. You are prompted with the question "Do
you want to run the Discovery Agent again?"
4. Click Yes. The Discovery Agent Selection Wizard opens at the Select an Action page.
5. If you want to rescan an existing device, select the Rescan Existing Device Tags from .L5K
File option. If you want to add a new device, select the Import New RSLogix 5000 .L5K
Configuration File option.
6. Click Next to go to the Summary page, and then click Finish. The tag information is extracted
from the source file again. The Discovery Agent tool compares the tag information from the
new extraction with the symbols displayed in the spreadsheet and then updates the
spreadsheet.
The status of each tag is updated in the spreadsheet. The status can be New, Modified, Not
Found, or blank (that is, no change). For more information, refer to the Discovery Agent
Section of the Discover and Auto Configure Application topic.
6. Click the Tag Status column to sort the statuses and view the differences.

Discovery Agent Selection Wizard - Summary


The Summary page displays a summary of the selections you made on the previous wizard pages, as
well as the target application with the database that the tags or OPC items will be added to.

Click Finish to complete the Discovery Agent Selection Wizard, or click Back to return to the previous
page.

NOTE: Click the Back button at any time to make changes to your selections.

When you click Finish, the Discover and Auto Configure extracts the tag or item information you want
and displays it in the left side of the spreadsheet. You are now ready to select the tags or items you
want to add to the database and to define the information so that the selected driver can use it.

63
Discover and Auto Configure

Target Applications
This section provides you with information about the target applications that are available to you to
add the selected database tags to. Each target application has its own database to store its database tags
and their information. The following are the target applications currently available:

• Proficy HMI/SCADA - iFIX

Proficy HMI/SCADA - iFIX


Proficy HMI/SCADA - iFIX is a client/server-based solution, offering scan-driver operations and
enhanced operations in large process-oriented environments.

The Discover and Auto Configure application provides the ability to add and remove iFIX database
columns displayed in the target application side of the spreadsheet. You can even rename iFIX column
names. For more information, refer to the Modifying iFIX Columns in the Spreadsheet section.

Alternatively, a text file, called iFIXColumns.txt is installed with the application and is located in the
same directory as the application. This file also contains the default iFIX database columns and
descriptive information to help you add columns to the spreadsheet. You can add additional columns or
you can remove columns, including the default columns, by deleting them or simply hiding them by
using this text file as well. For more information about using the iFIXColumns.txt file, refer to the
Using the iFIXColumns.txt File to Modify iFIX Columns in the Spreadsheet section.

NOTES:

• If the Discover and Auto Configure application is open when you make a change to the
iFIXColumns.txt file, you must exit and restart the application for the changes to take effect.

• If you delete the iFIXColumns.txt file, the application will regenerate the file with the default
columns.

The following table describes the default Proficy HMI/SCADA - iFIX columns displayed in the target
application section of the spreadsheet.

HMI/SCADA Section Default Columns

Column Name Description

Tag Name The name of the tag as it will appear in your database..

Type The assigned database block type. For more information, see Block
Type and Scan time Wizard.

64
Implementing Alarms and Messages

Column Name Description

Description Descriptive information about the tag. This information can be added
manually or copied from the Comment column. For more information,
see Tag Name and Description Wizard.

Scan Time The scan time assigned to the tags. For more information, see Block
Type and Scan Time Wizard.

Driver The selected driver that will use the tags added to the database. For
more information, see Driver Wizard.

I/O Address The I/O Address automatically assigned to the tag by the selected
driver device.

H/W The hardware option for the tag. You manually enter this information.
Depending on the driver you are using, the Hardware option field may
be assigned automatically for I/O addresses with certain datatypes.
Hardware options must match the hardware options available in the
database for the driver that you selected.

Signal Cond The signal conditioning option for the tag. You manually enter this
information. Depending on the driver you are using, the signal
conditioning field may be assigned automatically for I/O addresses
with certain datatypes. Signal conditioning options must match the
signal conditioning options available in the database for the driver that
you selected.

Last Action Status Flag that indicates whether the tag was successfully added to your
database.

For more information, refer to the Proficy HMI/SCADA - iFIX electronic books.

The iFIX Wizards Toolbar and Right-Click Menu


The iFIX Wizards Toolbar can be used in two ways. You can run the dialog boxes consecutively as a
wizard with the click of a single button, or you can open each dialog box separately. When you run the

65
Discover and Auto Configure

dialogs as a wizard, you are provided with Next and Back buttons to move forward and backward
through the dialog boxes. When you open an individual dialog box, you simply click OK to save your
changes and close the dialog box.

iFIX Wizards ToolbarThe iFIX Wizards toolbar buttons are available only when your target
application database is Proficy iFIX and you have selected at least one tag in the spreadsheet.

Click this To...


button...

Launch the series of dialog boxes starting with the Tag Name and
Description Wizard. When you are finished with each Wizard, click
Next.

Open the Tag Name and Description Wizard.

Open the Block Type and Scan Time Wizard.

Open the Driver Wizard.

Add the selected tags to the iFIX Process Database.

Apply the changes you make to the tag information in the spreadsheet to
the tag in the iFIX Process Database.

iFIX Right-Click MenuThe iFIX right-click menu options are available whenever your target
application database is Proficy iFIX.

Choose this menu To...


item...

iFIX - All Wizards


Launch the series of dialog boxes starting with the Tag Name and
Description Wizard. When you are finished with each wizard,
click Next.

iFIX - Tag Name Wizard


Open the Tag Name and Description Wizard.

66
Implementing Alarms and Messages

Choose this menu To...


item...

iFIX - Block Type


Wizard Open the Block Type and Scan Time Wizard.

iFIX - Driver Wizard


Open the Driver Wizard.

Add to iFIX
Add the selected tags to the iFIX Process Database.

Modify in iFIX
Apply the changes you make to the tag information in the
spreadsheet to the tag in the iFIX Process Database.

iFIX - All Wizards


The iFIX - All Wizards button combines the separate wizard dialog boxes into a single wizard. When
you click this button, the Tag Name and Description Wizard appears first. You can move through the
dialog boxes using the Next and Back buttons, entering appropriate information and making selections
in each. When you reach the final page of the Driver Wizard, click Finish to add the new tag
information to the target application section of the spreadsheet. The following lists the wizard pages in
the order they appear in:

• Tag Name and Description Wizard


• Block Type and Scan Time Wizard
• Select Driver Wizard
• Summary – this page is displayed only when the full iFIX Wizard is used.

You can choose not to add a prefix or suffix to the tag name in the Tag Name and Description Wizard;
however, the Discover and Auto Configure may make changes to the tag name, based on which
characters are recognized as valid. For more information about naming conventions, refer to Tag Name
and Description Wizard.

Tag Name and Description Wizard


The Tag Name and Description Wizard is where you can add a prefix and/or suffix to the names of all
the currently selected tags you want to add to the target application section of the spreadsheet, and,
ultimately, your process database application. Adding a prefix or suffix helps to identify these tags as
the ones that were extracted from a source file.

67
Discover and Auto Configure

Tag Name Check Box

Select this check box to indicate that you want to add a prefix and/or suffix to all of the currently
selected tags you are adding to your database. You can also choose whether to truncate the tag name to
the first 30 characters or the last 30 characters.

Tag Name Prefix

Specifies the prefix to add to the tag names when adding tags the database. Prefixes must follow the
iFIX naming conventions. The maximum number of characters is 30.

Tag Name Suffix

Specifies the suffix to add to the tag names when adding tags to the database. Suffixes must follow the
iFIX naming conventions. The maximum number of characters is 30.

Use first 30 Characters

Specifies that if the tag names exceed 30 characters, the names will be truncated to the first 30
characters when added to the database. These 30 characters include any prefix or suffix added to the
tag name.

Use Last 30 Characters

Specifies that if the tag names exceed 30 characters, the names will be truncated to the last 30
characters when added to the database. These 30 characters include any prefix or suffix added to the
tag name.

Illegal Character Substitution

Specifies the character that will replace all invalid characters in a symbol name. The default is an
underscore ( _ ).

Illegal First Character Substitution

Specifies the character that will replace the first character, if it is not a valid iFIX character. The
default is a capital letter A.

For more information on character substitutions, refer to the Naming Conventions section.

Description Check Box

Select this check box to indicate that you want to copy the discovered comment to the Description field
and/or add a prefix to the Description field when it is copied.

Copy the discovered Comment...

Select this check box to indicate that if a selected tag has any information in its Comments field, that
the first 40 characters will be copied to the Description field for the corresponding tag in the iFIX
section of the spreadsheet. The maximum length of the iFIX Description field is 40 characters. These
40 characters include any Description Prefix you specify.

68
Implementing Alarms and Messages

NOTE: OPC servers do not store comments about OPC items; therefore, the OPC Discovery Agent
cannot browse comments from OPC Servers. However, the Fully Qualified ItemID is stored and can be
copied to the Description field in the iFIX section of the spreadsheet. If you select this check box, but
no Fully Qualified ItemID was found, the Description field remains blank unless you enter a prefix. In
this case, only the prefix displays in the Description field.

Description Prefix

Specifies the prefix to add to the description when the tags are added to the database. Prefixes must
follow the iFIX naming conventions. The maximum number of characters is 40.

Naming ConventionsIn most cases the names of the tags that are extracted from a PLC project file or
OPC Server will not follow the same naming conventions as the target application you are adding the
tags to. Therefore, when tag information is added to the target application section of the spreadsheet,
the tag names must follow the same naming conventions as your target database application;
otherwise, the tag creation in the target database application will fail. These rules are valid whether you
are adding prefixes and/or suffixes in the Tag Name and Description Wizard, or making the changes
manually in the spreadsheet.

iFIX Naming Conventions

iFIX tag names must begin with a letter or a number and can be a maximum of 30 characters. Tag
names can also include the following special characters:

( - ) Dashes ( # ) Number signs

( \ ) Back slashes ( [ ) Open brackets

( _ ) Underscores ( ] ) Close brackets

( / ) Forward slashes ( % ) Percent signs

( ! ) Exclamation points ( $ ) Dollar signs

( | ) Pipes

Conversion Process

Prefixes and suffixes that you add using the Tag Name and Description Wizard must follow the
naming conventions of Proficy iFIX. You can choose not to add a prefix or suffix to the tags; however,

69
Discover and Auto Configure

be aware that the Discover and Auto Configure will automatically convert tag names that do not follow
the naming conventions. The conversion process is as follows:

• Whether a valid prefix and/or suffix is added, the Name is checked before being added to the
target application section of the spreadsheet. Using the default character substitution, any
invalid characters are replaced with an underscore ( _ ). For example, you have added the
prefix MyTag. Therefore, the tag name "Counter2" is changed to MyTag_Counter2_. The
quotation marks are invalid characters and are changed to underscores.
• If the first character is not a valid iFIX character, it is replaced with the first character
substitution you defined. For example, you have not added a prefix or suffix and you are
using the default first character substitution (the letter A) and the default character substitution
(an underscore). Therefore, the tag name "Counter2" is changed to ACounter2_. The
quotation marks are invalid characters; the first invalid character is changed to an A because it
is not a valid iFIX character, and the second invalid character is changed to an underscore.
• The tag name is checked for uniqueness. If the tag name already exists within this Discovery
tool, the last character(s) of the tag name are replaced with a number to aid in the uniqueness.
The number that is appended replaces the last character(s) in the tag name. The numbering
starts at 1 and increments by 1 for each duplicate tag name, up to 99,999. For example:
• The first tag name is MyTag_AAAAAAAAAAAAAAAAAAAAAAAA.
• The next tag name is a duplicate of the first, so it will change to
MyTag_AAAAAAAAAAAAAAAAAAAAAAA1.
• The next duplicate will change to
MyTag_AAAAAAAAAAAAAAAAAAAAAAA2.
• The tenth duplicate will change to
MyTag_AAAAAAAAAAAAAAAAAAAAAA10 and so on.

Block Type and Scan Time Wizard


The Block Type and Scan Time Wizard is where you select the type of block you want to assign to all
of the currently selected tags you want to add to the target application section of the spreadsheet, and,
ultimately, your process database application. You can also set a scan time for the tags or choose
exception-based processing.

Block Type Check Box

Select this check box to indicate that you want to choose a block type to assign to all of the currently
selected tags you are adding to your database. Selecting this check box enables the Block Type list.

Block Type

Specifies the type of block you want to assign to all of the currently selected tags in the spreadsheet.
This list is available only when the Block Type check box is selected.

NOTE: iFIX must be installed and running to display a list of valid block types.

Scan Time Check Box

Select this check box to indicate that you want to set either a scan time or exception-based processing

70
Implementing Alarms and Messages

for the currently selected tags you are adding to your database. This check box is not available if you
select an AO, AR, DO, or DR block type.

Process by Exception Check Box

Select this check box to indicate that you want to use exception-based processing to scan the tags after
they have been added to your database. Exception-based processing means that the blocks are
processed by exception, not at scheduled time intervals.

When you select this check box, an E is displayed in the Scan Time field and you cannot change it or
access the Phase At field.

For more information about exception-based processing, see the Understanding Exception-Based
Processing topic in the iFIX online help.

Scan Time

Specifies the scan time to use for time-based processing. Time-based processing means that the blocks
are processed at a scheduled time interval. The format for scan times is:

time unit

Valid units are M (minutes) and H (hours). If you do not enter a unit of time, it is assumed that the unit
is seconds.

For example, to scan a block every 3 minutes, enter:

3M

To scan a block every 30 seconds, enter:

30

For more information about time-based processing, see the Understanding Time-Based Processing
topic in the iFIX online help.

Phase At

Specifies the phase time to use for time-based processing. Phasing staggers the time at which the
blocks are scanned. The phase time must have the same unit or one unit lower than the scan time unit.

For example, if the scan time is 3 minutes and you want to the scan phased at 1 minute 30 seconds,
enter:

1:30

To specify a 30-second phase instead, enter:

0:30

For more information about phasing, see the Phasing topic in the iFIX online help.

71
Discover and Auto Configure

Driver Wizard
The Select Driver page of the Driver Wizard is where you select the driver that the database adds the
tags to. On this page you will find a list of the available drivers you can add the tags to; that is, the
drivers that are installed on your computer and are associated with the Discovery Agent you used. This
page also displays a brief description of the selected driver.

OPC Client Driver

OPC Driver - Group Selection

The Group Selection page is where you select the OPC Client driver server and the group that the OPC
items will be added to. On this page you will find a system tree-like list of the existing servers and
groups that have been configured for the OPC Client driver that match the ProgID of the OPC server
you are working with. The list of servers and groups that display are from the OPC Client driver
configuration that match either the version dependent or version independent OPC server ProgID, and
the local or remote machine (including remote machine name) selected in the Discovery Agent Wizard.

When this dialog box opens, the OPC Discovery Agent checks to see if the OPC server you are
working with already exists in the iFIX OPC Client driver. If it does not exist, the server and a group,
with default settings, are automatically added to the OPC Client driver configuration. However, if the
server exists but it has no groups configured for it, a group is added, with default settings. The server
and group are then displayed in the selection tree. The new server and group are enabled and the OPC
Client driver configuration is saved automatically.

If the group you want does not exist or requires changes, you can open the Add/Modify OPC Group
dialog box to make additions or changes to the groups.

Alternatively, you can launch the OPC Client driver Power Tool where you can add or change servers
and groups; however, if you add a server with a ProgID that is different from the OPC server you are
working with, it will not display. When you complete your changes in the Power Tool, return to this
page and click the Refresh button to update the servers and groups.

OPC Server Name

Display only. Specifies the OPC server that the items you are adding to the database originated from.

When you use a remote OPC server, the remote machine name or TCP/IP address is appended to the
OPC server name. A remote OPC Server name uses the format <ipaddress>\<OPC server name> or
<machine name>\<OPC server name>. For example, 3.6.9.12\Intellution.IntellutionGatewayServer.

A local OPC Server name uses the format <.>\<OPC server name>, where the period (.) represents the
local machine. For example, .\Intellution.IntellutionGatewayServer.

OPC Server Description

Display only. Specifies the description of the OPC server.

iFIX OPC Client

Displays the servers and associated groups that are currently configured for the OPC Client driver.

72
Implementing Alarms and Messages

Add New Group

Use this button to open the Add New OPC Group dialog box where you can add a new group
configuration for the selected OPC Client server.

View Properties

Display only. Specifies the configuration properties of the selected OPC Client server. This button is
available only when you have selected a server.

Modify Group

Use this button to open the Modify OPC Group dialog box where you can change the configuration of
the selected group. This button is available only when you have selected a group.

Run OPC Power Tool

Use this button to open the OPC Client Driver's Power Tool where you can add or change the desired
server and/or group.

Refresh

Use this button to refresh the server and group list after modifying the driver's Power Tool.

Click OK to go to the Summary page if you are using the iFIX - All Wizards feature. If you are using
the Driver Wizard alone, click OK to update the currently selected items in the target application
section of the spreadsheet. Click Back to return to the Select Driver page.

Add/Modify OPC Group

The Add/Modify OPC Group dialog box is where you can add a new group to a server displayed in the
OPC Driver - Group Selection dialog box, or modify an existing group. Any groups you add using this
dialog box are automatically displayed in the list on the Group Selection dialog box. A group is
automatically enabled after you add it.

The fields available for configuration on this dialog box are the same whether you use the Add New
Group button or the Modify Group button on the Group Selection dialog box; the only difference is
that the button you click determines the title of the dialog box.

This dialog box is the same as the properties viewer for groups on the GE Intelligent Platforms OPC
Client Power Tool. This provides you with the same configuration fields, allowing you to bypass the
OPC Client Power Tool. However, group information that you add or change in this dialog box is
automatically updated in the Power Tool.

NOTES:

• Changes to a server can only be made in the OPC Client Power Tool.

• Some OPC Servers do not allow group names to be changed. An error message is displayed if
this is the case.

For detailed information about configuring OPC Client groups, refer to the OPC Client driver online help.

73
Discover and Auto Configure

Working with Servers and Groups for the OPC Client Driver

Selecting a server and a group | Adding servers or groups to the driver | Viewing server properties

To select a server and a group:

1. Select the OPC client driver you want to add the database tags to and click Next. The OPC
Client - Group Selection page appears.
2. From the list of servers, expand the server with the group you want and select the desired
group.
If the server or group information you want is not available, refer to the procedures To add an
OPC group and To add or change a server or group using the Power Tool.
3. Click OK. The server, group, and item information is added to the I/O Address field in the
target application section of the spreadsheet for the selected items.

NOTE: The Driver Wizard does not automatically generate an I/O address for a tag with a
blank Fully Qualified Item ID field in the Discovery Agent section of the spreadsheet. If you
selected one of these tags to add to iFIX, the I/O Address field remains blank, or contains the
ServerX.GroupY name only when the Driver Wizard completes. You can double-click the I/O
Address field and manually enter an I/O address before or after adding the tag to iFIX or you
can enter an I/O address directly in Database Manager after the tag has been added to iFIX.

To add a server or group to the OPC Client driver:

1. If the server or group you want is not available, click the Run OPC Power Tool button. The
I/O Driver Server Connection dialog box appears, allowing you to connect to the OPC Client
Driver Power Tool.
IMPORTANT: Make sure you connect to the locally installed OPC Client driver. If you
connect to a remote driver, the changes you make to its configuration file will not display in the
OPC Client- Group Selection page.

2. In the Power Tool, add the required server and/or group information and save your changes.
For more information about adding servers and groups, refer to the OPC Client Driver online
help.
3. On the OPC Driver - Group Selection page of the Driver Wizard, click the Refresh button to
refresh the list of servers and groups. Your changes now appear in the list.

To view server properties

On the OPC Driver - Group Selection page, select the server you want to view and click View
Properties. The iFIX OPC Client Server Properties dialog box appears.

NOTE: If you need to make changes to the server properties, see To add or change a server or
group using the Power Tool.

74
Implementing Alarms and Messages

Adding or Modifying an OPC Group

To add a new OPC group:

1. From the list of servers and groups on the OPC Driver - Group Selection dialog box, select
the server that you want to add a group to.
2. Click the Add New Group button. The Add New OPC Group dialog box appears.
3. Configure the group, as required. For more information, refer to the OPC Client Driver online
help.
4. Click OK to save your changes and return to the OPC Driver - Group Selection dialog box.
The new group appears below the selected server.

To modify an OPC group:

1. From the list of servers and groups on the OPC Driver - Group Selection dialog box, select
the group you want to change.
2. Click the Modify Group button. The Modify OPC Group dialog box appears.
3. Configure the group, as required. For more information, refer to the OPC Client Driver online
help.
4. Click OK to save your changes and return to the OPC Driver - Device Selection dialog box.

Siemens S7 Drivers

S7A Driver - Device Selection

The S7A Driver - Device Selection page of the Select Driver Wizard is where you select the channel
and device of the S7A driver that the tags will be added to. On this page you will find a system tree-
like list of the existing channels and devices that have been configured for the S7A driver. If the
channel and/or device you want does not exist, you can launch the S7A Driver Power Tool to add the
necessary information.

I/O Driver Name

Display only. Specifies the name of the driver selected on the Select Driver page, that is, S7A.

Step 7 Program Name

Display only. Specifies the program name that the tags you are adding to the database originated from.

Run S7A Power Tool

Use this button to open the S7A Driver Power Tool to add or change the desired channel and/or device.

Refresh

Use this button to refresh the channel and device list after modifying the S7A driver's configuration file
with the Power Tool.

75
Discover and Auto Configure

Click OK to go to the Summary page if you are using the iFIX - All Wizards feature. If you are using
the Driver Wizard alone, click OK to update the currently selected items in the target application
section of the spreadsheet. Click Back to return to the Select Driver page.

SI7 Driver - Device Selection

The SI7 Driver - Device Selection page of the Select Driver Wizard is where you select the channel
and device of the SI7 driver that the tags will be added to. On this page you will find a system tree-like
list of the existing channels and devices that have been configured for the SI7 driver. If the channel
and/or device you want does not exist, you can launch the SI7 Driver Power Tool to add the necessary
information.

I/O Driver Name

Display only. Specifies the name of the driver selected on the Select Driver page, that is, SI7.

Step 7 Program Name

Display only. Specifies the program name that the tags you are adding to the database originated from.

Run SI7 Power Tool

Use this button to open the SI7 Driver Power Tool to add or change the desired channel and/or device.

Refresh

Use this button to refresh the channel and device list after modifying the SI7 driver's configuration file
with the Power Tool.

Click OK to go to the Summary page if you are using the iFIX - All Wizards feature. If you are using
the Driver Wizard alone, click OK to update the currently selected items in the target application
section of the spreadsheet. Click Back to return to the Select Driver page.

Working with Channels and Devices for an S7A Driver

Selecting a channel and a device | Adding channels and devices to the driver

To select a channel and a device for the S7A driver:

1. Select the S7A driver and click Next. The S7A Driver - Device Selection page appears.
2. Expand the channel with the device you want and select the desired device.
If the channel or device information you want is not available, refer to the procedure To add
channel and device information to the driver.
3. Click OK. The driver and device information is added to the target application section of the
spreadsheet for the selected tags.

NOTE: The Driver Wizard does not automatically generate an I/O address for a tag with a
data type such as VAT or None. If you selected one of these tags to add to iFIX, the I/O
Address field remains blank when the Driver Wizard completes. You can double-click the I/O

76
Implementing Alarms and Messages

Address field and manually enter an I/O address before or after adding the tag to iFIX or you
can enter an I/O address directly in Database Manager after the tag has been added to iFIX.

To add a channel and device to the S7A driver:

1. If the channel and/or device you want is not available, click the Run S7A Power Tool button.
The S7A Driver Power Tool Server Connection dialog box appears, allowing you to connect
to the driver.
IMPORTANT: Make sure you connect to the locally installed S7A driver. If you connect to a
remote driver, the changes you make to its configuration file will not display in the S7A
Driver - Device Selection page.

2. In the S7A Driver Power Tool, add the applicable channels and/or devices you require and
save your changes. For more information about adding channels and devices, refer to the S7A
Driver online help.
3. On the S7A Driver - Device Selection page, click the Refresh button to refresh the list of
channels and devices. Your changes now appear in the list.

Working with Channels and Devices for an SI7 Driver

Selecting a channel and a device | Adding channels and devices to the driver

To select a channel and a device for the SI7 driver:

1. Select the SI7 driver and click Next. The SI7 Driver - Device Selection page appears.
2. Expand the channel with the device you want and select the desired device.
If the channel or device information you want is not available, refer to the procedure To add
channel and device information to the driver.
3. Click OK. The driver and device information is added to the target application section of the
spreadsheet for the selected tags.

NOTE: The Driver Wizard does not automatically generate an I/O address for a tag with a
data type such as VAT or None. If you selected one of these tags to add to iFIX, the I/O
Address field remains blank when the Driver Wizard completes. You can double-click the I/O
Address field and manually enter an I/O address before or after adding the tag to iFIX or you
can enter an I/O address directly in Database Manager after the tag has been added to iFIX.

To add a channel and device to the SI7 driver:

1. If the channel and/or device you want is not available, click the Run SI7 Power Tool button.
The SI7 Driver Power Tool Server Connection dialog box appears, allowing you to connect to
the driver.
IMPORTANT: Make sure you connect to the locally installed SI7 driver. If you connect to a
remote driver, the changes you make to its configuration file will not display in the SI7 Driver
- Device Selection page.

2. In the SI7 Driver Power Tool, add the applicable channels and/or devices you require and
save your changes. For more information about adding channels and devices, refer to the SI7
Driver online help.

77
Discover and Auto Configure

3. On the SI7 Driver - Device Selection page, click the Refresh button to refresh the list of
channels and devices. Your changes now appear in the list.

Allen-Bradley PLC 5 Driver

ABR Driver - Device Selection

The ABR Driver - Device Selection page of the Select Driver Wizard is where you select the channel
and device of the ABR driver that the tags will be added to. On this page you will find a system tree-
like list of the existing channels and devices that have been configured for the ABR driver. If the
channel and/or device you want does not exist, you can launch the ABR Driver Power Tool to add the
necessary information.

I/O Driver Name

Display only. Specifies the name of the driver selected on the Select Driver page; that is, ABR.

ABR Export File Name

Display only. Specifies the file name of the .EAS export file.

Run ABR Power Tool

Use this button to open the ABR Driver Power Tool to add or change the desired channel and/or
device.

Refresh

Use this button to refresh the channel and device list after modifying the ABR driver's configuration
file with the Power Tool.

Click OK to go to the Summary page if you are using the iFIX - All Wizards feature. If you are using
the Driver Wizard alone, click OK to update the currently selected items in the target application
section of the spreadsheet. Click Back to return to the Select Driver page.

Working with Channels and Devices for an ABR Driver

To select a channel and a device for the ABR driver:

1. Select the ABR driver and click Next. The ABR Driver - Device Selection page appears.
2. Expand the channel with the device you want and select the desired device.
If the channel or device information you want is not available, refer to the procedure To add
channel and device information to the driver.
3. Click OK. The driver and device information is added to the target application section of the
spreadsheet for the selected tags.
NOTE: The Driver Wizard does not automatically generate an I/O address for a tag with
Memory Types that have indirect addresses such as N7:[N100:3]. If you select one of these
tags to add to iFIX, the I/O Address contains an ***Error*** when the Driver Wizard

78
Implementing Alarms and Messages

completes. In the Spreadsheet, you can double-click the I/O Address field and manually enter
an I/O address before adding the tag to iFIX. Or, after adding the tag to iFIX, you can enter
an I/O address directly into Database Manager.

To add a channel and device to the ABR driver:

1. If the channel and/or device you want is not available, click the Run ABR Power Tool button.
The ABR Driver Power Tool Server Connection dialog box appears, allowing you to connect
to the driver.
IMPORTANT: Make sure you connect to the locally installed ABR driver. If you connect to a
remote driver, the changes you make to its configuration file will not display in the ABR
Driver - Device Selection page.

2. In the ABR Driver Power Tool, add the applicable channels and/or devices you require and
save your changes. For more information about adding channels and devices, refer to the
ABR Driver online help.
3. On the ABR Driver - Device Selection page, click the Refresh button to refresh the list of
channels and devices. Your changes now appear in the list.

IGS Driver

IGS Driver - Device Selection

The IGS Driver - Device Selection page of the Select Driver Wizard is where you can view the channel
and device configuration of the IGS driver. On this page you will find a system tree-like list of the
existing channels and devices that have been configured for the IGS driver. If you want to modify the
communication properties of any channel or device, you can launch the IGS Driver Power Tool to add
the necessary information.

IGS Server Name

Display only. Specifies the program ID name of the IGS driver.

IGS Server Description

Display only. Specifies the full name of the IGS Server.

iFIX IGS Client

Display only. Displays the current IGS driver configuration in tree view. You will see all configured
channels and devices. To modify any properties for existing channels or devices, use the Run IGS
Power Tool button.

NOTE: You cannot move selected tags to a different device, because the tags were already configured
in the IGS driver when you imported the .L5K file.

Run IGS Power Tool

Use this button to open the IGS Driver Power Tool to add or change the desired channel and/or device.

79
Discover and Auto Configure

Refresh

Use this button to refresh the channel and device list after modifying the IGS driver's configuration file
with the Power Tool.

Click OK to go to the Summary page if you are using the iFIX - All Wizards feature. If you are using
the Driver Wizard alone, click OK to update the currently selected items in the target application
section of the spreadsheet. Click Back to return to the Select Driver page.

Working with Channels and Devices for an IGS Driver

To add a channel and device to the IGS driver:

1. If the channel and/or device you want is not available, click the Run IGS Power Tool button.
The IGS Driver Power Tool Server Connection dialog box appears, allowing you to connect
to the driver.
IMPORTANT: Make sure you connect to the locally installed IGS driver. If you connect to a
remote driver, the changes you make to its configuration file do not display in the IGS Driver
- Device Selection page.

2. In the IGS Driver Power Tool, add or modify communication properties of the applicable
channels and/or devices you require and save your changes. For more information about
adding channels and devices, refer to the IGS Driver online help.
3. On the IGS Driver - Device Selection page, click the Refresh button to refresh the list of
channels and devices. Your changes now appear in the list.

Summary
The Summary page displays a summary of the selections you made on all of the wizards. This page is
displayed only when the iFIX - All Wizards is run. If you want to make any changes, you can choose
to click the Back button to return to a wizard, or click Finish and manually edit the spreadsheet. For
more information, refer to Modifying Tag Information in iFIX.

How Do I…

Modifying iFIX Columns in the Spreadsheet

To add an iFIX field as a column to the current project:

NOTE: The column settings that you modify using these steps do not change other existing
projects (.DAC files) or new projects. The modified settings apply only to the current project.

1. On the View menu, click Target Column Settings, and then select Current Project. The
Column Settings - Current Project dialog box appears.
2. Select the Available column that you want to display.
3. Optionally, if you want to give this column another name, enter a name in the Column Name edit box.

80
Implementing Alarms and Messages

4. Click the Add button. This moves the column name from the Available Columns list box to
the Display Columns list box. If you entered another name in the Column Name edit box, that
new name appears in the Display Columns list box, instead of the actual name.
NOTE: The order in which the columns appear in the Display Columns list box determines
the order of the columns in the spreadsheet.

3. Optionally, use the up and down arrows to move in the Display Columns list box to change
the column order.
4. Click OK.

To remove a column from the current project:

NOTE: The column settings that you modify using these steps do not change other existing
projects (.DAC files) or new projects. The modified settings apply only to the current project.

1. On the View menu, click Target Column Settings, and then select Current Project. The
Column Settings - Current Project dialog box appears.
2. In the Display Columns list box, select the column that you want to remove, and click the
Remove button. This moves the column name from the Display Columns list box to the
Available Columns list box.
IMPORTANT: The following columns can not be removed: Tag Name, Type, Driver, I/O
Address, H/W, and Signal Cond.

NOTE: The order in which the columns appear in the Display Columns list box determines
the order of the columns in the spreadsheet.

3. Click OK.

To rename a column in the current project:

NOTE: The column settings that you modify using these steps do not change other existing
projects (.DAC files) or new projects. The modified settings apply only to the current project.

1. On the View menu, click Target Column Settings, and then select Current Project. The
Column Settings - Current Project dialog box appears.
2. In the Display Columns list box, select the column that you want to rename.
3. Enter the new name in the Column Name edit box and then click in another field.
4. Click OK.

To change the default iFIX column settings for new projects:

1. On the View menu, click Target Column Settings, and then select Default Settings for
HMI/SCADA iFIX. The Column Settings - Default Project dialog box appears.
2. To remove a column, in the Display Columns list box, select the column that you want to
remove, and click the Remove button. This moves the column name from the Display
Columns list box to the Available Columns list box.
3. To add a column, in the Available Columns list box:
 Select the column that you want to display.

81
Discover and Auto Configure

 Optionally, if you want to give this column another name, enter a name in the
Column Name edit box.
 Click the Add button. This moves the column name from the Available Columns list
box to the Display Columns list box. If you entered another name in the Column
Name edit box, that new name appears in the Display Columns list box, instead of
the actual name.
NOTE: The order in which the columns appear in the Display Columns list box
determines the order of the columns in the spreadsheet.

4. Optionally, use the up and down arrows to move in the Display Columns list box to change
the column order.
5. Click OK.

IMPORTANT: Changes made to the Default Settings for Proficy HMI/SCADA - iFIX take affect for
new projects and only after a restart of the Discovery and Auto Configure utility.

Using the iFIXColumns.txt File to Modify iFIX Columns in the Spreadsheet


An alternative way to modify iFIX columns in the spreadsheet is by using the iFIXColumns.txt file.
This method is provided only for backwards compatibility.

NOTES:

 The recommended way to add or remove columns is through the user interface, using the
Target Column Settings command in the View menu. For steps, refer to the Modifying the
iFIX Columns in the Spreadsheet section.

 If you manually edit the iFixColumns.txt file and subsequently use the Target Column Settings
command in the View menu, the default settings in the iFixColumns.txt file are overwritten.
Any comment lines (lines that begin with a semicolon) are removed when the iFixColumns.txt
file is overwritten.

 For more information on the iFIX database fields, refer to the iFIX Database Reference e-
book, in the "Database Block Field Reference" section, and look for the fields in the section
for the individual block.

To add an iFIX field as a column using the iFIXColumns.txt file:

1. Open the iFIXColumns.txt file that is installed in the same location as the Discover and Auto
Configure application. By default, this location is C:\Program Files\Proficy\Discovery. The
default columns are listed, as well as information to help you use the file.
2. Add the DisplayName and Field for the column you want to add to the spreadsheet. For
example, to add the column Low EGU, enter the following in the iFIXColumns.txt file:
Low EGU, A_ELO

NOTE: The order in which the columns appear in this file determines the order of the
columns in the spreadsheet.

3. Save the iFIXColumns.txt file and open the Discover and Auto Configure application. The
new column displays on the target application side of the spreadsheet.

82
Implementing Alarms and Messages

NOTES:

• If there is an error in a row you added to the iFIXColumns.txt file, (for example, you
entered the Field information incorrectly) the row is ignored and the column is not
added to the spreadsheet.

• If the information you added to the iFIXColumns.txt file exceeds 100 characters in a
line, the information beyond the first 100 characters is ignored and is not added to
the spreadsheet.

• If the Discover and Auto Configure application is open when you make a change to
the iFIXColumns.txt file, you must exit and restart the application for the changes to
take effect.

• If you delete the iFixColumns.txt file, the application will regenerate the file with the
default columns.

To view the available iFIX columns outside of the DAC tool:

1. Open the iFIX Database Manager.


2. From the View menu, choose Properties. The Properties dialog box appears.
3. From the Available Columns list, select a column name. The Field Name field displays the
name of the iFIX field.
4. Make note of this information. It is required to add the column information to the
iFIXColumns.txt file.

To remove a column from the spreadsheet using the iFIXColumns.txt file:

1. Open the iFIXColumns.txt file that is installed in the same location as the Discover and Auto
Configure application. By default, this location is C:\Program Files\Proficy\Discovery. The
default columns and any other columns you may have added are listed, as well as information
to help you use the file.
2. To permanently remove a column from the spreadsheet, delete the column information.
3. To hide a column, insert a semi colon (;) at the beginning of the row for the column you want
to hide.
4. Save your changes and open the Discover and Auto Configure application. The column you
removed or hid is no longer displayed on the target application side of the spreadsheet.

Using the iFIXColumns.txt File to Modify iFIX Columns in the Spreadsheet


An alternative way to modify iFIX columns in the spreadsheet is by using the iFIXColumns.txt file.
This method is provided only for backwards compatibility.

NOTES:

 The recommended way to add or remove columns is through the user interface, using the
Target Column Settings command in the View menu. For steps, refer to the Modifying the
iFIX Columns in the Spreadsheet section.

 If you manually edit the iFixColumns.txt file and subsequently use the Target Column Settings

83
Discover and Auto Configure

command in the View menu, the default settings in the iFixColumns.txt file are overwritten.
Any comment lines (lines that begin with a semicolon) are removed when the iFixColumns.txt
file is overwritten.

 For more information on the iFIX database fields, refer to the iFIX Database Reference e-
book, in the "Database Block Field Reference" section, and look for the fields in the section
for the individual block.

To add an iFIX field as a column using the iFIXColumns.txt file:

1. Open the iFIXColumns.txt file that is installed in the same location as the Discover and Auto
Configure application. By default, this location is C:\Program Files\Proficy\Discovery. The
default columns are listed, as well as information to help you use the file.
2. Add the DisplayName and Field for the column you want to add to the spreadsheet. For
example, to add the column Low EGU, enter the following in the iFIXColumns.txt file:
Low EGU, A_ELO

NOTE: The order in which the columns appear in this file determines the order of the
columns in the spreadsheet.

3. Save the iFIXColumns.txt file and open the Discover and Auto Configure application. The
new column displays on the target application side of the spreadsheet.
NOTES:

• If there is an error in a row you added to the iFIXColumns.txt file, (for example, you
entered the Field information incorrectly) the row is ignored and the column is not
added to the spreadsheet.

• If the information you added to the iFIXColumns.txt file exceeds 100 characters in a
line, the information beyond the first 100 characters is ignored and is not added to
the spreadsheet.

• If the Discover and Auto Configure application is open when you make a change to
the iFIXColumns.txt file, you must exit and restart the application for the changes to
take effect.

• If you delete the iFixColumns.txt file, the application will regenerate the file with the
default columns.

To view the available iFIX columns outside of the DAC tool:

1. Open the iFIX Database Manager.


2. From the View menu, choose Properties. The Properties dialog box appears.
3. From the Available Columns list, select a column name. The Field Name field displays the
name of the iFIX field.
4. Make note of this information. It is required to add the column information to the
iFIXColumns.txt file.

84
Implementing Alarms and Messages

To remove a column from the spreadsheet using the iFIXColumns.txt file:

1. Open the iFIXColumns.txt file that is installed in the same location as the Discover and Auto
Configure application. By default, this location is C:\Program Files\Proficy\Discovery. The
default columns and any other columns you may have added are listed, as well as information
to help you use the file.
2. To permanently remove a column from the spreadsheet, delete the column information.
3. To hide a column, insert a semi colon (;) at the beginning of the row for the column you want
to hide.
4. Save your changes and open the Discover and Auto Configure application. The column you
removed or hid is no longer displayed on the target application side of the spreadsheet.

Adding Proficy Historian Fields as Columns


If you are using Proficy Historian with iFIX 5.0 and above, you can now add Proficy Historian
columns (HistTagDesc, Collect, and CollectionInterval) to your spreadsheet. To do this, use the Quick
Select button in the Column Settings dialog box.

The following table describes the Proficy Historian fields.

The field... Displays... Valid Entry

A_HIST_DESC The Proficy Historian description. String; maximum of 128


characters.

A_HIST_COLLECT Sets whether or not this block is Yes or No.


under collection.

A_HIST_INTERVAL The collection interval for this A float value, in milliseconds.


block. The value of this field must Values must be entered in
be greater than the value of the increments of 100. Minimum
A_HIST_OFFSET and value: 100 ms.
F_HIST_OFFSET fields.
Use the following formula to
determine if the entered value is
acceptable for this field.
A_HIST_INTERVAL >
A_HIST_OFFSET * 1000
NOTE: The values for the
A_HIST_OFFSET field is in
seconds.

NOTE: For more information on the Historian fields or other database fields, refer to the iFIX
Database Reference e-book, in the "Database Block Field Reference" section, and look for the field in
the section for the individual block.

85
Discover and Auto Configure

To add Proficy Historian fields as columns in your spreadsheet:

1. On the View menu, select Target Column Settings, and point to Current Project or Default
Settings for Proficy HMI/SCADA - iFIX. The Current Project applies to the currently open
project only. The Default Settings apply to any new projects you open the next time you
restart the DAC tool; changing the Default Settings does not change your currently open
project.
The Column Settings dialog box appears.
2. Click the Quick Select button and click the Select All Historian Fields option. The Historian
related fields (HistTagDesc, Collect, and CollectionInterval) appear in the Available Columns
list on the left of this dialog box.
3. To add these columns to your spreadsheet, while they are still selected, click the Add button.
The Historian fields now appear in the Display Columns field on the right side of this dialog
box.

4. Click OK to apply your changes.

Running iFIX - All Wizards

To run iFIX - All Wizards:

1. In the spreadsheet, select the tags you want to add to your database.

2. On the iFIX Wizards toolbar, click the iFIX - All Wizards button. The Tag Name
Generation Wizard appears.
3. Use each of the wizard dialog boxes, adding and selecting the applicable information to define
your tags.
4. Click the Next and Back, and OK buttons to move through each of the dialog boxes.
5. On the Summary page, click Finish. The tags are added to the target application section of the
spreadsheet.

Generating Tag Names

To generate tag names:

1. In the spreadsheet, select the tags you want to add to your database.

2. On the iFIX Wizards toolbar, click the Tag Name Generation Wizard button. The Tag
Name Generation Wizard appears.
3. If applicable, in the Tag Name Prefix field, enter a prefix for the names of the tags you are
adding to your database.
4. If applicable, in the Tag Name Suffix field, enter a suffix for the names of the tags you are
adding to your database.
5. Select the Use first 30 characters option or the Use last 30 characters option to limit the tag
name to either the first 30 characters or the last 30 characters, respectively.
6. If applicable, enter a character that will replace all invalid characters in a tag name when a
valid iFIX prefix and/or suffix is added. The default is an underscore ( _ ).

86
Implementing Alarms and Messages

7. If applicable, enter a character that will replace the first character in a tag name if it is not a
valid iFIX character. The default is the capital letter A.
8. If applicable, select the Copy the discovered Comment to the iFIX tag description check box
to copy the information stored in the tag's Comment field to the Description field in the target
application section of the spreadsheet.

NOTE: OPC servers do not store comments about OPC items; therefore, the OPC Discovery
Agent cannot browse comments from OPC Servers. However, the Fully Qualified ItemID is
stored and can be copied to the Description field in the iFIX section of the spreadsheet. If you
select this check box, but no Fully Qualified ItemID was found, the Description field remains
blank unless you enter a prefix. In this case, only the prefix displays in the Description field.

9. Click OK. The tags are added to the target application section of the spreadsheet.

Assigning Block Types and Scan Times

To assign block types:

1. In the spreadsheet, select the tags you want to add to your database.
2. If applicable, generate tag names.

3. On the iFIX Wizards toolbar, click the Block Types and Scan Times Wizard button. The
Block Types and Scan Times Wizard appears.
4. Select the Block Type check box.
5. From the Block Type list, select the type of block you want to assign to all the tags you are
adding to your database.

NOTE: iFIX must be installed and running to display a list of valid block types.

6. Click OK. In the HMI/SCADA section of the spreadsheet, the Type field for each of the
selected tags displays the selected block type.

NOTE: All of the selected tags are assigned the same block type. You can change the block
type for individual tags by double-clicking in the Type field and entering a new block type.

To assign scan times:

1. In the spreadsheet, select the tags you want to add to your database.
2. If applicable, generate tag names.

3. On the iFIX Wizards toolbar, click the Block Types and Scan Times Wizard button. The
Block Types and Scan Times Wizard appears.
4. Select the Scan Time check box. This check box is not available if you select an AO, AR,
DO, or DR block type.
If applicable, select the Process by Exception check box to assign exception-based processing
to the selected tags. The Scan Time field displays an E. If this check box is selected, the Scan
Time and Phase At fields are not available. Selecting this check box means that your
HMI/SCADA application will scan the tags using exception-based processing.

87
Discover and Auto Configure

6. If applicable, in the Scan Time field, enter a scan time to assign to the selected tags. The
HMI/SCADA application will scan the tags using time-based processing.
7. If applicable, in the Phase At field, enter a phase time to use in addition to the scan time.

NOTE: If you enter a phase time, all of the selected tags will be phased at the same time. You
can change the phase time for individual tags by double-clicking in the Scan Time field and
entering a new phase time.

Selecting a Driver

To select a driver:

1. In the spreadsheet, select the tags you want to add to your database.

2. On the iFIX Wizards toolbar, click the Driver Wizard button. The Select Driver page of
the Select Driver Wizard appears.
3. From the list of available drivers, select the driver you want.

NOTES:

• The available driver(s) depends on the Discovery Agent you are using.

• If the appropriate driver is not installed on the target application, an error message
is displayed. For information about this error message, refer to Troubleshooting the
Driver Wizard.

Adding Tags to iFIX


IMPORTANT: iFIX must be installed and running on your computer before you can run the Discover
and Auto Configure.

To add tags to iFIX:

1. Start iFIX if it is not already running.


2. Run the Discovery Agent Selection Wizard and extract tag information from the applicable
source. The tag information is displayed in the Discovery Agent section of the spreadsheet.
3. Select the tags you want to add to the database.
4. Run the iFIX - All Wizards, or use each of the wizards separately to generate tag names,
assign block types and scan times, and select a driver and device (or OPC server and group).
The tag information is displayed in the HMI/SCADA section of the spreadsheet.

NOTE: The Driver Wizard does not automatically generate an I/O address for a tag with a
data type such as VAT or None or a blank Fully Qualified ItemID. If you selected one of these
tags to add to iFIX, the I/O Address field remains blank when the Driver Wizard completes.
You can double-click the I/O Address field and manually enter an I/O address before or after
adding the tag to iFIX or you can enter an I/O address directly in Database Manager after
the tag has been added to iFIX.

5. Click the Add to iFIX button. The tag information is added to the Database Manager. If the

88
Implementing Alarms and Messages

tags are successfully added to the database, the Status column in the target application section
displays OK with a green background. You may need to use the horizontal scroll to view this
column. If the tags were not successfully added to the database, the Status column displays
Tag Creation Failed with a red background.

NOTES:

• A small red square in a cell indicates bad data; for example, the scan time is out of
range or the I/O address is invalid. Hover the mouse pointer over the red square to
display a pop up explanation for the bad data. If necessary, you can change the data
to valid values. For more information, see Modifying Tag Information in iFIX.

• iFIX does not allow duplicate tag names to exist in the database. If you attempt to
add a tag with a tag name that already exists in the database, a red square appears
in the cell with the message: "Name already exists in database as an alarm area or
tag."

6. After you successfully add your tags to the iFIX database, you can view them and work with
them in the Database Manager. For more information, refer to the section Working with the
Process Database in the iFIX online help.

NOTE: When you add tags to the iFIX Database Manager with the Discover and Auto
Configure, SAC (Scan, Alarm, and Control program in iFIX) is not automatically stopped and
restarted; therefore, the added tags remain OFF SCAN. You must save and reload the process
database or you can manually set the tags to ON SCAN as well as make any other necessary
changes to the individual tags.

Modifying Tag Information for iFIX


When you are working with a block of tags and add the tag information to the target section of the
spreadsheet, the tags display all the same information (for example, scan and phase times). You can
change the information for individual tags either before or after you add the tags to your database.

To modify tag information:

1. In the target application section of the spreadsheet, double-click the specific cell you want to
change. The cursor is positioned in the cell, and you can add, remove, or modify the tag
information for the individual tag.
2. Click the Modify in iFIX button. The changes you made are applied to the tag information in
the database.

Drivers
This section provides you with information about the drivers that the selected database tags can be
added to. Each driver is associated with a Discovery Agent and a target application that has its own
database in which to store its tags and their information.

NOTE: The driver must be added to the iFIX SCU (System Configuration Utility), in the Configured
I/O Drivers list before it can be configured to run in iFIX and be used with the Discover and Auto

89
Discover and Auto Configure

Configure. If iFIX is already running, you must shutdown and restart iFIX for the changes to take
effect.

The following are the drivers currently supported by each Discovery Agent, and the associated target
application:

OPC Discovery Agent

Driver Name Target Application

OPC Client 7.3x


Proficy HMI/SCADA - iFIX

Siemens S7 Discovery Agent

Driver Name Target Application

GE Intelligent Platforms SI7 version 7.2x


Proficy HMI/SCADA - iFIX

InCoSol S7A version 7.2x


Proficy HMI/SCADA - iFIX

Allen-Bradley PLC-5/SLC 500/MicroLogix Families Discovery Agent

Driver Name Target Application

GE Intelligent Platforms ABR version 7.2x


Proficy HMI/SCADA - iFIX

IGS - Industrial Gateway Server Discovery Agent

Driver Name Target Application

GE Intelligent Platforms IGS version 7.41 and


7.51 or greater Proficy HMI/SCADA - iFIX

90
Implementing Alarms and Messages

GE Intelligent Platforms OPC Client Driver


The OPC Client driver is a GE Intelligent Platforms version 7.x I/O driver. It provides the interface
and communications protocol between OPC servers and your process control software.

For detailed information, refer to the OPC Client online help.

GE Intelligent Platforms SI7 Driver


The SI7 driver is a GE Intelligent Platforms version 7.x I/O driver. It provides the interface and
communications protocol between Siemens Simatic hardware and your process control software.

The SI7 driver supports datablock numbers up to 8191. If you add more than 8191 datablocks to the
target database for the SI7 driver, the database will fail the I/O addresses that exceed this number.

For detailed information, refer to the SI7 online help.

GE Intelligent Platforms ABR Driver


The ABR driver is a GE Intelligent Platforms version 7.2x I/O driver. It provides the interface and
communications protocol between Allen-Bradley hardware and your process control software.

For detailed information, including information on supported data types and memory/file type
information, refer to the Supported File Types topic and the ABR documentation.

GE Intelligent Platforms IGS Driver


The IGS driver is a GE Intelligent Platforms version 7.41 and 7.51 or greater, I/O driver. It provides
the interface and communications protocol between the Allen-Bradley ControlLogix hardware and
your process control software.

For detailed information on the driver, refer to the IGS online help.

InCoSol S7A Driver


The S7A driver is a GE Intelligent Platforms version 7.x I/O driver developed by Industrial
Communications Solution. It provides the interface and communications protocol between Siemens S7
- 300/400 PLC systems and your process control software.

The S7A driver supports datablock numbers up to 4095. If you add more than 4095 datablocks to the
target database for the S7A driver, the database will fail the I/O addresses that exceed this number.

For detailed information, refer to the S7A online help.

91
Discover and Auto Configure

Troubleshooting
This section provides information for troubleshooting problems that you may encounter when you are
using the Discover and Auto Configure.

• Troubleshooting the Discovery Agent Selection Wizard


• Troubleshooting the Driver Wizard
• Troubleshooting Digital Certificate Errors

Troubleshooting the Discovery Agent Selection Wizard

Discovery Agent and Target Application Issues


If the appropriate Discovery Agent and/or target application are not installed or properly registered,
warning messages display, instructing you to install either the appropriate Discovery Agent or target
application, or both.

Possible reasons for the Discovery Agent or target application not being installed or not registered are:

• The Discovery Agent's or target application's .dll files were manually unregistered.
• The Discovery Agent(s) files (.dll's) were deleted.
• Another application that the Discover and Auto Configure is dependent on, such as iFIX,
AGLINK (for Siemens), or OPC Proxies, was deleted or uninstalled or unregistered.

Possible reasons for loading errors for the Discovery Agent or target application are:

• The target application or Discovery Agent was registered properly, but is no longer found on
the system (deleted or uninstalled), or was moved.
• The Target or Discover Agent .dll file is there, but another component is missing, such as
iFIX, the AGLink .dll.
• You may not have the correct version of the Discovery Agent or Target .dll. For example, you
install version 2.0 of the Discover and Auto Configure over version 1.0 (that is, without
uninstalling version 1.0). If a file is locked or the tool is running, not all files are overwritten.
In this case, some files will be from version 1.0 and some from version 2.0. In this case, a
"Loading" error displays.

Problem #1: No target applications are found

If no target applications are registered, the following message displays when you click Next on the
Discovery Agent Selection Wizard Welcome page:

"There were no Target Applications found. Please install the Target Application that you want to use
and restart this tool."

92
Implementing Alarms and Messages

Solution

The Discover and Auto Configure application shuts down and you must install or reinstall the target
application, or reregister the target .dll.

Problem #2: No Discovery Agents are found

If no Discovery Agents are registered, the following message displays when you click Next on the
Discovery Agent Selection Wizard Welcome page:

"There were no Discovery Agents found. Please install the Discovery Agent that you want to use and
restart this tool."

Solution

The Discover and Auto Configure application shuts down and you must install or reinstall the
application, or register the Discovery Agent .dll.

Problem #3: No target applications or Discovery Agents are found

If neither a target application nor Discovery Agent(s) are registered, the following message displays
when you click Next on the Discovery Agent Selection Wizard Welcome page:

"There were no Discovery Agents or Target Applications found. Please install the Discovery Agent and
Target Applications that you want to use and restart this tool."

Solution

The Discover and Auto Configure application shuts down and you must install or reinstall the
applications, or register the target application and Discovery Agent .dlls.

Problem # 4: The target application doesn't load

If the target application does not load, the following message displays when you click Next on the
Discovery Agent Selection Wizard Welcome page:

"Could not load Target: 'TARGETNAME'. Please install the Target Application that you want to use
and restart this tool."

Solution

The Discover and Auto Configure application shuts down and you must install or reinstall the target
application.

Problem #5: The Discovery Agent doesn't load

If the Discovery Agent doesn't load, the following message displays when you click Next on the
Discovery Agent Selection Wizard Welcome page:

"Could not load Discovery Agent. Please install the Discovery Agent that you want to use and restart
this tool."

93
Discover and Auto Configure

Solution

The Discover and Auto Configure application shuts down and you must install or reinstall the
application.

Remote OPC Server Running as a Service

Problem #1: Remote OPC Server running as a service does not display correct
configuration

Some OPC servers should be run as a service when you connect to them remotely. When you are
connecting to one of these remote OPC servers, the Discover and Auto Configure populates the system
tree with the item information extracted from the OPC server. However, the configuration displayed is
not what is known to be used on the remote OPC server.

Solution

The DCOM identity of the OPC server may require modification. Refer to your specific OPC server's
documentation for remote DCOM configuration settings.

Browsing for OPC Servers

Problem #1: OPC Server browse fails

If no servers were found on the machine, the message "No servers were found on the machine"
displays. You must then verify that either the correct machine name/TCP/IP address was entered if you
are browsing remote OPC servers, or that the OPC server(s) are correctly installed on the given
machine.

If one or more browse methods fail, a message box displays indicating the methods used and which
ones succeeded or failed. It also displays an error message indicating the reason for failure, as returned
by the system. Any server(s) found are listed. You can select a server from the list or remedy the
reason for the failure and rerun the search. For more information about browse methods, refer to
Discovery Agent Selection Wizard - Select an OPC Data Access Server.

Solution

One possible remedy is modifying your DCOM settings, even if your OPC server is running locally.
For more information about DCOM settings, refer to Setting Up DCOM for Discovery of Remote OPC
Servers.

Accessing Remote OPC Servers

Problem #1: Connection to remote OPC server fails

After selecting a remote OPC server, the following message displays:

Tagview - ! Connection to server failed: ProgID=<OPC Server name>: (ox80070005)

Where <OPC Server name> is the name of the remote OPC Server you are attempting to connect to.

94
Implementing Alarms and Messages

Solutions

• Check your DCOM configuration settings.

• Some OPC Servers require that the user (or a group containing that user) that is logged into
the local machine and attempting to connect to the remote OPC server machine, be added to
the Default Access Permission list in the remote machine's DCOM configuration.

For more information, refer to Setting Up DCOM for Discovery of Remote OPC Servers.

Troubleshooting the Driver Wizard

Problem #1: Driver is not installed

If the appropriate driver(s) for the Discovery Agent and target application are not installed on the target
application, an error message displays, instructing you to install the driver.

Solution(s)

• If you are running the Driver Wizard as a stand-alone dialog box, close the error message to
close the Driver Wizard. You can continue using the selections made on the other wizards,
however, the driver related fields are not filled in on the spreadsheet.

• If you are running the iFIX - All Wizards and you close the error message, the Driver Wizard
closes, but the Summary page appears. Click Finish to fill in all but the driver related fields on
the spreadsheet. If you click the Back button on the Summary page, the Driver Wizard
reappears, checks for the driver again and displays the error message again if you have not yet
installed the driver. Close the error message again to display the Block Type and Scan Time
Wizard.

• To select a driver from the Select Driver page, the driver must be installed on the same
computer as Proficy iFIX and added to the iFIX SCU's Configured I/O Drivers list. The driver
must be on the list of supported drivers for the Discovery Agent and target application. For
more information, see Supported Software.

• After the driver is installed, the Auto-Create option on the driver's Power Tool must be set to
ON. When you change the Auto-Create option, you must restart the driver and iFIX for the
change to take effect.

For more information about installing the driver and adding it to the SCU, and about the Auto-
Create option for the driver, refer to the specific I/O driver online help.

Problem #2: Driver configuration does not display

When the Device Selection page of the Driver Wizard opens for your selected driver, the configuration
information defined in the default configuration file for the locally installed driver displays. You can
open the driver's Power Tool from this wizard page to make additions or changes to the driver
configuration. However, only changes made to the configuration file for the local driver are displayed.
If you connect to a driver installed on a remote machine and make changes to its configuration, those
changes are not visible on the Device Selection page.

95
Discover and Auto Configure

Solution

When you click the Run <Driver Name> Power Tool button on the Device Selection page, the I/O
Driver Server Connection dialog box opens. Make sure that you select the Use Local <Driver Name>
option to connect to the driver installed on the local machine.

Troubleshooting Digital Certificate Errors


All digital certificates for the Discover and Auto Configure are signed with the “GE Intelligent
Platforms” Certificate. The same certificate that iFIX 4.5 uses for its executable (*.exe and *.dll) files.
This is important to know for users running on the Microsoft® Windows® Vista ™ operating or
Windows Server 2008 system.

If you receive an error (or pop-up message) related to an unsigned digital certificate, the certificate
may be related to third-party components. For instance, errors related to AGLink *.dll files are related
to third-party API or .dll files. Consult the Help from your driver vendor for more information.

96
Index
. D

.CVS .................................................................. 39, 45 DCOM settings .................................................. 26, 92

export ................................................................... 45 Device Selection ................................................ 72, 75

view on non-English computer ............................ 45 devices ............................................................... 76, 77

.DAC file ................................................................. 42 select for an S7A driver ....................................... 76

opening ................................................................ 44 select for an SI7 driver ......................................... 77

saving ................................................................... 44 Discovery Agent Selection Wizard.......................... 46

A rerunning........................................................ 51, 54

All iFIX Wizards ............................. 67, 70, 72, 75, 80 select a local or remote machine .......................... 48

running ................................................................. 86 select a Siemens S7P project ............................... 53

Auto Create Option ....................................................7 select an OPC server ............................................ 49

B selecting ............................................................... 47

block types ......................................................... 70, 87 summary .............................................................. 63

assigning .............................................................. 87 Welcome .............................................................. 47

wizard .................................................................. 70 Discovery Agents ........................................ 45, 47, 52

C OPC ..................................................................... 47

channels and devices ............................................... 77 select .................................................................... 47

adding to S7A driver............................................ 77 Siemens S7 .......................................................... 52

adding to SI7 driver ............................................. 77 Discovery and Auto Assembly Component


Application .......................................................... 33
select S7A ............................................................ 76
filter ..................................................................... 37
select SI7 ............................................................. 77
find....................................................................... 37
columns in spreadsheet ...................................... 82, 83
number of rows .................................................... 38
add ................................................................. 82, 84
selected rows........................................................ 38
remove or hide ............................................... 83, 85
sort ....................................................................... 37

97
Discover and Auto Configure

spreadsheet .............................................. 35, 36, 37 groups ................................................................ 73, 75

Driver Wizard .................................................... 72, 75 adding .................................................................. 75

add channel and device to S7A driver ................. 77 modifying ............................................................ 75

add channel and device to SI7 driver ................... 77 selecting ............................................................... 74

add OPC group .................................................... 75 H

add or change server ............................................ 74 hardware .................................................................. 12

modify OPC group ............................................... 75 HMI/SCADA Applications ..................................... 64

selecting ............................................. 74, 76, 77, 88 Proficy HMI/SCADA iFIX.................................. 64

troubleshooting .................................................... 95 I

view OPC driver server properties....................... 74 iFIX fields as columns ....................................... 82, 83

drivers ................................................................ 89, 91 Industrial Communications Solution ....... 7, 11, 52, 91

GE Intelligent Platforms OPC Client................... 91 M

GE Intelligent Platforms SI7 ............................... 91 menus....................................................................... 38

InCoSol S7A ........................................................ 91 modifying tag information for iFIX ......................... 89

selecting ............................................................... 88 O

E OPC Client Driver ................................... 7, 11, 72, 91

exporting a .CSV file ............................................... 45 OPC Groups............................................................. 73

extracting item information ..................................... 50 adding .................................................................. 75

extracting tag information........................................ 53 modifying ............................................................ 75

F OPC items ................................................................ 50

filter tags ............................................................ 37, 42 OPC Servers ........................................................ 7, 19

find tags ............................................................. 37, 42 opening a .DAC file ................................................. 44

firewall settings ....................................................... 21 P

G PLC programming software ......................................7

GE Intelligent Platforms OPC Client................. 11, 91 Proficy HMI/SCADA iFIX...................................... 64

GE Intelligent Platforms SI7 ............................. 11, 91 tag naming conventions ....................................... 69

GE Intelligent Platforms Software ........................... 11 view iFIX fields to add as spreadsheet


columns...................................................... 83, 84
generating tag names ............................................... 86

98
Discover and Auto Configure

R supported tag types .................................................. 19

rerunning the Discovery Agent .......................... 51, 54 system tree ............................................................... 34

right-click .......................................................... 41, 66 T

running the All iFIX Wizard.................................... 86 tag types ................................................................... 19

S tags............................................. 43, 53, 86, 87, 88, 89

S7A Driver..................................................... 7, 11, 91 adding to iFIX ...................................................... 88

saving a .DAC file ................................................... 44 assigning block types ........................................... 87

scan time .................................................................. 87 assigning scan times ............................................ 87

selecting a channel and device ................................. 76 extracting from a project file ............................... 53

selecting a driver ...................................................... 88 extracting from an OPC server ............................ 50

selecting a server and group .................................... 74 filtering ................................................................ 42

servers ...................................................................... 74 finding.................................................................. 42

adding .................................................................. 74 generating names ................................................. 86

modifying ............................................................ 74 iFIX naming conventions .................................... 69

SI7 Driver ...................................................... 7, 11, 91 modifying information ......................................... 89

Siemens S7 Discovery Agent .................................. 52 selecting to add to database ................................. 43

Siemens S7-300 ....................................................... 12 sorting .................................................................. 42

Siemens S7-400 ....................................................... 12 target applications .................................................... 64

software ................................................................... 11 iFIX...................................................................... 64

sort tags .............................................................. 37, 42 toolbars .............................................................. 38, 65

spreadsheet .............................................................. 35 iFIX Wizards ....................................................... 66

add iFIX columns .......................................... 82, 83 standard................................................................ 38

Summary.................................................................. 80 troubleshooting .................................................. 92, 95

supported drivers ..................................................... 11 Discovery Agent Selection Wizard...................... 92

supported hardware.................................................. 12 Driver Wizard ...................................................... 95

supported iFIX block types ...................................... 19 V

supported OPC Data Access Specifications ............ 19 view OPC driver server properties........................... 74

supported software ................................................... 11

99
Discover and Auto Configure

W Discovery Agent Selection .................................. 46

Windows XP or Vista firewall settings.................... 21 Driver ................................................................... 72

wizards ................................................... 47, 67, 70, 72 Tag Name and Description .................................. 67

All iFIX ............................................................... 67 working with the spreadsheet .................................. 42

Block Type and Scan Time.................................. 70

100
Proficy* HMI/SCADA - iFIX
DRIVER SERVER

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

Disclaimer of Warranties and Liability

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

Notice

©2010 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 ............................................................................................................................... 9

Methods ............................................................................................................................................ 9

AddChannel Method ..................................................................................................................... 9

Syntax ....................................................................................................................................... 9

Remarks ................................................................................................................................. 10

AddDatablock Method ................................................................................................................ 10

Syntax ..................................................................................................................................... 10

Remarks ................................................................................................................................. 10

Add Device Method .................................................................................................................... 11

Syntax ..................................................................................................................................... 11

Remarks ................................................................................................................................. 11

CopyDevice Method ................................................................................................................... 11

Syntax ..................................................................................................................................... 11

Settings ................................................................................................................................... 12

DebugMessage Method ............................................................................................................. 13

Syntax ..................................................................................................................................... 13

ErrorMessage Method ................................................................................................................ 13

Syntax ..................................................................................................................................... 13

FileNew Method .......................................................................................................................... 14

Syntax ..................................................................................................................................... 14

FileOpen Method ........................................................................................................................ 14

Syntax ..................................................................................................................................... 14

Remarks ................................................................................................................................. 15

FileSave Method ......................................................................................................................... 15

Syntax ..................................................................................................................................... 15

FileSaveAs Method .................................................................................................................... 15

iii
Driver Server Help

Syntax ..................................................................................................................................... 15

Remarks ................................................................................................................................. 16

GetChannels Method .................................................................................................................. 16

Syntax ..................................................................................................................................... 16

Remarks ................................................................................................................................. 17

GetDataBlocks Method ............................................................................................................... 17

Syntax ..................................................................................................................................... 17

Remarks ................................................................................................................................. 17

GetDevices Method .................................................................................................................... 18

Syntax ..................................................................................................................................... 18

Remarks ................................................................................................................................. 18

GetNameSpace Method ............................................................................................................. 18

Syntax ..................................................................................................................................... 18

Settings ................................................................................................................................... 19

GetProperties Method ................................................................................................................ 19

Syntax ..................................................................................................................................... 19

Settings ................................................................................................................................... 20

Remarks ................................................................................................................................. 20

GetPropertyData Method ............................................................................................................ 21

Syntax ..................................................................................................................................... 21

Remarks ................................................................................................................................. 21

InfoMessage Method .................................................................................................................. 21

Syntax ..................................................................................................................................... 21

IsBrowseSupported Method ....................................................................................................... 22

Syntax ..................................................................................................................................... 22

Settings ................................................................................................................................... 22

Poll Method ................................................................................................................................. 23

Syntax ..................................................................................................................................... 23

iv
Driver Server Help

Remarks ................................................................................................................................. 23

Quit Method ................................................................................................................................ 23

Syntax ..................................................................................................................................... 24

Remarks ................................................................................................................................. 24

ReadData Method....................................................................................................................... 24

Syntax ..................................................................................................................................... 24

Settings ................................................................................................................................... 25

Remarks ................................................................................................................................. 27

RemoveChannel Method ............................................................................................................ 27

Syntax ..................................................................................................................................... 28

RemoveDataBlock Method ......................................................................................................... 28

Syntax ..................................................................................................................................... 28

RemoveDevice Method .............................................................................................................. 29

Syntax ..................................................................................................................................... 29

SetPropertyData Method ............................................................................................................ 29

Syntax ..................................................................................................................................... 29

Remarks ................................................................................................................................. 30

Start Method ............................................................................................................................... 30

Syntax ..................................................................................................................................... 30

Stop Method ............................................................................................................................... 31

Syntax ..................................................................................................................................... 31

Switch Method ............................................................................................................................ 31

Syntax ..................................................................................................................................... 31

WarnMessage Method ............................................................................................................... 32

Syntax ..................................................................................................................................... 32

WriteData Method ....................................................................................................................... 32

Syntax ..................................................................................................................................... 32

Settings ................................................................................................................................... 33

v
Driver Server Help

Remarks ................................................................................................................................. 35

Properties ....................................................................................................................................... 35

Application Property ................................................................................................................... 35

Syntax ..................................................................................................................................... 35

ConfigFileName Property ........................................................................................................... 35

Syntax ..................................................................................................................................... 35

ConfigFilePath Property ............................................................................................................. 36

Syntax ..................................................................................................................................... 36

DefaultConfigFileName Property ................................................................................................ 36

Syntax ..................................................................................................................................... 36

DefaultConfigFilePath Property .................................................................................................. 37

Syntax ..................................................................................................................................... 37

FileSaved Property ..................................................................................................................... 37

Syntax ..................................................................................................................................... 37

FullConfigFileName Property ..................................................................................................... 38

Syntax ..................................................................................................................................... 38

FullDefaultConfigFileName Property .......................................................................................... 38

Syntax ..................................................................................................................................... 38

FullName Property ...................................................................................................................... 39

Syntax ..................................................................................................................................... 39

Name Property............................................................................................................................ 39

Syntax ..................................................................................................................................... 39

Path Property .............................................................................................................................. 40

Syntax ..................................................................................................................................... 40

Running Property ........................................................................................................................ 40

Syntax ..................................................................................................................................... 40

Visible Property........................................................................................................................... 41

Syntax ..................................................................................................................................... 41

vi
Driver Server Help

Settings ................................................................................................................................... 41

Obtaining an Interface Pointer to the Server Object....................................................................... 42

Early Binding – at design time .................................................................................................... 42

Example ...................................................................................................................................... 42

Late Binding – during run-time ................................................................................................... 42

OPC Client Only ............................................................................................................................. 42

IBrowseOPCServer Interface ..................................................................................................... 42

IDriver Message.......................................................................................................................... 43

Sample Application ..................................................................................................................... 43

Index ............................................................................................................................................... 45

vii
Driver Server Help

viii
About this Guide
The OSDK Type Library Reference is intended for programmers who are proficient in the Microsoft®
Visual Basic® programming language.

The following sections provide more details on how to use the methods and properties associated with
the OSDK Type Library.

 Method Summary
 Property Summary
 Obtaining an Interface Pointer to the Server Object
 OPC Client Only

Methods

AddChannel Method
Adds a channel object to the server configuration, optionally setting channel properties.

Syntax
Handle = object.AddChannel Properties PropertyData Errors

The AddChannel method syntax has these parts:

Part Description

Handle A long integer value specifying the channel object handle assigned by the
server.

An object expression that evaluates to the Driver object.


object

Properties A string array specifying channel properties to set.

PropertyData An array specifying corresponding channel property data.

9
Driver Server Help

Part Description

Errors A returned array specifying corresponding property setting errors.

Remarks
Any channel properties not specified will be set to a default value.

AddDatablock Method
Adds a datablock to the specified device's configuration, optionally setting datablock properties.

Syntax
Handle = object.AddDataBlock DeviceHandle Properties PropertyData Errors

The AddDataBlock method syntax has these parts:

Part Description

Handle A long integer value specifying the channel object handle assigned by the
server.

An object expression that evaluates to the Driver object.


object

DeviceHandle A long integer expression specifying the handle of the device of which to add
the device.

Properties A string array specifying channel properties to set.

PropertyData An array specifying corresponding channel property data.

Errors A returned array specifying corresponding property setting errors.

Remarks
Any datablock properties not specified will be set to a default value.

10
Driver Server Help

Add Device Method


Returns the path specification for the application's executable file. Read only.

Syntax
Handle = object.AddDevice ChannelHandle Properties PropertyData Errors

The AddDevice method syntax has these parts:

Part Description

Handle A long integer value specifying the channel object handle assigned by the
server.

An object expression that evaluates to the Driver object.


object

ChannelHandle A long integer expression specifying the handle of the channel to which to
add the device.

Properties A string array specifying channel properties to set.

PropertyData An array specifying corresponding channel property data.

Errors A returned array specifying corresponding property setting errors.

Remarks
Any device properties not specified will be set to a default value.

CopyDevice Method
Copies or moves the specified device to the specified channel's configuration.

Syntax
Error=object.CopyDevice DeviceHandle, bstrName, ChannelHandle bMove

The CopyDevice method syntax has these parts:

11
Driver Server Help

Part Description

Error A long integer value specifying success or failure.

An object expression that evaluates to the Driver object.


object

DeviceHandle A long integer expression specifying the handle of the device to copy or
move.

bstrName A string expression that specifies the name of the device to copy or move.

ChannelHandle A long integer value specifying the handle of the channel to add the device
to.

bMove A boolean expression specifying whether the device should be moved.

Settings
The settings for bMove are:

Setting Description

If the device is to be moved.


True

If the Device is to be copied.


False

The settings for Error are:

Setting Description

0 The device was copied or moved.

12
Driver Server Help

1 The device was not copied or moved; the method failed.

DebugMessage Method
Sends a debug message to the I/O Server event window.

Syntax
object.DebugMessage Message

The DebugMessage method syntax has these parts:

Part Description

object An object expression that evaluates to the Driver object.

Message A string expression that specifies the text you want to display in the I/O
Server event window as a debug message.

ErrorMessage Method
Sends an error message to the I/O Server event window.

Syntax
object.ErrorMessage Message

The ErrorMessage method syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

13
Driver Server Help

Part Description

A string expression that specifies the text you want to display in the I/O
Message Server event window as an error message.

FileNew Method
Creates an empty configuration.

Syntax
object.FileNew

The FileNew method syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

FileOpen Method
Opens and loads the specified configuration file.

Syntax
object.FileOpen [= string]

The FileOpen method syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

14
Driver Server Help

Part Description

A string expression that specifies a configuration file name.


string

Remarks
If the specified file does not exist, a new configuration file is created with the specified file name. If an
existing .csv file is specified, the file is imported.

FileSave Method
Saves changes to the file specified in the FullConfigFileName property.

Syntax
object.FileSave

The FileSave method syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

FileSaveAs Method
Saves changes to the specified file.

Syntax
object.FileSaveAs [= string]

The FileSaveAs method syntax has these parts:

15
Driver Server Help

Part Description

An object expression that evaluates to the Driver object.


object

A string expression that specifies a configuration file name.


string

Remarks
A configuration file specified with the I/O Driver’s acronym as the extension will be saved as a
reloadable binary file, a “.csv” extension will be saved as a comma separated value text file, and a
“.txt” extension will result in the server window’s log being written to a text file.

GetChannels Method
Returns all configured channels as handles and names.

Syntax
NumChannels = object.GetChannels ChannelHandles ChannelNames

The GetChannels method syntax has these parts:

Part Description

A long integer expression specifying the number of channels returned


NumChannels

An object expression that evaluates to the Driver object.


object

A long integer array specifying the returned channel handles.


ChannelHandles

A string array specifying the returned channel names


ChannelNames

16
Driver Server Help

Remarks
The handles and names retrieved with this method can be used in an application to populate a tree
view. The handles are used in methods such as SetProperyData and GetPropertyData.

GetDataBlocks Method
Returns all configured datablocks on the specified device as handles and names.

Syntax
NumDataBlocks = object.GetDataBlocks DeviceHandle DataBlockHandles DataBlockNames

The GetDataBlocks method syntax has these parts:

Part Description

A long integer expression specifying the number of datablocks returned.


NumDataBlocks

An object expression that evaluates to the Driver object.


object

A long integer expression specifying the handle of the device from which
DeviceHandle to retrieve the datablocks.

A long integer array specifying the returned datablock handles.


DataBlockHandles

A string array specifying the returned datablock names.


DataBlockNames

Remarks
The handles and names retrieved with this method can be used in an application to populate a tree
view. The handles are used in methods such as SetProperyData and GetPropertyData.

17
Driver Server Help

GetDevices Method
Returns all configured devices on the specified channel as handles and names.

Syntax
NumDevices = object.GetDevices ChannelHandle DeviceHandles DeviceNames

The GetDevices method syntax has these parts:

Part Description

A long integer expression specifying the number of devices returned.


NumDevices

An object expression that evaluates to the Driver object.


object

A long integer expression specifying the handle of the channel from which
ChannelHandle to retrieve the devices.

A long integer array specifying the returned device handles.


DeviceHandles

A string array specifying the returned device names.


DeviceNames

Remarks
The handles and names retrieved with this method can be used in an application to populate a tree
view. The handles are used in methods such as SetProperyData and GetPropertyData.

GetNameSpace Method
Returns the namespace type for the OPC server. Namespaces can be hierarchical or flat. The OPC
Client Tree Browser is an example of a hierarchical namespace; it has three levels off the root, server,
group, and item. A flat namespace is one that has only one level off the root.

Syntax
NameSpace = object.GetNameSpace(lChannelHandle)

18
Driver Server Help

The GetNameSpace method syntax has these parts:

Part Description

NameSpace An integer value that evaluates to a namespace.

An object expression that evaluates to the Driver object.


object

IChannelHandle A long integer expression specifying the handle of the OPC server from
which to retrieve the namespace.

Settings
The settings for NameSpace are:

Setting Description

0 Hierarchical namespace

1 Flat namespace

GetProperties Method
Returns all properties for the specified type of object.

Syntax
NumProperties = object.GetProperties ObjectType Properties

The GetProperties method syntax has these parts:

19
Driver Server Help

Part Description

NumProperties A long integer expression specifying the number of properties returned in


the Properties array.

An object expression that evaluates to the Driver object.


object

ObjectType An integer expression specifying the type of object (channel, device or


datablock) to return properties for.

Properties A string array specifying the returned properties.

Settings
The settings for ObjectType are:

Setting Description

1 Driver object

Channel object
2

3 Device object

4 DataBlock object

Remarks
This method allows an OLE Automation controller to retrieve all exposed properties for each server object.
These property strings are used as properties in methods such as SetProperyData and GetPropertyData.

20
Driver Server Help

GetPropertyData Method
Returns data for each specified property on the specified object.

Syntax
Errors = object.GetPropertyData ObjectHandle Properties PropertyData

The GetPropertyData method syntax has these parts:

Part Description

Errors A returned array specifying corresponding property retrieving errors.

An object expression that evaluates to the Driver object.


object

ObjectHandle A long integer expression specifying the handle of the object (channel,
device or datablock) to return property data for.

Properties An string array specifying device properties to return.

PropertyData An array specifying corresponding device property data.

Remarks
When retrieving data for a single property, the property string may be specified as a string instead of a
one-dimensional array. In this case, PropertyData will be returned as a single VARIANT and not an
array.

InfoMessage Method
Sends an information message to the I/O Server event window.

Syntax
object.InfoMessage Message

21
Driver Server Help

The InfoMessage method syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

Message A string expression that specifies the text you want to display in the I/O
Server event window as an information message.

IsBrowseSupported Method
Returns if the OPC server supports browsing.

Syntax
Browsable = object.IsBrowseSupported(lChannelHandle)

The IsBrowseSupported method syntax has these parts:

Part Description

An integer value that indicates whether the OPC server supports browsing.
Browsable

object An object expression that evaluates to the Driver object.

IChannelHandle A long integer value that evaluates to the handle of the OPC server you
want to browse.

Settings
The settings for Browsable are:

22
Driver Server Help

Setting Description

0 The server does not support browsing.

1 The server supports browsing.

Poll Method
Polls all datablocks on the specified channel, device or datablock object.

Syntax
object.Poll ObjectHandle

The Poll method syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

ObjectHandle A long integer value specifying a server object handle received from
server methods such as AddChannel() or GetDevices().

Remarks
The Poll method can be used to demand poll datablocks on the server by configuring the datablocks
with a disabled poll time and calling Poll() with the appropriate datablock handle.

Quit Method
Shuts down the server.

23
Driver Server Help

Syntax
object.Quit

The Quit method syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

Remarks
The Quit method can be used to explicitly issue a shutdown request to the server. If the server is
connected to a FIX client or clients, this method will return an error.

ReadData Method
Returns the polled data for the specified datablock.

Syntax
Data = object.ReadData DataBlockHandle RequestedDataType ItemOffset SubItemOffset Count
SignalConditioning HighEgu LoEgu TimeStamp Quality

The ReadData method syntax has these parts:

Part Description

An array or expression specifying the datablock’s polled data.


Data

An object expression that evaluates to the Driver object.


object

DataBlockHandle A long integer expression specifying the handle of the datablock


from which to retrieve polled data.

24
Driver Server Help

Part Description

RequestedDataType An integer expression specifying the returned data’s data type.

ItemOffset A long integer expression specifying the offset of the desired data
from the start of the datablock.

SubItemOffset An integer expression specifying the offset of the desired data from
the start of the data item.

Count A long integer expression specifying the number of consecutive data


items to return.

SignalConditioning An integer expression specifying the signal conditioning to apply to


the returned data.

HighEgu A single expression specifying the high Engineering Units value to


be used for signal conditioning.

LoEgu A single expression specifying the low Engineering Units value to be


used for signal conditioning.

TimeStamp An array or expression specifying the returned timestamp of the data.

Quality An array or expression specifying the returned quality of the data.

Settings
The settings for RequestedDataType are:

25
Driver Server Help

Setting Description

1 Not specified (VT_EMPTY)

2 2-byte signed integer (VT_I2)

3 4-byte signed integer (VT_I4)

4 4-byte real (VT_R4)

5 8-byte real (VT_R8)

The settings for SignalConditioning are:

Setting Description

0 None (No Signal Conditioning)

1 12BN (12 Bit Binary with No Alarming)

2 12AL (12 Bit Binary with Alarming)

3 15BN (15 Bit Binary with No Alarming)

4 15AL (15 Bit Binary with Alarming)

26
Driver Server Help

Setting Description

5 LIN (Linear Signal Conditioning)

6 3BCD (3 Digit Binary Coded Decimal)

7 4BCD (4 Digit Binary Coded Decimal)

8 13BN (13 Bit Binary with No Alarming)

9 13AL (13 Bit Binary with Alarming)

10 8BN (8 Bit Binary with No Alarming)

11 8AL (8 Bit Binary with Alarming)

Remarks
The RequestedDataType settings are of type VARTYPE (an enumeration type used in VARIANT,
TYPEDESC, OLE property sets, and safe arrays) and represent the minimum supported for this server.
See your I/O Server documentation for more details regarding this setting.

The SignalConditioning settings represent the minimum supported for this server. See your I/O Server
documentation for more details regarding this setting.

The TimeStamp part is returned as a Time value. The Quality part is returned as an integer representing
OLE for Process Control (OPC) Quality flags. Please reference the OLE for Process Control Version
1.0 Specification for more information.

RemoveChannel Method
Removes the specified channel from the server configuration.

27
Driver Server Help

Syntax
object.RemoveChannel ChannelHandle

The RemoveChannel method syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

ChannelHandle A long integer value specifying a channel object handle received from a
server method such as AddChannel().

RemoveDataBlock Method
Removes the specified datablock from the specified device’s configuration.

Syntax
object.RemoveDataBlock DeviceHandle DataBlockHandle

The RemoveDataBlock method syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

DeviceHandle A long integer expression specifying the handle of the device from
which to remove the datablock.

DataBlockHandle A long integer expression specifying the handle of the datablock to


remove.

28
Driver Server Help

RemoveDevice Method
Removes the specified device from the specified channel’s configuration.

Syntax
object.RemoveDevice ChannelHandle DeviceHandle

The RemoveDevice method syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

ChannelHandle A long integer value specifying a channel object handle received from a
server method such as AddChannel().

DeviceHandle A long integer expression specifying the handle of the device to remove

SetPropertyData Method
Sets data for each specified property on the specified object.

Syntax
Errors = object.SetPropertyData ObjectHandle Properties PropertyData

29
Driver Server Help

The SetPropertyData method syntax has these parts:

Part Description

A returned array specifying corresponding property setting errors.


Errors

object An object expression that evaluates to the Driver object.

ObjectHandle A long integer expression specifying the handle of the object (channel,
device or datablock) to set property data for.

Properties A string array specifying device properties to set.

PropertyData An array specifying corresponding device property data.

Remarks
When setting data for a single property, the property string may be specified as a string instead of a
one-dimensional array, and the property data value may also be specified as a single VARIANT
instead of a one-dimensional array.

Start Method
Starts server polling.

Syntax
object.Start

30
Driver Server Help

The Start method syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

Stop Method
Stops server polling.

Syntax
object.Stop

The Stop method syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

Switch Method
Switches the specified channel or device object to/from backup.

Syntax
object.Switch ObjectHandle

The Switch method syntax has these parts:

Part Description

31
Driver Server Help

An object expression that evaluates to the Driver object.


object

A long integer value specifying a server object handle received from server
ObjectHandle methods such as AddChannel() or GetDevices().

WarnMessage Method
Sends a warning message to the I/O Server event window.

Syntax
object.WarnMessage Message

The WarnMessage method syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

Message A string expression that specifies the text you want to display in the I/O
Server event window as a warning message.

WriteData Method
Writes the specified data to the specified datablock.

Syntax
object.WriteData DataBlockHandle ItemOffset SubItemOffset SignalConditioning HighEgu LoEgu
Data

The WriteData method syntax has these parts:

Part Description

32
Driver Server Help

Part Description

An object expression that evaluates to the Driver object.


object

DataBlockHandle A long integer expression specifying the handle of the datablock to


write to.

RequestedDataType An integer expression specifying the returned data’s data type.

ItemOffset A long integer expression specifying the offset from the start of the
datablock to write to.

SubItemOffset An integer expression specifying the offset from the start of the data
item to write to.

SignalConditioning An integer expression specifying the signal conditioning to apply to


the data.

HighEgu A single expression specifying the high Engineering Units value to


be used for signal conditioning

LoEgu A single expression specifying the high Engineering Units value to


be used for signal conditioning.

Data An expression specifying the data to write.

Settings
The settings for SignalConditioning are:

33
Driver Server Help

Setting Description

0 None (No Signal Conditioning)

1 12BN (12 Bit Binary with No Alarming)

2 12AL (12 Bit Binary with Alarming)

3 15BN (15 Bit Binary with No Alarming)

4 15AL (15 Bit Binary with Alarming)

5 LIN (Linear Signal Conditioning)

6 3BCD (3 Digit Binary Coded Decimal)

7 4BCD (4 Digit Binary Coded Decimal)

8 13BN (13 Bit Binary with No Alarming)

9 13AL (13 Bit Binary with Alarming)

10 8BN (8 Bit Binary with No Alarming)

11 8AL (8 Bit Binary with Alarming)

34
Driver Server Help

Remarks
The SignalConditioning settings represent the minimum supported for this server. See your I/O Server
documentation for more details regarding this setting.

Only one item may be written at a time with this method

Properties

Application Property
Returns the Application object. Read only.

Syntax
object.Application

The Application property syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

ConfigFileName Property
Returns the active configuration file name. Read only.

Syntax
object.ConfigFileName

35
Driver Server Help

The ConfigFileName property syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

ConfigFilePath Property
Returns the path specification for the active configuration file. Read only.

Syntax
object.ConfigFilePath

The ConfigFilePath property syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

DefaultConfigFileName Property
Sets or returns the default configuration file name.

Syntax
object.DefaultConfigFileName [= string]

36
Driver Server Help

The DefaultConfigFileName property syntax has these parts:

Part Description

object An object expression that evaluates to the Driver object.

string A string expression that evaluates to the server default configuration file path.

DefaultConfigFilePath Property
Sets or returns the default path specification for configuration files.

Syntax
object.DefaultConfigFilePath [= string]

The DefaultConfigFilePath property syntax has these parts:

Part Description

object An object expression that evaluates to the Driver object.

string A string expression that evaluates to the server default configuration file path.

FileSaved Property
Returns the saved state of the configuration file. Read only.

Syntax
object.FileSaved

37
Driver Server Help

The FileSaved property syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

FullConfigFileName Property
Returns the file specification for the active configuration file, including path. Read only.

Syntax
object.FullConfigFileName

The FullConfigFileName property syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

FullDefaultConfigFileName Property
Returns the file specification for the default configuration file, including path. Read only.

Syntax
object.FullDefaultConfigFileName

38
Driver Server Help

The FullDefaultConfigFileName property syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

FullName Property
Returns the file specification for the application, including path. Read only.

Syntax
object.FullName

The FullName property syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

Name Property
Returns the name of the application. Read only.

Syntax
object.Name

39
Driver Server Help

The Name property syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

Path Property
Returns the path specification for the application's executable file. Read only.

Syntax
object.Path

The Path property syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

Running Property
Returns a value indicating whether the server is started or stopped. Read only.

Syntax
object.Running

40
Driver Server Help

The Running property syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

Visible Property
Sets or returns a value indicating whether the main server window is visible or hidden.

Syntax
object.Visible [= boolean]

The Visible property syntax has these parts:

Part Description

An object expression that evaluates to the Driver object.


object

A boolean expression specifying whether the server window is visible or


boolean hidden.

Settings
The settings for boolean are:

Setting Description

True Server window is visible.

Server window is hidden.


False

41
Driver Server Help

Obtaining an Interface Pointer to the Server


Object
There are two different ways to obtain an interface pointer to the server object:

Early Binding – at design time


Using the Class name, declare an object as the class type. The driver class name, as shipped, is
ITKServer.

Example
Public iDrv As New ITKServer

Late Binding – during run-time


Declare a generic object, then use the CreateObject function to obtain the interface pointer.

1. Public iDrv As Object


2. Set iDrv = CreateObject(“Intellution.ITKDrv”)

Early binding has better performance, but late binding allows more diversity.

OPC Client Only


The following topics apply only to the OPC Client driver.

3. iBrowseOPCServer Interface
4. iDriverMessage Interface
5. Sample Application

IBrowseOPCServer Interface
Lets the OPC Client determine if browsing on the OPC server. If browsing is supported, the interface
lets the OPC Client browse the server for item ids and access paths.

NOTE: You can only use the IsBrowseSupported and GetNameSpace methods from this interface. The
other methods are for internal use and not supported for third-party development.

42
Driver Server Help

IDriver Message
Lets the driver send messages to the I/O Server’s event window. Visual Basic applications can also use
this interface to send messages to the event window.

Sample Application
To assist you in creating a Visual Basic application, we supply source code for a sample application.
This source code shows you how to:

• Add a channel, device, and datablock to the driver configuration.


• Retrieve properties from a channel, device, and datablock.
• Copy a device.
• Delete a channel.
• Poll for data.
• Handle data returned from a poll of the server.
• Write data to a datablock.
• Start and stop the server.
• Determine if the server is running.
• Show and hide the server window.
• Send messages to the server window.
• Shut down the server.
• Read and modify the default configuration file name and path.
• Open and save a driver configuration file.

43
Index
A G

AddChannel method ..................................................9 GetChannels method................................................ 16

AddDataBlock method ............................................ 10 GetDataBlocks method ............................................ 17

AddDevice method .................................................. 11 GetDevices method.................................................. 18

Application property ................................................ 35 GetNameSpace method ........................................... 18

C GetProperties method .............................................. 19

ConfigFileName property ........................................ 35 GetPropertyData method ......................................... 21

ConfigFilePath property .......................................... 36 I

CopyDevice Method ................................................ 11 IBrowseOpcServer interface .................................... 42

D IDriverMessage Interface ........................................ 43

DebugMessage Method ........................................... 13 InfoMessage Method ............................................... 21

DefaultConfigFileName property ............................ 36 IsBrowseSupported method ..................................... 22

DefaultConfigFilePath property .............................. 37 N

E Name property ......................................................... 39

ErrorMessage Method ............................................. 13 P

F pointer to the server object in Visual Basic ............. 42

FileNew method ...................................................... 14 Poll method .............................................................. 23

FileOpen method ..................................................... 14 Property property ..................................................... 40

FileSave method ...................................................... 15 Q

FileSaveAs method .................................................. 15 Quit method ............................................................. 23

FileSaved property................................................... 37 R

FullConfigFileName property ................................. 38 ReadData method .................................................... 24

FullDefaultConfigFileName property...................... 38 RemoveChannel method.......................................... 27

FullName property ................................................... 39 RemoveDataBlock method ...................................... 28

RemoveDevice method............................................ 29

45
Driver Server Help

Running property ..................................................... 40 Switch method ......................................................... 31

S V

sample application ................................................... 43 Visible property ....................................................... 41

SetPropertyData method .......................................... 29 W

Start method............................................................. 30 WarnMessage Method ............................................. 32

Stop method ............................................................. 31 WriteData method.................................................... 32

46
Proficy* HMI/SCADA - iFIX
ENHANCED FAILOVER

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

Disclaimer of Warranties and Liability

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

Notice

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

For New Users of Enhanced Failover:.......................................................................................... 1

For Existing Users of Enhanced Failover: .................................................................................... 1

Terms You Should Know When Working with Enhanced Failover and LAN Redundancy .............. 2

Components of Enhanced Failover .................................................................................................. 3

Active SCADA............................................................................................................................... 4

Standby SCADA ........................................................................................................................... 4

Logical SCADA Name .................................................................................................................. 4

iClient Connections ....................................................................................................................... 4

Dynamic Connections for Remote Nodes .................................................................................... 4

SCADASync.exe........................................................................................................................... 5

SCADARoleMgr.exe ..................................................................................................................... 5

SCADASyncMonitor.exe .............................................................................................................. 5

iFIXNotification.exe ....................................................................................................................... 5

SCADASync.log and ScadaRoleMgr.log Files ............................................................................. 5

Network Status Display (NSD) tags.............................................................................................. 6

Enhanced Failover Runtime Information (SCADASync) tags ...................................................... 6

What is Enhanced Failover?............................................................................................................. 6

What is my SCADA Role? ................................................................................................................ 7

Summary of When Role Changes Occur ..................................................................................... 8

Introduction to Enhanced Failover .................................................................................................... 8

Differences Between Enhanced Failover and Failover in Previous iFIX Releases ...................... 8

Updated Licensing .................................................................................................................... 9

More Robust and Efficient Processing ..................................................................................... 9

iii
Enhanced Failover

Support for Database Synchronization ..................................................................................... 9

True Standby Node Support ..................................................................................................... 9

Dedicated SCADA-to-SCADA Network for Improved Communications .................................10

Automatic Switching to Active SCADA ................................................................................... 10

New NSD Tag Fields .............................................................................................................. 10

Alarm Acknowledgement Synchronization Change ............................................................... 10

New Enhanced Failover Runtime Information Fields ............................................................. 10

Limitations of Enhanced Failover ............................................................................................... 11

General Limitations ................................................................................................................. 11

Unsynchronized Items ............................................................................................................ 12

Database Synchronization for Enhanced Failover ..................................................................... 12

Synchronized Items ................................................................................................................ 13

Items that Affect Database Synchronization Performance .....................................................13

File Synchronization ............................................................................................................... 13

Alarm Management for Enhanced Failover ................................................................................ 13

Understanding Enhanced Failover ................................................................................................. 14

What Happens when a Failover Occurs? ................................................................................... 14

Alarm Handling for SCADA Servers ........................................................................................... 15

Logical Node Names .................................................................................................................. 15

I/O Drivers and Enhanced Failover ............................................................................................ 16

Alarm ODBC Service and Enhanced Failover ............................................................................ 16

Proficy Historian and Enhanced Failover ................................................................................... 17

Customizing the Synchronization Process with SCADASync.ini ...............................................18

Key Descriptions of SCADASync.ini....................................................................................... 18

iFIXNotification.exe and Enhanced Failover .............................................................................. 22

When iFIX Notification Displays the Message ........................................................................ 22

Configuration Examples: Enhanced Failover ............................................................................. 23

Recovery Examples: Enhanced Failover Behavior .................................................................... 24

iv
Table Of Contents

Scenario 1: Primary SCADA Unavailable ............................................................................... 25

Scenario 2: Secondary SCADA Unavailable .......................................................................... 26

Scenario 3: Both Primary and Secondary SCADA Unavailable .............................................27

Scenario 4: iFIX Network to Primary SCADA from the Client Unavailable ............................28

Scenario 5: iFIX Network to Secondary SCADA from the Client Unavailable........................29

Scenario 6: Dedicated Network Between Primary and Secondary Unavailable ....................30

Scenario 7: Complete Network Failure ................................................................................... 31

Configuring a SCADA Server Pair for Enhanced Failover ............................................................. 31

Configuring Computers for Enhanced Failover .......................................................................... 32

Preparation Checklist for Enhanced Failover ......................................................................... 32

Checklist for Enhanced Failover Configuration .......................................................................... 34

Configuring Computers for Enhanced Failover .......................................................................... 36

Preparation Checklist for Enhanced Failover ......................................................................... 36

Assigning Physical and Logical Node Names ............................................................................ 38

Enabling Enhanced Failover....................................................................................................... 39

Configuring Data Transport for Options for Enhanced Failover .................................................41

Data Sync Transport Options Dialog Box ............................................................................... 44

Steps to Configure the Data Transports for Synchronization .................................................45

Configuring iClients .................................................................................................................... 46

How the iClient Works in Run Mode ....................................................................................... 48

Steps to Configure .................................................................................................................. 48

Disabling the Inactivity Timer for the SCADA Pair ..................................................................... 49

Disabling the 1914 Error Message ............................................................................................. 51

Testing Your Enhanced Failover Configuration.......................................................................... 51

Tips for Enhanced Failover Configurations ................................................................................ 52

Synchronize the Clocks on the SCADA Servers .................................................................... 53

Identify Factors Affecting Performance .................................................................................. 53

Monitoring Network Status ............................................................................................................. 53

v
Enhanced Failover

Network Status Server Fields ..................................................................................................... 55

What are NSD Tags and NSS Fields? ................................................................................... 55

How to View NSD Tags in iFIX ............................................................................................... 55

Zero-based NSD Fields .......................................................................................................... 56

One-based NSD Fields ........................................................................................................... 56

Field Descriptions ................................................................................................................... 56

Example Uses of Network Status Server Fields ......................................................................... 62

SCADA Failover...................................................................................................................... 63

LAN Failover ........................................................................................................................... 63

Network Status Pictures in the iFIX WorkSpace ........................................................................ 63

Custom Pictures with Logical and Physical Node Names ..........................................................64

EDA and Network Server Status (NSS) Fields ........................................................................... 64

Troubleshooting Enhanced Failover ............................................................................................... 65

Troubleshooting Checklist for Enhanced Failover Configuration ...............................................68

More Information on Network Card Usage ............................................................................. 69

Tools for Troubleshooting ........................................................................................................... 70

Log Files for Enhanced Failover ............................................................................................. 71

Error Messages for Enhanced Failover in iFIX ....................................................................... 72

Monitoring SAC in Mission Control ......................................................................................... 75

Enhanced Failover Diagnostics with the SCADA Sync Monitor .................................................77

Overview of the SCADA Node Synchronization History.........................................................79

Database Synchronization Status .......................................................................................... 80

Communication Status............................................................................................................ 82

Debug Log for Troubleshooting .............................................................................................. 83

Overall System Health ............................................................................................................ 84

Global Memory Synchronization Status ................................................................................. 86

Runtime Information Fields for Enhanced Failover .................................................................... 86

Example Uses of Runtime Information Fields for Enhanced Failover ....................................99

vi
Table Of Contents

Frequently Asked Questions about Enhanced Failover ...........................................................100

Maintenance Mode ....................................................................................................................... 102

SCADA Synchronization Monitor.......................................................................................... 103

Maintenance Mode Steps ..................................................................................................... 103

Security Area for Maintenance Mode ................................................................................... 104

Maintenance Mode from Remote iClients ................................................................................ 104

Using iFIX Security with Maintenance Mode ........................................................................ 105

SCADASync Maintenance Mode Fields ............................................................................... 105

Client Operations .......................................................................................................................... 106

Viewing Alarms on iClients ....................................................................................................... 106

Reading Data in iFIX Pictures on iClients ................................................................................ 107

Network Failure Detection on the iClient .................................................................................. 108

SCADAs With Enhanced Failover Detection on the iClient ......................................................109

Index ............................................................................................................................................. 113

vii
About this Guide
The Enhanced Failover e-book is intended for process control engineers, integrators, and developers
responsible for designing and creating operator displays, and configuring the development and run-
time environments. The manual assumes familiarity with the process database, the iFIX WorkSpace,
and the System Configuration Utility (SCU).

For New Users of Enhanced Failover:


This e-book contains the following sections to help you work with and understand the iFIX Enhanced
Failover features:

• Terms for Working with Enhanced Failover


• Components of Enhanced Failover
• What is Enhanced Failover?
• What is my SCADA Role?
• Introduction to Enhanced Failover
• Understanding Enhanced Failover
• Configuring a SCADA Server Pair for Enhanced Failover
• Monitoring Network Status
• Troubleshooting Enhanced Failover
• Client Operations
• Maintenance Mode

For Existing Users of Enhanced Failover:


If you are upgrading from a version of iFIX (before iFIX 5.0) with the previous Failover solution, be
sure to refer to the Differences Between Enhanced Failover and Failover in Previous iFIX Releases
section in this e-book and Enhanced Failover and Upgrading section in the Getting Started with iFIX e-
book before you begin configuring or using the Enhanced Failover feature.

A configuration checklist is provided in the Checklist for Enhanced Failover Configuration section as
overview. If you are familiar with iFIX, this should get you started quickly in making your updates.

The only changes between iFIX 5.0 and the current version of iFIX are the addition of the Enhanced
Failover Runtime Information (SCADASync) tags, and various server enhancements (that do not
require any configuration changes). For more information on the SCADASync tags, refer to the
Runtime Information Fields for Enhanced Failover section.

1
Enhanced Failover

Terms You Should Know When Working


with Enhanced Failover and LAN
Redundancy
Before you begin working with Enhanced Failover in iFIX you should familiarize yourself with the
following terms:

Term Description

Enhanced Failover The process of switching the active SCADA node from a waiting,
standby SCADA node, when the active SCADA node becomes
unavailable for processing data.

Active SCADA The fully functioning SCADA node in run mode. The active node sends
the process database to standby node. All iClients retrieve their data and
alarms from the active SCADA. The active SCADA generates alarms.

Standby SCADA The “Idle” SCADA·node in run mode. Updates to the standby SCADA
are based on database synchronization updates pushed from the active
node. The standby node replaces the concept of the backup node in
previous versions of iFIX, prior to iFIX 5.0.

Physical Node The physical node (also called the local node) is the local iFIX node
name, and should be unique within your iFIX network.

Logical Node A logical node is a pair of SCADA nodes configured to use Enhanced
Failover. A client using a logical node obtains data from the active
SCADA node in the pair.

Primary SCADA The first node that you configure in your primary and secondary pair in
configure mode. This is the node that goes active when you start iFIX,
but may not always be the active node.

Secondary SCADA The second node that you configure in your primary and secondary
pair.

Synchronization A process that occurs on the active SCADA node, where the iFIX
process database and all files in the PDB folder changed from the last
update are copied to the standby node.
The actual process name of the iFIX application that performs the
database synchronization is SCADASync.exe. The ScadaRoleMgr.exe
works in tandem with the SCADASync.exe, and assigns the roles
during failover.

2
Enhanced Failover

Term Description

iFIX Client node Operators view process data received from a SCADA Server using a
client (SCADA or iClient node).
The client obtains data and alarms from the active SCADA node:
• A client automatically switches over to the newly active
SCADA when a failover occurs.
• Any VBA script on the client continues to execute when a
failover occurs. If the VBA script is reading data while the
failover occurs, the VBA script may return an error.
• The Alarm Summary shows the same number of alarm and
acknowledge states after a failover occurs. The real-time trend
shows some gap in the line chart.

Components of Enhanced Failover


Enhanced Failover is the capability to switch over automatically to a standby SCADA Server when a
failure occurs. The switchover from the active to the standby SCADA Server occurs without user
interaction, unless it is manually triggered. There are certain components that need to be configured
and running to allow this switchover to occur.

The following components are included in the iFIX Enhanced Failover configuration:

• Active SCADA
• Standby SCADA
• Logical SCADA
• iClient Connections
• Dynamic Connections

The running components of iFIX Enhanced Failover system also include:

• SCADASync.exe Process
• SCADARoleMgr.exe Process
• SCADASyncMonitor.exe
• iFIXNotification.exe Application
• SCADASync.log and ScadaRoleMgr.log Files
• Network Status Display (NSD) tags (optional)
• Enhanced Failover Runtime Information (SCADASync) tags (optional)

3
Enhanced Failover

Active SCADA
The Active SCADA scans its database, communicates with the PLCs, and generates alarms.
Periodically, it sends its database to the standby SCADA over the dedicated SCADA Synchronization
network.

Standby SCADA
The Standby SCADA is ready to take the place of the Active node if the need arises. SAC does not
poll the database or generate alarms on this node. Instead, the Standby SCADA receives database and
alarm information from the Active node.

Logical SCADA Name


A logical node is a pair of SCADA nodes configured for use with Enhanced Failover. A logical pair
consists of a Primary and a Secondary node. A client uses the logical node name to obtain data from
the Active SCADA node in the pair, and to communicate with the Active SCADA node. Each
Enhanced Failover SCADA node (both Primary and Secondary) is defined by a unique physical name
and a common logical name.

The SCADA pair consists of a Primary node which is the preferred node in the pair, and a Secondary
node which is the backup node in the pair, each having a role/status. When Enhanced Failover is
running, one node will be Active, and the other node will be in Standby. The Active node functions as
a normal SCADA node. SAC is processing the database and alarms are being generated on the Active
node. Additionally, the Active SCADA node periodically sends database and alarm information to its
partner, the Standby node.

iClient Connections
iClient nodes allow operators to obtain data and alarms from the Active SCADA node. Clients must be
connected to the SCADA in “Active” mode to change data, acknowledge alarms, or write data to the
PLC.

It is required that you have a dedicated network connection for SCADA synchronization and a separate
connection for iFIX Client connections. iFIX Clients follow the Active SCADA. When a failover
occurs, the Clients are notified to connect to the new active SCADA. For more information on
configuring iClients, refer to the Configuring iClients sections.

Dynamic Connections for Remote Nodes


Dynamic Connections are used to automatically make a network connection to a remote node. With
Dynamic Connections enabled, you do not have to enter node names in the Configured Remote Nodes
list. A new node will not receive alarms from a SCADA Server until a connection is established.

If you use Enhanced Failover, the Dynamic Connections check box is selected by default when you
enable TCP/IP networking in the SCU. Do not disable Dynamic Connections if you are using
Enhanced Failover. In this instance, Dynamic Connections on each node in the SCADA pair must be

4
Enhanced Failover

enabled for iClients to failover to partner SCADA in a timely fashion. For more information, refer to
Enable TCP/IP Networking in the SCU section.

For more information on Dynamic Connections, refer to the Configuring Remote Nodes section of the
Setting Up the Environment e-book.

SCADASync.exe
SCADASync.exe is the process name of the iFIX application that performs the synchronization.

For more information on this process, refer to the What is Enhanced Failover? and What Happens
when a Failover Occurs? sections.

SCADARoleMgr.exe
SCADARoleMgr.exe is a process that decides if the computer will be active or standby.

For more information on this process, refer to the What is Enhanced Failover? and What Happens
when a Failover Occurs? sections.

SCADASyncMonitor.exe
The SCADA Sync Monitor (SCADASyncMonitor.exe) displays information about the primary and
secondary SCADA Servers. You can use it for viewing diagnostic information about your Enhanced
Failover configuration, or for troubleshooting issues with your Enhanced Failover configuration. For
more information on this application, refer to the Enhanced Failover Diagnostics with the SCADA
Sync Monitor section.

iFIXNotification.exe
iFIX Notification (iFIXNotification.exe) notifies a user on a Client that it is only able to communicate
with a standby SCADA node. You cannot write to a standby SCADA node, and a standby SCADA
node does not generate any alarms. Since this limits what the operator can do, a modal message box
appears informing the user about the condition until the active node becomes available again. For more
information, refer to the iFIXNotification.exe and Enhanced Failover section.

SCADASync.log and ScadaRoleMgr.log Files


For Enhanced Failover, there are two additional log files available for troubleshooting. The
SCADASync.log includes messages that occur during the SCADA synchronization process. The
ScadaRoleMgr.log includes messages that occur during the active to standby node switchover. For
more information on these log files, refer to the Log Files for Enhanced Failover section.

5
Enhanced Failover

Network Status Display (NSD) tags


The Network Status Display tag is a special tag residing on each networked node that displays
diagnostic, failover, and network information. Networking in the SCU must be enabled to view these
tags. These tags can be added to your custom iFIX pictures. They also provide fields for manually
triggering failovers: A_SWITCHSCADAROLE and F_SWITCHSCADAROLE. For more
information, refer to the Network Status Server Fields section.

Enhanced Failover Runtime Information (SCADASync) tags


The SCADASync tags are special tags consisting of runtime information for your Enhanced Failover
configuration. Enhanced Failover must be enabled in the SCU to view these tags. The SCADASync
tags are very helpful for troubleshooting your Enhanced Failover configuration, and can be added to
your custom iFIX pictures. Many of these fields can be viewed from within the SCADA Sync Monitor;
however, there are more SCADASync fields than what is displayed in the SCADA Sync Monitor. Use
these tags to obtain additional information, for instance, regarding your data transports. For more
information on these tags, refer to the Runtime Information Fields for Enhanced Failover section.

What is Enhanced Failover?


Enhanced Failover is the ability to define two SCADA nodes to function as one logical node. The
logical node provides data and alarms to its clients even if one of the SCADA nodes become
inoperable. When you start iFIX on both nodes, one SCADA will be your active node, and the other
will be your standby node.

The active node continuously pushes a copy of the memory-based Process database (PDB) to the
standby node. This process is called synchronization, by which real-time data such as setpoints, the tag
database, and alarms are synchronized between the SCADA node pair. The active node synchronizes
its process database with the standby node. SCADASync.exe is the process name of the iFIX
application that performs the synchronization. SCADARoleMgr.exe is a process that decides if the
computer will be active or standby.

SCADASync.exe will use any available network connection for the synchronization; however, you
should prioritize network usage to separate your real-time SCADA network from the synchronization
network. It is strongly recommended that you use a dedicated network between the primary and
secondary SCADA nodes for synchronization traffic. If the SCADA nodes are physically close to each
other, then a crossover cable can be used. Additionally, it is further recommended that the network
components (LAN adapters, hubs, switches, cables, etc.) used for synchronization of the SCADA pair
support a minimum 1 Gigabit Ethernet.

The following figure shows an example of an Enhanced Failover configuration that includes two
networks: a dedicated network for SCADA-to-SCADA traffic, and a second network, LAN 1, which
is for iFIX networking.

6
Enhanced Failover

Simple Enhanced Failover Example: One LAN and One Dedicated Network

Operators view the process data received from a SCADA Server using an iClient. Should the active
SCADA Server become unavailable, process data will become unavailable to the operator at the
iClient workstation. Enhanced Failover increases the chance that data will continue to be available the
iClient, despite a failure in the active SCADA node component.

Enhanced Failover allows you to connect an iClient to both the primary and secondary SCADA Server
pair that are connected to the same PLC(s). The iClient computer establishes and maintains the
connections to both the primary and secondary SCADA Server, either of which can be the active
server or the standby server. When the active SCADA Server fails and the standby becomes active, the
iClient nodes automatically fail over to the newly active SCADA Server.

You can use Enhanced Failover and LAN Redundancy either individually or together. If both are being
utilized and the network connection on the iClient to active SCADA is lost, iFIX tries to failover to the
backup network path (LAN2), if available first, then failover to the partner SCADA occurs.

A standby SCADA will automatically take over the active role from its partner SCADA when any of
the following conditions (failures) occur:

1. SAC stops processing blocks due to an application exception (crash).


2. The computer runs out of disk space.
3. All synchronization links between the two nodes are unavailable.
4. A user requests that a change occurs (manual failover).

What is my SCADA Role?


Each node in an Enhanced Failover SCADA pair has a role: Active or Standby. In normal operations,
one SCADA assumes the Active role, and the other SCADA assumes the Standby role.

7
Enhanced Failover

If a SCADA node cannot communicate or detects a problem with its partner, it becomes the Active
node. If both SCADA nodes are Standby or both nodes are Active, the Primary node becomes Active.
When using Maintenance Mode, both SCADAs will be Active.

Roles can also be changed manually by changing values of the NSD (network status display) tags:
A_SWITCHSCADAROLE or F_SWITCHSCADAROLE. These NSD tags provide the ability to force
a SCADA to a particular role or to display information about the SCADAs or Clients.

Summary of When Role Changes Occur


A SCADA role automatically changes when:

• SAC stops processing blocks due to an application exception (crash).


• The computer runs out of disk space.
• All synchronization links between the two nodes are unavailable.
• A user requests that a change occurs (manual failover).
• iFIX connectivity is unavailable. For instance, this scenario occurs when disconnecting the
iFIX networking cable on the SCADA computer. Be aware that a SIM is needed to support
this functionality.

Introduction to Enhanced Failover


When Enhanced Failover is enabled, two SCADA Servers (a primary and secondary) provide
increased availability in case of a failure. This section describes how Enhanced Failover works and
how to configure it. It includes the following sections:

• Differences Between Enhanced Failover and Failover in Previous iFIX Releases


• Limitations of Enhanced Failover
• Database Synchronization for Enhanced Failover
• Alarm Management for Enhanced Failover

Differences Between Enhanced Failover and Failover in Previous


iFIX Releases
The Enhanced Failover configuration and architecture provided in iFIX 5.0 and greater is different
compared to previous iFIX versions. If you are a new customer or a customer upgrading from a version
of iFIX before iFIX 5.0, be sure to allot some time to understand these changes and implement the new
configuration.

Some of the differences between the Enhanced Failover features provided between iFIX 5.0 and
greater and in previous iFIX releases (before iFIX 5.0) include:

• Updated Licensing

8
Enhanced Failover

• More Robust and Efficient Processing


• Support for Database Synchronization
• True Standby Node Support
• Dedicated SCADA-to-SCADA Network for Improved Communications
• Automatic Switching to Active SCADA
• New NSD Tag Fields
• Alarm Acknowledgement Synchronization Change
• New Enhanced Failover Runtime Information Fields

Updated Licensing
Enhanced Failover is a keyed option in iFIX 5.0 and greater. New and upgrade customers must ensure
this option is enabled on your key before starting iFIX. You can check if this option is enabled through
the Proficy License Viewer.

More Robust and Efficient Processing


Enhanced Failover is more robust than in earlier versions before iFIX 5.0. For instance, in previous
releases, the two SCADA systems acted independently of one another. Now, the active and standby
nodes stay synchronized and the detection of the failure occurs more quickly.

Before iFIX 5.0, generated alarms could vary based on differences in timing of the two independent
nodes. This process was improved, so that such inaccuracies are minimized.

Support for Database Synchronization


Enhanced Failover includes database synchronization between the active and standby SCADA pair.

If you are upgrading from a previous iFIX release, prior to iFIX 5.0, make sure you read the Enhanced
Failover and Upgrading section of the iFIX Getting Started guide, for a complete list of items that you
should evaluate.

True Standby Node Support


In the iFIX releases prior to 5.0, each node in a pair was active all the time. It was left to the customer
to create a scheme that simulated an active and a standby node. With Enhanced Failover, the secondary
node is a dedicated standby node. As such, the standby node is in an inactive state:

• The SAC database processing task is in standby mode, and no longer processing the database.
• Outputs are not being written to the PLC.
• Interactive or programmatic process database changes are not allowed, as they would be
overwritten by the synchronization process.
• The Alarm ODBC client is not writing messages to the relational database.

This means that you can no longer use your standby node (which used to be called a backup node) as
your development node, if you did so in the past.

9
Enhanced Failover

Dedicated SCADA-to-SCADA Network for Improved Communications


Between the active and standby nodes, iFIX now supports (and GE Intelligent Platforms strongly
recommends) a dedicated connection between them – a dedicated SCADA-to-SCADA network. This
requires that you install new hardware, if you are upgrading from a previous release, as well as that
you update your SCU configuration. The use of a dedicated network creates a fast, reliable, efficient
connection between the two SCADA nodes for use with synchronization traffic. A dedicated network
allows you to eliminate synchronization traffic from your iClient network, eliminate a single point of
failure, and improve performance.

It is strongly recommended that you use Jumbo Frames technology on the dedicated network. Jumbo
Frames technology allow Ethernet frame of 9000 Bytes for the Payload to compare to frame of 1500
bytes for the Payload without the Jumbo Frames.

Automatic Switching to Active SCADA


All iClient nodes will automatically switch to the active SCADA. For the fastest detection of network
failures, you should disable the Inactivity Timer in the System Configuration Utility (SCU) (in the
Advanced Network Configuration dialog box).

New NSD Tag Fields


New fields for Network Status Display (NSD) tags are available for use in iFIX pictures and
applications. You can only access these tags when TCP/IP networking is enabled. The new Network
Status Server (NSS) fields available for the NSD include:

• A_SCADASTATUS, F_SCADASTATUS – The status of the SCADA node: ACTIVE (1) or


STANDBY (2).
• A_SWITCHSCADAROLE, F_SWITCHSCADAROLE – Use this to request a change in
state: ACTIVE (1) or STANDBY (2).
• F_SCADAREDUN – This field is set to 1 if Enhanced Failover is enabled; it is set to 0 if it is
disabled.

For more information on the NSS fields, refer to the Network Status Server Fields section.

Alarm Acknowledgement Synchronization Change


In the iFIX releases prior to 5.0, the failover feature attempted to keep alarms synchronized using the
ALM_SYNC process. Now, with Enhanced Failover, this feature is part of the database
synchronization process. ALM_SYNC is therefore obsolete and no longer required to keep alarms
synchronized.

New Enhanced Failover Runtime Information Fields


The runtime information fields for Enhanced Failover reside within SCADASync tags (also known as
Enhanced Failover tags). These fields are very helpful for troubleshooting your Enhanced Failover
configuration. SCADASync tags contain diagnostic and network information pertaining to your
Enhanced Failover configurations. These runtime information fields are available in iFIX 5.1 and
greater.

For more information on these runtime information fields, refer to the Runtime Information Fields for

10
Enhanced Failover

Enhanced Failover section.

Limitations of Enhanced Failover

General Limitations
When using Enhanced Failover with iFIX, be aware of the following general limitations:

• If you did not purchase a key that supports Enhanced Failover, you will not be able to use this
feature in iFIX. Do not use a standby SCADA Server as a development node. The standby
SCADA node must be a dedicated standby node.
• The SCADA pair must be configured identically.
• You cannot make database modifications to the standby node. Data cannot be written to a
standby node; you can only read data from the standby node. However, you can use
Maintenance Mode on the primary node to temporarily suspend synchronization between the
two SCADA nodes, so that you can make changes to your database while SAC is still
running.
• iFIX I/O drivers do not support redundant communication with multiple SCADA nodes. iFIX
only supports synchronization of the Simulation (SIM) and Simulation 2 (SM2) I/O drivers.
All SIM and SM2 driver information is synchronized between the active and standby nodes.
• I/O drivers (6.x and 7.x versions) reading data between the SCADA pair is not supported. The
I/O drivers on the active and standby SCADA nodes run independently of each other (for
example, they have separate poll tables). Both SCADAs are reading data from the PLC/RTU
network at all times. Therefore, the driver configurations running on both SCADA nodes
should be identical.
NOTE: Be aware that if your driver is utilizing Access Time for its datablock/poll records, on
the standby SCADA, these datablock/poll records will time-out.

• The iFIX OPC data server and the Alarm & Event server running on the SCADA nodes is
supported; however, the iFIX OPC servers do not support logical names. OPC clients will not
automatically switch to the active node.
• The Proficy Historian collectors should be running on both the active and standby iFIX
SCADA nodes and configured in Proficy Historian as redundant collectors. For more
information about working with Proficy Historian, refer to the Proficy Historian and
Enhanced Failover section.
• You should not have your Proficy Historian Archiver running on either computer in SCADA
pair when using Enhanced Failover or LAN Redundancy.
• If you upgraded from a version of iFIX before iFIX 5.0, and previously used the SCADA
Failover feature, you will need to reconfigure some settings in the SCU (the data transport for
synchronization) before Enhanced Failover will work. For more information, refer to the
Enhanced Failover and Upgrading section in the iFIX Getting Started guide.
• If you use Terminal Services with iFIX, be aware that a Terminal Server cannot reside on
either the primary or secondary iFIX SCADA nodes configured for Enhanced Failover. If the
SCADA Server and Terminal Server run on the same machine, that machine becomes a single
source of failure.

11
Enhanced Failover

• The primary and secondary SCADA pair must be the same version (major and minor) of
iFIX. For example, if the primary SCADA has iFIX 5.0 installed, the secondary SCADA must
have iFIX 5.0 installed. The iClient nodes can be any version of iFIX.
• You can have up to three network cards (a primary, secondary, and tertiary network path)
configured for SCADA-to-SCADA communication.
• If the iClient cannot access the active node through iFIX networking, but can access the
standby SCADA through iFIX networking, the iClient will use the data on the standby node.
This will allow the Alarm summary to display the current value, but it won't get any new
alarms until it can access the active node.
• Dynamic Connections on the SCADA pair must be enabled for iClients to failover to partner
SCADA in a timely fashion.
• The primary and secondary SCADA computers must be physically next to each other, in the
same location/room.

Unsynchronized Items
Enhanced Failover only provides for database and alarm synchronization. The following items are not
synchronized between the active and standby node with the Enhanced Failover feature enabled:

• Classic Historian configuration (collection group) and collected data from Classic Historian
are not synchronized.
• The background scheduler running on both SCADA nodes is not synchronized.
• I/O drivers (other than SM2 and SIM) are not synchronized.
• System Extension Toolkit (STK) modules are not synchronized.
• The alarm printer, file, and history queues are not synchronized.
• The Auto Alarm Manager (AAM) queue is not synchronized.
• Any EDA background programs are not synchronized, unless the program is aware of the
redundant SCADA setup.
• iFIX Pictures are not synchronized.
• Background schedules are not synchronized.
• VBA scripting variables.

Database Synchronization for Enhanced Failover


The database synchronization feature will automatically copy the SCADA database (PDB) from the
active SCADA node to the standby node when a file changes in the Database Manager. File
synchronization does not copy all the files from one node to the other – just the files that have changed.
All changed files in your iFIX PDB path are copied when synchronization occurs.

12
Enhanced Failover

Synchronized Items
iFIX items that are synchronized as part of the database synchronization include the:

• Process Database
• SQL trigger (SQT) tasks
• SIM driver registers
• SIM signal generators and parameters
• SM2 driver registers
• Alarm counters
• Alarm logging to ODBC (relational database)

NOTE: AR and DR blocks are synchronized between nodes, however the data for these blocks resides
in the driver's image table. So, during a failover, the available data is supplied by the driver.

Items that Affect Database Synchronization Performance


Items that can affect database synchronization timing include:

• Process database size


• Network speed and non-synchronization traffic
• Speed and bandwidth of hardware components

File Synchronization
In addition to synchronization of the memory-resident parts of iFIX, certain directories and files are
monitored for changes. When changes to files are detected, files are copied from the active node to the
standby node (never in the other direction). Therefore, any file changes made on the standby will not
be synchronized to the active node. If the standby should become active, files will synchronize only if
they saved after the node becomes active.

NOTE: Be aware that if you export a database from the iFIX Database Manager on the standby
SCADA or iClient (View) node, the default location will be the PDB directory of the local computer,
not the SCADA node that is active.

Alarm Management for Enhanced Failover


When using the Enhanced Failover feature you should be aware of the following alarm management
features:

• The Current Alarm, Alarm Priority, Current Value, Latched Alarm, and Alarm
Acknowledgements all reside in the iFIX database. These are included as part of the database
synchronization process.
• If you used Alarm Synchronization (Alarm_sync.exe) in an iFIX release prior to 5.0, this
feature is replaced by the alarm management and database synchronization available in iFIX
5.1. Alarm_sync.exe is obsolete and should no longer be used.

13
Enhanced Failover

• With Enhanced Failover enabled, alarms are generated only on the active SCADA node.
• Since the active node is the only one generating the alarms, only its SAC process is generating
alarms.
• During the failover process, from active to standby, both the standby and active SCADA will
temporarily generate alarms until the failover is complete.
• If the iClient cannot access the active node through iFIX networking, but can access the
standby SCADA through iFIX networking, the iClient uses the data on the standby node. This
allows the Alarm Summary to update the current value and acknowledgement status, but it
does not retrieve any new alarms until it can access the active node.

Understanding Enhanced Failover


When you configure Enhanced Failover, you need to choose one node to be the primary node and the
other to be the secondary. When iFIX starts, each SCADA node will start in standby mode, and then
after SCADA-to-SCADA communication is established, choose its correct state. If both the primary
and secondary nodes can communicate with each other, and they are both in the same state (either
active or standby), then the primary will become active and the secondary will become standby.

During startup, if communication cannot be made to the partner node, then the node being started
becomes the active node. If you can communicate with the partner node and it's active, nothing
happens. However, if the partner node is also in standby node, the primary node becomes active.

If the secondary node starts more quickly than the primary, it will become the active SCADA node.
When the primary starts in this case, it remains on standby until a failure causes it to switch.

When iFIX starts on the iClient, it attempts to establish iFIX networking communication with its
primary and secondary SCADA Servers. If both nodes are available, the iClient establishes an iFIX
networking connection with both of them but retrieves its data and alarms only from the active
SCADA. If only one SCADA Server is available, the iClient establishes a connection with it. If neither
SCADA Server is available, the iClient polls both nodes until it establishes a connection with at least
one SCADA Server.

If an iClient loses its network connection to the active SCADA, the iClient fails over to the standby
SCADA, if available. The client remains connected to the standby SCADA until the active SCADA
becomes available to the client again. In this condition, the client displays an iFIX Notification
message indicating that the client cannot receive alarms, cannot do writes, and may display data that is
out of date. This message box closes within a minute after the iFIX networking connection to the
active SCADA is restored. The message box will remain on the screen until the connection to the
active node is restored, or until the SCADA nodes switch roles.

What Happens when a Failover Occurs?


When a failure is detected, the active node goes into a standby state, and the standby node goes into an
active state. A list of what happens during each change of state is described below.

14
Enhanced Failover

When the active node goes into a standby state:

• SAC goes into a standby state, blocks stop being processed.


• If enabled, Alarm ODBC pauses from processing messages.
• The SCADA Synchronization process (SCADASync.exe) stops pushing data to the standby
SCADA node.
• The active node switches its role (via SCADARoleMgr.exe) to become the standby SCADA
node.

When the standby node goes into an active state:

• SAC goes into an active state, block processing begins.


• The standby node switches its role (via SCADARoleMgr.exe) to become the active SCADA
node.
• Alarm ODBC begins processing messages.
• The SCADA Synchronization process (SCADASync.exe) begins to synchronize with the
standby SCADA.

Alarm Handling for SCADA Servers


When you configure the networking and SCADA options in the SCU for both partner SCADA Servers,
the Alarm Startup Queue Service is automatically enabled. This service ensures that alarms are not lost
during session loss and reconnection, or during failover.

When an alarm occurs on a SCADA Server, the alarm is sent to all iClients. The iClient accepts alarms
from the active node only, regardless of whether it is the primary or secondary SCADA. Alarms are
not generated by the standby SCADA.

At the iClient, alarms and messages display the logical node name in brackets. In the following
example, the logical node name is LNN.

04/29/98 22:49:45.1 [LNN] AI-1 HI 72.00

However, if the message is generated by the Database Manager or because of networking problems,
node names within the alarm text display the physical node name.

When a node is configured as part of a SCADA Server pair, the Alarm Summary Queue on each
SCADA node needs to be twice as big as it would be if the node were not part of a SCADA pair. For
example, if you are generating 500 alarms, the Alarm Summary Queue must be set to 1000. If the
Alarm Summary Queue overflows, you may see alarms appear and disappear in the alarm summary.
Refer to the Implementing Alarms and Messages manual for more information on queue sizes.

Logical Node Names


When configuring Enhanced Failover, you define a logical node name to represent the physical names
of the primary and secondary SCADA nodes. The applications on the iClient should be configured to
communicate with the logical node name. iFIX substitutes the active node name at run time based on

15
Enhanced Failover

which SCADA Server is available. The combination of the logical node name and the physical,
primary and secondary SCADA Server names is referred to as the primary and secondary grouping.
You configure the primary and secondary grouping in the SCU of the iClient and of each SCADA
Server.

The Local Node and Local Logical Names are configured in the Local Startup Definition dialog box of
the System Configuration Utility (SCU). The primary and secondary nodes are configured in the
Failover area of the SCADA Configuration dialog box in the SCU. For iClients, the primary and
secondary groupings are configured in the Remote Nodes area of the Network Configuration dialog
box of the SCU.

I/O Drivers and Enhanced Failover


I/O drivers must be configured separately on each SCADA node, when setting up Enhanced Failover.

With Enhanced Failover, only the real time values for the Simulation (SIM) and Simulation 2 (SM2)
drivers are synchronized between the active and standby nodes. When the database synchronization
occurs, registers update in the SM2 and SIM drivers on the standby node.

NOTE: The SM2 driver increments the retry count if its global section is in use when it tries to poll.
Because the SCADA synchronization process updates this section frequently, the SM2 polling task on
the standby node often finds the section locked.

I/O driver poll tables (other than SM2 and SIM) are not synchronized. For instance, if you have the
MBE driver running on both SCADA nodes, each driver will maintain its own set of values in its I/O
poll table for the contents of the PLC values. It is likely that each poll table will have different values
for the same registers, depending on the timing of the different polls.

Scan, Alarm, and Control (SAC) does not process blocks on the standby SCADA, so there is a
possibility that the I/O driver could stop polling, after the access time expires. This will cause the data
in the I/O poll table to be out of date until SAC starts processing the blocks again. You should balance
your need for the most recent data after a failure with the extra polling traffic on your PLC network.

NOTE: GE Intelligent Platforms 7x drivers support the use of a Primary Rate and Secondary (poll)
Rate. When the Access Time time-out occurs, if configured, polling will occur at the Secondary Rate.
This reduces network traffic, yet allows the poll table of the driver to possess fairly recent data from
the PLC in the event that the SCADA becomes the active SCADA.

Be aware that you may need to reconfigure your driver polling time and access time in the Power Tool,
depending on your needs and the configuration of the driver.

Alarm ODBC Service and Enhanced Failover


The iFIX Alarm ODBC Service writes iFIX alarms and messages to an ODBC-compliant relational
database. When using the Alarm ODBC Service, the Enhanced Failover feature provides for
synchronization of the alarm logging to the ODBC database (relational database). Only the Alarm
ODBC running on the active SCADA will write to SQL. The Alarm ODBC on standby does not write
to SQL.

16
Enhanced Failover

Be aware that when using the Alarm ODBC Service with Enhanced Failover:

• The Alarm ODBC Service does not inform Mission Control if it is running on the active or
standby node. If the counter for the logged alarms is incrementing, then the Alarm ODBC
Service assumes it is the active node. Use the NSD fields to check if the node is active or
standby.
• In the ODBC relational database, knowing whether the active or standby node logged an
alarm message is not easily determined if only the logical node name is logged. If you choose
to log the physical node name column, however, you can determine which SCADA of the
SCADA pair logged them.
• During the process of a failover, there is a small window during which you may get duplicate
alarms, if you have a large burst of alarms when the failover is occurring (while both nodes
think they are still active). You can look for the most recent failover alarm message to see
when the when the failover occurred.
• When a SCADA node is in standby mode, the Alarm ODBC service does not send alarms to
the SQL database. To always send alarms to the SQL database, even in standby mode, you
can include a command line parameter in the fix.ini file to do so. Add a /all to the
"RUN=%ALMODBC.EXE" command in your FIX.ini file, like this:
[ALARM ODBC]
RUN=%ALMODBC.EXE /all

The following figure illustrates some examples of failover alarm messages (shown in a portion of the
Alarm History window):

Proficy Historian and Enhanced Failover


To use Proficy Historian with Enhanced Failover, your Proficy Historian Archiver should not be
installed on either of the SCADA pair; it should be on a remote machine. Proficy Historian Collectors
should be running on your iFIX SCADA nodes – both the primary and secondary. Your collectors can
be configured as redundant collectors, but they do not have to be. To configure redundant collectors,
you use the Proficy Historian Administrator. For more details, refer to the "Using the Historian
Administrator" electronic book in the Proficy Historian online help.

Be aware of the following when working with Proficy Historian and Enhanced Failover:

• If you want to collect data and alarms from SCADAs in an Enhanced Failover pair, you can
do that in the same way as in previous versions of iFIX. To collect data, use an iFIX native
collector or use the Historian OPC collector to the iFIX OPC data server. Put one data
collector on each SCADA in the pair. Be sure to collect data by logical node name. To collect
alarms, put an alarm collector on each SCADA node.

17
Enhanced Failover

• Proficy Historian collectors currently do not support Windows Vista. So, if you want to use
Enhanced Failover and Proficy Historian, do not install iFIX on Windows Vista.
• Tags are added to the default collector selected on the SCADA node from Configure
Historian Server(s) dialog box. To access this dialog box, in the iFIX WorkSpace, in Ribbon
view, on the Administration tab, in the Proficy Historian Group, in the Configure Historian
list, click Configure Historian Server.
• Only a primary collector can be set as the default collector. Secondary collectors are not
available for selection.
• Historical data links are not affected by a SCADA Server failover since they continue to
request data from the same Proficy Historian Archiver.
• The Integrated Historian feature for iFIX allows you to add tags only from an active SCADA
node.
• With the Integrated Historian feature, iFIX always adds tags as
LogicalNodeName.TagName.F_CV except for a text block. For a text block, it is added as
LogicalNodeName.TagName.A_CV.

Customizing the Synchronization Process with SCADASync.ini


The SCADASync.ini file controls many aspects of the synchronization process. Some of the items you
can customize include how log files are created and whether maintenance mode is available on the
active node. By default, the SCADASync.ini is located in the iFIX LOCAL directory. An example of
the SCADASync.ini file appears below:

[SyncManager]
EnableSIMFailureButtons=0
EnablePDBSyncButtons=1
TimeSyncRateMilliSeconds=10000

[ScadaRoleMgr]
ClientConnectiondCheckInterval=60
DelayAutomaticAfterManualSwitch=5

[FileSync0]
FIXDIR=PDBPATH
Inclusion="*.*"
Exclusion="*.TMP;*.EVS;~*.*;*.foo"
IdleTime=5000
Recursive=0

[LogFile]
DeleteOnStartup=1

Key Descriptions of SCADASync.ini


The following table describes the keys available in the SCADASync.ini for customizing the SCADA
synchronization process:

18
Enhanced Failover

Section Key Description

[SyncManager] EnableSIMFailureButtons Specifies whether you allow


a user to simulate a
communication failure for
the corresponding transport.
If the value is 1, buttons are
enabled on the
communication dialog box
and users are allowed to
simulate a communication
failure for the corresponding
transport. A value of 1 is
recommended only in a test
environment.
If the value is 0 (the default),
this simulation cannot occur.
Valid Entries: 0 or 1. The
default value is 0.

EnablePDBSyncButtons Specifies whether the


Maintenance mode button is
available on the active node
in the Database
Synchronization Status
screen of the SCADA Sync
Monitor.
If the value is 1, the
Enable/Disable Maintenance
Mode button is available on
the active node.
If the value is 0, the
Enable/Disable Maintenance
Mode button is unavailable.
Valid Entries: 0 or 1. The
default value is 0.

19
Enhanced Failover

Section Key Description

TimeSyncRateMilliSeconds Represents the delay, in


Milliseconds, between each
database synchronization. By
default, the system is
designed to run as fast as
possible, but you can delay
the synchronization using
this setting, for example.
NOTE: By default, this key
does not appear within the
INI file. You need add it
manually.

[ScadaRoleMgr] ClientConnectionsCheckInterval The interval, in seconds, for


the active SCADA node to
verify that the iClients are
pointing to the correct node.
The lower you set the time
for the interval, the more you
increase the network traffic.
Valid Entries: 10 – 600. The
default value is 60.

DelayAutomaticAfterManualSwitch The number of seconds that


the SCADA Sync role
manager waits before it
makes any active or standby
decisions, after a manual
switch.
Valid Entries: 2 – 60. The
default value is 5.

[FileSync0] FIXDIR The iFIX directory that you


want synchronized. iFIX 5.1
only supports the PDBPATH
directory.
Valid Entries: PDBPATH.

Inclusion The list of files or a specified


filter (each item in this list is
separated by a semi-colon (;)
mark) to send to the standby
node when the file(s) change.
Default Value: “*.*”

20
Enhanced Failover

Section Key Description

Exclusion The list of files or a specified


filter (each item in this list is
separated by a semi-colon (;)
mark) to be excluded from
the file synchronization. iFIX
5.1 only supports:
"*.TMP;*.EVS;~*.*;*.foo"
Valid Entries:
"*.TMP;*.EVS;~*.*;*.foo"

IdleTime The number of milliseconds


that a PDB file remains
unchanged before it is sent
from the active to the standby
node after a failover occurs.
The default value is 5000
milliseconds (5 seconds).
Default Value: 5000

Recursive Specifies if the


synchronization process
should monitor sub-
directories.
If the value is 0, sub-
directories not monitored. In
iFIX 5.1, only 0 is supported.
Valid Entries: 0 or 1. The
default value is 0, and should
not be changed.

21
Enhanced Failover

Section Key Description

[LogFile] DeleteOnStartup Specifies whether the log file


is refreshed or if messages
are added to the existing log
when iFIX starts.
If the value is 1, the
SCADASync.log is emptied
(refreshed) when iFIX starts.
If it the value is 0, new
messages to the
SCADASync.log are
appended to
SCADASync.log when iFIX
starts.
Valid Entries: 0 or 1. The
default value is 1.

iFIXNotification.exe and Enhanced Failover


iFIX Notification (iFIXNotification.exe) notifies a user on a Client that it is only able to communicate
with a standby SCADA node. You cannot write to a standby SCADA node, and a standby SCADA
node does not generate any alarms. Since this limits what the operator can do, a modal message box
appears informing the user about the condition until the active node becomes available again.

When you install iFIX 5.1, a shortcut to the iFIX Notification application is added to your Windows
Startup folder. The iFIX Notification application runs in the background. iFIX Notification is
responsible for displaying a message on the client when it connects to a standby node. If you are not
running iFIX, or do not use Enhanced Failover, you can delete iFIX Notification from the startup
group.

If you terminate the iFIXNotification.exe application, restarting iFIX will not automatically restart the
iFIXNotification application. You must restart Windows or manually run iFIXNotification to restart it.

After you start Windows, the iFIXNotification.exe application keeps running (listed in the Windows
Task Manager) even after iFIX shuts down. Unlike some other iFIX tasks, iFIX Notification does not
prevent iFIX from restarting.

NOTE: If you choose to activate Enhanced Failover at a later date, then you will need to reinstall
iFIX or manually add iFIX Notification to the startup group to take advantage of this feature.

When iFIX Notification Displays the Message


When a client loses its iFIX networking connection to the active SCADA, iFIX fails over to the
standby SCADA, if available. The client remains connected to the standby SCADA until the active
SCADA becomes available to the client again. While in this condition, the client displays an iFIX
Notification message indicating that the client cannot receive alarms, cannot do writes, and may
display data that is out of date. This message box closes within a minute after the iFIX networking

22
Enhanced Failover

connection to the active SCADA is restored. For an example of this error message, refer to the
Network Failure Detection on the iClient section. If it is not possible to restore the connection for some
period of time, you can manually fail the active server so that the standby becomes active. iFIX
Notification (iFIXNotification.exe) then clears the message.

Configuration Examples: Enhanced Failover


The following figure illustrates an example of an Enhanced Failover configuration. It includes two
SCADA Server partners – a primary and secondary node. There is a dedicated network for SCADA-to-
SCADA communication, another network for SCADA-to-iClient communication, and another network
for PLC communication only. There are three iClients accessing the currently active node, and one
PLC on the network, in this example.

The following figure illustrates the same configuration, with an additional LAN (illustrated in purple)
for redundant LAN support.

23
Enhanced Failover

Recovery Examples: Enhanced Failover Behavior


The following scenarios, illustrated in more detail below, describe failure situations that can occur:

• Primary SCADA Unavailable


• Secondary SCADA Unavailable
• Both Primary and Secondary SCADA Unavailable
• iFIX Network to Primary SCADA from the Client Unavailable
• iFIX Network to Secondary SCADA from the Client Unavailable
• Dedicated Network Between Primary and Secondary Unavailable
• Complete Network Failure

This following examples shows one Local Area Network (LAN) for iFIX networking and one
dedicated LAN between the SCADA failover pair as the Primary network for data and alarm
synchronization. Also in use is the iFIX network, as the Secondary network, for data and alarm
synchronization.

The sections that follow describe the recovery state of the primary SCADA, secondary SCADA, and
iClient should one of these scenarios occur.

24
Enhanced Failover

Scenario 1: Primary SCADA Unavailable


The following example illustrates a single local area network (LAN), with a dedicated network for
SCADA synchronization, and a single failure point.

The following table describes the items in the previous figure.

Item State

Primary SCADA Server Unavailable.

Secondary SCADA Server Switches to Active. No Synchronization.

iFIX Client The iFIX Client detects loss of communication to


primary node and switches to newly active node. The
iFIX Client generates a system message that
communication was lost to the primary SCADA node.
The Client obtains data and alarms from secondary
SCADA.

25
Enhanced Failover

Scenario 2: Secondary SCADA Unavailable


The following example illustrates a single local area network (LAN), with a dedicated network for
SCADA synchronization, and another single failure point.

The following table describes the items in the previous figure.

Item State

Primary SCADA Server Active. No Synchronization.

Secondary SCADA Server Unavailable.

iFIX Client The iFIX Client detects loss of communication to


secondary node. The iFIX Client generates a system
message that communication was lost to the secondary
SCADA node. The Client continues to obtain data and
alarms from Primary SCADA.

26
Enhanced Failover

Scenario 3: Both Primary and Secondary SCADA Unavailable


The following example illustrates a single local area network (LAN), with a dedicated network for
SCADA synchronization, and two failure points.

The following table describes the items in the previous figure.

Item State

Primary SCADA Server Unavailable.

Secondary SCADA Server Unavailable.

iFIX Client The iFIX Client generates a system message that


communication was lost to both the primary and
secondary SCADA nodes. The iFIX Client fails to
obtain data and alarms.

27
Enhanced Failover

Scenario 4: iFIX Network to Primary SCADA from the Client Unavailable


The following example illustrates a single local area network (LAN), with a dedicated network for
SCADA synchronization, and a single failure point.

The following table describes the items in the previous figure.

Item State

Primary SCADA Server Active. Synchronization occurs over dedicated network.

Secondary SCADA Server Standby. Since active and standby nodes are
communicating over the dedicated network, they never
switch.

iFIX Client The iFIX Client generates a system message that


communication was lost to the primary SCADA node.
The iFIX Client switches to the standby SCADA and
fails to obtain up-to-date data directly from the active
SCADA. The iClient reads data from the standby
SCADA but will not get new alarms. The iFIX
Notification application displays a message in this
situation. Writes from the iClient node are not allowed.

28
Enhanced Failover

Scenario 5: iFIX Network to Secondary SCADA from the Client Unavailable


The following example illustrates a single local area network (LAN), with a dedicated network for
SCADA synchronization, and a single failure point.

The following table describes the items in the previous figure.

Item State

Primary SCADA Server Active. Synchronization occurs over dedicated network,


if configured.

Secondary SCADA Server Standby.

iFIX Client The iFIX Client generates a system message that


communication was lost to the secondary SCADA
node. The Client continues to obtain data and alarms
from the primary SCADA.

29
Enhanced Failover

Scenario 6: Dedicated Network Between Primary and Secondary


Unavailable
The following example illustrates a single local area network (LAN), with a dedicated network for
SCADA synchronization, and a single failure point.

The following table describes the items in the previous figure.

Item State

Primary SCADA Server Active. Synchronization occurs over LAN1.

Secondary SCADA Server Standby.

iFIX Client The iFIX Client obtains data and alarms from the
primary SCADA.

30
Enhanced Failover

Scenario 7: Complete Network Failure


The following example illustrates a single local area network (LAN), with a dedicated network for
SCADA synchronization, and multiple failure points.

The following table describes the items in the previous figure.

Item State

Primary SCADA Server Active. No Synchronization.

Secondary SCADA Server Active. No Synchronization.

iFIX Client The iFIX Client generates a system message that


communication was lost to both the primary and
secondary SCADA nodes. The iFIX Client fails to
obtain data and alarms.

Configuring a SCADA Server Pair for


Enhanced Failover
This section provides detailed information on configuring Enhanced Failover. It includes the following
sections:

• Checklist for Enhanced Failover Configuration


• Configure Computers for Enhanced Failover

31
Enhanced Failover

• Assigning Physical and Logical Node Names


• Enabling Enhanced Failover
• Configuring Data Transport for Options for Enhanced Failover
• Configuring iClients
• Disabling the Inactivity Timer for the SCADA Pair
• Disabling the 1914 Error Message
• Testing Your Enhanced Failover Configuration
• Tips for Enhanced Failover Configurations

NOTE: After you perform all the required steps for configuration in the System Configuration Utility
(SCU), you will need to save the changes. Restart iFIX on each computer to apply the changed
settings.

Configuring Computers for Enhanced Failover


Confirm that your primary and secondary computers meet the minimum hardware requirements for the
Enhanced Failover feature. For a list of supported hardware, refer to the Hardware Requirements
section of the iFIX Getting Started guide, or the IPI.

For Enhanced Failover, it is required that you use one additional Gigabit-Ethernet card (or better) for
dedicated SCADA-to-SCADA synchronization traffic (for a total of at least two network cards).

Use the following checklist to confirm that your primary and secondary computers are configured
properly before continuing with the rest of the Enhanced Failover configuration. Validate that the
SCADAs, I/O drivers, and iClients function independently before continuing with the Enhanced
Failover configuration.

The next set of configuration steps describe how to enable Enhanced Failover and defines partner
nodes, so that the SCU configuration on both the primary and secondary nodes is also the same.

Preparation Checklist for Enhanced Failover


When you configure the primary and secondary computers for Enhanced Failover, both SCADA
computers should be configured the same way. Each computer should have:

• A License key with the Enhanced Failover option enabled.


• One additional Gigabit-Ethernet card (or better) dedicated for SCADA-to-SCADA traffic (for
a total of two network cards). The dedicated SCADA-to-SCADA network card should be
excluded from the iFIX-to-iFIX network (not enabled for LAN redundancy), and used
exclusively for Enhanced Failover synchronization. Both network cards must be of the same
speed, and appear on the compatibility list for each card. It is strongly recommended that the
cards be of the same make and model number, and use the same drivers.
• Both network cards should be installed and configured properly on both SCADAs. The wake-
up upon receiving a socket or/and request feature must be disabled on the dedicated SCADA-
to-SCADA network card. SpeedStep® technology is not supported and must not be enabled.
Additionally, due to limited bandwidth and latency, it is strongly advised that you do not use
wireless networking technology in your networking solution.

32
Enhanced Failover

• Each network card (NIC) should have a name. For instance, you can use iFIX, SCADA Sync,
a company network name, and so on. Did you record the IP address? The NIC slot/order or IP
address could be affected. It is desirable that both machines have the same NIC cards and NIC
order (slot). The power save settings on your computers and dedicated network card (NIC)
must be disabled. Do not use any power setting features that affect CPU clock speed.
• All network cables and connections should be correct. You must use a direct connection via a
Cat6 crossover cable, without going through any switches, hubs, or routers.
• Jumbo Frames technology must be used on the dedicated network for Enhanced Failover.
Jumbo Frames technology allows for an Ethernet frame of 9000 MTU for the payload,
compared to a frame of 1500 bytes without the Jumbo Frames
• Additional hardware requirements should be met:
• A 3 GHz Dual-Core CPU. For better performance, please consider using higher. Be
aware that the computer processor must be Dual-Core; a single hyperthreaded core is
not supported.
• A minimum of 4 GB RAM. For better performance, please consider using more.
• A minimum of 1 GB of free hard drive space. Even after allowing for an extra GB
for iFIX, it is strongly recommended that many GBs of additional free space exist on
the hard drive to avoid performance issues.
• For more hardware requirements, refer to the System Requirements tab in the IPI.
• The same version of the Windows operating system running.
• The same major and minor version of iFIX with the same SIMs installed, if any, on both the
primary and secondary nodes.
IMPORTANT: If Proficy Historian is integrated with iFIX, be sure to additionally review the
Proficy Historian and Enhanced Failover section.

• The same iFIX security configuration in the Enhanced Failover pair, plus all View/iClient
nodes connecting to the SCADA Server. In order to automatically fail over, you need to have
either security enabled on all nodes, or security disabled on all nodes. Discrepancies in
security configuration levels may result in an inability to automatically fail over.
• The same I/O drivers with the same configuration, including polling times. Confirm the I/O
drivers are listed in the same order in both SCUs, on both SCADAs.
• The same Database (.PDB) files on both the primary and secondary nodes. Both Primary and
Secondary SCADAs should be shut down when you copy the iFIX PDB and Driver files from
the Primary SCADA to the Secondary SCADA.
• The same Database Dynamos (loadable blocks) installed. Be sure that the slot numbers for
Database Dynamos are also identical. For more information on slot numbers, refer to the steps
in the Understanding Slot Numbers section in the Building a SCADA System e-book.
NOTE: Database Dynamo mismatches cause the synchronization process to fail, and may
prevent your standby computer from becoming active.

• Connections to the same PLC(s).


• The same system time.
• Identical iFIX system configuration for any of the following items, if used:
• User and application features, if security is enabled in iFIX

33
Enhanced Failover

• PIC directory (optional)


• .INI files, including the Scadasync.ini, network.ini, and filterderrors.ini (optional)
• Background Scheduler
• System Extension Toolkit (STK) modules
• Integration Toolkit or Productivity Pack
• Alarm Services
• Alarm printer, file, history queues, and areas
• Auto Alarm Manager (AAM)
• Proficy Historian Collectors
• iFIX security settings

NOTE: The Alarm Areas (AAD) need to be defined on the local node and then synchronized with the
partner node. Even though the LogicalName may point to the local node, in the AAD it could be
pointing to the partner node. With the desired .PDB loaded on the active SCADA, copy the
AlarmAreas.AAD file from the PDB folder on the active SCADA to the PDB folder on the standby
SCADA. File Synchronization will, by default, copy the .AAD file. You should now be able to view
Alarm Areas correctly on either SCADA node.

Checklist for Enhanced Failover Configuration


To ensure that you configured the Enhanced Failover feature properly, use the following checklist.
This checklist lists each task in the configuration process, and whether it applies to the primary node,
secondary node, and/or iClient.

Task Primary Secondary iClient(s) For more


SCADA SCADA information
see...

Confirm that each Hardware


computer's hardware is Requirements
setup correctly and meets section of the
the minimum requirements. iFIX Getting
Started guide

Validate that all iFIX Configure


systems run properly, Computers for
making sure that the Enhanced
SCADA Servers, I/O Failover
drivers, and Clients function
independently before even
starting to configure
Enhanced Failover.

34
Enhanced Failover

Task Primary Secondary iClient(s) For more


SCADA SCADA information
see...

Define the local and logical Assigning


node names in the SCU. Physical and
Logical Node
Names

Enable Enhanced Failover Enabling


and configure your primary Enhanced
and secondary pair in the Failover
SCU.

Enable at least one LAN Configuring


adapter for data Data Transport
synchronization and for Options for
configure IP addresses in Enhanced
the Data Transport Options Failover
dialog box in the SCU.

Add the logical name of the


SCADA pair in the remote Configuring
node list on the iClient. iClients

In the remote node list of


iClient, enable the logical Configuring
node name and define the iClients
Primary Node and
Secondary Node.

Disable the inactivity timer Disabling the


on the SCADA pair. Inactivity Timer
for the SCADA
Pair

Disable the 1914 error Disabling the


message. 1914 Error
Message

Validate your Enhanced Testing Your


Failover configuration. Enhanced
Failover
Configuration

35
Enhanced Failover

Configuring Computers for Enhanced Failover


Confirm that your primary and secondary computers meet the minimum hardware requirements for the
Enhanced Failover feature. For a list of supported hardware, refer to the Hardware Requirements
section of the iFIX Getting Started guide, or the IPI.

For Enhanced Failover, it is required that you use one additional Gigabit-Ethernet card (or better) for
dedicated SCADA-to-SCADA synchronization traffic (for a total of at least two network cards).

Use the following checklist to confirm that your primary and secondary computers are configured
properly before continuing with the rest of the Enhanced Failover configuration. Validate that the
SCADAs, I/O drivers, and iClients function independently before continuing with the Enhanced
Failover configuration.

The next set of configuration steps describe how to enable Enhanced Failover and defines partner
nodes, so that the SCU configuration on both the primary and secondary nodes is also the same.

Preparation Checklist for Enhanced Failover


When you configure the primary and secondary computers for Enhanced Failover, both SCADA
computers should be configured the same way. Each computer should have:

• A License key with the Enhanced Failover option enabled.


• One additional Gigabit-Ethernet card (or better) dedicated for SCADA-to-SCADA traffic (for
a total of two network cards). The dedicated SCADA-to-SCADA network card should be
excluded from the iFIX-to-iFIX network (not enabled for LAN redundancy), and used
exclusively for Enhanced Failover synchronization. Both network cards must be of the same
speed, and appear on the compatibility list for each card. It is strongly recommended that the
cards be of the same make and model number, and use the same drivers.
• Both network cards should be installed and configured properly on both SCADAs. The wake-
up upon receiving a socket or/and request feature must be disabled on the dedicated SCADA-
to-SCADA network card. SpeedStep® technology is not supported and must not be enabled.
Additionally, due to limited bandwidth and latency, it is strongly advised that you do not use
wireless networking technology in your networking solution.
• Each network card (NIC) should have a name. For instance, you can use iFIX, SCADA Sync,
a company network name, and so on. Did you record the IP address? The NIC slot/order or IP
address could be affected. It is desirable that both machines have the same NIC cards and NIC
order (slot). The power save settings on your computers and dedicated network card (NIC)
must be disabled. Do not use any power setting features that affect CPU clock speed.
• All network cables and connections should be correct. You must use a direct connection via a
Cat6 crossover cable, without going through any switches, hubs, or routers.
• Jumbo Frames technology must be used on the dedicated network for Enhanced Failover.
Jumbo Frames technology allows for an Ethernet frame of 9000 MTU for the payload,
compared to a frame of 1500 bytes without the Jumbo Frames
• Additional hardware requirements should be met:
• A 3 GHz Dual-Core CPU. For better performance, please consider using higher. Be
aware that the computer processor must be Dual-Core; a single hyperthreaded core is
not supported.

36
Enhanced Failover

• A minimum of 4 GB RAM. For better performance, please consider using more.


• A minimum of 1 GB of free hard drive space. Even after allowing for an extra GB
for iFIX, it is strongly recommended that many GBs of additional free space exist on
the hard drive to avoid performance issues.
• For more hardware requirements, refer to the System Requirements tab in the IPI.
• The same version of the Windows operating system running.
• The same major and minor version of iFIX with the same SIMs installed, if any, on both the
primary and secondary nodes.
IMPORTANT: If Proficy Historian is integrated with iFIX, be sure to additionally review the
Proficy Historian and Enhanced Failover section.

• The same iFIX security configuration in the Enhanced Failover pair, plus all View/iClient
nodes connecting to the SCADA Server. In order to automatically fail over, you need to have
either security enabled on all nodes, or security disabled on all nodes. Discrepancies in
security configuration levels may result in an inability to automatically fail over.
• The same I/O drivers with the same configuration, including polling times. Confirm the I/O
drivers are listed in the same order in both SCUs, on both SCADAs.
• The same Database (.PDB) files on both the primary and secondary nodes. Both Primary and
Secondary SCADAs should be shut down when you copy the iFIX PDB and Driver files from
the Primary SCADA to the Secondary SCADA.
• The same Database Dynamos (loadable blocks) installed. Be sure that the slot numbers for
Database Dynamos are also identical. For more information on slot numbers, refer to the steps
in the Understanding Slot Numbers section in the Building a SCADA System e-book.
NOTE: Database Dynamo mismatches cause the synchronization process to fail, and may
prevent your standby computer from becoming active.

• Connections to the same PLC(s).


• The same system time.
• Identical iFIX system configuration for any of the following items, if used:
• User and application features, if security is enabled in iFIX
• PIC directory (optional)
• .INI files, including the Scadasync.ini, network.ini, and filterderrors.ini (optional)
• Background Scheduler
• System Extension Toolkit (STK) modules
• Integration Toolkit or Productivity Pack
• Alarm Services
• Alarm printer, file, history queues, and areas
• Auto Alarm Manager (AAM)
• Proficy Historian Collectors
• iFIX security settings

37
Enhanced Failover

NOTE: The Alarm Areas (AAD) need to be defined on the local node and then synchronized with the
partner node. Even though the LogicalName may point to the local node, in the AAD it could be
pointing to the partner node. With the desired .PDB loaded on the active SCADA, copy the
AlarmAreas.AAD file from the PDB folder on the active SCADA to the PDB folder on the standby
SCADA. File Synchronization will, by default, copy the .AAD file. You should now be able to view
Alarm Areas correctly on either SCADA node.

Assigning Physical and Logical Node Names


The physical node name is the local iFIX node name, and should be unique within your iFIX network.
The logical node name is a name that represents the Enhanced Failover SCADA pair (that is, the name
will be the same on both SCADAs). Both the physical and logical node names must be defined on the
primary and standby SCADA nodes.

Use the Local Startup Definition dialog box in the System Configuration Utility (SCU) to define the
physical (local) and logical node names. In the SCU, you define the local node name and logical node
name in the Local Startup Definition dialog box. The following figure shows an example of the Local
Startup Definition dialog box for a primary node named FOXBORO, and a secondary node named
ALBANY. Both areas are highlighted in the following figure. The logical node name for both is
SCADA.

Primary and Secondary Node, Local Startup Definition Dialog Box

To define your local and logical node names on the primary SCADA:

1. On the Start menu, point to Programs, Proficy HMI/SCADA - iFIX, and then System
Configuration. The System Configuration Utility (SCU) appears.
2. On the Configure menu, click Local Startup. The Local Startup Definition dialog box appears.

3. In the Local Node Name field, enter the unique primary node name.
4. In the Local Logical Name field, enter the common logical node name.
5. Click OK.

38
Enhanced Failover

To define your local and logical node names on the secondary SCADA:

1. On the Start menu, point to Programs, Proficy HMI/SCADA - iFIX, and then System
Configuration. The System Configuration Utility (SCU) appears.
2. On the Configure menu, click Local Startup. The Local Startup Definition dialog box appears.
3. In the Local Node Name field, enter the unique primary node name.
4. In the Local Logical Name field, enter the common logical node name.
5. Click OK.

Enabling Enhanced Failover


In order to use the Enhanced Failover feature, you must enable it and define the SCADA pair. Use the
SCADA Configuration dialog box in the System Configuration Utility (SCU) to enable redundancy
and define the partner nodes (primary and secondary pairing). These steps must be performed on both
the primary and secondary nodes.

Use the SCADA Configuration dialog box to configure these items. The following figure shows an
example of the SCADA Configuration dialog box for a primary node named FOXBORO, where a
secondary node named ALBANY is defined. The Failover area of the dialog box is highlighted in the
following figure.

39
Enhanced Failover

Primary Node, SCADA Configuration Dialog Box

The next figure shows the portion of the SCADA Configuration dialog box that you edit for a
secondary node named ALBANY. The primary SCADA node name FOXBORO is defined.

Secondary Node, Portion of SCADA Configuration Dialog Box Requiring Edits

40
Enhanced Failover

To enable Redundancy and configure pairs on the primary SCADA:

1. On the Start menu, point to Programs, Proficy HMI/SCADA - iFIX, and then System
Configuration. The System Configuration Utility (SCU) appears.
2. On the Configure menu, click SCADA. The SCADA Configuration dialog box appears.
3. In the Failover area, select the Enable check box.
4. In the Node area, select the Primary option.
5. In the Secondary SCADA Name field, enter the name of your secondary SCADA node.
6. Click OK.

To enable Redundancy and configure pairs on the secondary SCADA:

1. On the Start menu, point to Programs, Proficy HMI/SCADA - iFIX, and then System
Configuration. The System Configuration Utility (SCU) appears.
2. On the Configure menu, click SCADA. The SCADA Configuration dialog box appears.
3. In the Failover area, select the Enable check box.
4. In the Node area, select the Secondary option.
5. In the Primary SCADA Name field, enter the name of your primary SCADA node.
6. Click OK.

Configuring Data Transport for Options for Enhanced Failover


For Enhanced Failover, you need to select and enable available network LAN adapter(s) to use for data
synchronization and to define the IP address(es) for the partner SCADA. The data transport options
should be defined when you first configure your primary and secondary SCADA nodes. You must
already have your hardware installed and configured (obtain an IP Address) before you can enter your
iFIX configuration.

The Partner Address field must be defined on both the primary and secondary SCADA nodes. You
also select which LAN adapter(s) to use for data synchronization and select their order. The two
network cards (for these two IP addresses) need to be on the same physical network, and should be
static or fixed IP addresses. All adapters listed are enabled by default. You should disable any adapter
you do not want to use for data synchronization.

LAN adapters defined in the Data Sync Transport Options dialog box in the SCU are used only for
database synchronization between the SCADA pair and are not related to LAN adapters that are
defined and set up for iFIX networking in Advanced Network Configuration dialog box. Up to three
data transport options can be configured in the Data Sync Transport Options dialog box.

If you add or remove LAN adapters at a later date, you will need to re-configure the data
synchronization transport options, as well as the network configuration settings in the SCU. The
primary, secondary, and tertiary LAN connections and partner IP address must be entered for each
LAN.

To configure your data transport options and define the IP address for the partner SCADA:

1. Open the System Configuration Utility (SCU).

41
Enhanced Failover

2. In the SCADA Configuration dialog box, click the Data Sync Transport button. The Data
Sync Transport Options dialog box appears.
3. Select or enter your options.

The following example shows the Data Sync Transport Options dialog box for a primary node with the
Partner's Address field highlighted. In this figure, the secondary node partner, ALBANY, has an IP
address of 123.123.123.13.

Primary Node, Data Sync Transport Dialog Box

The next figure shows the portion of the Data Sync Transport Options dialog box that you edit for the
secondary node, ALBANY. The primary node partner, FOXBORO, has an IP address of
123.123.123.12. Notice how the Address and Partner's Address fields are reversed.

42
Enhanced Failover

Secondary Node, Portion of Data Sync Transport Dialog Box Dialog Box Requiring Edits

In this example, all three networks are enabled: the Primary, Secondary, and Tertiary. It is not required
for all three network choices to be Gigibit-Ethernet cards; however, it is strongly recommended that
you use at least one Gigabit-Ethernet card for dedicated SCADA-to-SCADA traffic, as the Primary
data transport.

In this example, the dedicated network for SCADA-to-SCADA traffic is the Primary transport. The
Secondary and Tertiary transports in this example are used for LAN Redundancy. In the example,
LAN 2 is the secondary network, because it is the backup LAN in the Redundant LAN configuration.
LAN 1, which, as the primary LAN for the LAN Redundancy configuration, will have more network
traffic than the backup, is specified as the Tertiary network for database synchronization. The
following figure illustrates how these three transport options map to the dedicated networks, LAN 1,
and LAN 2.

NOTE: Although this example shows Enhanced Failover configured with LAN Redundancy, both
Enhanced Failover and LAN Redundancy do not have to be configured together. One can be
configured separately without the other. Primary, Secondary, and Tertiary data transport options (up
to 3 transports) can be configured even without LAN Redundancy.

43
Enhanced Failover

Data Sync Transport Options Dialog Box


The following table describes the fields in the Data Sync Transport Options dialog box.

Item Description

Description area Lists all available LAN adapters to use in primary, secondary, and
tertiary networks in the order of priority for network usage. Up to
three LAN adapters can display in this field.
Use the Up and Down arrows to move a network adapter up or
down in the list, to change the priority levels.
The descriptions that appear here match what appears in the network
configuration for the operating system.

Enable Select this check box to use the selected LAN adapter for data
synchronization between the SCADA pair as well as to enable the
settings in the Data Sync Transport Options dialog box, such as the
timers and partner address, for configuration.

MAC Address This field is for viewing purposes only. The Media Access Control
(MAC) address represents a unique identifier for the selected
network adapter on the local computer.

Address This field is for viewing purposes only. The Address is the IP
address for the selected network adapter on the local computer.
Enter the Address in this field into the Partner Address field on the
other node in the pair.

Partner's Address Enter the IP address of the partner SCADA node.


If you are configuring the primary SCADA, this IP address is the IP
address of a specified network adapter card on the secondary
SCADA node.
If you are configuring the secondary SCADA, this IP address is the
IP address of a specified network adapter card on the primary
SCADA.
The IP address that you enter should be a static or fixed IP address.
Do not use DNS-assigned IP addresses for Enhanced Failover.

Watchdog Time Enter a value, in seconds, indicating how long you want to wait if
you have not heard from the partner SCADA. A ping message
(data packet) is sent to the partner SCADA if there has been no
communication with the partner node in this time period.

By default, this value is 0.250 seconds.

44
Enhanced Failover

Item Description

Watchdog Timeout Enter a value, in seconds, indicating how long you want iFIX
(ScadaSync.exe) to wait before determining that this transport is not
connected.
By default, this value is 1.000 second.

Message Timeout Enter a value, in seconds, indicating how long the SCADA
synchronization data transfer services waits for an
acknowledgement from the partner SCADA (indicating that a data
packet is received successfully). If an acknowledgement is not
received by this time-out period, the retry logic initiates according to
the value of the Message Retry field.
When a message times out, the SCADA Sync Monitor (a diagnostic
program) displays a message on the debug output screen. On this
screen, the timer will show up as milliseconds. For more
information on this screen in the SCADA Sync Monitor, refer to the
Debug Log for Troubleshooting section.
By default, the Message Timeout value is 0.500 seconds.

Message Retry Enter the number of times to retry sending a data packet, if an error
or time-out occurred.
By default, this value is 3.

Bandwidth Limit Enter the number of megabytes that you want to throttle network
traffic for. By default, this value is 0 (no throttling).
If a non-dedicated network between the SCADA pair is being used
for data synchronization, this setting should be utilized so as to not
consume an inordinate amount of network bandwidth.
As an example, on a dedicated Gigabit-Ethernet, values between 20
and 30 MB/s are typical.

Reset to Defaults Click this button to replace the current settings in the Data Sync
Transport Options dialog box with the default, factory settings.

Steps to Configure the Data Transports for Synchronization

To define the data synchronization network transports on the primary SCADA:

1. On the Start menu, point to Programs, Proficy HMI/SCADA - iFIX, and then System
Configuration. The System Configuration Utility (SCU) appears.
2. On the Configure menu, click SCADA. The SCADA Configuration dialog box appears.
3. In the Failover area, confirm that the Enable check box is selected. If it is not, select Enable
now.

45
Enhanced Failover

4. In the Failover area, click the Data Sync Transport button. The Data Sync Transport dialog
box appears.
5. In the Description list, highlight the network LAN adapter to use for data synchronization
between the SCADA pair.
6. Select the Enable check box.
7. If you want the enabled adapter to appear on another line (slot), you can move the adapter up
or down in the list using the up and down arrow buttons.
8. In the Partner's Address field, enter the IP address of the secondary node.
9. Leave the default settings for the rest of the fields.
10. Click OK.

To define the data synchronization network transports on the secondary SCADA:

1. On the Start menu, point to Programs, Proficy HMI/SCADA - iFIX, and then System
Configuration. The System Configuration Utility (SCU) appears.
2. On the Configure menu, click SCADA. The SCADA Configuration dialog box appears.
3. In the Failover area, confirm that the Enable check box is selected. If it is not, select Enable
now.
4. In the Failover area, click the Data Sync Transport button. The Data Sync Transport dialog
box appears.
5. In the Description list, highlight the network LAN adapter to use for data synchronization
between the SCADA pair.
6. Select the Enable check box.
7. If you want the enabled adapter to appear on another line (slot), you can move the adapter up
or down in the list using the up and down arrow buttons.
8. In the Partner's Address field, enter the IP address of the primary node.
9. Leave the default settings for the rest of the fields.
10. Click OK.

Configuring iClients
To configure an iClient for Enhanced Failover, in the SCU for the iClient, you must add the logical
name of the SCADA pair to the remote node list in the Network Configuration dialog box. You must
do this for all iClients, as well as the primary and secondary pairing for this SCADA node. The
following figure shows an example of the Network Configuration dialog box for an iClient node with
the fields requiring edits highlighted.

46
Enhanced Failover

After you make these changes in the Network Configuration dialog box, you need to configure the
logical node name in the Remote Network Configuration dialog box. These steps must be performed
on all iClient or View nodes that obtain data from the SCADA pair. The following example shows the
Remote Network Configuration dialog box for an iClient node with the fields requiring edits
highlighted. The primary node name is FOXBORO, while the secondary node name is ALBANY, and
logical node name is SCADA.

iClient, Remote Node Configuration Dialog Box

47
Enhanced Failover

How the iClient Works in Run Mode


When iFIX starts, the iClient attempts to establish iFIX networking communication with its primary
and secondary SCADA Servers.

If both nodes are available, the iClient establishes an iFIX networking connection with both of them
but will get its data and alarms only from the active SCADA. If only one SCADA Server is available,
the iClient establishes a connection with it. If neither SCADA Server is available, the iClient polls both
nodes until it establishes a connection with at least one SCADA server.

If iFIX is stopped on the active SCADA, the computer is shut down, all networking to the SCADA
fails, or a manual failover is initiated, the standby SCADA will become the active SCADA. All
iClients nodes will switch to the newly active node and will now get their data and alarms from the
newly active SCADA.

If LAN Redundancy is not enabled (only one network path is enabled for iFIX
Networking):

If the iClient loses its iFIX networking connection to the active SCADA, it fails over to the standby
SCADA, if available. The iClient remains connected to the standby SCADA until the active SCADA
becomes available to the iClient again. In this condition, the iClient displays an iFix Notification
message indicating that you will not receive alarms, cannot do writes, and displayed data may be out of
date. This message box closes within a minute after iFIX networking connection to the active SCADA
is restored. If a write is attempted in this condition, the following prompt displays: “Cannot write
value. The SCADA node is in Standby mode.” You will also receive a prompt if you attempt to modify
the database from the Database Manager on the iClient node.

If LAN Redundancy is enabled (two network paths are enabled for iFIX Networking):

If the iClient loses its iFIX networking connection to the active SCADA, the LAN redundancy feature
will switch to use the other iFIX network to continue to get data and alarms from the active SCADA. If
the second iFIX network also fails, the iClient fails over to the standby SCADA, if available. The
iClient remains connected to the standby SCADA until the active SCADA becomes available to the
iClient again. In this condition, the iClient will display an iFIX Notification message indicating that
you will not receive alarms, cannot do writes, and displayed data may be out of date. This message box
closes within a minute after iFIX networking connection to the active SCADA is restored. If a write is
attempted in this condition, the following prompt displays: “Cannot write value. The SCADA node is
in Standby mode.” You will also receive a prompt if you attempt to modify the database from the
Database Manager on the iClient node.

Steps to Configure
1. Add the remote node on the iClient.
2. Configure the logical node name (remote node) on the iClient.
IMPORTANT: If you use Enhanced Failover with LAN Redundancy, you must also update the HOSTS
file on the primary computer, the secondary computer, and all iClient computers that connect to the
active SCADA Server pair. Make sure that the HOSTS files contain static or fixed IP addresses for the
primary and secondary SCADA nodes.

To add the remote node on the iClient:

1. On the Start menu, point to Programs, Proficy HMI/SCADA - iFIX, and then System

48
Enhanced Failover

Configuration. The System Configuration Utility (SCU) appears.


2. On the Configure menu, click Network. The Network Configuration dialog box appears.
3. In the Network area, select the TCP/IP option.
4. In the Remote Node Name field, enter the name of the logical node name of the SCADA pair.
5. Click Add. The name now appears in the Configured Remote Nodes list.
6. Click OK.

To configure the logical node name (remote node) on the iClient:

1. On the Start menu, point to Programs, Proficy HMI/SCADA - iFIX, and then System
Configuration. The System Configuration Utility (SCU) appears.
2. On the Configure menu, click Network. The Network Configuration dialog box appears.
3. In the Configured Remote Nodes list, select the logical node name that you added.
4. Click Configure. The Remote Node Configuration dialog box appears.
5. Select the Enable Logical Node Name check box.
6. In the Primary Node field, enter the primary node's local node name.
7. In the Secondary Node field, enter the secondary node's local node name.
8. Click OK to close the Remote Node Configuration dialog box.
9. Click OK.

Disabling the Inactivity Timer for the SCADA Pair


On the primary and secondary SCADA nodes, it is recommended that you disable the inactivity timer
in the Advanced Network Configuration dialog box in the SCU to improve performance. To view the
Network Timers, in the SCU, on the Configure menu, click Networks. Click the TCP/IP option and
then click Advanced to display the Advanced Network Configuration dialog box.

The Inactivity Timer check box allows you to specify the amount of time that an iFIX node waits
before removing a connection from its list of outgoing connections if no data activity has occurred. If
this timer expires, the session ends. By disabling this option, a switch from active to standby (and vice
versa) will occur at a faster speed when a failure is detected. The following figure shows an example of
a portion of the Advanced Network Configuration dialog box with the Inactivity check box highlighted
and disabled.

49
Enhanced Failover

Advanced Network Configuration Dialog Box

To disable the Inactivity Timer on the primary SCADA:

1. On the Start menu, point to Programs, Proficy HMI/SCADA - iFIX, and then System
Configuration. The System Configuration Utility (SCU) appears.
2. On the Configure menu, click Network. The Network Configuration dialog box appears.
3. In the Network area, select the TCP/IP option.
4. In the Options area, click the Advanced button. Click Yes when prompted to continue. The
Advanced Network Configuration dialog box appears.
5. In the Network Timers area, clear the Inactivity Timer check box.
6. Leave the default settings for the rest of the fields in this dialog box.
7. Click OK to return to the Network Configuration dialog box.
8. Click OK.

To disable the Inactivity Timer on the secondary SCADA:

1. On the Start menu, point to Programs, Proficy HMI/SCADA - iFIX, and then System
Configuration. The System Configuration Utility (SCU) appears.
2. On the Configure menu, click Network. The Network Configuration dialog box appears.
3. In the Network area, select the TCP/IP option.
4. In the Options area, click the Advanced button. The Advanced Network Configuration dialog
box appears.
5. In the Network Timers area, clear the Inactivity Timer check box.
6. Leave the default settings for the rest of the fields in this dialog box.
7. Click OK to return to the Network Configuration dialog box.
8. Click OK.

50
Enhanced Failover

Disabling the 1914 Error Message


When an iClient establishes a connection to an active SCADA Server node, it starts to read data from
that node. When the active SCADA Server node becomes unavailable or manual switching of the
active SCADA occurs, the iClient momentarily loses its session with that node, causing a message box
to appear with following message:

1914: Node.Tag.Field Connection Not Established With Node

To suppress this message from appearing on screen, edit the FilteredErrors.ini file, which is located in
the C:\Program Files\Proficy\Proficy iFIX\Local directory. Add the 1914 error code to the
FilteredErrors.ini file, as shown in the following example:

;To add an error code to be filtered increment the count and set
;the Error equal to the return code

[ErrorCodes]
Count = 4
Error1 = 1620
Error2 = 1914
Error3 = 1915
Error4 = 8517

In this example, all typical network session errors are suppressed. After you edit the
FILTEREDERRORS.INI file, restart the Proficy iFIX WorkSpace to ensure your changes take effect.

To suppress the 1914 message from appearing on screen:

1. Open the FilteredErrors.ini file in a text editor, such as Notepad. The FilteredErrors.ini file is
typically located in the C:\Program Files\Proficy\Proficy iFIX\Local directory.
2. Add a line for your entry, as in the following example:
;To add an error code to be filtered increment the count and set
;the Error equal to the return code

[ErrorCodes]
Count = 4
Error1 = 1620
Error2 = 1914
Error3 = 1915
Error4 = 8517

3. Save the file.

Testing Your Enhanced Failover Configuration


After you complete your Enhanced Failover configuration, be sure to save your changes in the System
Configuration Utility (SCU) on both the primary and secondary nodes. You can now begin to test your
changes. Validate each node independently, then validate the pair.

51
Enhanced Failover

To test your nodes:

1. Start the Primary node and verify that it's working properly.
2. After you confirm the Primary node is working properly, shutdown the Primary node.
3. Start the Secondary node and verify that it's working properly.
4. After you confirm the Secondary node is working properly, shutdown the Secondary node.
5. Restart the Primary node.
6. Restart the Secondary node. This allows the SCADAs to start in the preferred SCADA roles:
the Primary as Active, and the Secondary as Standby.
7. Allow a minute or two for the nodes to connect, ensuring all data & alarms settle out before
the Failover status changes.
8. Confirm that the Primary SCADA starts as the Active node and all driver and PLC
communications are good. The iClients should connect to the Primary and have the ability to
change and read data. The Secondary SCADA should start up as the Standby node.

Use the following tools to help you monitor the initial status of the Enhanced Failover pair and the
network:

• Windows Task Manager, Networking tab – to see if your networking cards are doing what
they are configured to do, and that each adapter is performing appropriately.
• Windows Task Manager, Processes tab – to verify that ScadaSync.exe and ScadaRoleMgr.exe
are listed as running on both SCADAs.
• SCADA Sync Monitor – to display runtime information about the primary and secondary
SCADA Servers.
• Runtime Information Fields – to display additional runtime information available about your
primary and secondary SCADA Servers, that does not already display in the SCADA Sync
Monitor. These fields can be added to pictures or EDA applications. For example, these fields
allow you to access more information about your data sync transports than you can in the
SCADA Sync Monitor.
• Mission Control – to view the status of the Scan, Alarm, and Control (SAC) program and
whether blocks are being processed.
• NetDiag – to check network communication, particularly if you are using Enhanced Failover
with LAN Redundancy.

Tips for Enhanced Failover Configurations


Recommendations for working with Enhanced Failover in iFIX include:

• For scripts in pictures that you develop, always use the logical node name, unless you
specifically need to use the physical node name.
• EDA programs should use the logical node name as well.
• Ensure the same “loadable blocks” are installed on both SCADAs in the same slots.
• When configured and running, use the SCADA Sync Monitor to check the status on the active
node. For more information on this and other uses of the SCADA Sync Monitor, refer to the

52
Enhanced Failover

Diagnostics with the SCADA Sync Monitor section.


• Use the FILTEREDERRORS.INI file to filter out commonly displayed error messages such
as the 1914 error message displayed when a failover occurs. For steps, refer to the Disabling
the 1914 Error Message section.
• Ensure Global Inactivity timers in the SCADA SCU are NOT enabled. For more information,
refer to the Disabling the Inactivity Timer for the SCADA Pair section.
• Use the Checklist for Enhanced Failover Configuration to ensure that you configured the
Enhanced Failover feature properly. This checklist lists each task in the configuration process,
and whether it applies to the primary node, secondary node, and/or iClient.
• Synchronize the clocks on the SCADA Servers. See steps below.
• Identify factors that are affecting performance and improve them, if possible. See below.

Synchronize the Clocks on the SCADA Servers


To ensure that all iClients see the same data and alarms, synchronize the clocks on both the primary
and secondary SCADA Servers. If the clocks are not synchronized and failover occurs, alarms received
from the primary and secondary nodes could have significantly different timestamps, even if both
alarms were generated at the same instant. You can synchronize the SCADA clocks using the NET
TIME command. Refer to the Windows operating system online Help for more information.

Identify Factors Affecting Performance


Factors that can affect database (PDB) synchronization timing include:

• Database size
• Network speed and/or traffic
• Hardware used

Monitoring Network Status


The Network Status Server (NSS) fields are available for writing application programs and create
displays that monitor and control iFIX networking. This section explains how to use the Network
Status Server on the iClient to:

• Monitor network status.


• Monitor Enhanced Failover status and manually initiate failover to the standby SCADA.
• Trigger an event on failover to the standby SCADA or LAN.

Monitoring Network Status

You can monitor the status of the network using the NSS diagnostic fields. This feature allows you to
monitor sessions on your network, determine which nodes are active, and display the name of the local
node. In the event that a SCADA Server becomes unavailable, you can also display an error code and
text describing the current state of the connection with each SCADA Server.

53
Enhanced Failover

iFIX provides the Network Status Display (NSD) tag that you can use when designing displays for
monitoring and controlling Enhanced Failover and LAN Redundancy. This tag is not a database block.
It is a special tag residing on each networked node that displays diagnostic, failover, and network
information. Refer to the table of available Network Status Server fields in the Network Status Server
Fields section.

To access the fields, use the server.node.NSD.field syntax. In the following example, PACKER1 is the
local physical name. NSD is always the tag.

FIX32.PACKER1.NSD.A_PRIMARYSCADA_0

NOTE: TCP/IP networking must be enabled in the SCU to use NSD fields in iFIX.

For more information on the Network Status Server fields, refer to the Network Status Server Fields
section.

Monitoring Enhanced Failover Status and Initiating Manual Failover to the Standby
SCADA

Three new NSS fields have been added for Enhanced Failover: SCADAREDUN, SCADASTATUS,
and SWITCHSCADAROLE.

F_SCADAREDUN is a read-only field that returns an indication as to whether enhanced failover is


enabled on the SCADA node. If Enhanced Failover is enabled, a 1 displays, and if it is disabled, a 0
displays.

F_SCADASTATUS and A_SCADASTATUS are read-only fields that return an indication as to


whether the SCADA node is in an active state or the standby state. If the SCADA is in an active state,
a 1 (or ACTIVE) displays, and if it is in the standby state, a 2 (or STANDBY) displays.

In addition to monitoring the SCADA status or having automatic SCADA failover, you can also
manually force a SCADA failover to occur at any time. For example, you can manually switch to the
standby SCADA node when the active SCADA node needs to be shut down for maintenance.

F_SWITCHSCADAROLE and A_ SWITCHSCADAROLE are read/write fields that return an


indication as to whether the SCADA node is in an active state or the standby state. If the SCADA is in
an active state, a 1 (or ACTIVE) displays, and if it is in the standby state, a 2 (or STANDBY) displays.
To perform a manual SCADA failover, a write of 1 (or ACTIVE) causes the SCADA to become the
active SCADA. A write of 2 (or STANDBY) causes the SCADA to become the standby SCADA.

Triggering an Event on Failover

You may want to trigger an event when a failover occurs. For example, you may want to display a
message informing the operator of the failover, and when the operator acknowledges the message,
close a valve or sound an alarm. Use the Scheduler to create schedules to do this. Refer to the Creating
and Editing Schedules and Entries section for more information.

To trigger an event on SCADA failover, write to the A_FAILOVER or F_FAILOVER Network Status
Server field. This field is set to 1 on automatic or manual failover. You must reset it to 0 to receive
notification of subsequent failovers.

To see if any connection has had a SCADA failover, read to the F_SCADAANYFAILOVER field. It
is set to non-zero if any F_FAILOVER field is set to non-zero.

54
Enhanced Failover

To trigger an event on LAN failover, write to the F_LANFAILOVER or A_LANFAILOVER field.


This field is set to 1 on LAN failover. You must reset it to 0.

To see if any connection has had a LAN failover, read to the F_LANANYFAILOVER field. It is set to
non-zero if any F_LANFAILOVER field is set to non-zero.

For more information on the Network Status Server fields, refer to the Network Status Server Fields
section.

Network Status Server Fields

What are NSD Tags and NSS Fields?


The Network Status Display (NSD) tag is a system tag that allows you to monitor network
information. This tag is not a database block. It is a special tag residing on each networked node that
contains diagnostic, failover, and network information.

The Network Status Server (NSS) fields are individual field names containing the specific networking
information for the NSD tag. For instance, these fields include node specific information such as the
current active node name, the logical SCADA name, the backup path, the failover status, and so on.

NSD tags and NSS field names can be inserted into an iFIX picture as a datalink, for instance, to
display networking information for troubleshooting or diagnostics.

If you do not have an iFIX key on your computer, you will not be able to access the NSD tags or NSS
fields. This is because in Demo mode, iFIX does not have networking enabled. You must have a key
on your computer that supports networking in order to display the NSD or NSS information in iFIX.
NSD tags and NSS fields are not supported in iFIX Demo mode.

How to View NSD Tags in iFIX


To view NSD tags and NSS fields in iFIX, you must first enable TCP/IP networking enabled in the
SCU (in the Network Configuration dialog box).

You can view NSD tags and NSS field names from the iFIX WorkSpace, using the iFIX Expression
Builder. On the iFIX Database tab, select the Node name, and then NSD tag should appear in the list of
tags. When you click the NSD tag, the NSS fields should appear in the field names column, as shown
in the following figure.

55
Enhanced Failover

Zero-based NSD Fields


In the following table, the _0 through _200 appended to field names indicates that information is
available on a per-connection basis. When _0 is appended to a field name, the information pertains to
the local node. Since there can be up to 200 node names in the SCU, _1 through _200 typically
correspond to the order of the names in the SCU. However, any primary and secondary grouping in the
SCU that contains the local node name is always located at index _0.

One-based NSD Fields


In the following table, if the field is 1-based, when _1 is appended to a field name, the information
pertains to the local node. _2 through _200 typically correspond to the order of the names in the SCU.
Any primary and secondary grouping in the SCU that contains the local node name is located at index
_1.

Field Descriptions
The following table lists the Network Status Server (NSS) fields that are available for the Network
Status Display (NSD) tag.

Network Status Server (NSS) Fields

Field Name Description

A_ACONNREASON_0 through The current state of the connection to the active


A_ACONNREASON_200 node. This is either "Established" or text
describing the current state.

56
Enhanced Failover

Network Status Server (NSS) Fields

Field Name Description

A_ACTIVEPATH_0 through Indicates if the active path is the primary or


A_ACTIVEPATH_200 secondary path.
F_ACTIVEPATH_0 through A 0 in this field indicates that the primary path is
F_ACTIVEPATH_200 the active path; a 1 indicates that the backup path
is the active path.

A_ACTIVESCADA_0 through Active SCADA Server name, which can be either


A_ACTIVESCADA_200 the primary or secondary node name.

A_ACTIVESTATUS_0 through Status of the connection to the active SCADA


A_ACTIVESTATUS_200 (OK or an error code). It will be one of the
primary, logical, or secondary statuses.
F_ACTIVESTATUS_0 through
F_ACTIVESTATUS_200

A_ALOCALADDR_0 through This is for the active network connection. For


A_ALOCALADDR_200 TCP/IP, displays the local IP address used to reach
the remote node.

F_ALLOWREMOTEWRITES_0 through
F_ALLOWREMOTEWRITES_200 This field is 1 if remote nodes are allowed to
write to the NSD fields on the active node, or 0
if writes are not allowed.

A_APATHSTATUS_0 through Status of the connection over the active path. This
A_APARTHSTATUS_200 is either the primary or secondary status.
F_APATHSTATUS_0 through
F_APATHSTATUS_200

A_AREMOTEADDR_0 through This is for the active network connection. For


A_AREMOTEADDR_200 TCP/IP, displays the IP address of the remote
node.

A_BACKUPPATH_0 through Backup network path. When using LAN


A_BACKUPPATH_200 Redundancy, it shows the paths per connection.
For TCP/IP, it is the IP address.

A_BACKUPSCADA_0 through Standby SCADA Server name for this connection.


A_BACKUPSCADA_200

57
Enhanced Failover

Network Status Server (NSS) Fields

Field Name Description

A_BACKUPSTATUS_0 through Status of the connection to the standby SCADA


A_BACKUPSTATUS_200 (OK or an error code).
F_BACKUPSTATUS_0 through
F_BACKUPSTATUS_200

A_BCONNREASON_0 through The current state of the connection to the standby


A_BCONNREASON_200 node. This is either "Established" or text
describing the current state.

A_BLOCALADDR_0 through This is for the backup network connection. For


A_BLOCALADDR_200 TCP/IP, displays the local IP address used to reach
the remote node.

A_BPATHSTATUS_0 through Status of the connection to the backup network


A_BPATHSTATUS_200 path.
F_BPATHSTATUS_0 through
F_BPATHSTATUS_200

A_BREMOTEADDR_0 through This is for the backup network connection. For


A_BREMOTEADDR_200 TCP/IP, displays the IP address of the remote
node.

A_CONNDIRECTION_0 through Indicates whether the connection is incoming or


A_CONNDIRECTION_200 outgoing.
–> if outgoing.
<– if incoming.
<–> if both outgoing and incoming.

A_CURACTIVENODE_0 through Indicates if the active node is the primary or


A_CURACTIVENODE_200 secondary SCADA.
F_CURACTIVENODE_0 through A 0 in this field indicates that the primary SCADA
F_CURACTIVENODE_200 is the active node; a 1 indicates that the secondary
SCADA is the active node.

A_FAILDISABLE_0 through Automatic SCADA failover state.


A_FAILDISABLE_200
A 0 in this field indicates that automatic SCADA
F_FAILDISABLE_0 through failover is enabled if it is configured; a 1 disables
F_FAILDISABLE_200 automatic SCADA failover. Manual failover is
still possible.

58
Enhanced Failover

Network Status Server (NSS) Fields

Field Name Description

A_FAILOVER_0 through This field is set to 1 on automatic or manual


A_FAILOVER_200 SCADA failover. You must reset it to 0 to receive
notification of subsequent failovers.
F_FAILOVER_0 through
F_FAILOVER_200 You can read to this field to trigger an event on
SCADA failover.

F_FAILOVERMANL_0 through Total number of manual failovers to this node


F_FAILOVERMANL_200 since iFIX startup.

F_FAILOVERTOTAL_0 through Total number of failovers (automatic and manual)


F_FAILOVERTOTAL_200 to this node name since iFIX startup.

F_LANANYFAILOVER Use this field to see if any connection has had a


LAN failover. It is set to a non-zero number, if
any.

A_LANFAILDSABL_0 through Enabled in this field indicates that LAN


A_LANFAILDSABL_200 Redundancy is enabled if it is configured;
Disabled indicates LAN Redundancy is disabled.
F_LANFAILDSABL_0 through
F_LANFAILDSABL_200 Use this field to disable LAN Redundancy on a
per connection basis.

A_LANFAILOVER_0 through This field is set to 1 on LAN failover. You must


A_LANFAILOVER_200 reset it to 0.
F_LANFAILOVER_0 through
F_LANFAILOVER_200

F_LANFAILOVERTOTAL_0 through Total number of automatic failovers to this path


F_LANFAILOVERTOTAL_200 since iFIX startup. Session losses that are re-
established over the same network path are not
included.

A_LOCALNAME Displays the local physical node name.

A_LOGICALNAME_0 through Logical SCADA Server name for this connection.


A_LOGICALNAME_200 (Same as A_LOGICALSCADA and retained for
backwards compatibility.)

A_LOGICALSCADA_0 through Logical SCADA Server name for this connection.


A_LOGICALSCADA_200

59
Enhanced Failover

Network Status Server (NSS) Fields

Field Name Description

A_LOGICALSTATUS_0 through Status of the connection to the logical SCADA


A_LOGICALSTATUS_200 (OK or an error code).
F_LOGICALSTATUS_0 through
F_LOGICALSTATUS_200

A_NETNAME_0 through Name used to connect to the remote node. For


A_NETNAME_200 TCP/IP, it is the remote node name.

A_PCONNREASON_0 through The current state of the connection to the primary


A_PCONNREASON_200 node. This is either "Established" or text
describing the current state.

A_PLOCALADDR_0 through This is for the active network connection. Displays


PLOCALADDR_200 the local TCP/IP address used to reach the remote
node.

A_PPATHSTATUS_0 through Status of the connection over the primary network


A_PPATHSTATUS_200 path.
F_PPATHSTATUS_0 through
F_PPATHSTATUS_200

A_PREMOTEADDR_0 through This is for the active network connection. For


A_PREMOTEADDR_200 TCP/IP, displays the IP address of the remote
node.

A_PRIMARYPATH_0 through Primary network path.


A_PRIMARYPATH_200
When using LAN Redundancy, it shows the paths
per connection. For TCP/IP, it is the IP address.

A_PRIMARYSCADA_0 through Primary SCADA Server name for this connection.


A_PRIMARYSCADA_200

A_PRIMARYSTATUS_0 through Status of the connection to the primary SCADA


A_PRIMARYSTATUS_200 (OK or an error code).
F_PRIMARYSTATUS_0 through
F_PRIMARYSTATUS_200

A_PROTOCOL Displays the current protocol (TCP/IP) that iFIX is


using for networking.

60
Enhanced Failover

Network Status Server (NSS) Fields

Field Name Description

A_SCADASTATUS The status of the SCADA node: ACTIVE (1) or


STANDBY (2).
F_SCADASTATUS

A_SWITCHSCADAROLE A request for change in state: ACTIVE (1) or


STANDBY (2).
F_SWITCHSCADAROLE

F_ALLOWREMOTEWRITES This field is 1 if remote nodes are allowed to write


to the NSD fields on this node, or 0 if writes are
not allowed.

A_CURACTIVENODE_0 through Indicates if the active node is the primary or


A_CURACTIVENODE_200 secondary SCADA.
F_CURACTIVENODE_0 through A 0 in this field indicates that the primary SCADA
F_CURACTIVENODE_200 is the active node; a 1 indicates that the secondary
SCADA is the active node.
You can write to this field to perform a manual
failover.

F_FAILDISABLE_0 through SCADA Server failover state.


F_FAILDISABLE_200
A 0 in this field indicates that SCADA Server
A_FAILDISABLE_0 through failover is enabled if it is configured; a 1 disables
A_FAILDISABLE_200 SCADA Server failover. Manual failover is still
possible.
You can write to this field to disable automatic
failover to the standby SCADA on a per-
connection basis.

A_FAILOVER_0 through This field is set to 1 on automatic or manual


A_FAILOVER_200 SCADA failover. You must reset it to 0 to receive
notification of subsequent failovers.
F_FAILOVER_0 through
F_FAILOVER_200 You can read to this field to trigger an event on
SCADA failover.

F_FAILOVERMANL_0 through Total number of manual failovers to this node


F_FAILOVERMANL_200 since iFIX startup.

F_FAILOVERTOTAL_0 through Total number of failovers (automatic and manual)


F_FAILOVERTOTAL_200 to this node name since iFIX startup.

61
Enhanced Failover

Network Status Server (NSS) Fields

Field Name Description

F_LANANYFAILOVER Use this field to see if any connection has had a


LAN failover. It is set to non-zero if any
F_LANFAILOVER_# field is set to non-zero.

F_LANFAILDSABL_0 through A 0 in this field indicates that LAN Redundancy is


F_LANFAILDSABL_200 enabled if it is configured; A 1 indicates LAN
Redundancy is disabled.
Use this field to disable LAN Redundancy on a
per connection basis.

A_LANFAILOVER_0 through This field is set to 1 on LAN failover. You must


A_LANFAILOVER_200 reset it to 0.
F_LANFAILOVER_0 through
F_LANFAILOVER_200

F_LANFLOVRTOTAL_0 through Total number of automatic failovers to this path


F_LANFLOVRTOTAL_200 since iFIX startup. Session losses that are re-
established over the same network path are not
included.

F_SCADAANYFAILOVER Use this field to see if any connection has had a


SCADA failover. It is set to non-zero if any
F_FAILOVER_# field is set to non-zero.

F_SCADAREDUN This field is set to 1 if Enhanced Failover is


enabled; it is set to 0 if it is disabled.

F_TRANSACTTIME_0 through Indicates the amount of time, in milliseconds, that


F_TRANSACTTIME_200 it took this iClient to get data from the SCADA
Server the last time data transfer occurred.

Example Uses of Network Status Server Fields


To view NSD tags and NSS field names in the iFIX Expression Builder, you must have TCP/IP
networking enabled in the SCU (in the Network Configuration dialog box). NSD tags are not
supported in iFIX Demo mode. Refer to the Network Status Server Fields section for more
information.

NSS fields can be used in datalinks, for instance, to provide information on the current status of the
SCADA network. In addition to the fields that already existed in previous releases, you can use the
following new NSS fields in datalinks to monitor and switch the SCADA status:

62
Enhanced Failover

• Fix32.nodename.NSD.F_SCADAREDUN to display if Enhanced Failover is enabled.


• Fix32.nodename.NSD.F_SCADASTATUS (or A_SCADASTATUS) to display the current
status of SCADA
• Fix32.nodename.NSD.F_SWITCHSCADAROLE (or A_ SWITCHSCADAROLE) to force
the switching of the active SCADA to the standby

Other examples are provided in the following sections.

SCADA Failover
You can identify when a SCADA Server failover has occurred using a Network Status Server tagname
(for example, (A_FAILOVER_0 through A_FAILOVER_200, F_FAILOVER_0 through
F_FAILOVER_200), or through the alarm messages.

iFIX sends an alarm message whenever SCADA Server failover occurs.

For example, if you are communicating from an iClient named LN1_VIEW to a primary SCADA node
named FOXBORO, and the active SCADA fails over to the secondary SCADA node named
ALBANY, the message on the iClient is:

06/07/2008 16:35:21.5 [FOXBORO] SAC is in Standby mode


06/07/2008 16:35:22.5 Connection Failover: failover attempted
06/07/2008 16:35:22.5 Connection Failover: connection to FOXBORO has been switched to
ALBANY
06/07/2008 16:35:21.5 [ALBANY] SAC is in Active mode

LAN Failover
You can use a Network Status Server tag (A_LANFAILOVER_0 through A_LANFAILOVER_200,
F_LANFAILOVER_0 through F_LANFAILOVER_200) or the messages to identify when a LAN
failover has occurred.

iFIX sends a message whenever LAN failover occurs.

For example, if you are communicating from an iClient named LN1_VIEW over TCP/IP address
1.1.1.2 to a SCADA node named FOXBORO, and the session is lost and re-established over TCP/IP
address 198.212.170.4, the message on the iClient is:

19:24:00.0 [LN1_VIEW] Connection to [FOXBORO]


switched to 1.1.1.2 - 1.1.1.5 to 198.212.170.4 - 198.421.103.6

Network Status Pictures in the iFIX WorkSpace


iFIX supplies a diagnostic display that contains links referencing diagnostic NSS fields. This display,
called NetworkStatusDisplay.GRF, allows you to view the local node name, each incoming
connection, each outgoing connection, and each connection's status. This display always shows the
logical node name even if the secondary node is the active node.

iFIX also supplies a NetworkStatusRedundancy.GRF picture, which allows you to view the network
status information for the SCADA Server pair, as well as iFIX network LAN status.

63
Enhanced Failover

NOTE: If you want to use the NSD pictures on an iClient, you must first search and replace all
instances of THISNODE with the local iClient name in the NSD picture. The
NetworkStatusDisplay.GRF and NetworkStatusRedundancy.GRF files are provided in the Picture path
of your iClient. You need to modify these files to reference your local node name.

Custom Pictures with Logical and Physical Node Names


You can use either the logical or physical node name in displays to access data. You will only be able
to write on the active SCADA. This section explains the impact of using one or the other and uses the
Proficy iFIX WorkSpace as an example. This also applies to VBA scripts and any application that uses
EDA (Easy Data Access) to access process data, such as Historical Collect. For more information,
refer to the Writing Scripts manual.

Pictures with links to tagnames using the logical node name always display data from the active
SCADA, regardless of whether it is the primary or secondary SCADA. This is done without requiring
the picture to be opened, closed, or replaced after failover.

If you want to access data from a specific SCADA Server using the physical node name (and have a
session established to it), you can read data from both the primary and secondary SCADA, regardless
of which one is active, but you can only write to the SCADA that is active. You cannot write to the
SCADA that is in standby mode. This is because you used the physical node name in the datalink. The
picture displays data from the physical SCADA Server specified. If communication with that SCADA
Server is lost, data for datalinks using the physical node name is not available at the iClient until the
connection is re-established with that node.

For example, if the datalink on the iClient node is using the logical node name of the SCADA pair (for
example LNN.DI_VALVE_OPEN.F_CV) and it is currently getting data from the primary SCADA
(which is the active SCADA) and a failover to the standby SCADA occurs, then the datalink still
displays data that is from the now active secondary SCADA.

However, if the datalink the iClient node is using the physical node name of the primary SCADA pair
(for example FOXBORO.DI_VALVE_OPEN.F_CV) and is currently getting data from the primary
SCADA (which is the active SCADA) and a failover to standby SCADA occurs, then the datalink
displays @@@@ and a 1914 “Connection not established” prompt displays.

EDA and Network Server Status (NSS) Fields


With EDA applications in iFIX releases prior to 5.0, processing was done on one node, and then
processing was done on the other, on a field-by-field basis. With Enhanced Failover, updates are made
only when items change, saving valuable processing time and allowing the failover to occur faster.

If you are upgrading from a prior iFIX release, you will need to re-evaluate the NSD fields you use to
get the status. Older EDA applications created for failover scenarios may not be correct when all the
new information available in iFIX 5.1 is considered. There are new NSD fields that you may want to
evaluate for use in your applications.

64
Enhanced Failover

If you are creating new EDA applications, or modifying existing ones, you can use the following new
NSD fields in datalinks to monitor and switch the SCADA status:

• Fix32.nodename.NSD.F_SCADAREDUN to display if Enhanced Failover is enabled.


• Fix32.nodename.NSD.F_SCADASTATUS (or A_SCADASTATUS) to display the current
status of SCADA node.
• Fix32.nodename.NSD.F_SWITCHSCADAROLE (or A_SWITCHSCADAROLE) to
force the switching of the active SCADA node to the standby.

With these new fields, you can control EDA applications based on the SCADA role and mode.

Troubleshooting Enhanced Failover


Some common troubleshooting issues are provided in the following table. If you are new to Enhanced
Failover, refer to the Troubleshooting Checklist for Enhanced Failover Configuration section if you do
not know where to start troubleshooting your configuration.

Issue Resolution

SCADA Failover feature is This error found in ScadaRoleMgr.log indicates that your key does
not enabled in the license not support the Enhanced Failover feature. Check your key in the
for this node. Proficy License Viewer, and contact GE Intelligent Platforms to
purchase an upgrade or replace a defective key.
You will also get a Error popup message at iFIX startup indicating
SCADA failover feature is not enabled in the license for your
node.
You must purchase the additional Enhanced Failover option
(SCADA Failover) for all SCADA nodes if you plan to use
SCADA Failover in iFIX.

The following errors appear: These errors indicate that your loadable block configurations on
one or both nodes are not configured properly. Loadable block
PDB Sync Loadable Block
configurations must be the same on both primary and secondary
<blockname> Not defined
nodes. Use the BTKCFG utility on both SCADA nodes to exactly
locally.
match your loadable block configurations.
PDB Sync Loadable Block
<blockname> Not defined
on remote node.
PDB Sync Loadable Block
Mismatch locally
<blockname> version <ver>
remote <blockname>
version <ver>.

65
Enhanced Failover

Issue Resolution

Both SCADAs are active (as Verify your Ethernet connection being utilized for SCADA
displayed in Synchronization (preferably this is a dedicated LAN connection).
ScadaSyncMonitor or as
On both SCADAs, in the Task Manager, verify that
indicated by messages in
ScadaSync.exe and ScadaRoleMgr.exe are listed.
alarm services destinations).
On both SCADAs, in the SCU, check your Failover configuration.
Check that the Data Synch Transport is configured for the
appropriate LAN adapter and the Partner’s Address is correctly
defined.

iClient with logical node Make sure that the iClient is configured properly. Refer to the
names cannot connect to a Configuring iClients section.
partner SCADA.
Make sure the iClient machine can ping the SCADA node(s) using
the iFIX node name.
Verify the Hosts files are configured correctly on all nodes.

The driver configuration is Your driver configuration or node configuration (where the driver
causing issues. For instance, is installed) could be invalid. Try running each node independently
blocks are going off scan, or before configuring Enhanced Failover to determine if the drivers
question marks appear for are configured differently on each node. They should be
data links (the default configured identically.
indication that there is no
data, and is defined in the
User Preferences).

When the active switches to Your standby node is most likely not configured properly. Your
the standby node, the blocks driver configuration could be invalid. Try running each node
go off scan and you see independently before configuring Enhanced Failover to determine
@@@@ signs or question if the drivers are configured differently on each node. Make sure
marks instead of real data. that your drivers are configured the same on each node. Validate
The node fails back to the that both systems run properly alone before reconfiguring
other node. All blocks are Enhanced Failover.
still off scan, after it fails
back.

iClient nodes display error This is an expected message if the 1914 error has not been
message number 1914, configured to be filtered. When an iClient establishes a connection
every time the active to an active SCADA Server node in run mode, the iClient starts to
SCADA switches. read data from that node. When the active SCADA Server node
switches to the partner SCADA, the iClient momentarily loses its
session with that node, causing this error to appear.
You can suppress this error from appearing on screen. For more
information on how to suppress this message and others, refer to
the Reading Data from iFIX Pictures in iClients section.

66
Enhanced Failover

Issue Resolution

Connection Not Established When any iClient loses its iFIX networking session with a remote
With Node. node, this error to appears in alarm service destinations. Check
your Ethernet connections.

iFIXNotification dialog iFIXNotification dialog displays when iClient is only able to


displays for an extended communicate with a standby SCADA node. Check your Ethernet
length of time. connections being used for iFIX networking.

Standby SCADA displays This is not a synchronization message. This message indicates that
“Connection Failover: the iFIX networking connection to the Active SCADA has failed.
failover attempted” message Check the Ethernet connection being used for iFIX networking.
every minute in alarm
services destinations.

iClient with logical node Make sure that the iClient is configured properly. Refer to the
names cannot connect to a Configuring iClients section.
partner SCADA.
Make sure the iClient machine can ping the SCADA node(s) using
the iFIX node name.
Verify the Hosts files are configured correctly on all nodes.

Failover takes a long time. Adjust the session timers. Refer to the Working with Configurable
Session Timers section in the Setting Up the Environment manual
for more information.

On iClients, alarms are Make sure that the Alarm Startup Queue is enabled and that the
being lost during failover queue size is large enough to handle the alarms. Refer to the
periods. Implementing Alarms and Messages manual for more information
on this service.

On iClients, alarms are Make sure that the Alarm Summary Queue on the node is twice as
missing from the summary big as it would normally be if the node were not part of a SCADA
link or alarms appear and server failover pair. For example, if you are generating 500 alarms,
disappear in the alarm the Alarm Summary Queue must be set to 1000. Refer to the
summary link. Implementing Alarms and Messages manual for more information
on queue sizes.

67
Enhanced Failover

Issue Resolution

You are not seeing any Use the Alarm Status Utility (almstat.exe) to check if alarms are
alarms. coming into the user queue and being taken out. To start this
utility, while iFIX is running, type the following at the command
line:
almstat

If this utility verifies there are no alarms coming in or out, then


you need to troubleshoot your alarm configuration or cabling. For
more information, refer to the Implementing Alarms and Messages
manual.

A View node or iClient Check the network connections used with iFIX networking. A
connects to a secondary network cable could be unplugged.
SCADA. The secondary
SCADA remains in standby
mode, instead of connecting
to the primary node. Alarms
do not display, and datalinks
are not updating on
secondary, View, or iClient.

Troubleshooting Checklist for Enhanced Failover Configuration


If you experience issues with Enhanced Failover and you do not know where to begin, start by asking
yourself:

1. Do you understand the architecture of your Enhanced Failover system? If not, review the
What is Enhanced Failover?, What is my SCADA Role?, and Components of Enhanced
Failover sections, for starters. Other information is also provided earlier in this e-book.
2. Once you understand the architecture, verify that each SCADA node works independently
without Enhanced Failover enabled. For tips, refer to the Testing Your Enhanced Failover
Configuration section.
3. Confirm that you configured the primary and secondary nodes appropriately. Both SCADA
computers in the pair should be configured the same way. For a helpful checklist on what to
check, refer to the Preparation Checklist for Enhanced Failover section. Be sure to investigate
each and every item in the list. If one SCADA has a different configuration, say the drivers
and polling times are different, or the Database Dynamos (loadable blocks) are not loaded in
the same slots, or network (NIC) cards are configured slightly differently, it will impact your
system.
4. Ensure that the iFIX Enhanced Failover option is enabled on both primary and secondary
SCADAs, and that your client nodes are configured properly. For more information, refer to
the Checklist for Enhanced Failover Configuration section.
5. Check the Limitations of Enhanced Failover section. Is your configuration in compliance?
6. If after all of those steps, you believe everything is configured properly, the next step is to
investigate what is occurring between the two network cards. For instance, are your network

68
Enhanced Failover

cards doing what they are configured to do? In the Windows Task Manager, use the
Networking tab to investigate if each adapter is performing appropriately. From the
Networking tab, look for:
• 1-Gigabit-Ethernet cards (or better) dedicated for SCADA-to-SCADA traffic (for a
total of two network cards, minimum). The dedicated SCADA-to-SCADA network
cards should be excluded from the iFIX-to-iFIX network (not enabled for LAN
redundancy). If either card is less than 1 Gigabyte-Ethernet, it's not a supported
configuration. Also, both network cards must be of the same speed.
• Does each network card have an Adapter name? Are both cards of the same make
and model number, and use the same drivers?
• What is the network utilization of each card and what is the state of each card? Is it
operational? Is Jumbo Frames technology used on the dedicated network for
Enhanced Failover? (Jumbo Frames technology allows for an Ethernet frame of 9000
MTU for the payload, compared to a frame of 1500 bytes without the Jumbo
Frames.) Jumbo Frames technology must be used on the dedicated network for
Enhanced Failover.
• Be aware that network card configuration is one of the top configuration issues. For
additional details, refer to the More Information on Network Card Usage section
below.
7. If after all of the network configuration checks, you believe everything is configured properly,
the next step is to investigate the networking hardware.
• Are all network cables and connections properly connected? Are you using a direct
connection via a Cat6 crossover cable, without going through any switches, hubs, or
routers?
• Do both Gigabit-Ethernet (or better) cards dedicated for SCADA-to-SCADA traffic
have the same make and model number imprinted on the actual card or recorded in
the user manual?
8. Finally, another place to investigate is in the Windows Task Manager, on the Performance
tab. What is the physical memory available and system cache? Is your computer performing at
the necessary level for Enhanced Failover configurations? Be aware that:
• The wake-up upon receiving a socket or/and request feature must be disabled on the
dedicated SCADA-to-SCADA network card.
• SpeedStep® technology is not supported and must not be enabled.
• Due to limited bandwidth and latency, it is strongly advised that you do not use
wireless networking technology in your networking solution.
• The power save settings on your computers and dedicated network card (NIC) must
be disabled. Do not use any power setting features that affect CPU clock speed.

More Information on Network Card Usage


Network cards (NICs) may be used for a multitude of tasks within iFIX. The following tasks may each
use a separate NIC:

• Driver I/O to PLC connectivity


• SCADA synchronization

69
Enhanced Failover

• iFIX Client connectivity


• Non-iFIX activity such as company network access

It is important to understand the use of all the network cards on the PC. It is possible to use a particular
NIC card for multiple uses by design. It is also possible to inadvertently apply the NIC card to the
incorrect uses causing undesirable results.

Tips for working with NICs

• Whenever a new NIC is installed, re-check all configuration items that use the NIC card. The
NIC slot/order or IP address could require changes.
• It is desirable that both machines have the same NIC cards and NIC order (slot).
• Some drivers use a NIC IP Address or slot/order number. Communication may cease after
installing another NIC card since slot/order may change. The slots should be in the same order
on both nodes.
• When copying a Driver Configuration file from one node to another, the slot/order or IP
Address may need to be changed on the PC receiving the file.
• It is required to perform SCADA synchronization on a dedicated NIC. It is recommended to
have an identical NIC on both the Primary and Secondary SCADA.
• SCADA synchronization should be tested with the “default” NIC settings. Any advanced
setting changes should be mirrored on the partner SCADA.
• SCADA synchronization can optionally include a second NIC (as a backup to the first). Often
this can be the same NIC as the iFIX Client connection.
• Typically, iFIX Client connectivity uses a different NIC then SCADA synchronization. Only
ONE NIC should be enabled in the iFIX Networking configuration (unless LAN Redundancy
is used).

Tools for Troubleshooting


The following tools can be used to assist you in troubleshooting Enhanced Failover features in iFIX:

• Windows Task Manager, Networking tab – to see if your networking cards are doing what
they are configured to do, and that each adapter is performing appropriately.
• Windows Task Manager, Processes tab – to verify that ScadaSync.exe and ScadaRoleMgr.exe
are listed as running on both SCADAs.
• Log Files – to investigate what error messages may be occurring.
• Error Messages – to get more information about errors that you find in the logs.
• Mission Control – to view the status of the Scan, Alarm, and Control (SAC) program and
whether blocks are being processed.
• SCADA Sync Monitor – to display runtime information about the primary and secondary
SCADA Servers.
• Runtime Information Fields – to display additional runtime information available about your
primary and secondary SCADA Servers, that does not already display in the SCADA Sync
Monitor. These fields can be added to pictures or EDA applications. For example, these fields

70
Enhanced Failover

allow you to access more information about your data sync transports than you can in the
SCADA Sync Monitor.
• NetDiag – to check network communication, particularly if you are using Enhanced Failover
with LAN Redundancy.

Log Files for Enhanced Failover


For Enhanced Failover, there are two log files available for troubleshooting:

• SCADASync.log – for reviewing log messages that occur during the SCADA
synchronization process.
• ScadaRoleMgr.log – for debugging the active to standby node switch.

Both of these files can be found in your iFIX LOCAL directory. If you installed iFIX to the default
location, this directory location is: C:\Program Files\Proficy\Proficy iFIX\LOCAL. These logs can
store up to approximately 1024 lines. When the maximum number of lines is reached, the file is
overwritten and the log begins again, in a circular update.

TIPS:
• The SCADA Sync Monitor (SCADASyncMonitor.exe) found in your iFIX install folder can be
used to view the information that appears in these logs.
• You can configure whether the SCADASync.log log is refreshed on iFIX startup (so that it
does not get overwritten) by using the SCADASync.ini file's DeleteOnStartup key. For more
information, refer to the Customizing the Synchronization Process with SCADASync.ini
section.
• Other logs that are not specific to Enhanced Failover, but may also be helpful for reviewing
system activity include the iFIX event (.EVT) file, usually found in C:\Program Files\GE
Fanuc\Proficy iFIX\ALM folder, and the Alarm History window which you can access from
the iFIX WorkSpace (and other iFIX Alarm Type destinations such as Alarms to File and
Alarm ODBC).

SCADASync.log

To enable the logging to ScadaRoleMgr.log, in the FIX.INI file, set the following values:

[PARTNER SCADA]
RUN=%SCADAROLEMGR.EXE /L
NOTE: The /L enables the logging; /V enables verbose logging; /A enables the appending of logging
(the contents will not be clear on iFIX restart).

Adding these lines to the SCADASync.ini causes the SCADASync.log file to be appended:

[LogFile]
DeleteOnStartup=0

Adding these lines to the SCADASync.ini causes the SCADASync.log file to be cleared on startup:

[LogFile]
DeleteOnStartup=1

The following figure shows an example of the SCADASync.log file, with some messages displaying.

71
Enhanced Failover

ScadaRoleMgr.log

The following figure shows an example of the SCADARoleMgr.log file, with some messages
displaying.

System Messages for Enhanced Failover Activity

Examples of system messages generated for Enhanced Failover (that can appear in the
SCADARoleMgr.log file) include:

• When the SCADA node is transitioning into the Active state. The message contains the reason
for the state transition
• When the SCADA node is transitioning into the Standby state. The message contains the
reason for the state transition
• When the partner SCADA goes offline.
• When the partner SCADA comes back online.

Error Messages for Enhanced Failover in iFIX


If a network problem exists that prevents sessions from establishing or causes sessions to be terminated
due to the SCADA synchronization process, one of the error codes listed in the following table may
appear in the SCADA Sync Monitor, the SCADASync.log, or in the iFIX Alarm History program.

72
Enhanced Failover

Error Codes

Error Message Description

Node.Tag.Field Connection When an iClient establishes a connection to an active SCADA


Not Established With Node Server node, it starts to read data from that node. When the
active SCADA Server node becomes unavailable, the iClient
loses its session with that node, causing this error to appear.
This error appears in the iFIX event log. For more information
on how to suppress this message and others, refer to the Reading
Data from iFIX Pictures in iClients section.

Sending File <name> to This message is informational. It indicates that file


Partner Node synchronization has occurred – a file is sent (copied) from one
node to the other. The active node is sending the data, the
standby node is receiving the data.

Unable to rename <name1> to When iFIX performs file synchronization, it creates a temporary
<name2> file name on the destination side. After the file is built on the
destination, iFIX removes the temporary file. If iFIX cannot
remove the temporary file, this error message occurs. For
example, if someone had the file open or if the file was locked
this message could display.

File <name> cannot be When iFIX performs file synchronization, it creates a temporary
removed file name on the destination side. After the file is built on the
destination, iFIX removes the temporary file. If iFIX cannot
remove the temporary file, this error message occurs. For
example, if someone had the file open or if the file was locked
this message could display.

File <name> Access Denied This error occurs if SCADASync needed to copy a file and could
not during synchronization.

Finished Sending File %s to This message is informational. If iFIX sends a file, this message
Partner Node indicates when it is received on the partner node.

File Synchronization Transfer This error indicates that part of a file came across from the active
Error node and the standby was not able to validate it.

File Change Notification This error indicates a problem with the file synchronization. In
Error this instance, part of a file came over the network, and something
went wrong. For example, the disk was full, or the file was
write-protected. Look at the SCADA Sync Monitor for clues.
For more information, refer to the Enhanced Failover
Diagnostics with the SCADA Sync Monitor section.

73
Enhanced Failover

Error Codes

Error Message Description

Global Section Sync - Bad This error indicates that part of the process database came across
message the network connection improperly. If iFIX cannot validate the
message, it is not used. This message is not a typical error, and
rarely displays. iFIX will automatically recover from this
message.

UDP Socket error <number> This error occurs if a network card does not initialize (for
example, if the network cable is not plugged in).

Thruput limited to <number> This message is informational. It is a network-throttling


Megabytes / Second message.

UDP Buffer allocation This error indicates that iFIX could not allocate memory for a
FAILED <text message> buffer. Call GE Intelligent Platforms Support if this message
recurs. This message is not a typical error, and rarely displays.

File <name> Received from This message is informational. It indicates that the active node’s
Partner Node saved file was copied and added to the standby node.

PDB Sync Loadable Block This error indicates the loadable block configuration on one or
<blockname> Not defined both nodes does not match. Loadable block configuration must
locally be the same on both primary and secondary nodes.

PDB Sync Loadable Block This error indicates that there are two different versions of a
<blockname> Not defined on loadable block installed. Loadable block configuration must be
remote node the same on both primary and secondary nodes. Ensure that
loadable block DLLs (BTK*.*) are the same on both nodes.

PDB Sync Loadable Block This error indicates your loadable block configuration on one or
Mismatch locally both nodes is not configured properly. Loadable block
<blockname> version <ver> configuration must be the same on both primary and secondary
remote <blockname> version nodes.
<ver>

PDB Sync Database Block This error occurs if iFIX detected a difference in the database
versions don't match for block versions on the primary and secondary nodes. Process databases
type <blockname> must be the same version of iFIX. For example, you cannot have
one database be 5.0 and the other is at 5.1. Both nodes must have
the same version of iFIX installed.

Starting SCADASync on This message is informational. It indicates that the SCADA


<node> with IP <IP> synchronization process started on a specified IP address.

74
Enhanced Failover

Error Codes

Error Message Description

SCADA Sync This message is informational. It indicates that there was a


Communication Lost with change in state.
<IP>

SCADA Sync This message is informational. It indicates the SCADA to


Communication Established SCADA communication for synchronization has been
with <IP> established.

SCADA Failover feature is This error indicates that your key does not support the Enhanced
not enabled in the license for Failover feature. Check your key in the Proficy License Viewer,
this node and contact GE Intelligent Platforms to purchase an upgrade or
replace a defective key.
You must purchase the additional Enhanced Failover option
(SCADA Failover) for all SCADA nodes if you plan to use
SCADA Failover in iFIX 5.1.

Monitoring SAC in Mission Control


When using the Enhanced Failover feature, you can use the SAC tab in the Mission Control
application to view the status of the Scan, Alarm, and Control (SAC) program. The SAC program
retrieves process information from an I/O driver or OPC server. Using the data it receives, SAC
updates blocks in the database and processes alarms. SAC also writes set point values from the
database to a control device. SAC runs independently of the I/O driver or OPC server.

When reviewing the SAC tab in Mission Control, the Status field indicates whether SAC is in one of
the following modes:

• Run
• Standby
• Stopped

The following figure shows an example of SAC in Run mode on a primary SCADA Server. The Status
field is set to Run, and is highlighted in the following figure. Another field that you may want to
monitor is the Blocks Proc. field, which is also highlighted in the following figure. In an Active
(running) SCADA, the Blocks Proc. field is continually updating. If this number stops updating or the
Status is stopped, there may be a problem with SAC.

75
Enhanced Failover

Mission Control, with SAC Tab Selected

TIP: You can view more information about SAC in the Health screen of the SCADA Sync Monitor. For
more information, refer to the Diagnostics with the SCADA Sync Monitor section.

NOTE: The fields in the Alarm Synchronization tab in Mission control are unavailable when
Enhanced Failover is configured. Use the SCADA Sync Monitor to view information regarding the
synchronization process instead.

More Information on Drivers and SAC

SAC, when running, receives a write request as a result of a user action or internally via another block.
SAC processes the request and pushes the request to the driver. It is possible that at any given time you
would have a number of pending writes in the driver queue. If the driver is optimized, the goal would
be to have the writes get processed very quickly.

NOTE: Configuring the driver to perform tasks as “fast” as possible can be detrimental. Drivers
should be optimized based on the actual throughput restrictions and PLC responsiveness.

76
Enhanced Failover

The speed at which writes in the queue get processed depends primarily on the driver technology

(Serial vs. Ethernet) and the driver configuration (whether or not the driver has been properly setup or
optimized).

It is important to note that pending writes in the queue do not necessarily indicate issues. It is possible
for a driver to have pending writes as long as the count does not continue to permanently grow. It is
also possible for a driver to receive thousands of writes, have the queue count increase briefly, and
then come back down, ideally close to 0.

The following two examples describe how driver queues and the Enhanced Failover are independent of
each other.

Example 1: Drivers and SAC

Consider this example: the driver is in the running state on both SCADAs. The driver is very busy and
has an average 10 pending writes in the queue. When the “failover” happens, the current active node
switches from Active to Standby. SAC will be “paused” at this time.

When the Active node becomes the Standby, the driver is still running. The writes will still be
processed as fast as the driver can handle them. The driver remains independent of SAC. So while
SAC is paused and no longer processing, the driver will continue to process anything in the write
queue. If there are 10 pending writes the driver will write them to the device. If there are no
communication errors to be reported, the writes will be successful.

One possible side effect is if you have a very quick driver, the writes will likely be done by the time
the second Node is promoted to Active, but if you are using a driver connected over a serial line, then
it is possible that the two drivers will attempt writes at the same time against the same IO on the PLC
at least for the duration needed for the first driver to empty its write queue.

Example 2: Drivers and SAC

The driver is in the running state only on the Active SCADA (using script). When the “failover” occurs
programmatically, one driver is stopped while the other driver is started.

When a driver is stopped either programmatically or manually, the write queue will get flushed.
Therefore, if you had 10 pending writes, then stop the driver, you just lost 10 writes and the writes will
never take place.

It is important to understand that this is not a driver issue. Understanding a driver’s capability, testing,
and optimizing the driver based on actual throughput restrictions and PLC responsiveness is the best
way to ensure desired driver performance.

Enhanced Failover Diagnostics with the SCADA Sync Monitor


The SCADA Sync Monitor displays information about the primary and secondary SCADA Servers.
You can use it for view diagnostic information about your Enhanced Failover configuration, or for
troubleshooting issues with your Enhanced Failover configuration.

The SCADA Sync Monitor displays whether the selected SCADA is in active or standby state,
describes how often database synchronizations occur, whether the data synchronization networks are in
good communication, debug log messages that occur during synchronization of the databases, SAC

77
Enhanced Failover

information, and the overall system health on both nodes. You can view the status and information
from either SCADA by selecting the desired SCADA from the drop-down list box.

The following figure illustrates the SCADA Sync Monitor, with the Overall Partner Status information
appearing. The Primary, Secondary, Tertiary area in the top section appears in green, as the
communication networks are all in good health – indicating that the partner nodes are communicating
successfully to each other, and that all three networks are available. In this example, information on the
Active node is displayed. The Active node, in this case BRIGITTA, appears in the SCADA selection
drop-down list at the top of the screen.

SCADA Sync Monitor

To open the SCADA Sync Monitor:

1. Open Windows Explorer and locate the iFIX install folder. By default, this folder is:
C:\Program Files\Proficy\Proficy iFIX.
2. Double-click the ScadaSyncMonitor.exe file. The SCADA Sync Monitor appears.
3. Click the button in the toolbar for the information that you want to display. For information
on what each of these toolbar buttons represents, refer to the following table.

78
Enhanced Failover

Toolbar for SCADA Sync Monitor

The following table describes the functions of each of the icons in the toolbar for the SCADA Sync
Monitor. You can use the drop-down list to view the active or standby node.

Icon Function

Overview of the SCADA Node Synchronization History

Database Synchronization Status

Communication Status

Debug Log for Troubleshooting

Overall System Health

Global Memory Synchronization Status (Internal Troubleshooting Tool,


for Customer Support and Development)

Overview of the SCADA Node Synchronization History

The Overall Partner Status screen in the SCADA Sync Monitor allows you to view
whether the primary and secondary SCADA Server pair are communicating and
view event log messages pertaining to Enhanced Failover.

The following table describes the fields that appear in this screen.

79
Enhanced Failover

Field or Area Description

Primary, Secondary, Provides the IP address and hardware descriptions of Primary,


Tertiary Area Secondary, Tertiary networks for Enhanced Failover. These
networks are defined in the Data Sync Transport Options dialog box
in the SCU (accessed from the SCADA Configuration dialog box).
When communication is good, the enabled adapter appears green. If
communication is bad, the enabled adapter is red. If communication
is not configured, no additional color appears. If the network card
failed to initialize (for instance, if the network cable is not plugged
in), no additional color appears.

Message List Displays the last 64 messages related to partner SCADA


communications including their date and time. If you need to review
messages older than the last 64, you can review the scadasync.log
file, in your iFIX LOCAL directory. If you installed iFIX to the
default location, this directory location is: C:\Program
Files\Proficy\Proficy iFIX\LOCAL.

Last Sync Time The last time the PDB was sent to the partner node.

Number of Syncs The number of synchronizations that occurred since you started
iFIX.

Database Synchronization Status

The Database Synchronization screen in the SCADA Sync Monitor displays


information on the database synchronization between the active and standby nodes.
For instance, by looking at this screen you can determine how fast the database
updates are occurring between the active and standby nodes.

The following table describes the fields that appear in this screen.

Field or Area Description

Last Time Sent The time the SCADA last sent a successful synchronization.

Last Date Sent The date the SCADA last sent a successful synchronization.

80
Enhanced Failover

Field or Area Description

Seconds Between The total number of seconds it takes to synchronize the active
Synchronizations database with the standby database, from beginning to end.
The value of this field is always greater than the "Duration of Last
PDB Synchronization" field.
The Seconds Between Synchronizations field is perhaps the most
valuable field to monitor on this screen.

Duration of Last PDB The total number of seconds it took to send the synchronized data
Synchronization from the active database to the standby database, over the active
network connection.

Number of Total number of synchronizations sent since iFIX started and a


Synchronizations Sent successful synchronization communication occurred. The maximum
number that can appear in this field is 4,294,967,296. After this
number is reached, the number is reset to zero and the counter
restarts.

Number of Total number of synchronizations received since iFIX started and a


Synchronizations successful synchronization communication occurred. The maximum
Received number that can appear in this field is 4,294,967,296. After this
number is reached, the number is reset to zero and the counter
restarts.

Number of PDB Blocks The number of database blocks included in the synchronization.

PDB Size in Bytes The size of the entire iFIX process database that is being
synchronized, in bytes.

Last Sending Error The number of the last error message that appeared.

Enable/Disable This button is available only on the primary node. It is not displayed
Maintenance Mode on the secondary node.
Maintenance Mode allows you to temporarily suspend
synchronization between the two SCADA nodes, so that you can
make changes to your database while the SAC is still running.
When you finish making your changes, click the Disable
Maintenance Mode button to become the active node; your changes
will now be synchronized with the standby node. For more
information, refer to the Maintenance Mode section.
NOTE: Using maintenance mode forces both SCADAs in a pair to
active status. This will place increased load on your PLC network,
as the I/O drivers on both nodes are polling at the active rate. Both
nodes will generate alarms.

81
Enhanced Failover

Communication Status

The Communication Status screen in the SCADA Sync Monitor displays information
about the bytes sent and received on each network transport.

The following table describes the fields that appear in this screen.

Field or Area Description

Transport 1, 2, or 3 Displays the name of the network (primary, secondary, or tertiary).


This name is configured in the Data Sync Transport dialog box in
the SCU. You access this dialog box from the SCADA
Configuration dialog box.

Status Displays the status of the network: Good, Bad, or Unknown


(disabled).

Bytes Sent Displays the total number of bytes sent on the network.
The maximum number that can appear in this field is 4,294,967,296.
After this number is reached, the number is reset to zero and the
counter restarts.

Bytes Received Displays the total number of bytes received on the network. If the
value for the Bytes Received field is incrementing, that indicates
good health of the network.
The maximum number that can appear in this field is 4,294,967,296.
After this number is reached, the number is reset to zero and the
counter restarts.

Bytes per Second Displays the number of bytes processed per second on the network.

Average ACK Time Displays the average time it takes the partner SCADA to
(Seconds) acknowledge the communication status on the network.

82
Enhanced Failover

Field or Area Description

Watchdog Count Displays the number of times that the watchdog timer has checked
the network connection between the primary and secondary SCADA
nodes.
Every time the watchdog updates, it is assumed that the connection
is active. If after some period of time the primary network does not
receive a watchdog update from the partner SCADA Server, the
connection is considered not running and the Watchdog times out.
The Watchdog Timeout field is configured in the Timers area of the
Data Sync Transport dialog box in the SCU. You access this dialog
box from the SCADA Configuration dialog box.

Debug Log for Troubleshooting

The Debug Log screen in the SCADA Sync Monitor displays detailed debug
messages. Most of these messages do not appear in the SCADASync.log. By default,
debug message are not sent to the log file. Use this screen for reviewing log
messages that occur during the SCADA synchronization process.

By default, the Debug Log screen displays debugging information. The following figure shows an
example of these debug messages in the SCADA Sync Monitor. This screen is reserved for use by GE
Intelligent Platforms Support and Development only; it does not provide valuable end-user
information.

83
Enhanced Failover

Overall System Health

The Overall System Health screen in the SCADA Sync Monitor displays the general
health of your local and remote SCADA pair.

The following table describes the fields that appear in this screen.

Field or Area Description

iFIX Version The version of iFIX running on your local and remote nodes.

Node Status The status of iFIX running on the local and remote nodes: ACTIVE,
STANDBY, UNKNOWN.

SAC Running The status indicating whether the Scan, Alarm, and Control (SAC)
program is Running or Stopped.

84
Enhanced Failover

Field or Area Description

SAC Active The status indicating whether SAC is communicating between the
active and standby nodes. Use this field to determine the Enhanced
Failover state of the local and remote nodes: ACTIVE or
STANDBY.

SAC Tick The number of times SAC sent and/or received data.

SAC Alive The status indicating whether SAC is running (1=Yes, 0=No).

Available Memory The available memory, in bytes, on your local and remote nodes.

Total Memory The total memory, in bytes, on your local and remote nodes. Use
this field along with the "Available System Disk Space" and
"Available Memory" fields to troubleshoot disk space errors.

Available System Disk The available system disk memory, in bytes, on your local and
Space remote nodes. Use this field along with the "Total Memory" and
"Available Memory" fields to troubleshoot disk space errors.
If the available disk space is zero, it causes a failover.

Available LocPath Disk The available local path memory, in bytes, on your local and remote
Space nodes.
If the available disk space is zero, it causes a failover.

Physical Node The iFIX node name.

Logical Node The logical node name for the SCADA pair. The logical node name
represents a primary and standby SCADA pair. This field can be
used to determine if the active and standby pair was configured
properly in the Local Startup Definition dialog box in the SCU.

Primary Node The primary node name. This field can be used to determine if the
active and standby pair was configured properly in the Local Startup
Definition dialog box in the SCU.

Secondary Node The secondary node name. This field can be used to determine if the
active and standby pair was configured properly in the Local Startup
Definition dialog box in the SCU.

85
Enhanced Failover

Global Memory Synchronization Status

The Global Memory Synchronization Status screen in the SCADA Sync Monitor
displays internal troubleshooting information for Customer Support and
Development.

This screen is for internal purposes only.

Runtime Information Fields for Enhanced Failover


The runtime information fields for Enhanced Failover reside within SCADASync tags (also known as
Enhanced Failover tags). These fields are very helpful for troubleshooting your Enhanced Failover
configuration.

If you do not have an iFIX key on your computer, you will not be able to access the SCADASync tags
or fields. This is because in Demo mode, iFIX does not allow you to enable Enhanced Failover. You
must have a key on your computer that supports Enhanced Failover in order to display the
SCADASync information within iFIX. SCADASync tags and fields are not supported in iFIX Demo
mode.

What are SCADASync Tags?

SCADASync tags contain diagnostic and network information pertaining to your Enhanced Failover
configurations. These tags are designated solely for Enhanced Failover and are not database blocks.
SCADASync tags are special tags residing on the nodes associated with your Enhanced Failover
configuration. These tags include Enhanced Failover specific information such as the name of the
currently active node, whether the Primary node is in Maintenance Mode, the logical SCADA name,
the failover status, and so on. SCADASync tags and field names can be inserted into an iFIX picture as
a datalink, for instance.

How to Use and View SCADASync Tags in iFIX

You can use SCADASync tags in the iFIX WorkSpace or EDA-based applications. To view
SCADASync tags in the iFIX WorkSpace, you must first enable Enhanced Failover in the SCU (in the
SCADA Configuration dialog box). In this same dialog box, to fully configure Enhanced Failover, you
need to set your Primary and Secondary nodes, and Data Sync Transports. For more on Enhanced
Failover configuration, refer to the Configuring a SCADA Server Pair for Enhanced Failover section.

From within the iFIX WorkSpace, you can view SCADASync tags in the iFIX Expression Builder. In
the iFIX Expression Builder, on the iFIX Database tab, select the Node name. The SCADASync tags
should then appear in the list of tags. When you click the SCADASync[0] or SCADASync[1] tag, the
fields appear in the Field Names column, as shown in the following figure.

NOTE: SCADASync[0] refers to the local node, where as SCADASync[1] refers to its partner node as
configured in the SCU of that node.

86
Enhanced Failover

SCADASync[0] Zero-based Fields

The Zero-based Enhanced Failover tag, SCADASync[0], refers to the local node. For example, say you
wanted to enter a data source that allows you to force the Primary node into Maintenance Mode,so that
you can make update to a database from a remote iClient. In the picture, you could enter a data source
like this, where the Primary node name is used and the index for the SCADASync tag is [0]:

Fix32.PrimaryNodeName.SCADASync[0].A_MAINTENANCEMODE

In this instance, you would replace PrimaryNodeName with the actual name configured in the SCU (in
the Local Startup Definition dialog box). Since, it's an A_ tag, a True or False entry appears in your
picture in run mode (as opposed to the F_ tag which displays a 1 or a 0). Once you force the Primary
into Maintenance Mode, you can open the Primary database on the iClient node (assuming you have
the network privileges to do so), and make your changes. For more information on how this works,
refer to the Maintenance Mode from Remote Developer Stations section.

SCADASync[1] One-based Fields

The one-based Enhanced Failover tag, SCADASync[1], refers to the partner node for the
SCADASync[0] tag. For example, say you want to determine what remaining disk space is available
on the partner node. You could enter a data source like this in your picture, using the Primary node
name:

Fix32.PrimaryNodeName.SCADASync[1].E_SYSTEMDISK

Or, like this, using the Secondary node name:

Fix32.SecondaryNodeName.SCADASync[1].E_SYSTEMDISK

In these instances, you would replace PrimaryNodeName or SecondaryNodeName with the actual
node names configured in the SCU (in the Local Startup Definition dialog box). Since, it's an E_ tag, a
value of up to 40 whole number digits and 16 decimal digits can display in run mode to describe the
available system disk space left on your Windows system disk drive.

87
Enhanced Failover

Examples of SCADASync[0] and SCADASync[1] Tag References

The following examples show SCADASync tags as defined on a local node and its partner. The
SCADA Configuration defined in the SCU for the local node and its partner is listed below each
figure. Actual field names are not displayed. Instead, they are substituted with Field1, Field2, and
Field3. The numbers 4, 5, 6, 7, 8, and 9 are shown just for example use, and are not representative of
any specific field. The node names are excluded from the SCADASync tag references, for easier
readability.

Field Descriptions

The following table lists the SCADASync fields that are available for use with the Enhanced Failover
feature in the iFIX WorkSpace.

NOTE: To view SCADASync tags in the iFIX WorkSpace, you must first enable Enhanced Failover in
the SCU (in the SCADA Configuration dialog box). SCADASync tags are not supported in iFIX Demo
mode.

SCADASync Fields

Field Name Description

A_AVAILMEM The available memory, in bytes, of the specified node. Use this
E_AVAILMEM field along with the "A/E_SYSTEMDISK" and
"A/E_TOTALMEM" fields to troubleshoot disk space errors.
A_AVAILMEM represents a whole number, restricted only by
the number of characters you select when you add the field to
your picture.
E_AVAILMEM represents a value with up to 15-digit precision
that can be displayed, depending on how many digits you enable
for viewing.

88
Enhanced Failover

SCADASync Fields

Field Name Description

A_AVEPDBACK The average time, in seconds, that it took for the last database
E_AVEPDBACK synchronization.
F_AVEPDBACK
A_AVEPDBACK represents a whole number, restricted only by
the number of characters you select when you add the field to
your picture.
E_AVEPDBACK represents a value with up to 15-digit precision
that can be displayed, depending on how many digits you enable
for viewing.
F_AVEPDBACK represents a floating point value can be
displayed in your picture.

A_IFIXVERSION The version of iFIX running on the node you specify.


For example, if a Primary node referencing this tag was running
iFIX 5.1,
Fix32.PrimaryNode.SCADASync[0].A_IFIXVERSION, then
5.1.6846 would display in run mode.

A_LASTACKTIME The last time a network handshaking acknowledgement was sent


E_LASTACKTIME from the partner node. This timestamp is based on the local
regional settings from the computer receiving the
acknowledgement.

A_LASTMSG[0-63] Displays any of the last 64 messages related to partner SCADA


communications. Each message includes a timestamp. If you do
not specify an index number, the A_LASTMSG field represents
the most current message in the log. However, if you want to
identify a specific message number (for instance, the message
before the most recent one in the list – the second to last
message), you would use the field: A_LASTMSG[1], since the
index starts at 0.
0 is the last message in the queue displayed in the SCADA Sync
Monitor's message list, while 63 is the first message in the queue.
Once 64 messages are reached, the queue resets. For more
information, refer to the Overview of the SCADA Node
Synchronization History section.
If you need to review messages older than the last 64, you can
review the SCADASync .log file, in your iFIX LOCAL directory.
If you installed iFIX to the default location, this directory
location is: C:\Program Files\Proficy\Proficy iFIX\LOCAL.

89
Enhanced Failover

SCADASync Fields

Field Name Description

A_LOCPATHDISK The available disk space where iFIX is installed, in bytes. If the
E_LOCPATHDISK available disk space is zero, it causes a failover.
A_LOCPATHDISK represents a whole number, restricted only
by the number of characters you select when you add the field to
your picture.
E_LOCPATHDISK represents a value with up to 15-digit
precision that can be displayed, depending on how many digits
you enable for viewing.

A_LOGICALNODE The logical node name for the SCADA pair. The logical node
name represents both the active and standby SCADA pair. This
field can be used to determine if the active and standby pair was
configured properly in the Local Startup Definition dialog box in
the SCU of the specified node.

A_MAINTENANCEMODE Provides a way for you to disable or enable Maintenance Mode


F_MAINTENANCEMODE on the Primary node. When you enable Maintenance Mode, you
temporarily suspend synchronization between the two SCADA
nodes (either locally or remotely), so that you can make changes
to your database while the Scan, Alarm, and Control (SAC)
program is still running. In Maintenance Mode, modifications are
done on the Primary node. This means that you can only write to
the Primary node’s A_MAINTENANCEMODE or
F_MAINTENANCEMODE field.
Be aware that if security is enabled on your iFIX nodes,
Maintenance Mode can only be enabled if you have access to the
Maintenance Mode security area. For more information on how
to configure security for Maintenance Mode, refer to the
Maintenance Mode section.
When you finish making your changes, you can disable
Maintenance Mode; your changes will now be synchronized with
the Secondary node.
NOTE: Using Maintenance Mode forces both SCADAs in a pair
to an Active status. This will place increased load on your PLC
network, as the I/O drivers on both nodes are polling at the
active rate. Both nodes will generate alarms.

For A_MAINTENANCEMODE, the value of TRUE is enabled,


while FALSE is disabled.
For F_MAINTENANCEMODE, the value of 1 is enabled, while
0 is disabled.

90
Enhanced Failover

SCADASync Fields

Field Name Description

A_MSG[0-63] Displays any of the last 64 messages related to partner SCADA


communications. Each message includes a timestamp. If you do
not specify an index number, using A_MSG, the very first
message in the log displays. However, if you want to identify a
specific message, for instance the second message in the list, you
would use the field: A_MSG[1], since the index starts at 0.
0 is the first message in the queue displayed in the SCADA Sync
Monitor's message list, while 63 is the last message in the queue.
Once 64 messages are reached, the queue resets. For more
information, refer to the Overview of the SCADA Node
Synchronization History section.
If you need to review messages older than the last 64, you can
review the SCADASync .log file, in your iFIX LOCAL directory.
If you installed iFIX to the default location, this directory
location is: C:\Program Files\Proficy\Proficy iFIX\LOCAL.

E_MSGTIMEOUT The number of times that a synchronization message had no


response from the partner node.

A_NUMOFTPORT The number of data synchronization transports configured.


F_NUMOFTPORT Typically, this number is 3, which represents the Primary,
Secondary, and tertiary data transports.

A_PDBCOMPLETEMSG The total number of times it took to send the synchronized data to
E_PDBCOMPLETEMSG the partner node over the active network connection.

A_PDBLASTERROR The last error message that appeared during a database


synchronization.
If you need to review more than just the most recent
synchronization error message, you can review the
SCADASync.log file in your iFIX LOCAL directory. If you
installed iFIX to the default location, this directory location is:
C:\Program Files\Proficy\Proficy iFIX\LOCAL.

A_PDBNUMOFBLOCKS The number of database blocks included in the last


E_PDBNUMOFBLOCKS synchronization sent from this node to its partner.

A_PDBNUMOFSYNCS The number of synchronizations that were sent since you started
E_PDBNUMOFSYNCS iFIX.

91
Enhanced Failover

SCADASync Fields

Field Name Description

A_PDBNUMRECVD The total number of synchronizations received since iFIX started


E_PDBNUMRECVD and a successful synchronization communication occurred. The
maximum number that can appear in this field is 4,294,967,296.
After this number is reached, the number is reset to zero and the
counter restarts.

A_PDBRCVDDATE The last date that the iFIX database (PDB) was received by the
partner node.

A_PDBRCVDTIME The last time that the iFIX database (PDB) was received by the
partner node. This time is based on the local regional settings of
the computer receiving the information.

A_PDBSECBTWNSYNC The total number of seconds it takes to synchronize the active


E_PDBSECBTWNSYNC database with the standby database, from beginning to end. This
field is a very valuable field to monitor.
The value of this field is always greater than the
A/E_PDBCOMPLETEMSG field.
A_PDBSECBTWNSYNC represents a whole number, restricted
only by the number of characters you select when you add the
field to your picture.
E_PDBSECBTWNSYNC represents a value with up to 15-digit
precision that can be displayed, depending on how many digits
you enable for viewing.

A_PDBSENTDATE The last date that the iFIX database (PDB) was sent to the partner
node.

A_PDBSENTTIME The last time that the iFIX database (PDB) was sent to the partner
node. This time is based on the local regional settings of the
computer requesting the information.

A_PDBSIZEINBYTES The size of the entire iFIX process database that is being
E_PDBSIZEINBYTES synchronized, in bytes.
A_PDBSIZEINBYTES represents a whole number, restricted
only by the number of characters you select when you add the
field to your picture.
E_PDBSIZEINBYTES represents a value with up to 15-digit
precision that can be displayed, depending on how many digits
you enable for viewing.

92
Enhanced Failover

SCADASync Fields

Field Name Description

A_PDBSYNCDURATION The total number of seconds it took to send the synchronized data
E_PDBSYNCDURATION from the active database to the standby database, over the active
network connection.
A_PDBSYNCDURATION represents a whole number, restricted
only by the number of characters you select when you add the
field to your picture.
E_PDBSYNCDURATION represents a value with up to 15-digit
precision that can be displayed, depending on how many digits
you enable for viewing.

A_PHYSCIALNODE The physical node name of the specified iFIX node.

A_PRIMARYNODE The Primary node name configured on the specified node. This
field can be used to determine if the active and standby pair was
configured properly in the Local Startup Definition dialog box in
the SCU.

A_RCVMSGTIMEOUT The number of times that the SCADA node received an


E_RCVMSGTIMEOUT incomplete synchronization message.

A_SACACTIVE The status indicating whether the Scan, Alarm, and Control
E_SACACTIVE (SAC) is processing the database.
A value of 0 represents standby, while 1 means it is actively
processing the database.

A_SACSTATUS The status indicating whether the Scan, Alarm, and Control
E_SACSTATUS (SAC) program is ready to run (1=Yes, 0=No).

A_SACTICK The number of times the Scan, Alarm, and Control (SAC)
E_SACTICK program sent and/or received data.

A_SACTICKISRUNNING The status indicating whether the Scan, Alarm, and Control
E_SACTICKISRUNNING (SAC) program is Running or Stopped (1=Running, 0=Stopped).

A_SECONDARYNODE The Secondary node name configured on the specified node. This
field can be used to determine if the active and standby pair was
configured properly in the Local Startup Definition dialog box in
the SCU.

A_STATUS The status of the specified node: STANDBY (0), ACTIVE (1), or
F_STATUS MAINTENANCE (2).

93
Enhanced Failover

SCADASync Fields

Field Name Description

A_SYSTEMDISK The available system disk of the Windows system disk drive, in
E_SYSTEMDISK bytes, left on the specified node. Use this field along with the
"A/E_TOTALMEM" and "A/E_AVAILMEM" fields to
troubleshoot disk space errors. If the available disk space is zero,
a failover occurs.
A_SYSTEMDISK represents a whole number, restricted only by
the number of characters you select when you add the field to
your picture.
E_SYSTEMDISK represents a value with up to 15-digit
precision that can be displayed, depending on how many digits
you enable for viewing.

A_TOTALGOODCON The number of good iFIX network connections on the specified


E_TOTALGOODCON node.

A_TOTALMEM The total memory, in bytes, on the specified node. Use this field
E_TOTALMEM along with the "A/E_SYSTEMDISK" and "A/E_AVAILMEM"
fields to troubleshoot disk space errors.
A_TOTALMEM represents a whole number, restricted only by
the number of characters you select when you add the field to
your picture.
E_TOTALMEM represents a value with up to 15-digit precision
that can be displayed, depending on how many digits you enable
for viewing.

A_TPORTACKCNT[0-2] The number of times the specified SCADA node acknowledged


E_TPORTACKCNT[0-2] the network communication status for the specified data
transport.
A [0] following the field name refers to the Primary data
transport. [1] refers to the Secondary data transport. [2] refers to
the tertiary data transport. For example, A_TPORTACKCNT[0]
represents the number of acknowledgements on the Primary data
transport.

94
Enhanced Failover

SCADASync Fields

Field Name Description

A_TPORTAVEACK[0-2] The average time it takes the specified SCADA node to


E_TPORTAVEACK[0-2] acknowledge the communication status on the network for the
specified data transport.
A [0] following the field name refers to the Primary data
transport. [1] refers to the Secondary data transport. [2] refers to
the tertiary data transport. For example, A_TPORTAVEACK[0]
represents the average time for acknowledgements from the
Primary data transport.
A_TPORTAVEACK[] represents a whole number, restricted
only by the number of characters you select when you add the
field to your picture.
E_TPORTAVEACK[] represents a value with up to 15-digit
precision that can be displayed, depending on how many digits
you enable for viewing.

A_TPORTBYTESASEC[0- The number of bytes processed, per second, on the network for
2] the specified data transport.
E_TPORTBYTESASEC[0-2]
A [0] following the field name refers to the Primary data
transport. [1] refers to the Secondary data transport. [2] refers to
the tertiary data transport. For example,
A_TPORTBYTESASEC[0] represents the number of bytes
processed by the Primary data transport.
A_TPORTBYTESASEC[] represents a whole number, restricted
only by the number of characters you select when you add the
field to your picture.
E_TPORTBYTESASEC[] represents a value with up to 15-digit
precision that can be displayed, depending on how many digits
you enable for viewing.

95
Enhanced Failover

SCADASync Fields

Field Name Description

A_TPORTBYTESREVD[0- Displays the total number of bytes received on the network for
2] the specified data transport. If the value for the bytes received is
E_TPORTBYTESREVD[0- incrementing, that indicates good health of the network.
2]
The maximum number that can appear in this field is
4,294,967,296. After this number is reached, the number is reset
to zero and the counter restarts.
A [0] following the field name refers to the Primary data
transport. [1] refers to the Secondary data transport. [2] refers to
the tertiary data transport. For example,
A_TPORTBYTESREVD[0] represents the total number of bytes
received by the Primary data transport.
A_TPORTBYTESREVD[] represents a whole number, restricted
only by the number of characters you select when you add the
field to your picture.
E_TPORTBYTESREVD[] represents a value with up to 15-digit
precision that can be displayed, depending on how many digits
you enable for viewing.

A_TPORTBYTESSENT[0- The total number of bytes sent on the network for the specified
2] transport.
E_TPORTBYTESSENT[0-2]
The maximum number that can appear in this field is
4,294,967,296. After this number is reached, the number is reset
to zero and the counter restarts.
A [0] following the field name refers to the Primary data
transport. [1] refers to the Secondary data transport. [2] refers to
the tertiary data transport. For example,
A_TPORTBYTESSENT[0] represents the total number of bytes
sent over the Primary data transport.
A_TPORTBYTESSENT[] represents a whole number, restricted
only by the number of characters you select when you add the
field to your picture.
E_TPORTBYTESSENT[] represents a value with up to 15-digit
precision that can be displayed, depending on how many digits
you enable for viewing.

96
Enhanced Failover

SCADASync Fields

Field Name Description

A_TPORTDESC[0-2] The description of the specified data transport. This description


also displays in the Data Sync Transport dialog box in the SCU.
You can access this dialog box from the SCADA Configuration
dialog box.
A [0] following the field name refers to the Primary data
transport. [1] refers to the Secondary data transport. [2] refers to
the tertiary data transport. For example, A_TPORTDESC[0],
represents description of the Primary data transport.

A_TPORTDOGCOUNT[0-2] The number of times that the watchdog timer has checked the
E_TPORTDOGCOUNT[0-2] network connection between the SCADA pair for the specified
data transport.
Every time the watchdog updates, it is assumed that the
connection is active. If after some period of time, the Primary
network does not receive a watchdog update from the partner
SCADA Server, the connection is considered not running and the
Watchdog times out.
The Watchdog Timeout field is configured in the Timers area of
the Data Sync Transport dialog box in the SCU. You access this
dialog box from the SCADA Configuration dialog box.
A [0] following the field name refers to the Primary data
transport. [1] refers to the Secondary data transport. [2] refers to
the tertiary data transport. For example,
A_TPORTDOGCOUNT[0] represents the watchdog count of the
Primary data transport.

A_TPORTIP[0-2] The local TCP/IP network address of the specified data


transport.

A [0] following the field name refers to the Primary data


transport. [1] refers to the Secondary data transport. [2] refers
to the tertiary data transport. For example, A_TPORTIP[0],
represents the local TCP/IP address of the Primary data
transport.

A_TPORTMSGREVD[0-2] The number of times that a communication message was received


E_TPORTMSGREVD[0-2] on the specified data transport.
A [0] following the field name refers to the Primary data
transport. [1] refers to the Secondary data transport. [2] refers to
the tertiary data transport. For example,
A_TPORTMSGREVD[0] represents the number of times a
message was received over the Primary data transport.

97
Enhanced Failover

SCADASync Fields

Field Name Description

A_TPORTMSGSENT[0-2] The number of times that a communication message was sent on


E_TPORTMSGSENT[0-2] the specified data transport.
A [0] following the field name refers to the Primary data
transport. [1] refers to the Secondary data transport. [2] refers to
the tertiary data transport. For example, A_TPORTMSGSENT[0]
represents the number of times a message was sent over the
Primary data transport.

A_TPORTNAKCNT[0-2] The number of times that the specified transport did not
E_TPORTNAKCNT[0-2] acknowledge a communication message (sent a NAK).
A [0] following the field name refers to the Primary data
transport. [1] refers to the Secondary data transport. [2] refers to
the tertiary data transport. For example, A_TPORTNAKCNT[0]
represents the number NAKs sent to the Primary data transport.

A_TPORTNAKRCV[0-2] The number of times that the specified transport received a


E_TPORTNAKRCV[0-2] communication message that was not acknowledged (received a
NAK).
A [0] following the field name refers to the Primary data
transport. [1] refers to the Secondary data transport. [2] refers to
the tertiary data transport. For example, A_TPORTNAKRCV[0]
represents the number of NAKs received on the Primary data
transport.

A_TPORTSTATUS[0-2] Displays the status of the network: Good, Bad, Undefined


F_TPORTSTATUS[0-2] (disabled).
A [0] following the field name refers to the Primary data
transport. [1] refers to the Secondary data transport. [2] refers to
the tertiary data transport. For example, A_TPORTSTATUS[0]
represents the network status of the Primary data transport.
For A_TPORTSTATUS[], the status is represented as words,
such as Good, Bad, or Undefined.
F_TPORTSTATUS[], the status is represented as a number, such
as 1 for Good, 0 for Bad, or 2 for Undefined.

Field Formats

The format of the tag indicates the type of data that the field stores. The following table provides an
overview of the available formats:

98
Enhanced Failover

Field Formats

Format: Description: Used in...

A_ ASCII Format. Data links and objects in pictures.

F_ Floating-point Data links, objects in pictures, and block-to-block references.


Format.

E_ 15-Digit Precision Data links, objects in pictures, and block-to-block references.


Format. Valid values range from +/-3.40282300000000e+/-38, with
15 digits of accuracy.

Example Uses of Runtime Information Fields for Enhanced Failover


SCADASync tags contain diagnostic and network information that you can use to monitor and
troubleshoot your Enhanced Failover configurations. To view SCADASync tags and field names in the
iFIX Expression Builder, you must have TCP/IP networking enabled in the SCU (in the Network
Configuration dialog box). SCADASync tags are not supported in iFIX Demo mode. For more
information on SCADASync tags, refer to the Runtime Information Fields for Enhanced Failover
section.

Example uses of SCADASync tags are outlined below.

Example 1: Monitor the Status of the Primary Node

When using the following tag in a datalink (with the A_ field), the status of the primary node in your
Enhanced Failover configuration displays in run mode: STANDBY, ACTIVE, or MAINTENANCE.
For example, if the primary node were the active node, this tag would display ACTIVE:

Fix32.PrimaryNodeName.SCADASYNC[0].A_STATUS

When using the following tag in a datalink (with the F_ field), the status of the primary node in your
Enhanced Failover configuration displays in run mode: 0 for STANDBY, 1 for ACTIVE, or 2 for
MAINTENANCE. For example, if the primary node were the active node, this tag would display 1:

Fix32.PrimaryNodeName.SCADASYNC[0].F_STATUS

Example 2: Monitor the Status of the Secondary Node

When using the following tag in a datalink (with the A_ field), the status of the secondary node in your
Enhanced Failover configuration displays in run mode: STANDBY, ACTIVE, or MAINTENANCE.
For example, if the secondary node were the standby node, this tag would display STANDBY:

Fix32.SecondaryNodeName.SCADASYNC[0].A_STATUS

When using the following tag in a datalink (with the F_ field), the status of the secondary node in your
Enhanced Failover configuration displays in run mode: 0 for STANDBY, 1 for ACTIVE, or 2 for
MAINTENANCE. For example, if the secondary node were the standby node, this tag would display
0:

99
Enhanced Failover

Fix32.SecondaryNodeName.SCADASYNC[0].F_STATUS

Example 3: Determine the Version of iFIX Running on a Specified Node

The following example shows the version of iFIX running on the primary node:

Fix32.PrimaryNodeName.SCADASYNC[0].A_IFIXVERSION

In this case, the version that displays is: 5.1.6846, which is iFIX version 5.1.

Example 4: Display the Logical Node

The following example displays the logical node name configured for the SCADA pair, as defined in
the SCU on the primary node:

Fix32.PrimaryNodeName.SCADASYNC[0].A_LOGICALNODE

Example 5: Display the Primary Node Name

The following example displays the primary node name configured on the secondary SCADA in the
pair, however it uses the secondary node name in the tag to reference it:

Fix32.SecondaryNodeName.SCADASYNC[0].A_PRIMARYNODE

Example 6: Display the Secondary Node Name

The following example displays the secondary node name of SCADA pair, as configured in the SCU
on the primary SCADA:

Fix32.PrimaryNodeName.SCADASYNC[0].A_SECONDARYNODE

Example 7: Display the Available System Disk

The following example displays the available system disk of the Windows system disk drive, in bytes,
left on the primary node (using the A_ field):

Fix32.PrimaryNodeName.SCADASYNC[0].A_SYSTEMDISK

The following example displays the available system disk of the Windows system disk drive, in bytes,
left on the primary node (using the E_ field):

Fix32.PrimaryNodeName.SCADASYNC[0].E_SYSTEMDISK

A_SYSTEMDISK represents a whole number, restricted only by the number of characters you select
when you add the field to your picture. E_SYSTEMDISK represents a value with up to 15-digit
precision that can be displayed, depending on how many digits you enable for viewing.

Frequently Asked Questions about Enhanced Failover


The following sections identify questions and answers to commonly asked questions when working
with Enhanced Failover.

100
Enhanced Failover

Question Answer

Why does my SCADA When an iClient establishes a connection to an active SCADA


node display error Server node in run mode, the iClient starts to read data from that
message number 1914, node. When the active SCADA Server node switches to the partner
every time the active SCADA, the iClient momentarily loses its session with that node,
SCADA switches? causing this error to appear.
You can suppress this error from appearing on screen. For more
information on how to suppress this message and others, refer to the
Reading Data from iFIX Pictures in iClients section.

What kind of hardware It is required that you have at least one dedicated SCADA network.
setup do I need for This network’s components (LAN adapters, hubs, routers, switches,
Enhanced Failover? cables, and so on) should all be capable of running at 1 Gigabit. You
can optionally utilize a crossover network cable if the partner
SCADAs are close to each other. You need to configure the active
and standby nodes identically. For more information, refer to the
Configure Computers for Enhanced Failover section.

The SCADA Sync Monitor displays information about the primary


What is the SCADA and secondary SCADA Servers. For example, it describes how often
Sync Monitor and how database synchronizations occur, whether the networks are in good
is it used? communication, debug log messages that occur during
synchronization of the databases, SAC information, and the overall
system health on both nodes.
This tool is good for troubleshooting Enhanced Failover. For more
information, refer to the Diagnostics with the SCADA Sync Monitor
section.

• SCADASync.log – for reviewing log messages that occur


What are the log files during the SCADA synchronization process in Enhanced
available for the LAN Failover.
Redundancy and
Enhanced Failover • ScadaRoleMgr.log – for debugging the active to standby
features in iFIX? node switch in Enhanced Failover.
• iFIX Alarm Typers including Alarms to File, Alarm
ODBC, Alarm History window – for reviewing iFIX error
logs if LAN Redundancy is used with Enhanced Failover.
For more information, refer to the Log Files for Enhanced Failover
Features section.

Is there an iFIX security Yes. For information, refer to the Assigning Failover Security
feature for Enhanced Privileges to Users section. There is also a security area available for
Failover? Maintenance Mode. Refer to the Maintenance Mode from Remote
iClients section for more information.

101
Enhanced Failover

Maintenance Mode
Maintenance Mode allows you to temporarily suspend synchronization between the two SCADA
nodes in an Enhanced Failover pair, so that you can make changes to your iFIX database while the
Scan, Alarm, and Control (SAC) program is still running. For example, you could use Maintenance
Mode to add a database block (using a pre-existing driver I/O address) or import a database .CSV file
while SAC is running. Driver modifications are not recommended in Maintenance Mode. Any SCADA
modifications using Maintenance Mode should be planned ahead of time to minimize disruptions to
your network. If iFIX security is enabled, you are encouraged to use a security area to restrict the usage
of Maintenance Mode to specified users.

IMPORTANT: Maintenance Mode is the only valid and supported way to modify a database on the
Enhanced Failover pair, while the SAC is active. In Maintenance Mode, modifications are done on the
Primary node. If you do not go into Maintenance Mode to make your changes, you may lose the
changes you enter or corrupt the database.

You can initiate Maintenance Mode on the Primary SCADA either locally, or remotely from an
iClient. When you enter Maintenance Mode, SCADA synchronization temporarily stops;
synchronization between the SCADA pair is suspended. Physical file synchronization of the process
database (.PDB file) is included in this suspension. Changes to the .PDB file are not picked up while
SCADA synchronization is suspended. While Maintenance Mode is enabled, you make your changes
to the Primary node.

NOTE: Using Maintenance Mode forces both SCADAs in a pair to Active status. This will place an
increased load on your PLC network, as the I/O drivers on both nodes are polling at the active rate.
Both nodes will generate alarms.

When you exit Maintenance Mode, SCADA synchronization resumes. If you modified your database,
save your database. iFIX synchronizes the partner SCADAs, including the .PDB file shared between
them. The Primary SCADA becomes the active node, and all iClient (View) node connections display
the active SCADA node, now the Primary node.

However, some file changes made during Maintenance Mode are not retroactively propagated. For
example, if you entered Maintenance Mode to add or remove a new alarm area, after you exit
Maintenance Mode from the Primary node, you will need to manually copy the *.ADD files from the
active SCADA to the standby SCADA.

NOTE: In Maintenance Mode, both nodes are active which can cause two alarm entries (one from
each SCADA) in the Alarm ODBC. Proficy Historian tags continue to collect from the SCADA running
in Maintenance Mode. You can use the Historian Administrator to force a switch to the redundant
collector.

To enable Maintenance Mode, you use the SCADA Synchronization Monitor on the Primary node, or
the A_MAINTENANCEMODE or F_MAINTENANCEMODE fields for the SCADASync tag in an
iFIX picture or an EDA application. Be aware that if security is enabled on your iFIX nodes,
Maintenance Mode can only be enabled if you have access to the Maintenance Mode security area.

For local use of Maintenance Mode from the Primary SCADA, you can use either the SCADA
Synchronization Monitor or the SCADASync tag. For remote use of Maintenance Mode, you can only
use the SCADASync tag. An overview of how to use the SCADA Synchronization Monitor is outlined
below. For information on the SCADASync tag, refer to the Maintenance Mode from Remote iClients
section.

102
Enhanced Failover

SCADA Synchronization Monitor


The Enable/Disable Maintenance mode button is available in the SCADA Synchronization Monitor
(SCADASyncMonitor.exe) on the Database Synchronization Status screen. This button is available
only on the Primary node. It is not displayed on the Secondary node. The following figure shows this
screen with the Enable Maintenance Mode button displayed.

Maintenance Mode Steps


When using Maintenance Mode, the following events must occur:

1. You place the Primary node into Maintenance Mode by clicking the Enable Maintenance
Mode button in the SCADA Synchronization Monitor, or by using the
A_MAINTENANCEMODE or F_MAINTENANCEMODE fields for the SCADASync tag in
iFIX picture or an EDA application.
2. With Maintenance Mode enabled, both SCADAs in the Enhanced Failover pair switch to an
Active status. Synchronization between the SCADA pair is temporarily suspended.
3. You enter your database changes on the Primary node (either locally from the server, or
remotely from a client). When remote, you need to open the Primary database on the iClient
node (assuming you have the network privileges to do so) to make your changes. In
Maintenance Mode, all changes must be made to the database on the Primary node.
4. After your changes are complete, you take the Primary node out of Maintenance Mode by

103
Enhanced Failover

clicking the Disable Maintenance Mode button in the SCADA Synchronization Monitor or by
using the A_MAINTENANCEMODE or F_MAINTENANCEMODE fields for the
SCADASync tag in iFIX picture or an EDA application.
5. The Primary node becomes the Active node. The Secondary node becomes Standby node.
6. You save your database on the Primary node. The databases are re-synchronized.
NOTES:
• Any changes made by clients, EDA programs, or schedules to the active Secondary node are
lost when Maintenance Mode ends. For example, if you added a block to the Secondary node
database, that change would be gone when the Primary node leaves Maintenance Mode and
becomes active.
• For more up to date information on Maintenance Mode, refer to the GlobalCare
Knowledgebase.

Security Area for Maintenance Mode


If iFIX security is enabled, you are encouraged to use a security area to restrict the usage of
Maintenance Mode to specified users. Only one security area is supported for Maintenance Mode. The
letter associated with this one security area can be assigned to administrators of your Enhanced
Failover configurations though the Security Configuration Utility (SCU). The Maintenance Mode
security area can be set only on the SCU of the Primary node in your Enhanced Failover configuration.
With the Maintenance Mode security area configured, you restrict the users who can enable
Maintenance Mode on the Primary node (either locally or remotely).

To assign a security area for Maintenance Mode:

1. In the SCU of the Primary node, on the Configure menu, click SCADA. The SCADA
Configuration dialog box appears.
2. In the Maintenance Mode Security Area field, enter your security letter.
3. Click OK.

For more information on how to set up security in iFIX, refer to the Implementing Security e-book.

Maintenance Mode from Remote iClients


Maintenance Mode allows you to temporarily suspend synchronization between the two SCADA
nodes so that you can make changes to your database while the Scan, Alarm, and Control (SAC)
program is still running. For example, you could use Maintenance Mode to add a database block (using
a pre-existing driver I/O address) or import a database .CSV file while SAC is running. Driver
modifications are not recommended in Maintenance Mode. Maintenance Mode always runs on the
primary node. For more information on how Maintenance Mode works, refer to the Maintenance Mode
section.

The SCADA Synchronization Monitor (SCADASyncMonitor.exe) is unavailable for use remotely, on


the iClient, because you can only access the SCADA Synchronization Monitor from a Primary node in
an Enhanced Failover pair.

If you want to enable Maintenance Mode from a remote iClient, you use the
A_MAINTENANCEMODE or F_MAINTENANCEMODE fields in a SCADASync tag within an

104
Enhanced Failover

iFIX picture or an EDA application. The Maintenance Mode fields can be used assuming you have the
access to do so, if security is enabled on your iFIX nodes.

Using iFIX Security with Maintenance Mode


If you use iFIX security with your SCADA solution, you may want to make the Maintenance Mode
feature only available to authorized personnel because it can be considered critical to your process.
Only one security area is supported for Maintenance Mode. The letter associated with this one security
area can be assigned to administrators of your Enhanced Failover configurations though the Security
Configuration Utility (SCU). The Maintenance Mode security area can be set only on the SCU of the
Primary node in your Enhanced Failover configuration. With the Maintenance Mode security area
configured, you restrict the users who can enable Maintenance Mode on the Primary node (either
locally or remotely).

To assign a security area for Maintenance Mode:

1. In the SCU of the Primary node, on the Configure menu, click SCADA. The SCADA
Configuration dialog box appears.
2. In the Maintenance Mode Security Area field, enter your security letter.
3. Click OK.

For more information on how to set up security in iFIX, refer to the Implementing Security e-book.

SCADASync Maintenance Mode Fields


To force the primary node into Maintenance Mode so that you can make an update to a primary
database from a remote iClient, create a picture that includes the A_MAINTENANCEMODE or
F_MAINTENANCEMODE fields from the SCADASync tag. In this picture, enter a data source like
this, where the primary node name is used and the index for the SCADASync tag is [0]:

Fix32.PrimaryNodeName.SCADASYNC[0].A_MAINTENANCEMODE

In these instances, you would replace PrimaryNodeName with the actual name configured in the SCU
(in the Local Startup Definition dialog box) for the primary node. Since it's an A_ tag, a True or False
entry appears in your picture in run mode (as opposed to the F_ tag which displays a 1 or a 0). For
example, here is a datalink added to a picture, with the In-Place data entry option enabled, so that you
can edit this field (and change it from TRUE to FALSE, or vice versa) in run mode:

105
Enhanced Failover

Once you force the primary into Maintenance Mode, you can open the primary database on the iClient
node (assuming you have the network privileges to do so), and make your changes.

IMPORTANT: In Maintenance Mode from the iClient, always make sure that you open the remote
database, and not the local one. Otherwise, your changes will not persist after you exit Maintenance
Mode. Any file changes to the active secondary node are lost when Maintenance Mode ends.

For more information on other SCADASync fields that you can use in your pictures, refer to the
Runtime Information Fields for Enhanced Failover section.

Client Operations
The following sections describe the operations for the iClient for Enhanced Failover scenarios:

• Viewing Alarms on iClients


• Reading Data in iFIX Pictures on iClients
• Network Failure Detection on the iClient
• SCADAs With Enhanced Failover Detection on the iClient

Viewing Alarms on iClients


The Alarm Startup Queue Service is enabled by default when you enable networking and SCADA.
This ensures that the iClient receives all alarms after a failover occurs. The Alarm Summary will be
correct after failover.

When an alarm occurs on a SCADA Server, the alarm is sent to all connected iClients. The iClient
accepts alarms from the active node only. Alarms are not generated on the standby SCADA. In iFIX

106
Enhanced Failover

5.1, only one node is generating alarms. During failover there may be a small window where both
SCADAs are momentarily active, where both generate alarms to send to the iClient. During this period
the iClient accepts alarms only from the active node(s).

You can view alarms in the Alarm History window on the iClient.

At the iClient, alarms and messages display the logical node name in brackets. In the following
example, the logical node name is LNN.

04/29/98 22:49:45.1 [LNN] AI-1 HI 72.00

However, if the message is generated by the Database

Manager or because of networking problems, node names within the alarm text display the physical
node name.

Reading Data in iFIX Pictures on iClients


If you want to read data from a specific SCADA Server, you can access it by using its physical node
name. The SCADA Server can be active or standby, but a session must be established to it. Data is not
available on the iClient if communication with that SCADA Server is lost. You can only write data to
the active SCADA node.

iFIX pictures with links to tagnames on the logical SCADA always attempt to show data from the
active SCADA, regardless of whether it is the primary or standby SCADA. This is done without
requiring the picture to be opened, closed, or replaced.

When an iClient establishes a connection to an active SCADA Server node, it starts to read data from
that node. After the active SCADA Server node becomes unavailable, the iClient loses its session with
that node, causing a message box to appear with following message:

Node.Tag.Field Connection Not Established With Node

To disable this message, you can edit the FilteredErrors.ini file, which is located in the C:\Program
Files\Proficy\Proficy iFIX\Local directory, to include error number 1914. Once you have edited this
file you must restart the Proficy iFIX WorkSpace for the change to take effect.

When the iClient switches from the active to the standby SCADA node, the following events occur:

1. The links in the open pictures on the iClient display @ symbols (as the default) to indicate
that the session with the active node has been lost.
2. The standby node becomes the active node and the failed node becomes the standby node.
3. The pictures resolve automatically using the information from the new active node. This
ensures data integrity.
4. The @ signs are replaced with process data from the new active node. The node name
referenced by these links does not change; it continues to display the name of the logical
node.
5. An event message indicating that a failover has occurred is sent to all alarm destinations
configured for the iClient when failover occurs.

NOTE: You can change the default @ signs using the Comm Error setting on the Animations Data

107
Enhanced Failover

Error Defaults tab in the User Preferences dialog box of the Proficy iFIX WorkSpace.

Network Failure Detection on the iClient


The iClient retrieves data and alarms from the active SCADA node in run mode. If a SCADA failover
event occurs, the currently active SCADA Server automatically switches control over to the newly
active SCADA (the previous standby SCADA), and they switch roles. If an iClients does not switch to
the newly active SCADA, an iFIX Notification message box appears on the iClient until the switch to
the newly active SCADA completes.

Another instance where this message box displays is where the iClient loses all iFIX network
connections to the active SCADA, but still has an iFIX networking connection to the standby SCADA.
The network connection between the SCADA pair that is being used for data synchronization is still
established, and the iClient switches to the standby SCADA. When this occurs, an iFIX Notification
message box appears on the iClient. An example of this error message as it displays in an iFIX picture
is illustrated in the following figure. Note that while in this condition, iFIX is receiving data, but that
data may be out of date; you cannot execute a write from this iClient; you will not receive new alarms.
This message box continues to display until the iClient switches to get its data from the active
SCADA.

108
Enhanced Failover

The text in the message box reads as shown:

If an iFIX WorkSpace pop-up message appears, for instance to a request to write a tag, it appears
overlapping the iFIXNotification dialog box.

NOTE: The Minimize button, the first button in the upper right corner of this dialog box, reduces this
dialog box to display the title bar only. The text "iFIXNotification" is the only text that appears in this
title bar. Clicking the Restore button, the middle button in the upper right corner, restores the dialog to
display the original state. You can also double-click the title bar to toggle between states.

The iFIXNotification message box closes within a minute after the iFIX networking connection to the
active SCADA is restored.

SCADAs With Enhanced Failover Detection on the iClient


Data is written to the active SCADA Server only. Data cannot be written to the standby SCADA
Server. For example, if the active node is FOXBORO and the standby node is ALBANY, before a
failover the iClient writes data to FOXBORO. After a failover, the iClient writes data to ALBANY.

When a failover occurs on the SCADA node, it is automatic and seamless. iFIX sends an alarm
message whenever SCADA Server failover occurs. One of the few times a message appears on screen
during the failover is when you do not programmatically suppress the SCADA connection error
message (error number 1914). You can suppress this error from appearing on screen using the
FilteredErrors.ini file. For information on how to suppress this message and others, refer to the
Reading Data from iFIX Pictures in iClients section.

When a failover event occurs, some VBA scripts may return an error if they are executing at the time
of the failover. Real-time trends may show a small gap in the line chart. The Alarm Summary window
should show the same number of alarms and acknowledge states after the failover occurs.

If you try to write data to a standby node, an error message appears. You can only read data from a
standby node.

You cannot make database modifications to the standby SCADA. If you try to do so, a prompt
displays, such as “Cannot write value. The SCADA node is in Standby mode” or “Cannot add a block.
The SCADA node is in Standby mode.”

109
111
Index
1 Enhanced Failover ............................6, 23, 31, 39

1914 ........................................................ 100, 107 Error Code ........................................................72

1914 error code................................................. 51 error number 1914 ..........................................107

A F

active ................................................................ 15 Failure Detection ............................................109

alarm acknowledgement synchronization......... 15 FilteredErrors.ini file ......................................107

Alarm History window ..................................... 71 G

Alarm ODBC Service ....................................... 16 Gigabit-Ethernet card .................................32, 36

alarm synchronization ...................................... 12 Global Memory Synchronization Status ...........86

B I

Background Scheduler................................ 32, 36 I/O drivers .........................................................16

C iClient ..................................... 6, 46, 64, 107, 108

checklist ............................................................ 34 iClient switches ..............................................107

clocks ................................................................ 52 iClients ..............................................................52

Communication Status...................................... 82 iFIXNotification.exe .........................................22

D Inactivity Timer ................................................46

data transport options ....................................... 41 Integration Toolkit ......................................32, 36

database and alarm synchronization ................. 12 L

Database Dynamo Toolkit .......................... 32, 36 LAN Redundancy .............................................. 6

Debug Log ........................................................ 83 limitations .........................................................11

dedicated SCADA-to-SCADA network .............8 loadable blocks ...........................................32, 36

differences ..........................................................8 logical node name .............................................38

E M

EDA .................................................................. 64 Mission Control ................................................75

EDA applications ............................................. 64

113
Enhanced Failover

N run mode ...........................................................46

Network Status Display .............................. 55, 62 run mode operations .......................................106

Network Status Server .......................... 53, 55, 62 S

NetworkStatusDisplay.GRF ............................. 63 SAC ..................................................................75

NetworkStatusRedundancy.GRF ...................... 63 SCADA failover event....................................108

NSD ...................................................... 53, 55, 62 SCADA Sync Monitor......................................77

NSS....................................................... 53, 55, 62 ScadaRoleMgr.log ............................................71

O SCADASync.log ..................................71, 72, 83

One Local Area Network (LAN) and One SCADASyncMonitor.exe .................................71


Dedicated LAN ............................................. 24
secondary ..........................................................15
Overall System Health ...................................... 84
standby..............................................................15
P
STK ............................................................32, 36
Performance...................................................... 52
suppress the 1914 message ...............................51
physical node name .......................................... 38
synchronize the clocks ......................................52
primary ............................................................. 15
System Configuration Utility ............................39
Productivity Pack ....................................... 32, 36
T
Proficy Historian with Enhanced Failover ....... 17
troubleshooting ...........................................65, 70
R
W
read data ................................................. 107, 109
write data ........................................................109
Recommendations ............................................ 52

114
Proficy* HMI/SCADA - iFIX
GETTING STARTED

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

Disclaimer of Warranties and Liability

The information contained in this manual is believed to be accurate and reliable.


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

Notice

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

Getting Started with iFIX .......................................................................................... 1

Reference Documents ......................................................................................... 1

General Installation Information............................................................................... 1

Set-up Overview .................................................................................................. 2

Hardware Requirements ...................................................................................... 3

Recommended Computers ............................................................................ 10

Memory Requirements .................................................................................. 11

Disk Space Requirements ............................................................................. 11

The Hardware Key ......................................................................................... 12

Software Requirements ..................................................................................... 17

Third-Party Software Installed During the iFIX Install.................................... 19

Supported Regional Settings ......................................................................... 19

Language Support ......................................................................................... 20

Video Drivers ................................................................................................. 21

Using Third-party Video Drivers .................................................................... 21

Optimizing Virtual Memory ............................................................................ 22

Running iFIX as a Service ............................................................................. 23

OPC Certification ............................................................................................... 27

iii
Installing the iFIX Software ................................................................................ 27

Using iFIX with Proficy Historian ....................................................................... 32

Configuring Security When Using iFIX with Proficy Historian ....................... 34

Configuring iFIX to Use Proficy Historian ...................................................... 35

Using the Discover and Auto Configure Tool with Proficy


Historian ......................................................................................................... 36

Installing the FIX Desktop Software .................................................................. 37

Online Registration ............................................................................................ 38

Additional Resources ......................................................................................... 38

Using iFIX and FIX on the Same Computer ...................................................... 39

General Notes on Installing FIX and iFIX on the Same


Computer ....................................................................................................... 40

Installing iFIX on a FIX 7.0 Node ................................................................... 40

Uninstalling iFIX and FIX 7.0 ......................................................................... 40

Starting up FIX 7.0 After Installing iFIX ......................................................... 40

Installing iFIX after Uninstalling iVisualize ......................................................... 41

Using iFIX with Microsoft Office......................................................................... 41

Backup Files ...................................................................................................... 42

Proficy Change Management and iFIX ............................................................. 43

iFIX WebSpace .................................................................................................. 43

Discover and Auto Configure............................................................................. 44

iv Getting Started with iFIX


Table of Contents

Optional Hardware ............................................................................................. 44

Uninstalling iFIX ................................................................................................. 45

Sleep or Hibernate Mode ................................................................................... 45

Upgrading from an Earlier Version of iFIX ............................................................. 45

The Database and the Upgrade .................................................................... 46

DDA Drivers and the Upgrade ....................................................................... 46

Before You Upgrade ...................................................................................... 46

Steps to Upgrade from an Earlier Version of iFIX ......................................... 47

Upgrading the iFIX License ............................................................................... 49

Upgrading from iFIX 2.6 or Later ................................................................... 49

Upgrading from iFIX 2.5 and Earlier .............................................................. 50

Preserving Settings when Upgrading ................................................................ 50

Notes on Database Dynamos and Custom Programs that Run


with iFIX Startup ............................................................................................ 50

SCU Files and the Upgrade ............................................................................... 51

Enhanced Failover and Upgrading .................................................................... 53

Title Bar in iFIX WorkSpace .............................................................................. 56

Programs that Run as a Service with iFIX ......................................................... 56

Toolbars ............................................................................................................. 57

Standard vs. Classic Window Styles ................................................................. 57

v
Changing Permissions for PlugAndSolve and User Globals ............................. 57

Advanced Historian Not Supported ................................................................... 58

Proficy Historian................................................................................................. 58

Upgrading from iFIX 5.0 ................................................................................ 58

Compatibility of iFIX Pictures ............................................................................. 59

Resolving iFIX Displays ................................................................................. 59

Converting Pictures from FIX 7.x to iFIX ....................................................... 59

Running Pictures Created in an Older Version of iFIX .................................. 59

Using Code Written for Pictures in iFIX 2.1 ................................................... 60

Database Dynamos ........................................................................................... 61

Historical Datalinks ............................................................................................ 61

iFIX Dynamo Sets .............................................................................................. 61

Deleting Temp Directory Contents if iFIX Installation Fails ............................... 62

Alarm Summary Objects and Picture Translation ............................................. 63

Upgrading from FIX 7.x ......................................................................................... 65

Preparing for the Upgrade to iFIX with FIX Desktop ......................................... 65

Preparing the Recipe Files for the Upgrade .................................................. 66

Preparing the I/O Drivers for the Upgrade ..................................................... 67

Checking the Environmental Protection Settings .......................................... 68

Backing Up FIX Files ..................................................................................... 68

vi Getting Started with iFIX


Table of Contents

Exporting a Report of the Security Configuration .......................................... 71

Adding Passwords to the .RPT File ............................................................... 72

Generating a System Configuration Report .................................................. 73

Overview of Steps to Upgrade from FIX 7.x ...................................................... 74

Update Database Dynamos .............................................................................. 75

Install the Newest Drivers and iFIX Product SIMs ............................................. 75

Copy the Backed Up Files into the New Product Folder ................................... 76

Import the FIX I/O Driver Configuration Information .......................................... 78

Verify the I/O Driver and Database Migration .................................................... 80

Import the Recipes Files .................................................................................... 81

Import the Security Configuration ...................................................................... 81

Reconfigure the Application Features and Passwords for Each


User ................................................................................................................... 82

Identical Application Features in FIX32 and iFIX with FIX


Desktop .......................................................................................................... 84

FIX32 Application Feature Names That Are Different After the


Upgrade ......................................................................................................... 85

FIX32 Application Features No Longer Available After the


Upgrade ......................................................................................................... 87

New Application Features Available for iFIX Users ....................................... 88

Redefine SCADA Failover Settings ................................................................... 89

Enable Environmental Protection ...................................................................... 90

vii
Understanding Environment Protection in iFIX ............................................. 91

Steps to Enable Environment Protection ....................................................... 92

Understanding Environment Protection ......................................................... 93

Setting up for Remote OPC Server Access .......................................................... 95

Setting Up the Windows XP, Vista, or Windows Server 2008


Firewall for Use with Remote OPC Servers ...................................................... 95

Setting Up DCOM for Use with Remote OPC Servers .................................... 102

DCOM Settings ............................................................................................ 103

System-wide COM/DCOM Limits Settings .................................................. 104

OPC Server-specific DCOM Settings .......................................................... 105

iFIX and Windows Vista ....................................................................................... 110

Windows Vista and Security ............................................................................ 111

Running iFIX as a Service with Other Services ........................................... 113

Examples: Using GrantUserFixServiceRights ............................................. 113

Windows Vista and Mapped Network Drives .................................................. 114

EDA Applications and Windows Vista ............................................................. 114

iFIX and Windows Server 2008 ........................................................................... 116

Windows Server 2008 and Security ................................................................ 118

Running iFIX as a Service with Other Services ........................................... 119

Examples: Using GrantUserFixServiceRights ............................................. 120

viii Getting Started with iFIX


Table of Contents

Windows Server 2008 and Mapped Network Drives ....................................... 120

EDA Applications and Windows Server 2008 ................................................. 121

Other iFIX Installation Considerations ................................................................. 123

Supported Drivers ............................................................................................ 123

Special Keyboard Buttons ............................................................................... 123

Networking ........................................................................................................... 124

Supported Networking Protocol ....................................................................... 124

Supported File Servers .................................................................................... 125

Handling Time Zones when Using Networked FIX 6.15 and iFIX
Nodes .............................................................................................................. 125

Networking with Other iFIX and FIX Nodes ..................................................... 126

Contact GE Intelligent Platforms ......................................................................... 126

General Contact Information ........................................................................... 126

Technical Support ............................................................................................ 127

When You Have Questions ............................................................................. 128

Assistance ....................................................................................................... 129

Index .................................................................................................................... 131

ix
Getting Started with iFIX
Welcome to iFIX®! Thank you for taking the time to install and use iFIX.

Before you begin installing our product, please take some time to review this Getting
Started guide. The guide includes information about the following:

• Installing iFIX
• Upgrading from earlier versions of iFIX
• Supported networking components

Reference Documents
For more information on the System Configuration Utility, troubleshooting your set-up,
working with the Proficy iFIX WorkSpace, or setting up a process database or SCADA
system after you install iFIX, please refer to the following electronic books:

• Setting Up the Environment


• Understanding iFIX
• Building a SCADA System

General Installation Information


This chapter provides general information you need in order to install iFIX including:

• Hardware requirements, including required computer hardware, recommended


computers, required memory, and required hard disk space.
• Installing the hardware key and replacing defective keys.

1
• Installing iFIX, or iFIX with FIX Desktop.
• iFIX software requirements, including operating systems, supported regional
settings, video drivers, optimizing virtual memory, and running iFIX as a service.
• Optional installation features, including online registration, and installing
optional hardware.
• Installing iFIX with other applications including FIX Desktop, Microsoft®
Office, and Proficy Change Management.

Set-up Overview
When you are ready to begin setting up your iFIX environment, use the following steps to
set up your nodes.

To set up your nodes:

1. Set up each computer you require. Use the section Hardware Requirements as a
guide and refer to the user manual that accompanies each computer for detailed
setup information.
2. Install and optimize Microsoft Windows on each computer as needed. Also make
sure you create a login account with administrator rights so you can install iFIX
later. For instructions on optimizing Windows, refer to the Optimizing Virtual
Memory section.
3. Set up the network adapters and network software required for each computer.
Refer to the Networking iFIX Nodes and Advanced Topics chapters of the
Setting Up the Environment manual for more information.
4. Install iFIX and any other hardware you may have purchased. Refer to the
Installing the iFIX Software section for instructions on installing iFIX and your
hardware key. For information on installing other hardware, refer to that
product's documentation.
5. Configure iFIX on each computer. Make sure that the user installing iFIX is a
member of the Administrators Windows group. Refer to the Configuring iFIX
Using the SCU chapter of the Setting Up the Environment manual for more
information on configuring iFIX.

2 Getting Started with iFIX


General Installation Information

Hardware Requirements
The minimum iFIX hardware requirements are:

iFIX without Enhanced Failover or Historian Server

For Proficy HMI/SCADA - iFIX computers, the recommended minimum hardware


requirements are:

• A 2.0 GHz Dual-Core CPU or better computer. Be aware that the computer must
be at least Dual-Core; a single hyperthreaded core is not supported. For better
performance, GE Intelligent Platforms recommends a Dual-Core based 3 GHz
computer with 4 GB memory or greater. For a list of machines tested by GE
Intelligent Platforms, refer to the Recommended Computers section.
NOTE: To use more than 4 GB of memory on a 32-bit platform (in Windows
Server 2003 or 2008), you need to use Microsoft Windows 2003 or 2008
Enterprise Server in 32-bit mode. Windows Vista and Windows XP do not support
Physical Address Extensions, so you can only use up to 4GB of memory on these
operating systems.

• SpeedStep® technology is not supported and must not be enabled.


• The power save settings on your computer must be disabled. Do not use any
power setting features that affect CPU clock speed. If you are using a
uninterruptible power supply, do not use any power save settings.
• A minimum of 2 GB RAM. Refer to the Memory Requirements section for more
information. For better performance, please consider using more.
• A minimum of 1 GB of free hard drive space to install a typical iFIX system,
including pictures, databases, alarm files, other data files, and help. Even after
allowing for an extra GB for iFIX, it is strongly recommended that many GBs of
additional free space exist on the hard drive to avoid performance issues.
Be aware that iFIX alarm and historical data files grow dynamically. If you plan
to perform extensive alarm or data collection on a node, you may need more disk
space on that particular node.

• Other Proficy products, such as Proficy Plant Applications, Proficy Historian,

3
and Proficy Real-Time Information Portal, impose additional requirements. Refer
to the Important Product Information (IPI) topic in the product's electronic books
for specific system requirements. Click the System Req. tab in that product's IPI
for details.
• A DVD drive.
• a MBit TCP/IP-compatible network interface adapter for network communication
and certain I/O drivers.
NOTE: iFIX no longer supports NetBIOS.

• One free direct-connect USB port. Some touch screens, pointing devices, and I/O
drivers require a serial port. Additional ports for I/O hardware should be ordered
with the computer.
• SVGA or better color monitor with a 24-bit (16,777,216 colors) graphics card
capable of at least 1024x768 resolution.
• Two-button mouse or compatible pointing device (such as a touch screen) that is
capable of opening a context menu.

iFIX with Enhanced Failover Enabled

For Proficy HMI/SCADA - iFIX computers with SCADA Enhanced Failover features
enabled, the recommended minimum hardware requirements are (for both primary and
secondary computers):

IMPORTANT: The minimum requirements below assume that you are running only a
SCADA server without additional applications, such as EDA or FIX Desktop applications.
If you want to run more applications, you will need to increase your hardware support for
better performance.

• A 3 GHz Dual-Core CPU or better computer. For better performance, please


consider using higher. Be aware that the computer must be Dual-Core; a single
hyperthreaded core is not supported.
• SpeedStep® technology is not supported and must not be enabled.
• The power save settings on your computers and dedicated network card (NIC)
must be disabled. Do not use any power setting features that affects CPU clock
speed. If you are using a uninterruptible power supply, do not use any power save

4 Getting Started with iFIX


General Installation Information

settings.
• A minimum of 4 GB RAM. For better performance, please consider using more.
NOTE: To use more than 4 GB of memory on a 32-bit platform (in Windows
Server 2003 or 2008), you need to use Microsoft Windows 2003 or 2008
Enterprise Server in 32-bit mode. Windows Vista and Windows XP do not support
Physical Address Extensions, so you can only use up to 4GB of memory on these
operating systems.

• It is strongly recommended that 1 additional Gigabit-Ethernet card be dedicated


for SCADA-to-SCADA traffic (for a total of at least 2 network cards). The
dedicated SCADA-to-SCADA network card should be excluded from the iFIX-
to-iFIX network (not enabled for LAN redundancy), and used exclusively for
Enhanced Failover synchronization. Additionally, the wake-up upon receiving a
socket or/and request feature must be disabled on the dedicated SCADA-to-
SCADA network card.
IMPORTANT: Due to limited bandwidth and latency, it is strongly advised that
you do not use wireless networking technology in your networking solution.

IMPORTANT: You must use a direct connection via a Cat6 crossover cable,
without going through any switches, hubs, or routers.

• Jumbo Frames technology must be used on the dedicated network for Enhanced
Failover. Jumbo Frames technology allows for an Ethernet frame of 9000 MTU
for the payload, compared to a frame of 1500 bytes without the Jumbo Frames.
• A minimum of 1 GB of free hard drive space. Even after allowing for an extra
GB for iFIX, it is strongly recommended that many GBs of additional free space
exist on the hard drive to avoid performance issues.
Be aware that iFIX alarm and historical data files grow dynamically. If you plan
to perform extensive alarm or data collection on a node, you may need more disk
space on that particular node.

• Other Proficy products, such as Proficy Plant Applications, Proficy Historian,


and Proficy Real-Time Information Portal, impose additional requirements. Refer
to the Important Product Information (IPI) topic in the product's electronic books
for specific system requirements. Click the System Req. tab in that product's IPI
for details.

5
• A DVD drive.
• Primary and secondary SCADA computers located physically next to each other,
in the same location/room.
• TCP/IP-compatible network interface adapter for network communication and
certain I/O drivers.
• One free direct-connect USB port. Some touch screens, pointing devices, and I/O
drivers require a serial port. Additional ports for I/O hardware should be ordered
with the computer.
• SVGA or better color monitor with a 24-bit (16,777,216 colors) graphics card
capable of at least 1024x768 resolution.
• Two-button mouse or compatible pointing device (such as a touch screen) that is
capable of opening a context menu.

iFIX with Historian Server

For Proficy HMI/SCADA - iFIX computers with Proficy Historian Server, the
recommended minimum hardware requirements are:

• A 2.0 GHz Dual-Core CPU or better computer. Be aware that the computer must
be at least Dual-Core; a single hyperthreaded core is not supported. For better
performance, GE Intelligent Platforms recommends a Dual-Core based 3 GHz
computer with 4 GB memory or greater.
NOTE: To use more than 4 GB of memory on a 32-bit platform (in Windows
Server 2003 or 2008), you need to use Microsoft Windows 2003 or 2008
Enterprise Server in 32-bit mode. Windows Vista and Windows XP do not support
Physical Address Extensions, so you can only use up to 4GB of memory on these
operating systems.

• SpeedStep® technology is not supported and must not be enabled.


• The power save settings on your computer must be disabled. Do not use any
power setting features that affect CPU clock speed. If you are using a
uninterruptible power supply, do not use any power save settings.
• A minimum of 2 GB RAM. For better performance, please consider using more.
• If using the Enhanced Failover feature, it is strongly recommended that you use 1

6 Getting Started with iFIX


General Installation Information

additional Gigabit-Ethernet card for dedicated SCADA-to-SCADA traffic (for a


total of at least 2 network cards).
• A minimum of 1 GB of free hard drive space. Even after allowing for an extra
GB for iFIX, it is strongly recommended that many GBs of additional free space
exist on the hard drive to avoid performance issues.
If also using Classic Historian, iFIX alarm and historical data files grow
dynamically. If you plan to perform extensive alarm or data collection on a node,
you may need more disk space on that particular node.

• Other GE Proficy products, such as Proficy Plant Applications, and Proficy Real-
Time Information Portal, impose additional requirements. Refer to the Important
Product Information (IPI) topic in the product's electronic books for specific
system requirements. Click the System Req. tab in that product's IPI for details.
• A DVD drive.
• 100 MBit TCP/IP-compatible network interface adapter for network
communication and certain I/O drivers.
• One free direct-connect USB port. Some touch screens, pointing devices, and I/O
drivers require a serial port. Additional ports for I/O hardware should be ordered
with the computer.
• SVGA or better color monitor with a 24-bit (16,777,216 colors) graphics card
capable of at least 1024x768 resolution.
• Two-button mouse or compatible pointing device (such as a touch screen) that is
capable of opening a context menu.

iFIX with iFIX WebSpace

IMPORTANT:
• While running the iFIX WebSpace Server and the SCADA Server on the same
machine is supported, it is strongly recommended that production SCADA
Servers reside on a different machine than the iFIX WebSpace Server.
• SpeedStep® technology is not supported and must not be enabled on either
server.

7
iFIX WebSpace Server
The following minimum hardware recommendations apply when using the iFIX
WebSpace Server on a low-end machine supporting less than five iFIX WebSpace
sessions, and iFIX projects with pictures that have a small number of animation, shapes,
and bitmaps:

• A 2.0 GHz Dual-Core CPU or better computer. Be aware that the computer must
be at least Dual-Core; a single hyperthreaded core is not supported.
• SpeedStep® technology is not supported and must not be enabled.
• The power save settings on your computer must be disabled. Do not use any
power setting features that affect CPU clock speed. If you are using a
uninterruptible power supply, do not use any power save settings.
• A minimum of 2 GB RAM. For better performance, please consider using more.
NOTE: To use more than 4 GB of memory on a 32-bit platform (in Windows
Server 2003 or 2008), you need to use Microsoft Windows 2003 or 2008
Enterprise Server in 32-bit mode. Windows Vista and Windows XP do not support
Physical Address Extensions, so you can only use up to 4GB of memory on these
operating systems.

• A 100BaseT network adapter for optimum performance.


• A minimum of 1 GB of free hard drive space. Even after allowing for an extra
GB for iFIX, it is strongly recommended that many GBs of additional free space
exist on the hard drive to avoid performance issues.
Be aware that iFIX alarm and historical data files grow dynamically. If you plan
to perform extensive alarm or data collection on a node, you may need more disk
space on that particular node.
• Other GE Proficy products, such as Proficy Plant Applications, Proficy Historian,
and Proficy Real-Time Information Portal, impose additional requirements. Refer
to the Important Product Information (IPI) topic in the product's electronic books
for specific system requirements. Click the System Req. tab in that product's IPI
for details.
• A DVD drive.
• TCP/IP-compatible network interface adapter for network communication and
certain I/O drivers.

8 Getting Started with iFIX


General Installation Information

• One free direct-connect USB port. Some touch screens, pointing devices, and I/O
drivers require a serial port. Additional ports for I/O hardware should be ordered
with the computer.
• SVGA or better color monitor with a 24-bit (16,777,216 colors) graphics card
capable of at least 1024x768 resolution.
• Two-button mouse or compatible pointing device (such as a touch screen) that is
capable of opening a context menu.
The following minimum hardware recommendations apply when using the iFIX
WebSpace Server on a high-end machine that can support up to 25 clients:

• Dual Quad Core Processors, running at 2.6 Ghz. For better performance, please
consider using higher. Be aware that the computer must be Dual-Core; a single
hyperthreaded core is not supported.
• SpeedStep® technology is not supported and must not be enabled.
• The power save settings on your computer must be disabled. Do not use any
power setting features that affect CPU clock speed. If you are using a
uninterruptible power supply, do not use any power save settings.
• A minimum of 16 GB RAM. For better performance, please consider using more.
NOTE: To use more than 4 GB of memory on a 32-bit platform (in Windows
Server 2003 or 2008), you need to use Microsoft Windows 2003 or 2008
Enterprise Server in 32-bit mode. Windows Vista and Windows XP do not support
extended addressing memory mode, so you can only use up to 4GB of memory on
these operating systems.

• A 100BaseT network adapter.


• A minimum of 1 GB of free hard drive space. Even after allowing for an extra
GB for iFIX, it is strongly recommended that many GBs of additional free space
exist on the hard drive to avoid performance issues.
Be aware that iFIX alarm and historical data files grow dynamically. If you plan
to perform extensive iFIX alarm or data collection on a node, you may need more
disk space on that particular node.
• Other Proficy products, such as Proficy Plant Applications, Proficy Historian,
and Proficy Real-Time Information Portal, impose additional requirements. Refer
to the Important Product Information (IPI) topic in the product's electronic books

9
for specific system requirements. Click the System Req. tab in that product's IPI
for details.
• A DVD drive.
• TCP/IP-compatible network interface adapter for network communication and
certain I/O drivers.
• One free direct-connect USB port. Some touch screens, pointing devices, and I/O
drivers require a serial port. Additional ports for I/O hardware should be ordered
with the computer.
• SVGA or better color monitor with a 24-bit (16,777,216 colors) graphics card
capable of at least 1024x768 resolution.
• Two-button mouse or compatible pointing device (such as a touch screen) that is
capable of opening a context menu.

iFIX WebSpace Browser Session


The speed of the client computer viewing the iFIX WebSpace session through a browser
can also impact performance. Faster client machines typically load iFIX pictures much
quicker, and have improved performance while those pictures are open. For instance, in
testing, a slow client with 512 MB RAM and 1.5 GHz processor had picture load times
approximately 1.5 times longer than a faster client with 1 GB RAM and 3.0 GHz
processor.
Network speeds and connection types also impact performance for an iFIX WebSpace
session. A 100BaseT network adapter, which is recommended, allows the iFIX WebSpace
session to utilize optimum speed for its performance. Companies using VPN connections
for iFIX WebSpace sessions may experience a decrease in performance.

Recommended Computers
iFIX has been tested by GE Intelligent Platforms on the following machines that were
running Microsoft® Windows® XP, Windows Server 2003, Windows Vista™, or
Windows Server 2008:

• Dell Optiplex GX620


• Dell Optiplex GX280
• Dell Optiplex 760

10 Getting Started with iFIX


General Installation Information

• Dell Optiplex 755


• Dell Optiplex 745
• Dell Precision 340
• Electrovaya Scribbler SC 2100 Tablet PC (Microsoft Windows XP Tablet
Edition or Windows Vista, iClient Only)
While GE Intelligent Platforms cannot guarantee the integrity of any computer, our testing
has shown a higher potential for problems with the economy lines of computers on the
market. Because of these problems, it is not recommended that you use value or economy
type computers with iFIX. Instead, it is recommended that you invest in the higher end
(premier) line of computers when purchasing computer hardware.

Memory Requirements
iClients and SCADA nodes require at least 128MB RAM. This configuration provides
enough memory to run iFIX applications.

NOTE: As more applications run simultaneously on a SCADA server, performance


decreases. Whenever possible, run additional applications on different computers.

If the size of your process database is over 1MB, add 1 megabyte of memory for each
megabyte of database size. For example, if your database is 2MB in size, your SCADA
server requires 130MB minimum (128+2=130).

If your picture cache size increases, your memory requirements should increase:

• 2 to 3 times the file size for each picture that does not include bitmaps and
controls.
• 3 to 4 times the file size for each picture that includes bitmaps and controls.
For example, a 2 megabyte file that does not include bitmaps and controls requires a 4 to 6
megabyte increase in memory. A 2 megabyte file that includes bitmaps and controls
requires an increase in the memory of 6 to 8 megabytes.

Disk Space Requirements


The Proficy iFIX WorkSpace checks to make sure you have at least 10 MB of disk space

11
when you save a picture or a schedule. If there is insufficient disk space, the WorkSpace
may react unpredictably and you may lose your work.

To help minimize this problem, the WorkSpace warns you if you have less than 10 MB of
disk space available. Although you can continue loading the software, we recommend that
you stop iFIX, free some disk space, then restart. Otherwise, the WorkSpace may become
unstable.

The WorkSpace examines the iFIX Picture path and the Windows TEMP path when it
starts. If you change either path so that they reference different drives, for example,
D:\Program Files\Proficy\Proficy iFIX and C:\Temp, the WorkSpace requires 10 MB on
each drive.

You may find that 10MB is not enough space to protect against instability during file save
operations. You can increase this threshold by changing the FreeDiskSpace parameter in
the FixUserPreferences.ini file. This parameter sets the minimum amount of space that the
WorkSpace requires in bytes. By default, the parameter is set as follows:

[AppRunPreferences]

FreeDiskSpace=10000000

To change FreeDiskSpace parameter:

1. Shut down the WorkSpace.


2. Locate the FixUserPreferences.ini file in the Local path.
3. Open the file with a text editor, and change the FreeDiskSpace parameter to the
amount you want.
4. Save the .INI file and restart the WorkSpace.

The Hardware Key


The hardware key that is currently offered supports USB port configurations. The
hardware key you use to run iFIX:

• Controls and enables software options available to your installation.


• Uses a utility to electronically reprogram options you choose to upgrade or

12 Getting Started with iFIX


General Installation Information

change.
iFIX runs in demo mode for two hours if the key is not installed or found. Hardware keys
from version 2.5 and older will not work with the current version of iFIX. The iFIX 2.6
SuperPro keys also do not work with iFIX 5.1. iFIX 5.1 only supports HASP M4 keys.

NOTES:

• In some cases, an electronic file update is not available for reprogramming your
key.

• If you want to upgrade an earlier version of iFIX that came with a Rainbow
SuperPro or C++ key, you will need to exchange your key for new one.
Typically, this includes SuperPro keys from iFIX 2.6, and any 2.5 or earlier
release.

• Additionally, if you want to upgrade iFIX to run with other Proficy products,
such as Proficy Change Management or Proficy Plant Applications, you will also
be required to exchange your hardware key for a new M4 key.

• You can exchange the older key by contacting your iFIX sales representative.

Be sure to file your hardware key packing slip in a safe location. The codes on this slip are
necessary for GE Intelligent Platforms to quickly duplicate the key in case it is damaged
or misplaced. You can verify that your serial number matches the serial number on the
hardware key packing slip by using the Proficy License Viewer utility to detect and
display your hardware key settings. For more information, see the License and Key
Checking section.

Installing the Hardware Key

A hardware key is included with your iFIX software. You must install your hardware key
in order to access all the components of the iFIX software you purchased.

Typically, you install your hardware key as you install the iFIX product. Refer to the
Installing the iFIX Software section for more details. If you are upgrading from a previous
version, you usually run the electronic licensing update file for your key before installing
the newer version of iFIX.

If you insert the key after you install iFIX, it should be detected automatically when iFIX

13
starts. It is recommended that you shutdown your computer before plugging in a new
hardware key.

IMPORTANT: Do not remove the hardware key from your node while iFIX is running. If
you do, iFIX features will shut down and you will need to restart iFIX. You may also
damage the hardware key if you remove it while iFIX is running.

GE Intelligent Platforms supports the installation of the USB port hardware key only on
systems running Windows XP, Windows Server 2003, Windows Vista, or Windows
Server 2008. At this time, GE Intelligent Platforms does not support USB keys connected
through an external USB hub.

On new installs on Windows XP SP1, GE Intelligent Platforms recommends that you


insert your USB key after you run the iFIX install.

License and Key Checking

To use iFIX and other Proficy products, you must purchase the product with the desired
options from GE Intelligent Platforms. Depending on the options you buy, you may need
to replace your current key or run an update program on your existing key to enable the
options. If you are upgrading from an earlier version of iFIX, you will also need to update
or replace your key.

If you want to determine the options that are enabled on the computer you are currently
working on, use the Proficy License Viewer to view the options enabled.

NOTE: If you try to run the Proficy License Viewer when an older key is installed, an
error message appears.

TIP: The Proficy License Viewer programs can be used to provide technical support
personnel with information about your iFIX hardware key.

To use the Proficy License Viewer to determine the enabled options:

1. From the Start menu, point to Programs, Proficy Common, and then License
Viewer. The License Viewer appears.
2. In the Proficy Products list, select the iFIX product. The License and Key
Diagnostics area should now display the iFIX options.

14 Getting Started with iFIX


General Installation Information

For information on upgrading your key to add other options, contact GE


Intelligent Platforms. GE Intelligent Platforms will provide the steps for
upgrading your Proficy license file when you purchase new options or products.

Troubleshooting Hardware Key Installation

If the hardware key does not install properly, you may find that even though you have
followed the installation directions for your hardware key, you see the following message
at iFIX startup:

Message when No Key is Detected

First, check to see that your hardware key is firmly attached. Next, uninstall and reinstall
the driver for the hardware key. If this driver has been incorrectly uninstalled, it may
behave unpredictably.

Troubleshooting the Aladdin HASP USB Key

If the Aladdin HASP USB key does not appear to be working, you can reinstall the
licensing to recover from the improper install. When the Aladdin HASP key is not
communicating correctly, you will notice that the indicator light at the end of the key is
off.

To reinstall the Proficy Licensing if you have an M4 key:

1. Reinstall the licensing by clicking the ProficyClientInstallerlite.exe file in the

15
License folder on the iFIX product installation CD.
2. Click Finish when the licensing install completes.

Replacing Defective Hardware Keys

A defective hardware key causes your Proficy product to run in Demo mode. In iFIX, that
means you will only be able run in iFIX in DEMO mode.

Be sure to check that the key is firmly attached to your USB port before assuming it is
defective. Additionally, if the indicator light at the end of the key is off, then the key is not
communicating correctly.

You can also use the License Viewer to determine if the hardware key is defective. If your
hardware key is defective, the License Viewer does not display the proper enabled
options. Or, an error message stating that a hardware key is required to view the enabled
options may appear. For more information on using the License Viewer, refer to the
License and Key Checking section.

GE Intelligent Platforms replaces defective keys as quickly as possible. To obtain a


replacement hardware key:

• Call your local GE Intelligent Platforms technical support representative. The


support representative will instruct you to FAX a completed copy of a
Merchandise Return Authorization form. On receipt of the form, GE Intelligent
Platforms can program a new hardware key and send it to you overnight.
• When you receive the hardware key, you must return the old one along with a
copy of the form sent with the new hardware key. GE Intelligent Platforms
reserves the right to invoice you for defective hardware keys that are not
returned.

Common Questions About Hardware Keys

This section describes some frequently asked questions about iFIX hardware keys.

What Does the Light At the End of the USB Key Indicate?

The light indicates that the key and the software are communicating. If this light is off, it

16 Getting Started with iFIX


General Installation Information

indicates a problem with the key.

If I Move the USB Key To Another Port Is It Automatically Detected?

Yes. The USB key is automatically detected when moved to another USB port. There are
no additional screens requesting software to be installed for the Aladdin HASP USB key.

Software Requirements
The minimum iFIX (including FIX Desktop) software requirements are:

• One of the following operating systems:


• Microsoft® Windows® XP Professional, Service Pack 3 or greater.
Since Windows XP has continuous updates, you should run the
Windows update feature to get the latest software.
• Microsoft® Windows® Server 2003, Service Pack 2 or greater,
Standard or Enterprise Edition. Since Windows Server 2003 has
continuous updates, you should run the Windows update feature to get
the latest software.
• Microsoft® Windows® Server 2008 (32-bit only), Service Pack 2,
Standard or Enterprise Edition. Since Windows Server 2008 has
continuous updates, you should run the Windows update feature to get
the latest software.
• Microsoft® Windows® Vista™, Service Pack 2, Business, Enterprise,
or Ultimate Edition. Since Windows Vista has continuous updates, you
should run the Windows update feature to get the latest software.
• Microsoft® Windows® Vista™ Ultimate Edition, Service Pack 2,
running on a Tablet PC, iClient Only.
NOTE: Proficy Historian 3.5 is available for use in Windows Vista.
Proficy Historian 3.1 currently does not support Windows Vista.

• Microsoft® Windows® XP Tablet Edition, iClient Only.


• Microsoft® Windows® XP Embedded, Service Pack 2, with the

17
Microsoft Windows XP update for Daylight Saving Time (DST),
WindowsXP-KB933360-x86-ENU.exe, applied.
NOTE: For charts to plot properly in iFIX, you must install the
Windows update for Daylight Saving Time (DST), WindowsXP-
KB933360-x86-ENU.exe. While the Windows Update service does not
apply in the Windows XP Embedded environment, you can directly
obtain this download from the Microsoft web site. See KB article
KB933360 on the Microsoft Downloads web page.

• Network interface software for TCP/IP network communication and certain I/O
drivers.
• An I/O driver for SCADA servers. GE Intelligent Platforms supplies I/O drivers
for many programmable controllers or you may purchase a driver separately. Be
certain that the I/O driver you purchase is compatible with your hardware.
Contact your GE Intelligent Platforms Sales Representative or visit the GE
Intelligent Platforms web site at http://www.ge-ip.com for the latest list of drivers
and supported hardware.
• Microsoft® Internet Explorer 7 or 8. For iFIX Webspace sessions, in addition to
Microsoft Internet Explorer 7 and 8, Mozilla Firefox® 3.0, 3.1.x, or 3.5 is also
supported.
• If using the Historian Excel Add-In, Microsoft Office XP, Office 2003, or Office
2007 SP1 is required.
• If using VisiconX and Proficy Historian, you must install the Historian 3.5 OLE
DB driver.
• One of the following relational database applications, if relational database
software is used with iFIX:
• Microsoft® SQL Server 2005 (SP2 and higher).
• Microsoft® SQL Server 2008.
• Oracle® 10g.
• Oracle® 11g.
• Microsoft® Access 2000 (or higher). Microsoft Access is supported for
local installs only.

18 Getting Started with iFIX


General Installation Information

Third-Party Software Installed During the iFIX Install


Please note that Microsoft® VBA 6.4 software is automatically installed with iFIX. If the
versions of VBA on the iFIX DVD are newer than the versions on your computer, then the
iFIX install updates the version on your computer.

Supported Regional Settings


iFIX supports the following regional settings available in the Windows Control Panel:

• Decimal symbol - one character


• Digit grouping symbol
• List separator - one character
• Time style
• Time separator
• Short date style
• Date separator
NOTE: The decimal symbol and the digit grouping symbol cannot be the same character.
Also, the time separator and the date separator cannot be the same character.

Formatting the Time and Date

Avoid changing the time style or short date style in regional settings to values that are
outside of the standard styles provided. Changing these values to non-standard styles may
result in improperly formatting times and dates in some parts of iFIX.

iFIX supports the following short date formats, some of which may not be available in
certain language versions of Windows:

• dd/mm/yy, or dd/mm/yyyy
• dd/yy/mm, or dd/yyyy/mm
• mm/dd/yy, or mm/dd/yyyy
• mm/yy/dd, or mm/yyyy/dd

19
• yy/dd/mm, or yyyy/dd/mm
• yy/mm/dd, or yyyy/mm/dd

Formatting the Regional Language Setting

Avoid changing the language setting once a timer has been used in a schedule. If changed,
the date always reverts to 30/12/99, regardless of what you set the start time to be.

Setting the System Default Locale

The selected locale must be set as the system default.

Language Support
The iFIX English product is supported on English, non-English single-byte, double-byte,
and Cyrillic Windows Operating Systems, running English Regional Settings. For a
detailed list of the iFIX supported Operating Systems, refer to the Software Requirements
section in this chapter.

The iFIX product is also available in other languages. The following table outlines the
currently supported languages and operating systems. For more information on the
available iFIX versions for each language, contact your regional Sales Representative.

Product Language Supported Operating System (OS)

Chinese iFIX Chinese OS, with local regional settings

Japanese iFIX Japanese OS, with local regional settings

Polish iFIX Polish OS, with local regional settings

Russian iFIX Russian OS, with local regional settings

20 Getting Started with iFIX


General Installation Information

Product Language Supported Operating System (OS)

French iFIX French OS, with local regional settings

German iFIX German OS, with local regional settings

Unsupported Items

• GE Intelligent Platforms does NOT support running the localized version of the
product on an English operating system.
• Multilingual User Interface versions of the Windows Operating Systems are not
supported by the iFIX product.
• iFIX client/server configurations with different OS languages are not supported.
For instance, connecting an English SCADA Server (on an English OS) with a
with a German View node or iClient (on a German OS) is not supported.

Video Drivers
After much testing, GE Intelligent Platforms has found that some video drivers have
unique problems that are apparent only when using these drivers. Additionally, GE
Intelligent Platforms has found that many problems with video drivers occur in both iFIX
applications and common applications, such as Excel and Word.

If you are experiencing problems with your video driver, try using it in a different mode to
find out if the problem is unique to a specific configuration.

Using Third-party Video Drivers


If you need to use a third-party driver, please use the following guidelines to resolve any
problems you may experience:

• Contact the manufacturer to ensure you have the latest version of the video
driver. GE Intelligent Platforms has found that the latest version of third-party

21
video drivers can fix some problems.
• If the latest version of the video driver does not fix the problem, notify the video
driver manufacturer to see if they are aware of the problem.
• If all else fails to resolve the problem, contact Technical Support.

Optimizing Virtual Memory


Through the use of paging files, Windows allocates space on your hard drive for use as if
it were actually memory. This space is known as virtual memory. The following steps
describe how to optimize virtual memory in Windows to achieve maximum performance
from iFIX.

To optimize the virtual memory paging file for iFIX in Windows:

1. From the Windows Control Panel, open the System Properties dialog box:
• In Windows Vista, click the System and Maintenance link, the System
link, and then, in the Task list, click the Advanced System Settings link.
• In Windows Server 2008, click System, and then, in the Task list, click
the Advanced System Settings link.
• In all other versions of Windows, in the Control Panel, open the System
item.
2. Open the Performance Options:

• In Windows Vista, in the System Properties dialog box, click the


Advanced tab, and in the Performance Options area, click Settings. The
Performance Options dialog box appears.
• In Windows Server 2008, in the System Properties dialog box, click the
Advanced tab, and in the Performance Options area, click Settings. The
Performance Options dialog box appears. Click the Advanced Tab.
• In Windows XP, in the System Properties dialog box, click the
Advanced tab, then in the Performance group box, select Settings. In the
Performance Options dialog box, click the Advanced Tab.
• In Windows Server 2003, in the System Properties dialog box, click the

22 Getting Started with iFIX


General Installation Information

Advanced tab, then select Performance Options.


3. In the Virtual Memory group box, select Change.
4. In the Initial Size field, enter a value equal to three times your physical memory,
as long as the result of the calculation does not exceed 4 GB or the Maximum
Size value.
5. In the Maximum Size field, enter a value equal to three times your physical
memory, as long as the result of the calculation does not exceed 4 GB.
NOTE: For more information on the 4 GB paging file limit, refer to article
237740 on the Microsoft Knowledgebase:
http://support.microsoft.com/kb/237740/en-us.

6. Select Set.
7. Click OK to save the changes and exit the dialog box.
NOTE: If the paging file is set to grow dynamically, your system may experience
severe performance problems during runtime. To ensure optimal performance, be
sure that the Initial Size and Maximum Size of the paging file are the same so that
the paging file does not grow dynamically.

Running iFIX as a Service


If you are running iFIX as a service, please take note of the following information.

Windows Services

In the Windows Services control panel, do not stop the iFIX service or make changes to
the iFIX configuration. This applies to iFIX running on any operating system.

Enabling iFIX to Run as a Service

To enable iFIX to run as a service:

1. Shut down iFIX.


2. Ensure that you are logged in as a user in the Administrators group. If not, log in
as an Administrator now.

23
3. On the Start menu, point to Programs, Proficy HMI SCADA - iFIX, and then
System Configuration. The System Configuration Utility (SCU) window appears.
4. On the Configure menu, click Local Startup. The Local Startup Definition dialog
box appears.
5. In the Service area, select the Continue running after logoff check box, as
illustrated in the following figure. This configures iFIX to run as a service when
you start iFIX.

NOTE: The check boxes in the Service area of this dialog box are unavailable
while iFIX is running. You need to shut down iFIX, as you did in step 1, to update
them.

6. Additionally, if you want to start iFIX whenever you start Windows, select the
Start iFIX at system boot check box.
The Start iFIX at system boot option is available only when the Continue running
after Logoff option is selected.

7. Click OK.
8. Exit the SCU.
9. Restart iFIX.

24 Getting Started with iFIX


General Installation Information

Disabling iFIX as a Service

To disable iFIX from running as a service:

1. Shut down iFIX.


2. Ensure that you are logged in as a user in the Administrators group. If not, log in
as an Administrator now.
3. On the Start menu, point to Programs, Proficy HMI SCADA - iFIX, and then
System Configuration. The System Configuration Utility (SCU) window appears.
4. On the Configure menu, click Local Startup. The Local Startup Definition dialog
box appears.
5. In the Service area of dialog box, clear the Continue running after logoff check
box.
6. Click OK.
7. On the File menu, click Save to save the SCU file.
8. Exit the SCU.
9. Restart iFIX.

iFIX Paths

Windows does not map network drives until a user logs in. Therefore, if you are running
iFIX as a service under Windows, all iFIX paths must be set to a local drive.

Required Application Feature

You must assign the Enable Ctrl+Alt+Del application feature to the user that is logged in
when iFIX is running as a service. Otherwise if a user logs out of the operating system
while iFIX is running as a service, no one will be able to log back in to the operating
system.

Running iFIX with Terminal Services

You must configure the Default Service SCU in the Startup Profile Manager if you want
to run iFIX as a service on the Terminal Server. For more information, refer to the

25
Configuring the Default Profile section in the Using Terminal Server electronic book.

Starting the Proficy iFIX WorkSpace

You should not have the WORKSPACE.EXE file listed as a configured task in the Task
Configuration dialog box of the SCU. Instead, you should start the Proficy iFIX
WorkSpace from the Startup group for the user, or have the user start the Proficy iFIX
WorkSpace manually.

NOTE: If you do configure iFIX to run as a service, and the WORKSPACE.EXE is listed
as a configured task in the Task Configuration dialog box of the SCU, make sure you
configure WORKSPACE.EXE to run as a foreground task. To do this, on the SCU's
Configure menu, click Task List. Select the WORKSPACE.EXE task, and in the Startup
Mode area click Normal.

Running iFIX with Other Programs

By default, iFIX uses the local System account when running as a service. However, you
cannot use the System account with certain applications, such as the Proficy Historian.

To configure a different user account for iFIX running as a service:

1. From Control Panel, open the Administrative Tools, then Services.


2. In the Services folder, right-click Proficy HMI/SCADA iFIX server and select
Properties.
3. In the Log On tab, set the user name and password for This Account to the user
account you want to log in when iFIX is running as a service.

Fast User Switching Not Supported

Fast user switching is not supported with iFIX, even if you are running iFIX as a service.

Running the OPC Client Driver and iFIX as a Service

If you want to run the OPC Client driver as a service, iFIX must also run as a service.
Likewise, if you want to run iFIX as a service, the OPC Client driver must run as a
service. You cannot run one as a service, without the other also running as a service.

26 Getting Started with iFIX


General Installation Information

OPC Certification
Based on Microsoft's OLE (Object Linking and Embedding) technology, OPC (OLE for
Process Control) provides greater interoperability between control applications, field
systems and devices, and front office/backoffice applications. OPC servers, such as DCSs,
PLCs, smart field devices, and analyzers provide real-time information and can
communicate directly with the Proficy HMI/SCADA - iFIX product.

The iFIX 5.1 product is an OPC 2.05a DA enabled client, which lets iFIX retrieve data
from any OPC 1.x or 2.x (up to version 2.05a) compliant data server. To access local or
remote data from a third party OPC Server, use the iFIX OPC Client version 7.4x, which
is also in included with iFIX.

iFIX also has an iFIX OPC Server (OPC20iFIX.exe) that serves out data via OPC from
the iFIX Database.

Be aware that Proficy iFIX currently includes two OPC servers:

• OPC20iFIX.exe (Intellution.OPCiFIX) – an OPC 2.05a (out of process) Data


Server
• iFixOPCAESrv.exe – an OPC 1.10 Alarm and Events (A&E) Server
Both OPC Servers included with iFIX are in compliance with the OPC Foundation’s "Self
Tested" specifications. GE Intelligent Platforms ran a series of OPC tests to verify
compliance for the versions listed above.

You can find more information about OPC on the Support web site at: http://www.ge-
ip.com/support.

Installing the iFIX Software


The steps that follow outline how to install the iFIX software from the product install
DVD.

To install iFIX software:

1. Log in to Windows with Administrator privileges. Ensure that there are no iFIX,

27
FIX, or Proficy processes running, and close any other programs that are running.
NOTE: If you plan to use the integrated Proficy Historian features in iFIX, you
must shut down Historian services and licensing prior to installing iFIX and
Historian.

2. Insert the iFIX DVD into your DVD drive. The iFIX installation screen appears.
NOTE: If this screen does not automatically appear, double-click the
InstallFrontEnd.exe file on the DVD to display it. A message may appear with a
security warning, click Run to proceed.

3. Click the "Install iFIX" link. A message box appears asking you to confirm the
install.
4. Click Yes to proceed. The install program starts and the Welcome screen
appears.
5. Click Next to continue. The license agreement screen appears.
6. Click "I accept the terms of the license agreement" if you want to continue, and
then click Next.
IMPORTANT: If a previous version of iFIX is detected, you can choose to
upgrade iFIX. For iFIX versions before 4.0, you have the choice to upgrade or
install iFIX to a completely new folder, without upgrading. If you want to
upgrade, it is suggested that you do so using the install at this point in time.

The Setup Type screen appears.

7. Select an option and click Next:


• Complete – Installs all iFIX components, including options such as FIX
Desktop, the Sample System, the Electronic books (e-books), and the
My-T-Soft virtual (on screen) keyboard.
• Custom – Installs iFIX and the options that you choose. You are
prompted to enter your options after you select an install path.
• Typical – Installs iFIX, the Electronic books (e-books), the Sample
System, and the My-T-Soft virtual (on screen) keyboard. FIX Desktop is
not installed with this option.
The Choose Destination Location screen appears.

28 Getting Started with iFIX


General Installation Information

8. Leave the default C:\Program Files\Proficy\Proficy iFIX path or click Browse to


select a folder.
NOTES:

• If you are upgrading from FIX32, make sure that you choose a location
other than the folder that contains your FIX32 software, if it is installed
on the same computer. Do not install over a current FIX32 installation.

• If you enter a custom install path, be aware that the path can be no
greater than 100 characters long.

• If you want to use 6.x drivers, the iFIX compressed install path must be
no greater than 64 characters long. iFIX uses the Microsoft compression
algorithm to try to fit longer paths within this boundary. Some paths are
not compressible to the 64 character maximum length. Please be aware of
this. In addition, make sure that the registry key,
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\FileSyste
m\NtfsDisable8dot3NameCreation, is not enabled (is set to 0) when the
install folder is created. When set to 1, the compression algorithm is
disabled. Refer to Microsoft help for more information on the
GetShortPathName() compression algorithm.

• After installing a 6x driver, the driver is listed in the SCU in the Drivers
Available dialog box (which can be accessed from the I/O Driver Name
browse button in the SCADA Configuration dialog box). You need to
manually add the driver to the Configured I/O Drivers list in the SCADA
Configuration dialog box.

9. Click Next to continue.


NOTES:

• If you selected a Custom install, instead of Complete, the Select Features


screen appears. Select the features you want to install, and click Next.

• If you chose a Complete or Custom install and do not have a web server
installed, a warning message appears indicating that WebSpace
component is not available for install. Click OK to close the dialog box.

The Ready to Install Program screen appears.

29
10. Click Install. The progress of the installation displays on screen as the files are
copied. After a few minutes, when the install finishes copying the files, the
Proficy iFIX Configure Wizard dialog box appears.
11. Enter the Node Name, Node Type, and Connectivity Type, if applicable, and then
click OK. A message box appears, prompting you to install Proficy Historian.
12. If do not want to install Historian, click No and proceed to step 15.
13. If you want to install Historian, click Yes. The Historian installation screen
appears.
NOTE: If you choose not to install Historian, the following features will not
work:

• iFIX database tags from Database Manager will not automatically be


added, updated, or deleted to or from Historian.

• You will not be able to update the Proficy Historian tab of Database
Manager blocks.

• Imported or exported database tags will have default values in the


Historian field, but will not be used.

• The FixtoHist.exe and Historical Datalink features will be installed, but


will not work without Proficy Historian.

14. Install Historian. To do so:


a. Click Next. The Select Components screen appears.
b. Choose the components you want to install and click Next. The Select
OPC Alarm and Event Servers screen appears.
NOTE: If you only want to install collectors on this node, do not install
the Historian server; clear the Server check box.

c. Select the OPC Alarm and Event Servers you want to use and click
Next. The Select OPC Servers screen appears.
d. Select the OPC Servers you want to use and click Next. The Choose the
Program Folder screen appears.
e. Leave the default path or click Browse to select a folder, and then click

30 Getting Started with iFIX


General Installation Information

Next. The Choose the Log and Buffer Folder screen appears.
f. Leave the default path or click Browse to select a folder, and then click
Next. The Historian Server Name screen appears.
g. Enter the name of the Historian server name to use for the default, and
then click Next. The Configuration Review screen appears.
h. Click Next. The progress of the installation displays on screen as the
files are copied. The Setup Complete screen appears.
i. Click Finish. The Historian SIM installation screen appears.
j. Click Next. The license agreement screen appears.
k. Click Yes to accept the terms of the licensing agreement. The SIM
details screen appears.
l. Click Next. After completing the setup, a message dialog box appears.
m. Click OK, and then click Finish.
15. When a message box appears requesting that you view the release notes, click
Yes. Close the release notes after you finish reviewing them to resume the install.
The Setup Complete screen appears.
16. Click Finish.
17. After the install completes:
• If you have a new key, power off the computer and insert your USB key
into the appropriate port.
• If you have an older key that you are updating, use the update file and
follow the instructions from GE Intelligent Platforms to update your
key.
18. Restart the computer. As the computer restarts, log in to Windows with the same
user name (with Administrator rights).
IMPORTANT: If upgrading from FIX v7 to iFIX with FIX Desktop, do not start
iFIX yet. Refer to the Overview of Steps to Upgrade from FIX 7.x section for
information on how to proceed.

19. If you installed Historian, proceed to install the required Historian Service Pack
and SIM. The SIM provides you with the new verison of the Historian toolbar

31
that includes the Configure Historian Server button and the new VisconX button.

Using iFIX with Proficy Historian


Beginning with iFIX 5.0, you can easily configure Proficy Historian to be your historian.
The application is integrated with iFIX, which means that after configuring the Proficy
Historian, you can perform the following tasks in iFIX:

• Set Proficy Historian tags for collection for the iFIX database.
• Insert a Historical Data Link into your picture in the iFIX WorkSpace.
• Use VisiconX data and grid objects to access Proficy Historian data from the
iFIX WorkSpace.
Although Proficy Historian is integrated with iFIX, you do not have to use Historian in the
iFIX WorkSpace; you can choose to use Historian as a separate application. When making
your decision on how you want to use Historian, keep the following considerations in
mind.

Configuration Considerations

Although many of the features of Proficy Historian can be configured in iFIX, some
cannot. They must be configured directly in Historian. These features include:

• Security
• Alarms, if you are using them
• Collection on any field other than F_CV
• Archive compression
• Archive back-up
• Other tag properties not configurable in iFIX
• Historian parameters for Database Dynamos, or loadable blocks
• Redundancy

32 Getting Started with iFIX


General Installation Information

Other Considerations

Multiple Databases

If you are using multiple databases, you may want to use Proficy Historian separately
from iFIX. When used together, Historian does not recognize tags from the iFIX database
with the same name as different tags, even though the source is different. So, tags that
exist in your iFIX database are ignored. The data that is populated comes from Historian,
not from the iFIX database. To avoid this problem, verify that each tag has a unique name.

For example, you have a tag called AI1 in both Process Database 1 (PDB1) and Process
Database 2 (PDB2). Both tags are added to Historian as FIX.AI1.F_CV. If you reload
PDB1 and then PDB2, the AI1 tag is overwritten in Historian.

Collection Delay

When iFIX and Historian are used as an integrated application, rather than as separate
applications, it takes longer for tags to update if the Collector is running. Additions,
deletions and modifications of tags may take twice as long to display – approximately two
minutes, instead of one – than if each application was used separately.

Collectors

If you choose to use Historian, not all installed collectors will be available for selection as
the default Collector. Because this feature only supports collectors that read data from
iFIX, the collectors available for selection are limited to the following:

• iFIX Native Collector


• OPC Collector reading from Intellution.OPCEDA or Intellution.OPCiFIX OPC
servers

Electronic Signatures

If you use electronic signatures, then you should probably not use the integrated Historian
feature. If a tag requires an electronic signature in Historian and does not in iFIX, and a
user makes a change in iFIX, the user is not prompted for a password. Instead, the change
is made, bypassing Historian's electronic signature requirement.

33
Result of Not Installing Historian

If you choose not to install Historian, the following features will not work:

• iFIX database tags from Database Manager will not automatically be added,
updated, or deleted to or from Historian,
• users will not be able to update the Proficy Historian tab of Database Manager
blocks, and
• imported or exported database tags will have default values in the Historian field
but will not be used.

Choosing Not to Install Integrated Historian

If you do not want to install integrated Historian, and continue using Historian as you did
before, then never do the following:

• select the Automatically Configure Tags for Collection in Historian on the


Proficy Historian tab of the User Preferences dialog box.
• use Proficy Historian fields in iFIX Database Manager to configure anything in
Historian.

Post-Installation Steps for Historian

If you choose to install Historian, there are post-installation steps you will need to
perform. For more information, see Configuring iFIX to Use Proficy Historian and
Configuring Security When Using iFIX with Proficy Historian.

Configuring Security When Using iFIX with Proficy Historian


Beginning with iFIX 5.0, iFIX configures Historian by adding and deleting tags and
changing tag properties. Therefore, applicable security measures must be configured.
However, tag level security and Historian domain security cannot be configured in the
iFIX application; it must be done in Historian.

For Historian domain security, see "User Privileges for Starting a Collector" in the
Historian eBook.

34 Getting Started with iFIX


General Installation Information

For all other security considerations for Historian, see the chapter "Implementing
Historian Security" in the Historian eBook.

Configuring iFIX to Use Proficy Historian


The following table describes the process for configuring iFIX to run with Proficy
Historian:

Configuration Process

Stage Description

1 If upgrading from a previous release of iFIX and you have


Historian installed on the PC, shut down Historian services and
licensing prior to installing iFIX and Historian.

2 During the iFIX install, when prompted, choose to install Historian.

3 Start iFIX and the WorkSpace.

4 Verify that Historian Server is set to Proficy Historian and not


Classic Historian. Close and restart the Workspace.

5 Configure the Historian Server. Use the Default iFIX collector to


add tags automatically to Historian.
NOTE: This must be done for each operating system user.

6 In the iFIX Database Manager, add the blocks that you want to start
collecting on. Use the Proficy Historian tab to enter the information
from Historian. Save your database.

35
Configuration Process

Stage Description

7 After approximately two minutes, in the Historian Administrator,


check that your tag was added. If your tag was not added or
collected in Historian, check the log file confighist.txt in the
iFIX\LOCAL directory.

8 Verify configuration. Add a Historical datalink to your picture,


switch to run mode, and view the last value collected in the
datalink.

Using the Discover and Auto Configure Tool with Proficy Historian
Not only can you can use the Discover and Auto Configure tool to automatically add tags
to your iFIX database, but you can also choose which tags get collected on in Proficy
Historian as well.

Additionally, you can configure the Proficy Historian description and the interval for the
collection for each tag through Discover and Auto Configure. For information adding
Proficy Historian fields in Discover and Auto Configure, refer to the Adding Proficy
Historian Fields as Columns topic.

Before you begin collection, however, you must have your Historian Server is configured,
and your iFIX Collector configured as your local, default collector.

Be aware of your license limits for Proficy Historian. Your Proficy key limits the number
of iFIX tags you are permitted to add to the Proficy Historian Server for collection. Use
care when you select which tags that you want to collect on in Discover and Auto
Configure. You do not want to exceed your license limits.

For more information on this tool, refer to the Discover and Auto Configure e-book.

36 Getting Started with iFIX


General Installation Information

Installing the FIX Desktop Software


FIX Desktop is provided as a custom option in your iFIX product install. To install FIX
Desktop option when installing iFIX, select the Custom option and then select the FIX
Desktop check box from the list of features. If you install iFIX without FIX Desktop, you
can later install it by running the iFIX install program again.

NOTE: Be aware that the changes to support 15 digits of precision in iFIX 4.5 and
greater are not supported in FIX Desktop applications, such as Draw and View. If you try
to use this feature in FIX Desktop applications, you will get unexpected results.

The steps that follow explain how to install the FIX Desktop software from the product
install DVD, after you already installed iFIX.

To install FIX Desktop software after installing iFIX:

1. Ensure that there are no iFIX, FIX, or Proficy processes running, and close any
other programs that are running.
2. Log in to Windows with Administrator privileges.
3. Insert the iFIX DVD into your DVD-ROM drive. The iFIX installation screen
appears.
NOTE: If this screen does not automatically appear, double-click the
InstallFrontEnd.exe file on the DVD to display it.

4. Click the "Install iFIX" link. A message box appears asking you to confirm the
install.
5. Click Yes to continue. The install program starts and the Welcome screen
appears.
6. Click the Modify option, and then click Next to continue. The Select Features
screen appears.
7. Select the FIX Desktop check box and click Next. The install begins.
NOTE: FIX Desktop applications are installed into the iFIX product folder. If
you installed iFIX to the default location, this folder is C:\Program
Files\Proficy\Proficy iFIX.

37
When the install completes a Maintenance Complete message box appears.

8. Click Finish.
9. Restart your computer.
IMPORTANT: If upgrading from FIX v7, do not start iFIX yet. Refer to the
Overview of Steps to Upgrade from FIX 7.x section for information on how to
proceed.

Online Registration
You can register iFIX online after you have installed the product.

To register iFIX online:

1. In Classic view, from the WorkSpace's Help menu, point to Proficy iFIX
WorkSpace Help, and then GE Intelligent Platforms On the Web, and click
Register Online.
-Or-

In Ribbon view, click the WorkSpace button, and then on the Application menu,
click Options. On the Options dialog box, select Resources from the navigation
plane, and then click Register.

2. Enter the appropriate fields on the registration form, and click Next until all
pages are completed.

Additional Resources
You can access many additional resources after you install your product. To do so, use one
of the following procedures.

NOTE: The following procedures apply only to Ribbon view.

38 Getting Started with iFIX


General Installation Information

To access technical support online:

1. Click the Application button and then on the Application menu, click Options.
2. In the Navigation pane click Resources.
3. Click Support.
4. Click OK on the Resources page.

To access GE Intelligent Platforms online:

1. Click the Application button and then on the Application menu, click Options.
2. In the Navigation pane click Resources.
3. Click Home Page.
4. Click OK on the Resources page.

To determine the software version number:

1. Click the Application button and then on the Application menu, click Options.
2. In the Navigation pane click Resources.
3. Click About.
4. Click OK.
5. Click OK.

Using iFIX and FIX on the Same Computer


Although you can run iFIX and FIX Desktop applications at the same time, you cannot
run iFIX and FIX 7.0 at the same time on a single computer. You can have iFIX and FIX
7.0 installed on the same computer, however. The following sections address issues that
occur when installing iFIX and FIX 7.0 on the same computer.

NOTE: Because the hardware key for iFIX with FIX Desktop is different from the FIX
hardware key, remember to remove the iFIX hardware key and insert a FIX hardware key
before installing or running FIX 7.0.

39
General Notes on Installing FIX and iFIX on the Same Computer
When installing FIX 7.0 on a computer that already has iFIX installed (or vice versa) do
not elect to use the current SCU configuration when prompted during the install. If you
select to use the current SCU, both FIX and iFIX will launch with errors when you try to
run either program after the install.

Installing iFIX on a FIX 7.0 Node


If you install iFIX on a node that has FIX installed and you have at least one version 7.0
driver installed, the registry paths for FIX 7.0 are changed to iFIX paths. Therefore, when
you run a FIX 7.0 application, such as the System Configuration Utility, you will receive
errors.

To avoid these errors, install iFIX without I/O drivers. This preserves your FIX 7.0 paths
in the registry.

Uninstalling iFIX and FIX 7.0


You can install iFIX and FIX 7.0 on the same computer. If you subsequently uninstall
iFIX, you must re-install FIX 7.0.

Starting up FIX 7.0 After Installing iFIX


An application error occurs when you start up FIX 7.0 as a service under Windows after
you install iFIX. The error occurs because both FIX 7.0 and iFIX 5.1 use the same key
name (FIX) under the Services key in the registry. Therefore, when you install iFIX 5.1, it
overwrites the entry for FIX 7.0.

Each product needs to have its own Services key. FIX 7.0 runs correctly if it is not run as a
service.

The workaround for this problem is to edit the registry so that the Services key points to
the service executable in the correct path. The key is located in
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Fix. Set the ImagePath
value to the correct path for fixsrv.exe.

40 Getting Started with iFIX


General Installation Information

Installing iFIX after Uninstalling iVisualize


If you have uninstalled iVisualize®, you must modify the FixUserPreferences.ini file
before installing iFIX 5.1. This file is located in the C:\Program Files\Proficy\Proficy
iFIX\Local folder.

The section [AppConfigPicturePreferences] contains the following lines:

TotalConfigPicturePath=1
PicturePath#0=*C:\Program Files\Proficy\Proficy iFIX\PDB\PanelStart.ivs

Change TotalConfigPicturePath=1 to TotalConfigPicturePath=0 and delete the line that


reads PicturePath#0=*C:\Program Files\Proficy\Proficy iFIX\PDB\PanelStart.ivs.

You will then be able to install iFIX 5.1.

Using iFIX with Microsoft Office


You can use the Microsoft Office family of products and iFIX on the same computer.
However, to ensure that VBA works correctly, install Microsoft Office products before
installing iFIX.

Use the following table as a guide for installing and removing either product.

If you have... And you want to... Then...

Installed iFIX Install Microsoft Remove iFIX, install


Office Products Microsoft Office products,
and re-install iFIX.

Installed Microsoft Office Remove Microsoft Remove iFIX, remove


Products Office Products Microsoft Office products,
and re-install iFIX.

41
If you have... And you want to... Then...

Started the iFIX Use iFIX and Uninstall iFIX, uninstall


WorkSpace for the first Microsoft Office Microsoft Office, re-install
time, and this message harmoniously Microsoft Office, and re-
appears: install iFIX.
Run time error "48": Error
in loading dll.

Backup Files
When you save one of the following files, iFIX creates a backup file:

• *.PDB – backed up as *.^DB


• *.SCU – backed up as *.^CU
• Profiles.cfg – backed up as Profiles.cfg.^AK
• DISPLAY.DOV – backed up as DISPLAY.^OV
• NODENAME.DOV – backed up as NODENAME.^OV
iFIX also creates these backup files after you start iFIX for the first time after an upgrade.
These backup files are helpful in disaster recovery of the individual files.

For new iFIX installs, be aware that you can also use the Factory Default Backup for
disaster recovery – performing a clean restore of your entire iFIX system. A clean restore
includes the files listed above along with other Factory Default files. For more
information, refer to the Using and Creating Factory Default Files section in the
Understanding iFIX electronic book.

For upgrades, be aware that you can perform a Custom Backup to backup the files listed
above before the upgrade. After the upgrade, you can restore these files with the Backup
and Restore wizard. Refer to the Overview of the Backup Process section in the
Understanding iFIX electronic book for more information.

42 Getting Started with iFIX


General Installation Information

IMPORTANT: Do not use a Full Backup from a previous release of iFIX to update the
files in the currently installed iFIX folder. Issues can occur with upgrade paths, and
possibly other files.

Optionally, after you upgrade your system with the Custom Backup, you can create a new
Factory Default Backup, that you can use for disaster recovery in replace of the original
Factory Default Backup file. This information is described in the Using and Creating
Factory Default Files and Sample BackupRestore.ini sections.

Proficy Change Management and iFIX


If you plan to use Proficy Change Management with iFIX, to help you manage your iFIX
project files, and track changes to these files, install iFIX first. After you install iFIX, you
can install Proficy Change Management 5.7 or 5.8.

Additionally, you need to configure a few items on both iFIX and the Change
Management Server, as described in the Setting up iFIX for Use with Change
Management topic in the Change Management and iFIX e-book.

NOTE: If you want to run iFIX with other Proficy products, such as Proficy Change
Management, you will need to upgrade to an M4 key. For more information, refer to the
The Hardware Key section.

If you are upgrading an iFIX computer with the Proficy Change Management, upgrade to
Proficy Change Management 5.7 or 5.8.

iFIX WebSpace
The iFIX* WebSpace product allows you to open iFIX pictures in run mode from a web
browser. The iFIX WebSpace is a server-based, thin-client solution that eliminates the
need for Citrix MetaFrame or Windows Terminal Services.

The iFIX WebSpace Server is a keyed option that you can purchase for use with your iFIX
SCADA or Proficy Pulse client.

For more detailed information on the iFIX WebSpace, including configuration

43
information, refer to the Viewing Pictures from a Web Browser e-book.

Discover and Auto Configure


The Discover and Auto Configure is a tool used to extract tag information from PLC
programming software files or OPC servers and then add the tags to your target
application's iFIX database. Using the Discover and Auto Configure tool saves you
valuable time and effort when creating tags for your driver(s) and iFIX application
database because you no longer need to manually create the individual tags.

You can currently extract information using the following Discovery Agents:

• OPC Discovery Agent


• Siemens S7 Discovery Agent
• Allen-Bradley PLC-5/SLC 500/MicroLogix Families Discovery Agent
• IGS - Industrial Gateway Server Discovery Agent
Not only can you automatically generate create tags for OPC, Siemens S7, and Allen
Bradley, but with the Industrial Gateway Server (IGS) ,you have support for tag creation
in over 90 protocols.

Within Discover and Auto Configure, you can also configure the iFIX tags that you want
to collect on in Proficy Historian (through the iFIX Collector). For information on using
Discover and Auto Configure with Proficy Historian, refer to the Using the Discover and
Auto Configure Tool with Proficy Historian section.

For more information on this tool, refer to the Discover and Auto Configure e-book.

Optional Hardware
iFIX supports the following optional hardware. You may want to purchase one or more of
these items to enhance your iFIX system.

• A Microsoft-supported touch screen or other pointing device.

44 Getting Started with iFIX


Upgrading from an Earlier Version of iFIX

• A DigiBoard™ to provide your computer with up to 9 serial ports. If you are


using multiple I/O drivers or multiple ports for one I/O driver, you may require
the use of a DigiBoard. GE Intelligent Platforms has tested and supports the
Digichannel PC/8E.

Uninstalling iFIX
To uninstall iFIX, from the Control Panel, in the Add or Remove Programs dialog box,
click the Remove button next to the "Proficy HMI SCADA - iFIX 5.1" entry. This action
launches the install program allowing you to remove the iFIX product.

If you want to uninstall other items that install along with iFIX, such as the iFIX OPC
Client, the Proficy Change Management Client API, M4 Common Licensing, Proficy
Discover and Auto Configure application, you need to uninstall these items separately.

IMPORTANT: For the Proficy Discover and Auto Configure (DAC) application, it is
recommended that you uninstall it before you uninstall the iFIX product. If you wait until
after you uninstall iFIX, the DAC uninstall will display error messages.

Sleep or Hibernate Mode


If your SCADA computer has been sleeping overnight, or in hibernate mode, be aware
that you will need to acknowledge all of the queued "License Warning" messages.

Upgrading from an Earlier Version of


iFIX
This chapter contains information about issues concerning upgrading to iFIX 5.1. Issues
specific to upgrading from iFIX 2.5 and earlier are clearly marked.

45
The Database and the Upgrade
Be aware that when you upgrade to iFIX 5.1, the file size of your process database file
will increase.

Also, when you upgrade your database, the high and low engineering units (EGU) fields
are converted from single precision to double precision floats. What that means, is that the
degree of accuracy (the Epsilon value) changes from +/_0.00000012 to
+/_0.00000000000000022. If you are using extreme ranges (very large or very low values)
for your EGU limits, you may possibly experience issues after an upgrade. To resolve
these issues, open the Database Manager, export your database and then re-import it. This
procedure resets the block values.

DDA Drivers and the Upgrade


If you are using DDA drivers, such as ROC, BR3 or MBR, you must reinstall them after
upgrade. If the driver installation files are unavailable, you can use a copy of your existing
FIX.INI file to compare to the one created after the upgrade. Then, copy the missing lines
from your old FIX.INI file to your new FIX.INI file.

Before You Upgrade


Before you upgrade your version of iFIX make sure you:

• If you are upgrading an iFIX computer with the Proficy Change Management,
upgrade to Proficy Change Management 5.7 or 5.8.
• Shut down the DEP (Data Execution Protection) feature. One way to do this is
from the Control Panel, access the System Properties. Select the Advanced tab,
and click the Settings button in the Performance area. On the Data Execution
Protection tab, select the "Turn on DEP for essential Windows programs and
services only" check box.
• Shut down all Proficy applications. It is important that no Proficy products are
running when you run the iFIX installation program.
• Save copies of your existing .INI files with your application preferences and any
custom files you create. Customized files, such as *Res.dll files, and some *.INI
files may be overwritten during an upgrade. As such, you may need to integrate
your custom changes into the newer versions of these files after you upgrade.

46 Getting Started with iFIX


Upgrading from an Earlier Version of iFIX

• Back up your existing iFIX projects. This includes the files in your LOCAL,
Config Files Backup, PIC, and PDB folders.
• It is also recommended that you create a backup copy of your Alarm ODBC
configuration file(s).
• Export a report of your system configuration (SCU), for reference. (In the SCU,
on the File menu, click Report. Refer to the Generating a System Configuration
Report section for detailed steps.)
• Export a report of your security configuration, for reference. (In the Security
Configuration application, on the File menu, click Export. Refer to the Exporting
a Report of the Security Configuration section for detailed steps.)
• If you have an application created by an Integration Toolkit, Database Dynamo
Toolkit, or System Extension Toolkit from iFIX 2.5 or earlier, and you want to
use this application with iFIX 5.1, do not uninstall iFIX. You must install iFIX
5.1 over your existing iFIX configuration. Your toolkit application will not run if
you uninstall your previous version of iFIX.
• Be sure to obtain any toolkit updates that you need, prior to installing iFIX. For
instance, if you have previously installed the iFIX Productivity Pack for Allen
Bradley, you must get the updated version prior to upgrading to iFIX 5.1.
• If you plan to use Enhanced Failover feature provided in iFIX 5.1, review the
Enhanced Failover and Upgrading section.

Steps to Upgrade from an Earlier Version of iFIX

To upgrade from earlier versions of iFIX

1. Update your license and/or hardware key. For steps refer to the Upgrading the
iFIX License section.
2. Log in to Windows with Administrator privileges.
3. Ensure that there are no iFIX, FIX, or Proficy processes running, and close any
other programs that are running.
4. Insert the iFIX DVD into your DVD-ROM drive. The iFIX installation screen
appears.

47
NOTE: If this screen does not automatically appear, double-click the
InstallFrontEnd.exe file on the DVD to display it.

5. Click the "Install iFIX" link. A message box appears asking you to confirm the
install.
6. Click Yes to continue. The install program starts and the Welcome screen
appears.
7. Click Next to continue. The license agreement screen appears.
8. Click "I accept the terms of the license agreement" if you want to continue, and
then click Next.
A message box appears indicating that a previous version of iFIX has been
detected.

9. Click Yes to upgrade.


CAUTION: If you select No to this message, you can no longer run the older
version of iFIX. By default, iFIX installs to the C:\Program Files\Proficy\Proficy
iFIX folder instead. THIS IS NO LONGER AN UPGRADE. Use caution in
copying files from your previous iFIX release, into your new iFIX install folder.

The Setup Type screen appears.

10. Select Complete and then click Next. If you selected Custom instead, you will be
prompted later to select your install features, such as iFIX with FIX Desktop. The
Ready to Install Program screen appears.
11. Click Install. The progress of the installation displays on screen as the files are
copied. After a few moments, a message box appears asking if you would like to
review the release notes.
12. Click Yes to view the release notes. Close the release notes after you finish
reviewing them to resume the install. The Setup Complete dialog box appears.
13. Click Yes to restart your computer now, or No to do it later.
14. Click Finish.
NOTE: Be sure to restart your computer before starting iFIX. As the computer
restarts, log in to Windows with the same user name (with Administrator rights).

48 Getting Started with iFIX


Upgrading from an Earlier Version of iFIX

Upgrading the iFIX License


The instructions for upgrading your iFIX license depend on the key you have and the
enabled options you want. You may need to run an update program, or you may need to
exchange your key for a newer one. iFIX 5.1 only supports HASP M4 keys.

The version and type of key you have should appear imprinted on the outside of the key. If
you do not know what type of key you have, check the label on the physical key. If you
are still unsure whether you need to exchange your key for a new one, contact your iFIX
sales representative.

Upgrading from iFIX 2.6 or Later


When you upgrade to iFIX 5.1 from iFIX 2.6 or later, you are required to update the
license on each iFIX machine. If you have an M4 key, GE Intelligent Platforms provides
utilities to help you perform this task.

If you have an M1 key, you must replace it. This requires you to physically remove the
M1 key and insert the new hardware key. For steps on how to install a hardware key, refer
to the Installing the Hardware Key section. For information about replacing your key,
contact your iFIX sales representative.

For an M4 key, use the Proficy License Viewer to update your license. To perform a key
update:

• For the Proficy License Viewer, you will need to obtain a .plic update file with
specific information about your key.
For information about obtaining the .plic file, contact your sales representative. You will
receive the new licensing file by disk or by e-mail.

If you receive the error message, "Workspace encountered a problem and needs to close.
We are sorry for the inconvenience," while registering, it is probably because you have an
unsupported key, such as the Rainbow SuperPro. If you have a Rainbow SuperPro
(Sentinel) key, which was offered for iFIX 2.6 (before 2002), this key must be exchanged
for a newer key, if you want to upgrade to iFIX 5.1.

49
To update the license with the .plic file:

1. Save the .plic file to a directory of your choice.


2. Double-click the file. The Key Update utility appears. The full path to your .plic
file should appear in the Update File text box. If it does not appear, browse to it.
3. Click Update Now to update your hardware key.
The utility validates your current license. If the validation is successful, the utility
updates the license; if the validation is not successful, the upgrade is halted.

Upgrading from iFIX 2.5 and Earlier


When you upgrade to iFIX 5.1 from iFIX 2.5 and earlier, you are required to replace your
existing hardware key and license with a new hardware key and license. You should return
your old key to GE Intelligent Platforms. For information about obtaining a new hardware
key and license, or returning your old key, contact your iFIX sales representative.

For more information about the new hardware key, see The Hardware Key section of this
manual.

Preserving Settings when Upgrading


When iFIX is installed, all previously existing configuration files in the iFIX Local folder,
with the exception of the *Res.dll files, are backed up to the C:\Dynamics\Config Files
Backup folder. To preserve these settings, after the install, copy your customized changes
from these backup files into each current file located in the Local folder. Do not copy and
paste the entire file into the Local folder because it would overwrite any new settings
installed with iFIX 5.1.

Notes on Database Dynamos and Custom Programs that Run with


iFIX Startup
When you install the newest release of iFIX, the product install program places a new
version of the startup control file, FIX.INI, into your iFIX Local directory. The previous
version of this file is copied to the iFIX Config Files Backup folder, along with the other
configuration files.

50 Getting Started with iFIX


Upgrading from an Earlier Version of iFIX

If you configured Database Dynamos, also known as loadable blocks, or other custom
programs to run as part of iFIX startup, you should compare the new FIX.INI file in the
Local folder against the FIX.INI file stored in the Config Files Backup folder. If you find
any changes between the two files, add the necessary lines to the new FIX.INI stored in
the Local path. Do not copy the old FIX.INI over the new FIX.INI file.

NOTE: Paths with embedded path spaces in the FIX.ini require quotes. For example:
RUN="%E:\PROGRAM FILES\PROFICY\PROFICY IFIX\SysAlertQMgr.exe" /F
/NSysAlertViewer

SCU Files and the Upgrade


If a previous version of iFIX already resides on your computer when you try to install
iFIX 5.1, a message box appears during the installation suggesting that you upgrade your
existing iFIX install. It is recommended that you elect to upgrade iFIX when this message
appears. By following the upgrade process, iFIX 5.1 installs to same folder where your
previous version existed. For example, if you have iFIX 3.5 installed to the C:\Dynamics
folder, when you upgrade, iFIX 5.1 installs to the C:\Dynamics folder. After the iFIX 5.1
install completes and you restart iFIX, your SCU file is upgraded automatically, and the
original file is backed up with a .^CU extension.

If you choose not to upgrade and install iFIX to another path, such as the default:
C:\Program Files\Proficy\Proficy iFIX, there are a few extra steps you need to perform
before you can start the older version SCU file in iFIX 5.1. First, you must rename the
older version SCU file, so that the name is different than the default iFIX 5.1 SCU file.
For instance, if you try to start an iFIX 4.0 SCU file in iFIX 5.1 when the names of both
SCU files are the same, an error message appears instead. So, be sure to rename your iFIX
4.0 SCU file to something other than the startup default file name before opening it in the
iFIX 5.1 System Configuration Utility. After launching the SCU application, open the
older SCU file. Now you can manually update the information in it, as described in the
steps below.

Be aware that if you have a Custom Backup available of your node with the previous
version installed, you also can use that file to upgrade your SCU. During the restore, make
sure you select the Use SCU File from Archive check box. If the SCU file name you are
upgrading is the same as the iFIX 5.1 default SCU file name, you need to change the path
configuration at this point. Click on the View Project Path Configuration button to check
the current paths. In the Project Path edit box, enter the iFIX 5.1 install path. This

51
upgrades your SCU file automatically, however you still have to manually update other
SCU information in the System Configuration Utility, as described in the steps below. For
more information on the restore process, refer to the Overview of the Restore Process
section.

IMPORTANT:

• You do not need to use a Full Backup from a previous release of iFIX if you are
just upgrading the SCU file. Instead, use a Custom Backup. Make sure that you
back up the SCU only in the .fbk file and restore it only in iFIX 5.1. If you do a
Custom Backup, click “NO TO ALL” other files when restoring just the SCU file.
Do not use a Full Backup between iFIX versions. Issues can occur with upgrade
paths, and possibly other files.

• During a restore, use caution in restoring other configuration files. For instance,
if you overwrite the .INI files in your iFIX Local folder, you lose all of iFIX 5.1
.INI settings. After that is done, there may be issues that cause iFIX or certain
features not to work properly. For instance, if you overwrite the 5.1 FIX.ini file
with a 3.5 one, you need to remove or comment out the
RUN=REGISTERHELPFILES line in order to start iFIX 5.1 with this file.

To update the SCU information manually:

NOTE: The following steps describe how to modify an SCU file with a path
outside the install path, so that you run it in iFIX.

1. Shut down iFIX.


2. On the Start menu, point to Programs, Proficy HMI SCADA - iFIX, and then
System Configuration to open the SCU.
3. From the SCU Configure menu, click Paths.
4. In the Path Configuration dialog box, change the base path and NLS path to point
to the local install path. Change the project path to point to the project destination
folder, if it does not already do so.
5. From the SCU Configure menu, click Tasks.
6. In the Task Configuration dialog box, change the path of the configured tasks to
the local install path, make sure that you include the same command line options.

52 Getting Started with iFIX


Upgrading from an Earlier Version of iFIX

7. From the SCU Configure menu, click Network.


8. In the Network Configuration dialog box, confirm the information is correct and
make changes if necessary.
9. From the SCU Configure menu, click SQL, and then click Configure SQL Tasks.
10. In the SQL Task Configuration dialog box, make sure that the Primary and
Backup paths are correct, if used.
11. From the SCU Configure menu, click Local Startup Paths.
12. In the Local Startup Definition dialog box, change the path to the folder you
copied the project to with the get command.
13. From the SCU File menu, click Save. Save it as the default startup SCU file name
or indicate that this is the SCU you want to use on startup.
14. Restart iFIX.

Enhanced Failover and Upgrading


If upgrading from a previous version of iFIX with failover enabled, and you want to use
the Enhanced Failover feature in iFIX 5.1, be aware that:

• The Enhanced Failover feature is a keyed option in iFIX 5.1. You must purchase
the additional Enhanced Failover option (SCADA Failover) if you plan to use
SCADA Failover in iFIX 5.1. If you had purchased the Ack Failover option in
your previous version of iFIX, your key upgrade will include the new SCADA
Failover option.
• If you purchased the Failover feature when you bought a previous version of
iFIX, then your iFIX 5.1.plic license file update will enable the Enhanced
Failover option automatically. Be aware, when you use the Proficy License
Viewer in iFIX 5.1, that the part description changed from "ACK Failover" to
"SCADA Failover."
• Before installing iFIX, it is recommended that you confirm that the SCADA
Failover option is enabled on your key. iFIX 5.1 software checks the Enhanced
Failover option at startup. Without this option enabled, the Enhanced Failover
functionality will not work. An error message appears if you try to run iFIX with

53
the SCADA Failover feature.
• If your 5.1 SCADA key does not show the SCADA Failover functionality
enabled, and you purchased this additional option, please contact you sales
representative before upgrading.
• When you upgrade your iFIX SCADA node to iFIX 5.1, you will need to make
configuration changes on your iFIX 5.1 SCADA nodes for the Enhanced Failover
feature to work properly. For example, the Data Sync Transport dialog box in the
System Configuration Utility (SCU) is new in iFIX 5.1. It requires that you enter
the partner's IP address on both the primary and secondary SCADA nodes.
• You can choose to upgrade your iClent (View) nodes with Failover enabled to
iFIX 5.1, or to continue using your iClent (View) nodes with Failover enabled
from any previous version of iFIX. There are no additional steps to configure the
Enhanced Failover feature on the iClients if you already configured them in
previous releases.
• The Alarm Acknowledgement synchronization feature from previous iFIX
versions is NOT supported on SCADA nodes upgraded to 5.1. The Alarm
Acknowledgement functionality is replaced by the database synchronization and
alarm area files provided in iFIX 5.1.
• It is strongly recommended that you use a dedicated network between the
primary and secondary SCADA nodes for dedicated SCADA-to-SCADA traffic.
If the SCADA nodes are physically close to each other, then a crossover cable
can be used.
• It is strongly recommended that the network components (LAN adapters, hubs,
switches, cables, etc.) used for SCADA-to-SCADA connection of the SCADA
pair support a minimum 1 Gigabit Ethernet. This allows for a higher rate of speed
for data transfer between the primary and secondary SCADA nodes.
• In iFIX 5.1, you will need to configure a primary and a "secondary" SCADA
node. One SCADA will be in Active mode (processing data and alarms) while
the other will be in Standby mode. This is unlike previous versions of iFIX,
where you configured a primary and "backup" SCADA node and both nodes
were processing data and alarms. The concept of the SCADA pair still exists in
iFIX 5.1, but GE Intelligent Platforms does not support using your standby
SCADA as a development machine in iFIX 5.1 (for example, for database or
picture development). However, there is a maintenance mode that allows you to
upgrade your SCADA configuration without requiring a SAC restart.

54 Getting Started with iFIX


Upgrading from an Earlier Version of iFIX

• Stratus solutions will continue to be supported in iFIX 5.1. Any Stratus SCADA
nodes that you want to upgrade to use Enhanced Failover will require
configuration changes on your iFIX 5.1 SCADA nodes for the Enhanced Failover
feature to work properly (the same configuration changes as the non-Stratus
nodes).
• Custom applications or scripts that were written to synchronize databases or
alarms on previous versions of iFIX will no longer be required with Enhanced
Failover enabled. So as not to interfere with the 5.1 SCADA failover, you should
remove these custom applications or scripts from your failover configuration.
The following steps describe how to upgrade your failover system.

To configure your iFIX SCADA nodes after an upgrade, if failover was used in a
previous release:

1. On the primary SCADA node, on the Start menu, point to Programs, then Proficy
HMI/SCADA - iFIX, and then System Configuration. The System Configuration
Utility (SCU) appears.
2. On the Configure menu, click SCADA. The SCADA Configuration dialog box
appears.
3. In the Failover area, select the Enable check box if it is not already selected.
4. In the Node area, verify or select the node type: Primary or Secondary.
5. In the SCADA Name field, verify or enter the name of your partner SCADA
node.
6. Click the Data Sync Transport button. The Data Sync Transport dialog box
appears.
7. From the Description list, select the LAN adapter(s) to use for data
synchronization between the SCADA pair, then select the Enable check box.
Make sure that the LAN adapters you will not be using for data synchronization
are not enabled.
8. In the Partner's Address field, enter the IP address of the partner node.
9. Use the default settings for the rest of the fields.
NOTE: The Bandwidth Limit field in the Data Sync Transport dialog box allows
you to enter a value to throttle down or limit the synchronization rate or

55
bandwidth used. It is recommended when using a corporate, non-dedicated or
shared network (10/100 or 1GB), that you "throttle" network traffic to limit
bandwidth that the data synchronization process will consume.

10. Click OK.


11. Repeat steps 1-10 on the secondary SCADA node.

Title Bar in iFIX WorkSpace


iFIX 3.0 and later provides a new title bar in the WorkSpace, which reads "Proficy iFIX
WorkSpace." If you have any custom applications that use the FindWindow Microsoft
API call, you will need to update these applications to reflect the new title bar.

Programs that Run as a Service with iFIX


When you start iFIX as a service, programs in the startup task list also start as services. If
you upgrade from a previous version of iFIX, be aware that programs listed in the SCU's
Task Configuration dialog box will continue to run as services if iFIX remains running as
a service.

However, if you previously started the iFIX OPC A&E Server with this command:

iFixOPCAESrv.exe -service

The -service option is no longer needed to run the iFIX OPC A&E Server as a service.
You should go into the Task Configuration dialog box and remove the -service command
from the startup task list.

Be aware that you can only run programs such as the iFIX OPC A&E Server as a service
if iFIX is configured to run as a service.

If you want to run the OPC Client driver as a service, iFIX must also run as a service.
Likewise, if you want to run iFIX as a service, the OPC Client driver must run as a
service. You cannot run one as a service, without the other also running as a service.

56 Getting Started with iFIX


Upgrading from an Earlier Version of iFIX

Toolbars
If your Proficy iFIX WorkSpace contains additional standard toolbars from other iFIX
versions, such as the Proficy Historian toolbar, these toolbars will appear in the iFIX
WorkSpace system tree, in the Project Toolbar Files > Toolbars folder. Double-click a
toolbar to display it in the WorkSpace.

Standard vs. Classic Window Styles


Because the standard window styles now include larger title bars and menu bars, such as
those in Windows XP, scroll bars may appear in iFIX pictures (that you created in earlier
versions of Windows) when you open them.

To resolve this issue, it is recommended that you change the Appearance Scheme in the
Windows Display Properties dialog box to Windows Classic.

Changing Permissions for PlugAndSolve and User


Globals
If you upgrade from iFIX 2.6, you may need to change the security properties of the
user.fxg and plugandsolve.fxg files. To change the permissions on these files, you must be
logged in as an Administrator. Use the following steps.

To change permissions on a file:

1. Open the File Explorer.


2. Right-click the PlugandSolve.fxg or user.fxg file in your iFIX PIC folder, and
select Properties. The Properties dialog box appears.
NOTE: If the Security tab does not appear in Windows XP, open Windows
Explorer. From the Tools menu, choose Folder Options. The Folder Options
dialog box appears. Click the View tab. Clear the Use simple file sharing
(Recommended) check box and click OK.

3. Select the Security tab.

57
4. Click the Advanced button. The Advanced Security Settings for file name dialog
box appears, where file name refers to the name of the file you selected in step 2.
5. On the Permissions tab, for the specified user, check the Inherit from parent the
permission entries that apply to child objects. Include these with entries explicitly
defined here.
6. Repeat steps 1-5 for the other file.

Advanced Historian Not Supported


Advanced Historian is not supported in iFIX 2.6 and greater. So, you cannot use
Advanced Historian with iFIX 5.1. If you have Advanced Historian installed, contact your
local iFIX sales representative about upgrading to Proficy Historian.

Proficy Historian
Beginning with iFIX 5.0, Proficy Historian is integrated with iFIX. However, using
Historian in an integrated manner is entirely optional. Historian can still be used as a
stand-alone application. If you choose to use Historian as a stand-alone product, its
functionality is not impaired; it continues to work the same way as it did before your
upgrade. To help you decide whether or not to use Historian as an integrated component
of iFIX, see Using iFIX with Proficy Historian.

If you decide to install the integrated Proficy Historian features in iFIX at a later date, all
of the integration features, including the Historian toolbar, will be installed.

If you decide to use the integrated Proficy Historian features in iFIX, you must shut down
Historian services and licensing prior to installing iFIX and Historian and you must
choose to install Historian during the iFIX install.

After the iFIX database is upgraded, all newly added block fields for Historian are added
with default values.

Upgrading from iFIX 5.0


If you are upgrading from iFIX 5.0 and you used the integrated Proficy Historian features,

58 Getting Started with iFIX


Upgrading from an Earlier Version of iFIX

you must also upgrade Proficy Historian from version 3.1 to version 3.5. If you do not
upgrade your version of Historian, it may crash unexpectedly.

Compatibility of iFIX Pictures


iFIX 5.1 supports pictures created, saved, or built in previous versions of iFIX. However,
pictures created, saved, or built in iFIX 5.1 are not compatible and cannot be opened in
prior versions of iFIX.

When you open a picture from a previous version of iFIX in the newer version, and save
it, your picture is automatically updated to the newest version of iFIX. However, due to
the design of the VisiconX objects in iFIX 5.0 and greater, it is recommended that you
manually replace your older VisiconX objects with the newer versions.

Resolving iFIX Displays


When you upgrade your iFIX system, or add or delete tags from your database, it is
important that you run resolve on all pictures and schedules. This will ensure that you are
getting maximum performance from your iFIX system.

Converting Pictures from FIX 7.x to iFIX


When converting pictures from FIX v7 to iFIX, we recommend that you load the
corresponding database in Database Manager before converting a picture. If you do not
load the current database, you will need to manually reset each animation. For more
information, see the Using the Picture Converter Utility section of the Creating Pictures
manual.

Running Pictures Created in an Older Version of iFIX


If you performed your original picture development on an earlier version of iFIX and have
not upgraded to iFIX 2.2 or later, you may experience color mapping errors when
upgrading to iFIX 5.1.

To avoid color mapping problems, perform the following steps before saving and
resolving any pictures in iFIX 5.1.

59
To avoid color mapping problems:

1. Copy and save the tables.lst file from the older version of iFIX.
2. Install the iFIX upgrade or switch to the upgraded machine.
3. Shut down the WorkSpace.
4. Delete the tableconversion.lst file from the iFIX directory (C:\Program
Files\Proficy\Proficy iFIX).
5. Copy the original tables.lst file to the iFIX directory.
6. Restart the WorkSpace.

Using Code Written for Pictures in iFIX 2.1


Code written to position or size a picture using the ActiveWindow object in iFIX 2.1 may
produce different results in an iFIX 5.1 system using multiple monitors with autoscale
disabled. The incorrect positioning and sizing occurs because the ActiveWindow object in
2.1 does not account for the disabled autoscale in 5.1.

You can access the ActiveWindow object directly from the documents collection or by
calling the OpenPicture subroutine.

To correct the sizing and positioning, multiply the parameters in the 2.1 script by the
number of monitors.

For example:

In iFIX 2.1, you opened a picture on the second monitor of a dual monitor system by
issuing the following command:

openpicture "picture.grf",,0,50
In iFIX 2.6 and later, open a picture on the second monitor of a dual monitor system by
issuing the following command:

openpicture "picture.grf",,0,100

60 Getting Started with iFIX


Upgrading from an Earlier Version of iFIX

Database Dynamos
Database Dynamos, also known as loadable blocks, will require updates to work with iFIX
5.1. If you have old Database Dynamos on your system, the iFIX install program will
detect them, and generate a warning message. This includes any Database Dynamos that
you downloaded from the Support web site, or installed from the Allen-Bradley
Productivity Pack CD before you installed iFIX 3.x.

The GE Intelligent Platforms web site contains updated versions of the database dynamos
supplied by GE Intelligent Platforms. To obtain updated version of other dynamos, contact
the vendor of that dynamo. To obtain the current version of the Database Dynamo Toolkit,
contact your local iFIX sales representative.

NOTE: When upgrading an iFIX SCADA node with loadable blocks, always make sure
that the block slot number prior to the upgrade matches the block slot number after the
upgrade. Slots are saved inside the FIX.INI (in the [Scada] section) . If the block slot
numbers do not match after the upgrade, iFIX will be unable to load these blocks, and
eliminate them from the database. In addition, you may receive a warning message stating
that the there is a block configuration mismatch.

Historical Datalinks
Beginning with iFIX 5.1, the configuration requirements for historical datalinks changed.
To upgrade your existing historical datalinks, for each picture which contains them, open
the picture and save it. If you do not make any changes on the Historical Datalinks dialog
box, the historical datalink, by default will use CurrentValue for its Historical Mode.

iFIX Dynamo Sets


When you upgrade iFIX, or install a Software Improvement Module (SIM) that updates
any iFIX Dynamo sets, the newer Dynamo sets overwrite the older ones. To avoid losing
any modifications made to the older files, you can rename them or move them to a folder
located outside the iFIX picture path. Dynamo set files have an .fds extension and are
located in the C:\Program Files\Proficy\Proficy iFIX\PIC folder, by default.

Be aware that when you upgrade iFIX, the Dynamos in pre-built Dynamo sets and the

61
Dynamos created before iFIX 4.5 are not considered Dynamo objects. This means you
cannot use the Quick Dynamo Updater, the Dynamo Updater Wizard, and the Cross
Reference Tool (available in iFIX 4.5 and greater) to update instances of these Dynamos
within existing pictures. Only Dynamo objects created in the newer version of iFIX can be
updated with these tools.

Pre-built Dynamos include the following Dynamo sets:

• Historical.fds
• Miscellaneous.fds
• Motors.fds
• Pipes.fds
• PipesAnim.fds
• Pumps.fds
• PumpsAnim.fds
• Tanks.fds
• TanksAnim1.fds
• TanksAnim2.fds
• Valves.fds
• ValvesAnim.fds

Deleting Temp Directory Contents if iFIX Installation


Fails
When upgrading to iFIX, in some cases the installation will run too quickly, taking only a
few seconds, or hang and not complete the process. In both cases, the product will not
successfully install.

If this happens, delete the contents of the Temp directory and run the installation again.

62 Getting Started with iFIX


Upgrading from an Earlier Version of iFIX

Alarm Summary Objects and Picture Translation


For each picture created in a previous release that uses the picture translation feature and
includes an Alarm Summary object(s), you must export the language file again after you
upgrade. This step updates your language files to include the Alarm Summary object
information.

Next, using a text editor, you must provide translations for each of these new fields in the
exported language (.csv) file(s). This step is required because the iFIX language
translation file originally did not include the Alarm Summary object.

NOTES:

• iFIX 5.1 supports translation of the Alarm Summary object information through
the picture object, or through the Alarm Summary object. You may also want to
create new pictures which take advantage of the SwitchLanguage Method on the
Alarm Summary object itself. For more information on how to use this feature,
refer to the SwitchLanguage Method Example in the iFIX Automation
Reference.

• In iFIX 5.1, you can also change the font of the Column Headers and the Status
Bar in the Alarm Summary object for translation display purposes. This Font
changing feature is new in iFIX 5.1 and can be accessed from the General tab of
the Alarm Summary object in configure mode. You may want to update your
pictures to use this feature, as well. For more information on how to use this
feature, refer to the Configuring Fonts for the Column Headings and Status Bar
in the Creating Pictures electronic book.

To export a single language file:

1. In the WorkSpace configuration mode, open the picture you want to export a
language file for.
2. In Classic view, on the WorkSpace menu, click User Preferences.
-Or-

In Ribbon view, on the Home tab, in the WorkSpace group, click Settings, and
then click User Preferences.

63
3. Click the Picture Preferences tab and make sure the Translate Picture On Open
check box is cleared. If it is selected, the LanguageDesired and TranslateOnOpen
properties in the Properties window cannot be changed.
4. Click OK to close the User Preferences dialog box.
5. Right-click in the picture and choose Property Window.
6. From the LanguageDesired list, select the appropriate language.
7. From the TranslateOnOpen list, select Yes.
8. On the Translation toolbar, click the Export language file button. A message
appears letting you know the language file was successfully exported.
9. You can now open the language file in a text editor and translate the text strings
for the picture.

To export multiple language files:

1. In the iFIX WorkSpace, on the Translation toolbar, click the Export multiple
language files button. The Language File Exporter dialog box appears.
2. In the Select pictures list, select the check box for each picture you want to
export a language file for.
3. If applicable, select the Show Tag Status pictures check box to display and select
tag status pictures in the Select pictures list.
4. If applicable, select the Always overwrite existing export files check box. If you
are exporting a language file for a picture that already has a language file for the
selected language, the existing language file will be automatically overwritten. If
you clear this check box, you will be prompted to replace the existing language
file. Click Yes to replace it and No to keep it.
5. From the Select language list, choose the language that you want to provide
translations for.
6. Click Export. A separate language file is created for each picture you selected.
7. You can now open each language file in a text editor and translate the text strings
for the pictures.

64 Getting Started with iFIX


Upgrading from FIX 7.x

Upgrading from FIX 7.x


If you want to upgrade from FIX 7.x to iFIX 5.1, but continue to use your FIX 7.x
pictures, you must install iFIX with the FIX Desktop option. FIX Desktop is provided as a
custom option in your iFIX product install. To install FIX Desktop option when installing
iFIX, select the Custom install option, and then select the FIX Desktop check box from the
list of features.

After you upgrade to iFIX with FIX Desktop, you can run FIX Desktop Draw, View, and
HTD applications alongside the Proficy iFIX WorkSpace. All applications use the iFIX
security, database, and system configuration information.

This chapter describes how to upgrade the FIX 7.x product to iFIX 5.1 with FIX Desktop.
After you upgrade, you can continue to use your FIX32 pictures in FIX Desktop Draw and
View applications, or you can migrate and create new pictures in the Proficy iFIX
WorkSpace.

Before you upgrade, you need to follow the steps outlined in the Preparing for the
Upgrade to iFIX with FIX Desktop section. The actual upgrade steps are outlined in the
Overview of Steps to Upgrade from FIX 7.x section.

Preparing for the Upgrade to iFIX with FIX Desktop


The following sections describe the steps you need to take to prepare your computer for
upgrading to iFIX with FIX Desktop. These sections are presented in the order that you
should proceed with each task. These tasks are also outlined in the list below.

To prepare for the upgrade:

1. Convert recipes to the required format by Preparing the Recipe Files for the
Upgrade.
2. Export I/O driver information by Preparing the I/O Drivers for the Upgrade.
3. Record the enabled environmental protection options by Checking the
Environmental Protection Settings.

65
4. Be sure to save all required files by Backing Up FIX Files.
5. Compile a list of user accounts by Exporting a Report of the Security
Configuration.
6. Edit the user accounts in the report file by Adding Passwords to the .RPT File.
7. Finish by Generating a System Configuration Report.

Preparing the Recipe Files for the Upgrade


If any of your current FIX32 projects uses recipes, you will need to convert these recipes
to .rcx (Master text) and .rcy (Control text) files before you upgrade to iFIX with FIX
Desktop. These recipes are located in the FIX32 RCM and RCC folders. This step is
necessary so that you can import your recipes after installing iFIX with FIX Desktop.

To convert your recipes to .rcx and .rcy files:

1. Start FIX32.
2. If security is enabled, log in using a user account with Administrator rights.
3. Start the FIX32 Recipe Manager, RCP.EXE.
4. Save each master recipe as a .rcx file:
a. Open the master recipe (.RCM file).
b. On the File menu, click Save As. The Recipe Mod Log dialog box
appears.
c. Click Save As. The recipe Save As dialog box appears.
d. From the Save File As Type drop-down list, select Master text (*.rcx).
e. Confirm that the location is the RCM folder and the file name is the
same as the original file.
f. Click OK.
5. Save each control recipe as a .rcy file:
a. Open the control recipe (.rcc file).
b. On the File menu, click Save As. The Recipe Mod Log dialog box

66 Getting Started with iFIX


Upgrading from FIX 7.x

appears.
c. Click Save As. The recipe Save As dialog box appears.
d. From the Save File As Type drop-down list, select Control text (*.rcy).
e. Confirm that the location is the RCC folder and file name is the same as
the original file.
f. Click OK.
6. Verify that you saved all recipes by inspecting the FIX32\RCC and FIX32\RCM
folders.

Preparing the I/O Drivers for the Upgrade


Before you upgrade to iFIX with FIX Desktop, it is recommended that you use the driver
configuration program to export the driver information into .CSV files. By default, these
files are saved to the FIX32/PDB folder. You use these .CSV files later to import the
driver information into the upgraded system.

Later in the install process, after importing the driver files, you can verify the driver
migration and convert the process database for use with iFIX and FIX Desktop.

To export the driver configuration:

1. Start the current installation of FIX (if it is not already running).


2. If security is enabled, log in using a user account with Administrator rights.
3. Start the System Configuration Utility (SCU).
4. On the Configure menu, click SCADA. The SCADA Configuration dialog box
appears.
5. Select an installed driver (other than SIM), and click the Configure button. The
Driver Configurator program starts.
6. Select the first channel, CHANNEL1, in the browser on the left side of the
window.
7. On the File menu, click Save As. The Save As dialog box appears.
8. Leave the default location of FIX32\PDB, and enter a name for the file in the File

67
Name field.
9. From the Save as Type drop-down list, select Text Files (*.CSV).
10. Click Save.
11. Repeat steps 6-10 for each channel of the driver that is currently installed. Note
the file names and their location for later use.
12. Repeat steps 5-11 for each I/O driver installed on your system.
13. Exit the SCU.

Checking the Environmental Protection Settings


Before the upgrade to iFIX with FIX Desktop, you should open the Environment
Protection dialog in the Draw application and record these settings. After the upgrade, you
cannot access this dialog box from Draw. Instead, you configure all environmental
protection options in the Proficy iFIX WorkSpace.

To record your current environment protection settings:

1. Start FIX.
2. Open the Draw application.
3. On the Edit menu, click Environment. The Environment Protection dialog box
appears.
4. Inspect and record the enabled options.

Backing Up FIX Files


After you create the support files for your recipe and I/O driver upgrades, you can proceed
to back up your FIX 7.x files. Create a new folder on your computer, separate from the
FIX 7.x (FIX32) folder, for the files you want to save.

After you back up the FIX files, you may also want to copy this new folder to another
location, such as a network drive or a removable media, as a safeguard until the migration
is complete.

The following table lists the files and folders that you must back up.

68 Getting Started with iFIX


Upgrading from FIX 7.x

Files or Folder to Location Description of FIX32 Component


Copy

*.PDB, *.CSV, FIX32\PDB Process database and driver


*.GDB, all driver configuration files.
configuration files

*.ODF FIX32\PIC Picture files.

*.ODT FIX32\PIC Template files for pictures.

*.TGE FIX32\PIC Tag Group Editor files.

*.KMX FIX32\PIC Key Macro Editor files.

*.LYT FIX32\PIC Layout files.

*.SBL FIX32\PIC Custom Dynamos.

*.RCX FIX32\RCM Master recipe files, in text format.


NOTE: These files do not appear
unless you followed the steps in the
Preparing the Recipe Files for the
Upgrade section.

*.RCY FIX32\RCC Control recipe files, in text format.


NOTE: These files do not appear
unless you followed the steps in the
Preparing the Recipe Files for the
Upgrade section.

69
Files or Folder to Location Description of FIX32 Component
Copy

Draw.ini, View.ini, FIX32\LOCAL Initialization settings for the Draw


*.RPT and View applications, and report
files.

Entire HTRDATA FIX32\HTRDATA Collected historical data.


folder

Entire HTR folder FIX32\HTR Historical collection preferences.

Entire ALM folder FIX32\ALM Alarm file and event log.

Entire APP folder FIX32\APP Custom data and configuration files


for your iFIX applications.

To back up the required files:

1. Create a new folder on your computer, separate from the FIX32 folder, for the
files you want to save.
2. Copy the entire PDB folder into this new folder. The PDB folder includes the
process database and driver configuration files (*.PDB, *.CSV, *.GDB, all driver
configuration files).
3. Copy the entire PIC folder, which includes all displays, display templates, tag
groups, key macros, layouts, and custom Dynamos (*.ODF, *.ODT, *.ODT,
*.TGE, *.KMX, *.LYT, and *.SBL files).
4. Copy the converted master recipe files (*.RCX) in the RCM folder.
5. Copy the converted control recipe files (*.RCY) in the RCC folder.
6. Copy the initialization settings for the Draw and View applications and report
files (Draw.ini, View.ini, *.RPT) from the LOCAL folder.

70 Getting Started with iFIX


Upgrading from FIX 7.x

7. Copy the entire HTRDATA folder, which includes all collected historical data.
8. Copy the entire HTR folder, which includes your historical collection
preferences.
9. Copy the entire ALM folder, which includes all alarm files and event logs.
10. Copy the entire APP folder, which includes any custom data and configuration
files for your iFIX applications.
11. After you copy all of these files, you may want to back up these files to another
location, such as a network drive or a removable media, as a safeguard until the
migration is complete.

Exporting a Report of the Security Configuration


Before you upgrade to iFIX with FIX Desktop, you need to export a report from the FIX
Security Configuration application. This report includes a list of iFIX users along with the
application features configured for each user in your FIX applications. Save this file along
with the other FIX files and folders that you backed up.

IMPORTANT: Passwords are not exported with the security configuration report; you
must re-enter the passwords manually. See the Adding Passwords to the .RPT File section
for details. This policy is for security purposes.

After you install iFIX and FIX Desktop (in the same language as the original install), you
can import this report file into your new security configuration to recreate the user
accounts on the upgraded system. You can also use this printed report as a cross reference
when you reassign the new application features to each user.

To export a list of user accounts:

1. Start the current installation of FIX (if it is not already running).


2. If security is enabled, log in using a user account with Administrator rights.
3. Start the System Configuration Utility (SCU).
4. On the Configure menu, click Security to enter the Security Configuration.
5. On the File menu, click Export. The Select File dialog box appears.
6. Browse to the folder that you want to save the file to. By default, this folder is the

71
FIX32\Local folder. Most likely you will want to save this file to the location
where you backed up the other FIX files.
7. Use the default name for the .RPT file, which is Security.RPT.
8. Click Save.
9. Open this report in a text editor such as Notepad or Wordpad and print a copy.

Adding Passwords to the .RPT File


The report file that you export from the Security Configuration application does not
include user passwords. This is done to protect your system.

If you later try to import this file into the Security Configuration application without the
passwords, none of the iFIX user accounts will require passwords. In this case, you would
need to re-enter each password manually. You can avoid this step entirely by editing each
account in the report file from a text editor before the migration.

To add passwords to your exported file with the security configuration:

1. Open the Security.RPT file in a text editor such as Notepad or WordPad. By


default this file is located in the Local folder, on the FIX32 node.
2. Search the file for the first instance of the word User: in the report. For example:
User: GUEST

Login-name: GUEST

Timeout: 00:00:00

Feature: View

3. Insert the text Password: after the user's login name.


4. Type the user's password after the colon. An example of what this might look like
is as follows:
User: GUEST

Login-name: GUEST

Password: GUEST

72 Getting Started with iFIX


Upgrading from FIX 7.x

Timeout: 00:00:00

Feature: View

5. Scroll down through the report and repeat steps 3 and 4 for each user in the
report.

Generating a System Configuration Report


Before you migrate to iFIX with FIX Desktop, it's a good idea to create a system
configuration report. This report includes information that you may need later when you
are configuring your SCU. It is also helpful if you want to verify your system after the
migration. This report includes:

• General node configuration information, such as the node and setup file name, as
well as SCADA, network, NLS, and security options.
• System path locations for base, local, language, database, pictures, and so on.
• SCADA configuration such as the name and number of I/O drivers.
• Alarm configuration information such as default message format, application
message routing, remote alarm areas, alarm network service, alarm summary, and
alarm history service settings.
• List of startup tasks.
• SQL configuration.
• Auto Alarm Manager configuration to send and receive alarms.
This report contains valuable reference information on your current FIX system before the
upgrade.

Steps to Generate a System Configuration Report

To generate a system configuration report:

1. Start the current installation of FIX32 (if it is not already running).


2. If security is enabled, log in using a user account with Administrator rights.
3. Start the System Configuration Utility (SCU).

73
4. On the File menu, click Report. The Select Report Name dialog box appears.
5. In the File Name field, leave the default name. The default name is the node
name.
6. Click Save. A report named NodeName.RPT is saved to the Local folder. A
message appears when the save is complete.
NOTE: NodeName is the name from step 5.

7. Click OK to continue.

Overview of Steps to Upgrade from FIX 7.x


After you complete the steps described in the Preparing for the Upgrade to iFIX with FIX
Desktop section, you can proceed to the actual product upgrade.

To upgrade from FIX 7.x:

1. Complete the steps for Installing the iFIX Software.


2. Follow the steps for Installing the FIX Desktop Software.
3. Update the Database Dynamos.
4. Install the Newest Drivers and iFIX Product SIMs.
5. Copy the Backed Up Files into the New Product Folder.
6. Import the FIX I/O Driver Configuration Information.
7. Verify the I/O Driver and Database Migration.
8. Import the Recipes Files.
9. Import the Security Configuration.
10. Reconfigure the Application Features and Passwords for Each User.
11. Redefine SCADA Failover Settings.
12. Enable Environmental Protection.

74 Getting Started with iFIX


Upgrading from FIX 7.x

Update Database Dynamos


To use FIX 7.x Database Dynamos in iFIX with FIX Desktop, you must recompile them
with the iFIX Database Dynamo Toolkit. Follow the steps outlined in the iFIX Database
Dynamo Toolkit and the Database Converter will update your Database Dynamos. The
Database Converter runs whenever iFIX is started.

For information on the Database Dynamo toolkit, contact GE Intelligent Platforms.

Install the Newest Drivers and iFIX Product SIMs


You must install the most current drivers before you migrate the Process Database (PDB)
from FIX32 to iFIX with FIX Desktop. This is necessary so that your FIX32 applications
can migrate properly to iFIX with FIX Desktop.

You can install the newest drivers from the most current Driver CD, or by obtaining the
driver file from the Proficy GlobalCare Support web site, http://www.ge-ip.com/support.

To install the driver, follow the instructions that came with your driver CD, or with your
download. If you install a driver from the web, the process generally entails extracting
files from a .EXE and running a simple install program or manually copying files. Refer to
the driver documentation for information on the install process.

After obtaining and installing the latest drivers, it is recommended that you check for the
latest patches for the iFIX product. Obtain all applicable iFIX SIMs and add-ons from the
Proficy GlobalCare Support web site, http://www.ge-ip.com/support. Install these SIMs on
top of the current iFIX installation.

To install the newest drivers and iFIX product SIMs:

IMPORTANT: You must install the most current drivers before you migrate the
Process Database (PDB) files from FIX32 to iFIX. This step is necessary so that
your FIX32 applications can migrate properly to iFIX.

1. Obtain the latest the most current Driver CD or the driver update from the
GlobalCare Support web site, http://www.ge-ip.com/support.

75
2. Follow the instructions that came with your driver CD, or the information
included with the driver download.
3. Check for the latest patches for the iFIX product. Obtain all applicable iFIX
SIMs and add-ons from the GlobalCare Support web site, http://www.ge-
ip.com/support.
4. Install these SIMs on top of the installed iFIX product.
5. Do not start iFIX.

Copy the Backed Up Files into the New Product Folder


After iFIX with FIX Desktop is installed, along with the drivers, appropriate SIMs, and
hardware key, you can copy your previous FIX32 files into the new iFIX with FIX
Desktop install location. As you remember, you backed up these files before beginning the
iFIX with FIX Desktop installation. The default iFIX install folder is: C:\Program
Files\Proficy\Proficy iFIX.

The following table lists the files to copy from your backup folder, and the location to
copy them to (assuming you used the default iFIX directory).

Files to Copy Location to Copy in iFIX


Folder

*.PDB, *.CSV, *.GDB all driver configuration PDB


files

*.ODF PIC

*.ODT PIC

*.TGE PIC

*.KMX PIC

76 Getting Started with iFIX


Upgrading from FIX 7.x

Files to Copy Location to Copy in iFIX


Folder

*.LYT PIC

*.SBL PIC

*.RCX RCM

*.RCY RCY

Draw.ini, View.ini, *.RPT LOCAL

HTRDATA/*.* HTRDATA

HTR/*.* HTR

ALM/*.* ALM

APP/*.* APP

To copy the backed up files into the appropriate Proficy iFIX product folders:

1. Copy the *.PDB, *.CSV, and *.GDB files from the FIX32 PDB folder into the
iFIX PDB folder.
NOTE: If you installed iFIX to the default location, the iFIX folders are located
in this path: C:\Program Files\Proficy\Proficy iFIX.

2. Copy the contents of the FIX32 PIC folder into the iFIX PIC folder.
3. Copy the *.RCX files into the iFIX RCM folder.
4. Copy the *.RCY files into the iFIX RCC folder.

77
5. Copy the Draw.ini, View.ini, *.RPT files for FI32X into the iFIX Local folder.
6. Copy the contents of the FIX32 HTRDATA folder into the iFIX HTRDATA
folder.
7. Copy the contents of the FIX32 HTR folder into the iFIX HTR folder.
8. Copy the contents of the FIX32 ALM folder into the iFIX ALM folder.
9. Copy the contents of the FIX32 APP folder into the iFIX APP folder.

Import the FIX I/O Driver Configuration Information


After you copy the backed up FIX files into your new iFIX with FIX Desktop folder, you
are ready to import the I/O driver configuration information.

To import the I/O driver configuration information:

1. Start the iFIX SCU, by clicking the Start button, pointing to Programs, Proficy
HMI SCADA - iFIX, and then System Configuration.
2. Verify that the Node name that appears on the main screen is correct. Refer to the
NodeName.RPT report described in the Generating a System Configuration
Report section if you are unsure of the name.
3. Double-click the Database Name to enter the database name you want to use. The
Database Definition dialog box appears. Ensure it is the same name as the
previous project.
4. Click OK. A prompt appears stating that the database does not exist.
5. Select Yes, and use the database anyway.
6. On the Configure menu, click SCADA. The SCADA Configuration dialog box
appears.
7. Verify that the required drivers appear in the Configured I/O Drivers list. If
required, add the SIM and any other required driver to the Configured I/O
Drivers list.
8. Click OK, and then Yes when prompted.
9. On the File menu, click Save.

78 Getting Started with iFIX


Upgrading from FIX 7.x

10. Close the SCU.


11. Click Start and point to Programs, Proficy HMI SCADA - iFIX 5.1, and then
iFIX 5.1 to launch the iFIX Startup dialog box.
12. Make sure the local node name is correct, and click the button in this dialog box
to start iFIX.
13. When iFIX is running, start the SCU again.
14. On the Configure menu, click SCADA. The SCADA Configuration dialog box
appears.
15. Verify each driver configuration is correct by selecting the driver and then
clicking the Configure button. The Driver Configurator opens.
If the driver configuration is correct, you can close the Driver Configurator and
proceed to step 24.

If you need to make changes, you can make the necessary changes, save the file,
and proceed to step 24. Otherwise, import the driver configuration by following
steps 16-22.

16. Select the first channel, CHANNEL1, in the browser on the left side of the
window.
17. On the File menu, click Open. The Open dialog box appears.
18. From the Save as Type drop-down list, select Text Files (*.CSV).
19. Select the .CSV file for the channel.
20. Click Open.
21. Repeat steps 16-20 for each channel of the driver that is currently displayed.
22. Repeat steps 15-21 for each I/O driver installed on your system.
23. When you finish these tasks for all drivers, on the File menu, click Save and exit
the Driver Configurator.
24. Save and Exit the SCU.

79
Verify the I/O Driver and Database Migration
After configuring the SCU, complete the following procedure to verify the migration of
the I/O drivers and to convert the Process Database.

To verify the migration:

1. Start iFIX.
2. Start Mission Control from the Proficy iFIX WorkSpace. You can find the button
to launch Mission Control in the WorkSpace tree.
3. Examine the information on the I/O Control tab. Ensure that data is being polled.
If data is present, advance to Step 6.
4. If there is no data present, ensure that the driver is loaded and is running. Exit
Mission Control and select System Configuration to start the SCU.
5. On the Configure menu, click SCADA. The SCADA Configuration dialog box
appears.
6. Select the I/O driver and verify that the Poll Records are present. If they are not
present, repeat the steps in the Import the FIX I/O Driver Configuration
Information section.
7. Maximize the Proficy iFIX WorkSpace and then:
a. Start Database Manager from the WorkSpace System Tree.
b. Verify that the I/O addresses for your data blocks are correct.
8. Save and exit Database Manager.
Errors that occur during the database conversion are written to the error log file
(dbcvt.err). You can open this file in any text editor. Use this log file to identify
the individual tags causing the problems. Consult the online help or contact GE
Intelligent Platforms for more details on how to troubleshoot database conversion
errors.

80 Getting Started with iFIX


Upgrading from FIX 7.x

Import the Recipes Files


After converting and successfully running the I/O Drivers and Process Database, you can
import the recipes that you previously saved as .rcx and .rcy files.

To import recipe files:

1. From the Proficy iFIX WorkSpace, select the FIX Recipes folder in the system
tree.
2. Double-click the New Recipe icon. The Recipe Development utility appears.
3. Open each .rcx file in the iFIX RCM folder and save each file as a .rcm file.
4. Open each .rcy file in the iFIX RCC folder and save each file as a .rcc file.
5. When you are finished, exit the Recipe Development utility.

Import the Security Configuration


When you import the security configuration file that you created before the install, all your
FIX 32 users are re-added to the iFIX with FIX Desktop software. Later you will need to
re-enter passwords for these users and redefine the application features assigned to each
user, since the iFIX with FIX Desktop software includes new and reassigned application
features. However, before you can do that, you need to import the list of users from the
security configuration.

To import the list of users from the security configuration:

1. Start the current installation of FIX (if it is not already running).


2. From the Proficy HMI SCADA - iFIX program group, start the System
Configuration application. The SCU opens.
3. On the Configure menu, click Security. The Security Configuration application
appears.
4. On the File menu, click Import. The Select File dialog box appears.
5. Browse to the folder that you copied the original .RPT file to. By default, this

81
folder is the C:\Program Files\Proficy\Proficy iFIX\Local folder.
6. Select the file and click Open. A message box appears warning you that the
imported user accounts will not contain passwords.
IMPORTANT: Be aware that you cannot import a security file exported from
another language.

7. Click Yes to continue. Another message box appears requesting that you replace
or add this file to the existing configuration.
8. Click Replace.
IMPORTANT: Do not shut down the SCU before moving on to the next set of
steps. If you did not add passwords to the user accounts before you migrated, as
described in the Adding Passwords to the .RPT File section, you could possibly
lock yourself out, if security is enabled.

9. Continue by following the steps in the Reconfigure the Application Features and
Passwords for Each User section.

Reconfigure the Application Features and Passwords for


Each User
After you import the security configuration (.RPT) file, you can proceed to reconfigure the
features available for each user and reassign new passwords, if you did not already do so.

Use the Security Configuration program to open each group profile and user profile,
assign application features, and create a new password (if a password is required). Use the
printout that you created in the Exporting a Report of the Security Configuration as a
reference when reassigning the application features to users on the upgraded system. This
printout lists the original application features available for each user.

Refer to the following sections when comparing this printed list of features with the
features that appear in the Application Features Selection dialog box.

• Identical Application Features in FIX32 and iFIX with FIX Desktop


• FIX32 Application Feature Names That Are Different After the Upgrade

82 Getting Started with iFIX


Upgrading from FIX 7.x

• FIX32 Application Features No Longer Available After the Upgrade


• New Application Features Available for iFIX Users

To assign the application features and a password to each user:

NOTE: The SCU should still be open from the previous set of steps in the Import
the Security Configuration section.

1. On the Configure menu, click Security. The Security Configuration application


appears.
2. On the Edit menu, click User Accounts.
3. Select a user and click Modify. The User Profile dialog box appears.
4. In the Password field, enter a new password if you want to assign a password.
5. Click the Modify button beneath the Application feature list (the list on the right-
side of the window). The Application Feature selection dialog box appears.
6. Add the required features. Click Add All if you want to allow this user to use all
application features.
See the sections that follow for information on the names used with each feature
and the new features available.

7. Click OK.
8. Click OK to exit the User Profile dialog box.
9. Repeat steps 3-8 for each user listed in the User Accounts dialog box.
10. Click OK to exit the User Accounts dialog box.
11. On the Edit menu, click Group Accounts. The Group Accounts dialog box
appears.
12. Select a group and click Modify. The Group Profile dialog box appears.
13. In the Application Features area, click Modify. The Application Feature selection
dialog box appears.
14. Add the required features. Click Add All if you want to allow this group to use
all application features.

83
15. Click OK.
16. Click OK to exit the Group Profile dialog box.
17. Repeat steps 12-16 for each group listed in the Group Accounts dialog box.
18. On the File menu, click Save to save the security configuration.
19. On the File menu in the Security Configuration program, click Exit to return to
the SCU.
20. Save and exit the SCU.

Identical Application Features in FIX32 and iFIX with FIX Desktop


After you import your security configuration, the following application features are
automatically imported for each user. You do not need to assign these features again after
the upgrade since the same names are used for FIX32 and iFIX with FIX Desktop:

• Background Task Exit


• Database Reload
• Database Save
• Historical Trend Assign
• Historical Trend Collection
• Historical Trend Export
• Recipe Load
• Recipe Save
• Security Configuration
• System Configuration
• System User Login
• System User Logout
• Tag Group Editor
NOTE: While the Tag Group Editor applications may be different executables for Draw
and the Proficy iFIX WorkSpace, they both use the same application feature.

84 Getting Started with iFIX


Upgrading from FIX 7.x

FIX32 Application Feature Names That Are Different After the


Upgrade
After you upgrade to iFIX with FIX Desktop, you will notice that some of the FIX32
features correspond to different names in iFIX with FIX Desktop. These features do not
automatically appear in the user's application feature list. You need to add these again.

For instance, to allow a user to access Draw, you need to add the WorkSpace Configure
feature to the user's application feature list. By doing this, the user has the same access to
both Draw and the Proficy iFIX WorkSpace in configure mode.

Similarly, to allow access to the View application, you need to add the WorkSpace
Runtime feature to the user's application feature list. By doing this, the user has access to
both View and the Proficy iFIX WorkSpace in run mode.

The application feature names are different because they take into account changes to
support the iFIX system. As another example, since the FIX32 Database Builder is
replaced with the iFIX Database Manager, you need to add the Database Manager to the
user's feature list since the supported application actually changed with the upgrade.

When re-assigning these features for each user, use the following table to locate the FIX32
feature name and determine the corresponding name in iFIX with FIX Desktop.

Feature Name for FIX32 Feature Name for iFIX with FIX
Desktop

Database Builder, Database Manager


Database Create

Draw WorkSpace Configure

View WorkSpace Runtime

Key Macro Editor Fix32 - Key Macro Editor

85
Feature Name for FIX32 Feature Name for iFIX with FIX
Desktop

Operating System Window Fix32 - Operating System Window

FIX - System Shutdown iFIX - System Shutdown

Alarm Summary Display Fix32 - Alarm Summary Display

Historical Trend Display Fix32 - Historical Trend Display

Run a Task from View Fix32 - Run a Task from View

Historical Display Configuration Fix32 - Historical Display Configuration

Exit from View WorkSpace Runtime Exit

Database Block Add/Delete Database Block Add-Delete

GUI Recipe Builder Operations Recipe Builder Operations Window


Window

GUI Recipe Builder Development Recipe Builder Development Window


Window

GUI Recipe Save Recipe Save from Recipe Builder

GUI Recipe Download Recipe Download from Recipe Builder

GUI Recipe Upload Recipe Upload from Recipe Builder

86 Getting Started with iFIX


Upgrading from FIX 7.x

Feature Name for FIX32 Feature Name for iFIX with FIX
Desktop

GUI Recipe Text Output Recipe Text Output from Recipe Builder

GUI TASK Switching Enable Task Switching

GUI System Reboot Enable Ctrl-Alt-Del

Historical Trend Display View Only Fix32 - Historical Trend Display View
Only

CDA Feature 1 - 54 EDA Feature 1 - 54

FIX32 Application Features No Longer Available After the Upgrade


In iFIX with FIX Desktop, it is no longer applicable to include security for these features,
many of which are FIX BOS related or discontinued:

• All features that begin with the word: Batch


• Data Transfer Utility
• Dial Manager for Modem Support
• Ingredient Manager
• Inventory Manager
• Procedure Monitor
• Procedure Monitor - Hold/Resume Control
• Procedure Monitor - Modify Parameters
• Procedure Monitor - Run/Skip Control
• Procedure Monitor - Stop Procedure

87
• Quality Test Manager
• Recipe Handler
• Recipe Manager
• Recipe Manager - Authorize
• Recipe Manager - Remove
• Report Creator
• Report Generator
• Report Manager
• Scheduler
• Scheduler Configuration

New Application Features Available for iFIX Users


By upgrading to iFIX with FIX Desktop, you also obtain some new features that you can
assign to your iFIX users. The features that you can choose from include:

• Application Validator - Creation of Baselines


• Application Validator - Run-time Access
• Change Management
• Electronic Signature - Bypass
• Electronic Signature - Perform By
• Electronic Signature - Verify By
• GE Intelligent Platforms OEM Reserved 1-12
• Manual Failover
• Project Backup-Restore
• Recipe Text Output from Recipe Builder
• Runtime Visual Basic Editor Access
• Security Synchronizer

88 Getting Started with iFIX


Upgrading from FIX 7.x

• Startup Profile Manager


• VisiconX Writes
• A group of Proficy Batch Execution product features available if you have this
product installed (each feature starts with the word: Batch Execution)
For more detailed information on using these features with your iFIX pictures, refer to the
iFIX Electronic Books.

NOTE: iFIX does not include a separate Key Macro Editor application feature. For iFIX,
the Key Macro Editor (FDKeyMacros.exe) does not run outside of the Proficy iFIX
WorkSpace. So, security for this feature is set at the WorkSpace-level by allowing access
to the WorkSpace Configure feature. For FIX32, the Key Macro Editor (KME.exe) can
run alone without Draw running. This is why the Key Macro Editor appears as a separate
entry for FIX32 for use with FIX Desktop.

Redefine SCADA Failover Settings


If your FIX32 applications used the failover feature prior to the iFIX 5.0 with FIX
Desktop upgrade, you need to set up failover again. Be aware that, if you want to use
failover, all nodes (primary, secondary, and view nodes) must be upgraded to iFIX with
FIX Desktop. FIX32 failover is incompatible with iFIX.

One of the biggest changes required for iFIX failover is that you include a logical node
name in your configuration. Failover in iFIX follows a different paradigm. In iFIX with
FIX Desktop, the applications on the iClient communicate to the logical node name, and
iFIX substitutes the physical node name at run time based on which SCADA server is
available. The combination of the logical node name, and physical primary and secondary
SCADA server names, is referred to as the primary and secondary pair. You configure the
primary and secondary pair in the SCU of the iClient and of each SCADA server.

For detailed instructions on configuring Enhanced Failover and LAN Redundancy, refer to
the Enhanced Failover and Redundancy e-book in the iFIX Electronic Books.

89
Enable Environmental Protection
If your FIX applications used the environment protection feature prior to the iFIX with
FIX Desktop upgrade, you need to enable it again. To enable this feature for iFIX and FIX
Desktop, use the Environment Protection tab of the User Preferences dialog box of the
Proficy iFIX WorkSpace, as shown in the following figure.

Environment Protection Options in the Proficy iFIX WorkSpace

From this dialog box, you can enable the options that your applications require. When re-
entering these settings, be sure to refer back to the settings that you recorded in the
Checking the Environmental Protection Settings section, when you prepared for the iFIX
with FIX Desktop upgrade.

Important Note About Using Environment Protection

When you use environmental protection for iFIX with FIX Desktop, be aware that some

90 Getting Started with iFIX


Upgrading from FIX 7.x

limitations apply to these options when View is running and the Proficy iFIX WorkSpace
is in run mode:

• Disable <Ctrl><Alt><Del>
• Disable Task Switching
If you exit the WorkSpace or View, either by shutting down one application or by
switching the WorkSpace to configure mode while View is still running, these
environmental protection settings no longer apply to the application still running.

Understanding Environment Protection in iFIX


When you upgrade to iFIX with FIX desktop, there are environmental protection settings
that apply to both iFIX and View. There is also a FIX32 environmental protection setting
that is unavailable after the upgrade. However, with the upgrade, there are also new
settings now available in the Proficy iFIX WorkSpace. The sections that follow describe
these changes.

Settings that Apply to Both the Proficy iFIX WorkSpace and View

From the Environment Protection tab of the User Preferences dialog box, the following
settings apply to both View and WorkSpace in run mode:

• Disable Title Bar and Menu Bar


• Disable Menu Bar
• Disable <Ctrl><Alt><Del>
• Disable Task Switching

FIX32 Setting Still Available After the Upgrade

The only environmental protection setting that does not appear in the Environment
Protection tab of the User Preferences dialog box is as follows:

Disable Pop-up Menu

This setting is still available for FIX Desktop View, however, you must enable this setting

91
through the FixUserPreferences.INI file.

New Settings for the Proficy iFIX WorkSpace

The remaining environmental protection options are new for the Proficy iFIX WorkSpace:

• Disable "WorkSpace" Menu Pulldown


• Disable VBE Access
• Disable "WorkSpace" File Menu Accelerators
• Disable Open Accelerator
• Disable Print Accelerator
For more details on these settings, refer to the table in the Understanding Environment
Protection section.

Steps to Enable Environment Protection


The steps below explain how to enable environment protection feature after you upgrade.

To enable the environment protection feature after you upgrade:

1. Start iFIX.
2. Shut down View and the WorkSpace if either is running.
3. If you want to use the Disable Pop-up Menu option, open the
FixUserPreferences.ini file in the C:\Program Files\Proficy\Proficy iFIX\Local
folder. In the [AppRunPreferences] section, make the following change:
PopUpMenu=0

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.

4. To set the other environment settings, open the Proficy iFIX WorkSpace.
5. In Classic view, on the WorkSpace menu, click User Preferences.
-Or-

92 Getting Started with iFIX


Upgrading from FIX 7.x

In Ribbon view, on the Home tab, in the WorkSpace group, click Settings, and
then click User Preferences.

4. Select the Environment Protection tab.


5. Select the Enable Run Time Environment Protection check box. After you enable
this setting, the check boxes below become available.
6. Select the options that you want to enable. Use the table in the Understanding
Environment Protection section as a guide when assigning these options.
NOTE: After you enable the environment protection feature in WorkSpace, you
must shutdown View (if it is still running) and restart it for the environmental
protection settings to apply.

Understanding Environment Protection


The following table outlines common tasks you may want to restrict operators from doing
in the run-time environment, and the environmental option associated with each task.

To restrict an operator from... Select this check box...

Closing the current picture Disable Title Bar and Menu Bar.
displaying in View or the Proficy
NOTE: Be sure to also select the Full Screen
iFIX WorkSpace (in run mode).
in Run mode check box from the General tab
and clear the Title bar and Resizeable check
boxes from the Picture Preferences tab.

Switching from View or the Proficy Disable Task Switching


iFIX WorkSpace (in run mode) to
another application that may be
running.

93
To restrict an operator from... Select this check box...

Restarting the computer using Disable <Ctrl><Alt><Del>


Ctrl+Alt+Del or logging out of
Windows when running View or
the Proficy iFIX WorkSpace (in run
mode).

Using the Proficy iFIX WorkSpace Disable "WorkSpace" Menu Pulldown


menu or switching to the
configuration environment (while in
run mode).

Accessing the Visual Basic Editor Disable VBE Access.


from the Proficy iFIX WorkSpace
(while in run mode).

Using the Ctrl+O or Ctrl+P Disable "WorkSpace" File Menu Accelerators


shortcuts in the Proficy iFIX
WorkSpace (while in run mode).

Using the Ctrl+O shortcut in the Disable Open Accelerator


Proficy iFIX WorkSpace (while in
run mode).

Using the Ctrl+P shortcut in the Disable Print Accelerator


Proficy iFIX WorkSpace (while in
run mode).

94 Getting Started with iFIX


Setting up for Remote OPC Server Access

Setting up for Remote OPC Server


Access
Before you can access remote OPC servers in iFIX, such as through the Discover and
Auto Configure (DAC) application and the OPC Client driver, you must make sure that
your firewall settings are correct (if you are using Windows XP, Windows Vista or
Windows 2008), and that the DCOM settings for your operating system are correct.

You may not be able to access remote OPC servers if these settings are not correctly set.
For more detailed information on configuring these settings, refer to the following topics:

• Setting Up the Windows XP, Vista, or Windows Server 2008 Firewall for Use
with Remote OPC Servers
• Setting Up DCOM for Use with Remote OPC Servers

Setting Up the Windows XP, Vista, or Windows Server


2008 Firewall for Use with Remote OPC Servers
If Firewall security is enabled on Windows XP, Windows Vista, or Windows 2008 you
may need to modify or add items to the Exceptions list.

It is recommended that you enter these settings on the local machine running iFIX, as well
as on the remote machine that has the OPC server you want to use.

To modify Windows Firewall settings:

1. Log into the Windows operating system with an Administrator account.


2. Open the Control Panel and double-click Windows Firewall. The Windows
Firewall dialog box appears. For the Windows Vista operating system, you also
need to click the "Allow a program through Windows firewall" option.
3. Click the Exceptions tab and make sure that the File and Printer Sharing check
box is selected. The following figure shows an example of this dialog box in

95
Microsoft Windows XP.

4. Click the Add Port button. The Add a Port dialog box appears. The following
figure shows an example of this dialog box in Microsoft Windows XP.

96 Getting Started with iFIX


Setting up for Remote OPC Server Access

5. In the Name field, enter a name for the port.


6. In the Port Number field enter 135.
7. Select the TCP option.
8. Click OK to save your changes.
The port name you entered is now listed with its check box selected.

9. Select the Add Program button. The Add a Program dialog box appears. The
following figure shows an example of this dialog box in Microsoft Windows XP.

97
10. Click the Browse button. A Browse dialog box appears.

98 Getting Started with iFIX


Setting up for Remote OPC Server Access

11. Navigate to the System32 folder. This folder is found under the operating system
folder (usually Windows or WINNT).
12. In the System32 folder, select the OPCENUM.exe file, and then click the Open
button.
In the Add a Program dialog box the path field displays the full path to, and
including, the OPCENUM.exe file.

99
13. Click OK.
OPCENUM.exe should now be listed in the Exceptions list with its check box
selected.

100 Getting Started with iFIX


Setting up for Remote OPC Server Access

14. Complete steps 9-13 for each OPC server that you want to access.

NOTES:

• If any OPC server that you want to use is a dll surrogate (an in-process dll and

101
not an .exe), you must add \system32\dllhost.exe into the Exceptions list.

• You must also add the GE Intelligent Platforms OPC Client driver by adding the
file OPCDrv.exe into the Exceptions list.

• OPCENUM must reside on the remote machine with the OPC server. While most
OPC Server applications install and register this file, some do not. You can
download this file from www.opcfoundation.org. Currently it is contained within
the OPC Core Components 2.00 Redistributable 2.30.msi file. After you
download OPCENUM, run the .msi file.

Setting Up DCOM for Use with Remote OPC Servers


iFIX supports DCOM (Distributed Component Object Model) to browse remote OPC
Servers. If you want to grant only certain users permission to launch or access the remote
OPC servers, you can use the Windows utility, DCOMCNFG.EXE for configuring
DCOM applications. DCOMCNFG.EXE is usually located in your operating system’s
\system32 folder.

When OPC Servers register, they set up initial custom DCOM security settings to enable
users on the network to access and launch the Server. On large networks, it is
recommended that you modify these settings to avoid confusion and inadvertent changes
to a running OPC Server.

If Firewall security is enabled on Windows XP, Windows Vista, or Windows 2008, you
must also modify or add items to the Exceptions list. Refer to Setting Up the Windows XP
or Vista Firewall for Use with Remote OPC Servers.

IMPORTANT NOTES:

• It is recommended that all users that need to access remote OPC Servers be
members of the Administrators group. To facilitate this, it is recommended that
you create a users group to contain individual users that need to access remote
OPC servers.

For example, for the Discover and Auto Configure application, create a group
named “DAC” and add those users who will log into the operating systems and
access remote OPC servers. Add the users Tom, Denise, and Harry into the DAC

102 Getting Started with iFIX


Setting up for Remote OPC Server Access

group. Each of these users will also be added into the Administrators group. This
DAC group should also contain the following built-in security principals:
INTERACTIVE; NETWORK; SYSTEM.

• To make any OPC Client / OPC Server application work via DCOM, changes
need to be made on both sides, especially if you intend to use Asynchronous I/O
communications.

• OPCENUM must reside on the remote machine with the OPC server. While most
OPC Server applications install and register this file, some do not. You can
download this file from www.opcfoundation.org. Currently it is contained within
the OPC Core Components 2.00 Redistributable 2.30.msi file. After you
download OPCENUM, run the .msi file.

• This section applies to OPC servers that need to use DCOM communications,
regardless of whether the OPC server uses Serial or Ethernet devices.

• If OPC communications is confined to a single machine (that is, using COM, but
not DCOM), it continues to work properly without making changes to DCOM
settings.

• If you do not plan to use iFIX to connect remotely to OPC servers, then you may
not need to change your DCOM settings.

• If this is the first time you are connecting to (or allowing connections from) other
machines on the network, you must run the Windows Network Wizard (from Start
> Control Panel) to set up your computer to run on your network. This allows
you to share resources on your computer with other computers on your network.
It is recommended that you run the Network Setup Wizard before modifying the
DCOM settings.

DCOM Settings
The following procedures provide general guidelines for configuring DCOM settings.
Differences between Windows 2003, Windows XP, Windows Vista, and Windows 2008
are noted.

103
To launch the DCOM configurator:

1. From the Start menu, select or type Run. The Run dialog box appears.
2. Type dcomcnfg and click OK. The Component Services dialog box appears.

System-wide COM/DCOM Limits Settings


This procedure modifies the system-wide DCOM settings for the computer on Windows
XP, Windows Vista, and Windows 2008 operating systems. When these steps are
implemented, they apply to all programs that use COM/DCOM communications on the
computer.

IMPORTANT: Be careful when making any system-wide security changes. Any


inadvertent changes may affect the entire system and may cause some or all programs to
stop working.

For Windows XP, Windows Vista, and Windows 2008:

To update system-wide COM/DCOM limits settings:

1. On the Component Services dialog box, expand Component Services, then


expand the Computers item.
2. Right-click My Computer and choose Properties. The My Computer Properties
dialog box appears.
3. Click the COM Security tab. There are four permissions on this dialog box.
You may need to make changes to the Edit Limits… for Access Permissions and
Launch and Activation Permissions.

Do not change the Edit Default… settings, since this will change the default
settings for all programs and applications running on the computer.

4. Click Access Permissions > Edit Limits… The Access Permission dialog box
appears.
a. Select the user labeled ANONYMOUS LOGON, and then select the
Allow check box for Remote Access.

104 Getting Started with iFIX


Setting up for Remote OPC Server Access

NOTE: This setting is necessary for applications that use OPCenum.exe


to function and also for some OPC Servers and OPC Clients that set
their DCOM ‘Authentication Level’ to ’None’ to allow anonymous
connections. If you do not use such applications, you may not need to
enable remote access for anonymous logon users.

b. Select the user labeled Everyone, and then select the Allow check box
for Remote Access.
IMPORTANT: Since “Everyone” includes all authenticated users, it is
recommended to add these permissions to a smaller subset of users. One
way of doing this is to create a Group named “OPC” and add all user
accounts to this Group that will access any OPC server. Then substitute
“OPC” everywhere that “Everyone” appears in the entire DCOM
configuration dialogs.

c. Click OK to close the Access Permissions dialog box and return to the
My Computer Properties dialog box.
5. Click Launch and Activation Permissions > Edit Limits… The Launch
Permission dialog box appears.
For each user or group (preferably add the “OPC” group) that needs to launch or
activate the OPC server, or participates in OPC / DCOM communications, make
sure that the Local Launch, Remote Launch, Local Activation, and Remote
Activation check boxes are selected.

6. Click OK to save your changes, then click OK again to save and close the My
Computer Properties dialog box.

OPC Server-specific DCOM Settings


The following procedures detail the OPC server-specific COM/DCOM settings on all
supported Windows operating systems. You must change the OPC server settings so
remote users can access the OPC server as an OPC Data Access Server. This procedure is
also necessary for the GE Intelligent Platforms OPC Client driver to connect to, launch,
configure, and start the remote OPC servers.

It is recommended that all users requiring access to remote OPC servers be members of
the Administrators group.

105
IMPORTANT: Since the “Everyone” group includes all authenticated users, it is
recommended to add these permissions to a smaller subset of users.

It is recommended that you create a group to contain individual users that need to access
remote OPC servers. It is also recommended that all users who require access to remote
OPC Servers be members of the Administrators group.

For example, for Discovery and Auto-Assembly Component, create a group named
“DAC” and add those users who will log into the operating systems and access remote
OPC servers. Add the users Tom, Denise, and Harry into the DAC group. Each of these
users will also be added into the Administrators group. This DAC group should also
contain the following built-in security principals: INTERACTIVE; NETWORK; SYSTEM.
Then substitute “DAC” everywhere that “Everyone” appears in the entire DCOM
configuration dialogs.

To modify driver-specific DCOM settings:

In Windows 2003

1. Access the DCOM configurator (dcomcnfg.exe). The Component Services dialog


box appears.
2. Expand the Component Services item, then expand the Computers item, and then
expand the My Computer item.
3. Select the DCOM Config object. A list of applications displays.
4. Right-click the OPC server you want to modify and choose Properties. The
<Selected OPC Server> Properties dialog box appears.
5. Click the General tab. The Authentication Level should be left as “Default”. This
uses the default authentication rules that are set in the system-wide DCOM
settings.
6. Click the Location tab and make sure that the Run Application on this computer
check box is selected.
7. Click the Security tab and select the Customize option for each of the
permissions in this dialog box and edit them as described in the following steps.
8. In the Launch Permissions area, click Edit. The Launch Permissions dialog box

106 Getting Started with iFIX


Setting up for Remote OPC Server Access

appears.
9. Click the Add button. The Select Users and Groups dialog box appears.
10. Click the Advanced Button. The Select Users and Groups dialog box appears.
11. Click the Find Now button. In the search results, select the OPC group and click
OK. The Select Users and Groups dialog box displays the OPC group.
12. Click OK to return to the Launch Permission dialog box. The OPC group is
displayed in the Group or user names list.
13. Select the OPC group and select the Allow check box for Launch Permission.
14. Click OK to return to the <Selected OPC Server> Properties dialog box.
15. In the Access Permissions area, click Edit. The Access Permission dialog box
appears.
16. Click the Add button. The Select Users and Groups dialog box appears.
17. Click the Advanced Button. The Select Users and Groups dialog box appears.
18. Click the Find Now button. In the search results, select the OPC group and click
OK. The Select Users and Groups dialog box displays the OPC group.
19. Click OK to return to the Access Permission dialog box. The OPC group is
displayed in the Group or user names list.
20. Select the OPC group and select the Allow check box for Access Permission.
21. Click OK to return to the <Selected OPC Server> Properties dialog box.
22. In the Configuration Permissions area, click Edit. The Change Configuration
Permission dialog box appears.
23. Click the Add button. The Select Users and Groups dialog box appears.
24. Click the Advanced Button. The Select Users and Groups dialog box appears.
25. Click the Find Now button. In the search results, select the OPC group and click
OK. The Select Users and Groups dialog box displays the OPC group.
26. Click OK to return to the Change Configuration Permission dialog box.
27. Select the OPC group and select the Allow check boxes for Full Control and
Read,
28. Click OK to return to the <Selected OPC Server> Properties dialog box.

107
29. Click OK.
30. Repeat steps 2 through 29 for each OPC server you need to access remotely.
31. When you are done, close the Component Services dialog box.

In Windows XP, Windows Vista and Windows 2008

1. Access the DCOM configurator (dcomcnfg.exe). The Component Services dialog


box appears.
2. Expand the Component Services item, then expand the Computers item, and then
expand the My Computer item.
3. Select the DCOM Config object. A list of applications displays.
4. Right-click the OPC server you want to modify and choose Properties. The
<Selected OPC Server> Properties dialog box appears.
5. Click the General tab. The Authentication Level should be set to “Default,” if it
is not already. This uses the default authentication rules that are set in the system-
wide DCOM settings.
6. Click the Location tab and make sure that the "Run Application on this
computer" check box is selected.
7. Click the Security tab and select the Customize option for each of the
permissions in this dialog box and edit them as described in the following steps.
8. In the Launch and Activation Permissions area, click Edit. The Launch
Permission dialog box appears for Windows XP, or the Launch and Activation
Permission dialog box appears for Windows Vista and Windows 2008.
9. Click the Add button. The Select Users or Groups dialog box appears.
10. Click the Advanced Button. Another Select Users or Groups dialog box appears.
11. Click the Find Now button. In the search results, select the OPC group and click
OK. The Select Users or Groups dialog box displays the OPC group.
12. Click OK to return to the Launch Permission dialog box. The OPC group is
displayed in the Group or user names list.
13. Select the OPC group and then select the Allow check boxes for Local Launch,
Remote Launch, Local Activation, and Remote Activation permissions.

108 Getting Started with iFIX


Setting up for Remote OPC Server Access

14. Click OK to return to the <Selected OPC Server> Properties dialog box.
15. In the Access Permissions area, click Edit. The Access Permission dialog box
appears.
16. Click the Add button. The Select Users or Groups dialog box appears.
17. Click the Advanced Button. Another Select Users or Groups dialog box appears.
18. Click the Find Now button. In the search results, select the OPC group and click
OK. The Select Users or Groups dialog box displays the OPC group.
19. Click OK to return to the Access Permission dialog box. The OPC group is
displayed in the Group or user names list.
20. Select the OPC group and then select the Allow check boxes for Local Access
and Remote Access permissions.
21. Click OK to return to the <Selected OPC Server> Properties dialog box.
22. In the Configuration Permissions area, click Edit. The Change Configuration
Permission dialog box appears.
23. Click the Add button. The Select Users or Groups dialog box appears.
24. Click the Advanced Button. Another Select Users or Groups dialog box appears.
25. Click the Find Now button. In the search results, select the OPC group and click
OK. The Select Users or Groups dialog box displays the OPC group.
26. Click OK to return to the Change Configuration Permission dialog box. The OPC
group is displayed in the Group or user names list.
27. Select the OPC group and then select the Allow check boxes for Full Control and
Read permissions.
28. Click OK to return to the <Selected OPC Server> Properties dialog box.
29. Click OK.
30. Repeat steps 2 through 29 for each OPC server you need to access remotely.
31. When you are done, close the Component Services dialog box.

109
iFIX and Windows Vista
iFIX 5.1 supports Microsoft® Windows® Vista, Business, Enterprise, and Ultimate
Editions. Additionally, for iClients, iFIX supports Microsoft® Windows® Vista Ultimate
Edition. If you are upgrading your iFIX install, be aware that Microsoft does not
recommend upgrading Windows XP or 2003 to Windows Vista.

When using iFIX in Windows Vista, be aware of the following limitations when working
with these products:

• GE Intelligent Platforms OPC Client Driver – If you want to run the OPC
Client driver as a service, iFIX must also run as a service. Likewise, if you want
to run iFIX as a service, the OPC Client driver must run as a service. You cannot
run one as a service, without the other also running as a service.
If you want to run the OPC Client driver on the Microsoft Windows Vista
operating system, be sure to check with the vendor of your OPC Server software
to see if your OPC Server supports Vista.

• Third-Party OPC Servers – Be aware that at the time of the iFIX 5.1 release
there were a limited number of OPC Servers supported on Windows Vista. iFIX
was tested with the OPC20iFIX.exe (Intellution.OPCiFIX) Server – an OPC
2.05a (out of process) Data Server.
• Proficy Historian – You cannot install or use the Proficy Historian on Windows
Vista. In other words, you cannot collect iFIX data with Proficy Historian or
chart against Proficy Historian tags in Windows Vista.
• Proficy Change Management – Running the Proficy Change Management
(PCM) Server or the Client/Scheduler on iFIX 5.1 nodes is not supported on
Microsoft Windows Vista, since Proficy Change Management 5.6 and 5.7 do not
support Windows Vista.
• Terminal Server – iFIX does not support running a Terminal Server on
Windows Vista, or an upgraded server running Remote Desktop Protocol (RDP)
6.0. However, iClients installed on Windows Vista using RDP 6.0 can connect to
a server node running Windows 2000 Server, Windows 2000 Advanced Server,
or Windows Server 2003, with RDP 5.0, 5.1, or 5.2.

110 Getting Started with iFIX


iFIX and Windows Vista

• Drivers and DAC – If you want to run a driver on the Microsoft Windows Vista
operating system, be sure to check with the vendor of your driver software to see
if your driver supports Vista. Your driver must support Vista to interface with the
Discover and Auto Configure (DAC) application on Windows Vista.
• Biometric Toolkit – The iFIX Biometric Toolkit is supported in Windows Vista
only if you have a biometric solution that is Windows Vista compatible.
• VisiconX – Make sure that your data sources use UNC pathing, rather than
mapped network drives. For example, use a path like this:
\\myserver\users\\mydb.mdb, instead of this: d:\myserver\users\mydb.mdb for
your data source. Otherwise, you may experience connection errors.
• PMON – The GE Intelligent Platforms diagnostic utility PMON.exe does not
work when iFIX is running as a service in Windows Vista.
• Proficy Portal Control – For best performance in Windows Vista, it is
recommended that when you insert Proficy Portal control into your iFIX picture,
that you do not insert any other ActiveX controls into the same picture.
Additionally, be aware of the following differences when working with iFIX in Windows
Vista, as opposed to other operating systems:

• Security – Microsoft Windows Vista includes many new security enhancements.


Due to these enhancements, there may be changes you need to make for the users
who run iFIX. For more information, refer to the Windows Vista and Security
section.
• Drive Mapping – Security and data protection enhancements in Windows Vista
may require you to use data sources with UNC pathing, as opposed to mapped
network drives. For more information, refer to the Windows Vista and Mapped
Network Drives section.
• Sleep Mode – Be aware that an iFIX View node running on Windows Vista will
lose its connection to the iFIX network when going into "Sleep" mode.

Windows Vista and Security


In Windows Vista, the basic user groups changed. There are three main types:
Administrators, Users, and Guests. In Windows Vista, the Power Users group can exist;

111
however, it is a modified version of the standard Users group. Like Power Users, the
standard Users group allows for some of the rights granted to Administrators, but not all.

As an Administrator, you have all of the rights you need to operate a SCADA node (start
and stop iFIX), as well as running iFIX as a service. However, if you want to allow a user
in the Power Users group to operate an iFIX SCADA node or run iFIX as a service, you
need to make some adjustments to the user rights.

To allow a Power User to operate an iFIX SCADA node, you need to add the individual
user or group to the "Create Global Objects" policy. If you want the user or group to run
iFIX as a service, then you need to run the GrantUserFixServiceRights command for the
user or group. A user must be a Power User or greater to run a SCADA node on Windows
Vista.

To allow a user who is not an Administrator to operate an iFIX SCADA node:

1. In Windows Vista, log in as an Administrator.


2. Click the Start button, and in the Search box, type secpol.msc and press Enter.
The Local Security Policy window appears.
3. In the tree, double-click Security Settings, and then Local Policies, to view the
contents of the Local Policies folder.
4. Click the User Rights Assignment item to view the policies.
5. Double-click the Create Global Objects policy. The Create Global Object
Properties dialog box appears.
6. Click Add User or Group. The Select Users or Groups dialog box appears.
7. Enter an individual user name, or group name, such as "Power Users."
8. Click OK to add the user.

To allow a user who is not an Administrator to run iFIX as a service:

1. In Windows Vista, click the Start button, and in the Search box, type Command
Prompt and press Enter. If the Command Prompt does not appear immediately,
double-click the Command Prompt from the list of results.
2. In the Command Prompt window, type:

112 Getting Started with iFIX


iFIX and Windows Vista

GrantUserFixServiceRights GRANT FIX USERNAME

where FIX is the name of the service (iFIX) that you want to grant rights to, and
USERNAME is the name of the user or group that you want to grant rights to.

Running iFIX as a Service with Other Services


If you plan to run iFIX as a service on Windows Vista along with other services such as
the iFIX scheduler, the OPC A&E Server, and the OPC DA Server, make sure that your
user has the rights to start/stop/pause all of those services. A user who is a member of the
Administrators group usually has all these privileges. (This can be verified by opening the
Windows service control panel and checking if the Start/Stop setting is enabled.) To grant
a user who is a standard user (Power User) rights to start/stop/pause these services, log in
to Windows as an Administrator and run the following commands:

GrantUserFixServiceRights GRANT IFIXSCHEDULER username


GrantUserFixServiceRights GRANT IFIXOPCAESRV username
GrantUserFixServiceRights GRANT IFIXOPCDA username

Examples: Using GrantUserFixServiceRights


If you want to allow a Power User named QA1 to run iFIX as a service, type:

GrantUserFixServiceRights GRANT FIX QA1

If you want to allow all Power Users to run iFIX as a service, type:

GrantUserFixServiceRights GRANT FIX "Power Users"

If you later need to revoke the right to run iFIX as a service, use the following command:

GrantUserFixServiceRights REVOKE FIX USERNAME

where SERVICENAME is the name of the service that you want to revoke rights from,
and USERNAME is the name of the user or group that you want to revoke rights from.

113
Windows Vista and Mapped Network Drives
In Windows Vista, when you elevate an application and it runs under a different context,
the application may or may not be related to the user who is logged in. As a result, drive
mappings are not available in an elevated session unless you specifically map them while
it is elevated.

To resolve this issue, make sure that your system data sources use UNC pathing, rather
than mapped network drives. For example, use a path like this:
\\myserver\users\\mydb.mdb, instead of this: d:\myserver\users\mydb.mdb for your data
source. Otherwise, you may experience connection errors. Be sure to select the
"Remember my password" check box in the Connection dialog box when setting up your
UNC pathing. By doing this, the next time you log in, your connection will succeed
without failing.

For example, you add a system data source (ODBC) with a mapped network drive for use
with VisiconX. When you configure a VisiconX data control and select a data source on
the Database tab, an error appears (error number -2147467259 indicates that you do have
a valid path). To resolve this issue, configure your data source with UNC pathing instead.

EDA Applications and Windows Vista


When running an iFIX Easy Database Access (EDA) application on Windows Vista, you
may experience errors due to inadequate permissions. For instance, the logged in user may
not have enough permissions to create the necessary global memory that the application
requires, or the user may not be running an application with the fullest permissions
(running elevated).

The "Allocation of Shareable Memory Failed" message is one of the messages that can
appear in this scenario. To resolve these types of issues, elevate the application to the
fullest privileges.

To mark an application for elevation using an external manifest:

1. Create a text file named yourappname.exe.manifest, where yourappname is the


name of the application you want to elevate.
2. In a text editor such as Notepad, open yourappname.exe.manifest.

114 Getting Started with iFIX


iFIX and Windows Vista

3. Paste the following lines of code into the text file:


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">

<assemblyIdentity version="1.0.0.0"

processorArchitecture="X86"

name="yourappname"

type="win32"/>

<description>Description of your application</description>

<!-- Identify the application security requirements. -->

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">

<security>

<requestedPrivileges>

<requestedExecutionLevel

level="highestAvailable"

uiAccess="false"/>

</requestedPrivileges>

</security>

</trustInfo>

</assembly>

4. Save the file in the same folder as the yourappname.exe, where yourappname is
the name of the application you want to elevate.
TIP: If yourappname.exe was built with an internal manifest, yourappname.exe
will ignore the external manifest created in the above manner. Instead, you need
rebuild the application with the new elevation information.

115
IMPORTANT: If you have run the executable before performing the above steps
and it failed to work, see this link for information on adding a manifest after the
fact: http://blogs.msdn.com/vistacompatteam/archive/2006/11/13/manifest-and-
the-fusion-cache.aspx.

To mark an application for elevation with an internal manifest:

• Build your application's executable (.exe) file with the elevation information built
into it. Be aware of issues with fusion cache when you use an external manifest
file. For more information, refer to the MSDN web site:
http://blogs.msdn.com/vistacompatteam/archive/2006/11/13/manifest-and-the-
fusion-cache.aspx.
For more information on User Account Control (UAC), refer to the Microsoft
web site: http://www.microsoft.com/downloads/details.aspx?familyid=ba73b169-
a648-49af-bc5e-a2eebb74c16b&displaylang=en.

To elevate a third party application that you do not own the source code for:

Microsoft recommends writing a wrapper to invoke the application's executable (.exe) file
in an elevated manner. If this is not feasible, the following is suggested:

• Create a shortcut (.lnk) to the yourappname.exe, where yourappname is the name


of the application you want to elevate.
• Right-click the shortcut and select Properties. Configure the shortcut to run as an
Administrator.

iFIX and Windows Server 2008


iFIX 5.1 supports Microsoft® Windows® Server 2008 Standard or Enterprise Editions. If
you are upgrading your iFIX install, be aware that Microsoft does not recommend
upgrading Windows XP or 2003 SP1 to Windows Server 2008.

When using iFIX in Windows Server 2008, be aware of the following limitations when
working with these products:

116 Getting Started with iFIX


iFIX and Windows Server 2008

• GE Intelligent Platforms OPC Client Driver – If you want to run the OPC
Client driver as a service, iFIX must also run as a service. Likewise, if you want
to run iFIX as a service, the OPC Client driver must run as a service. You cannot
run one as a service, without the other also running as a service.
If you want to run the OPC Client driver on the Microsoft Windows Server 2008
operating system, be sure to check with the vendor of your OPC Server software
to see if your OPC Server supports Server 2008.

• Third-Party OPC Servers – Be aware that at the time of the iFIX 5.1 release
there were a limited number of OPC Servers supported on Windows Server 2008.
iFIX was tested with the OPC20iFIX.exe (Intellution.OPCiFIX) Server – an OPC
2.05a (out of process) Data Server.
• Proficy Change Management – Running the Proficy Change Management
(PCM) Server or the Client/Scheduler on iFIX 5.1 nodes is not supported on
Microsoft Windows Server 2008, since Proficy Change Management 5.6 and 5.7
do not support Windows Server 2008.
• Drivers and DAC – If you want to run a driver on the Microsoft Windows
Server 2008 operating system, be sure to check with the vendor of your driver
software to see if your driver supports Server 2008. Your driver must support
Server 2008 to interface with the Discover and Auto Configure (DAC)
application on Windows Server 2008.
• Biometric Toolkit – The iFIX Biometric Toolkit is supported in Windows
Server 2008 only if you have a biometric solution that is Windows Server 2008
compatible.
• VisiconX – Make sure that your data sources use UNC pathing, rather than
mapped network drives. For example, use a path like this:
\\myserver\users\\mydb.mdb, instead of this: d:\myserver\users\mydb.mdb for
your data source. Otherwise, you may experience connection errors.
• PMON – The GE Intelligent Platforms diagnostic utility PMON.exe does not
work when iFIX is running as a service in Windows Server 2008.
• Proficy Portal Control – For best performance in Windows Server 2008, it is
recommended that when you insert Proficy Portal control into your iFIX picture,
that you do not insert any other ActiveX controls into the same picture.
Additionally, be aware of the following differences when working with iFIX in Windows

117
Server 2008, as opposed to other operating systems:

• Security – Microsoft Windows Server 2008 includes many new security


enhancements. Due to these enhancements, there may be changes you need to
make for the users who run iFIX. For more information, refer to the Windows
Server 2008 and Security section.
• Drive Mapping – Security and data protection enhancements in Windows Server
2008 may require you to use data sources with UNC pathing, as opposed to
mapped network drives. For more information, refer to the Windows Server 2008
and Mapped Network Drives section.
• Sleep Mode – Be aware that an iFIX View node running on Windows Server
2008 will lose its connection to the iFIX network when going into "Sleep" mode.

Windows Server 2008 and Security


In Windows Server 2008, the basic user groups changed. There are three main types:
Administrators, Users, and Guests. In Windows Server 2008, the Power Users group can
exist; however, it is a modified version of the standard Users group. Like Power Users, the
standard Users group allows for some of the rights granted to Administrators, but not all.

As an Administrator, you have all of the rights you need to operate a SCADA node (start
and stop iFIX), as well as running iFIX as a service. However, if you want to allow a user
in the Power Users group to operate an iFIX SCADA node or run iFIX as a service, you
need to make some adjustments to the user rights.

To allow a Power User to operate an iFIX SCADA node, you need to add the individual
user or group to the "Create Global Objects" policy. If you want the user or group to run
iFIX as a service, then you need to run the GrantUserFixServiceRights command for the
user or group. A user must be a Power User or greater to run a SCADA node on Windows
Server 2008.

To allow a user who is not an Administrator to operate an iFIX SCADA node:

1. In Windows Server 2008, log in as an Administrator.


2. Click the Start button, and in the Search box, type secpol.msc and press Enter.
The Local Security Policy window appears.

118 Getting Started with iFIX


iFIX and Windows Server 2008

3. In the tree, double-click Security Settings, and then Local Policies, to view the
contents of the Local Policies folder.
4. Click the User Rights Assignment item to view the policies.
5. Double-click the Create Global Objects policy. The Create Global Object
Properties dialog box appears.
6. Click Add User or Group. The Select Users or Groups dialog box appears.
7. Enter an individual user name, or group name, such as "Power Users."
8. Click OK to add the user.

To allow a user who is not an Administrator to run iFIX as a service:

1. In Windows Server 2008, click the Start button, and in the Search box, type
Command Prompt and press Enter. If the Command Prompt does not appear
immediately, double-click the Command Prompt from the list of results.
2. In the Command Prompt window, type:
GrantUserFixServiceRights GRANT FIX USERNAME

where FIX is the name of the service (iFIX) that you want to grant rights to, and
USERNAME is the name of the user or group that you want to grant rights to.

Running iFIX as a Service with Other Services


If you plan to run iFIX as a service on Windows Server 2008 along with other services
such as the iFIX scheduler, the OPC A&E Server, and the OPC DA Server, make sure that
your user has the rights to start/stop/pause all of those services. A user who is a member of
the Administrators group usually has all these privileges. (This can be verified by opening
the Windows service control panel and checking if the Start/Stop setting is enabled.) To
grant a user who is a standard user (Power User) rights to start/stop/pause these services,
log in to Windows as an Administrator and run the following commands:

GrantUserFixServiceRights GRANT IFIXSCHEDULER username


GrantUserFixServiceRights GRANT IFIXOPCAESRV username
GrantUserFixServiceRights GRANT IFIXOPCDA username

119
Examples: Using GrantUserFixServiceRights
If you want to allow a Power User named QA1 to run iFIX as a service, type:

GrantUserFixServiceRights GRANT FIX QA1

If you want to allow all Power Users to run iFIX as a service, type:

GrantUserFixServiceRights GRANT FIX "Power Users"

If you later need to revoke the right to run iFIX as a service, use the following command:

GrantUserFixServiceRights REVOKE FIX USERNAME

where SERVICENAME is the name of the service that you want to revoke rights from,
and USERNAME is the name of the user or group that you want to revoke rights from.

Windows Server 2008 and Mapped Network Drives


In Windows Server 2008, when you elevate an application and it runs under a different
context, the application may or may not be related to the user who is logged in. As a
result, drive mappings are not available in an elevated session unless you specifically map
them while it is elevated.

To resolve this issue, make sure that your system data sources use UNC pathing, rather
than mapped network drives. For example, use a path like this:
\\myserver\users\\mydb.mdb, instead of this: d:\myserver\users\mydb.mdb for your data
source. Otherwise, you may experience connection errors. Be sure to select the
"Remember my password" check box in the Connection dialog box when setting up your
UNC pathing. By doing this, the next time you log in, your connection will succeed
without failing.

For example, you add a system data source (ODBC) with a mapped network drive for use
with VisiconX. When you configure a VisiconX data control and select a data source on
the Database tab, an error appears (error number -2147467259 indicates that you do have
a valid path). To resolve this issue, configure your data source with UNC pathing instead.

120 Getting Started with iFIX


iFIX and Windows Server 2008

EDA Applications and Windows Server 2008


When running an iFIX Easy Database Access (EDA) application on Windows Server
2008, you may experience errors due to inadequate permissions. For instance, the logged
in user may not have enough permissions to create the necessary global memory that the
application requires, or the user may not be running an application with the fullest
permissions (running elevated).

The "Allocation of Shareable Memory Failed" message is one of the messages that can
appear in this scenario. To resolve these types of issues, elevate the application to the
fullest privileges.

To mark an application for elevation using an external manifest:

1. Create a text file named yourappname.exe.manifest, where yourappname is the


name of the application you want to elevate.
2. In a text editor such as Notepad, open yourappname.exe.manifest.
3. Paste the following lines of code into the text file:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1"
manifestVersion="1.0">

<assemblyIdentity version="1.0.0.0"

processorArchitecture="X86"

name="yourappname"

type="win32"/>

<description>Description of your application</description>

<!-- Identify the application security requirements. -->

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">

<security>

<requestedPrivileges>

121
<requestedExecutionLevel

level="highestAvailable"

uiAccess="false"/>

</requestedPrivileges>

</security>

</trustInfo>

</assembly>

4. Save the file in the same folder as the yourappname.exe, where yourappname is
the name of the application you want to elevate.
TIP: If yourappname.exe was built with an internal manifest, yourappname.exe
will ignore the external manifest created in the above manner. Instead, you need
rebuild the application with the new elevation information.

IMPORTANT: If you have run the executable before performing the above steps
and it failed to work, see this link for information on adding a manifest after the
fact: http://blogs.msdn.com/Server
2008compatteam/archive/2006/11/13/manifest-and-the-fusion-cache.aspx.

To mark an application for elevation with an internal manifest:

• Build your application's executable (.exe) file with the elevation information built
into it. Be aware of issues with fusion cache when you use an external manifest
file. For more information, refer to the MSDN web site:
http://blogs.msdn.com/Server 2008compatteam/archive/2006/11/13/manifest-
and-the-fusion-cache.aspx.
For more information on User Account Control (UAC), refer to the Microsoft
web site: http://www.microsoft.com/downloads/details.aspx?familyid=ba73b169-
a648-49af-bc5e-a2eebb74c16b&displaylang=en.

To elevate a third party application that you do not own the source code for:

Microsoft recommends writing a wrapper to invoke the application's executable (.exe) file

122 Getting Started with iFIX


Other iFIX Installation Considerations

in an elevated manner. If this is not feasible, the following is suggested:

• Create a shortcut (.lnk) to the yourappname.exe, where yourappname is the name


of the application you want to elevate.
• Right-click the shortcut and select Properties. Configure the shortcut to run as an
Administrator.

Other iFIX Installation Considerations


This chapter provides information you need to consider when using databases or drivers
and iFIX. This information includes:

• Supported Drivers
• Special Keyboard Buttons

Supported Drivers
iFIX supports the following drivers:

• Version 6.x
• Version 7.1 or higher
NOTE: Version 7.01 drivers have known issues with iFIX and are not supported.

If you want to run a driver on the Microsoft Windows Vista or Windows Server 2008
operating system, be sure to check with the vendor of your driver software to see if your
driver supports Vista.

Special Keyboard Buttons


Some computer keyboards have special buttons for e-mail launch, internet launch, search,

123
and other functions. These keyboard buttons may disable certain key macros or allow
users to circumvent iFIX security measures.

It is recommended that you reprogram or disable the software that operates such special
buttons. Refer to your computer's documentation for instructions on disabling these
buttons.

Networking
This chapter provides general information about the iFIX supported network protocol,
supported network software, supported file servers, and installing network cards with
Windows. Refer to the following sections for more information:

• Supported Networking Protocol


• Supported File Servers
• Handling Time Zones when Using Networked FIX 6.15 and iFIX Nodes
• Networking with Other iFIX and FIX Nodes

Supported Networking Protocol


If you decide to implement a networked iFIX system, make sure that all nodes are using
compatible network configurations. iFIX supports TCP/IP interfaces for peer-to-peer
communication. NetBIOS is no longer supported.

GE Intelligent Platforms has tested and recommends 3COM plug-in boards and built-in
network adapters from Compaq, Dell, and Gateway.

If you have difficulty networking your computer, refer to the Troubleshooting chapter of
the Setting Up the Environment manual to pinpoint and resolve your problems.

124 Getting Started with iFIX


Networking

Supported File Servers


GE Intelligent Platforms supports using a file server to store System Configuration Utility,
alarm area database, security, historical, and recipe data files and file server-based
iClients. iFIX does not require a file server.

The following operating systems for file servers are recommended:

• Microsoft Windows Server 2003.


• Novell NetWare. If you use a NetWare file server, it is recommended that you
use Microsoft's Client Service for NetWare on your iFIX node.
Refer to your file server documentation for installation and configuration instructions.

If a file server becomes unavailable and an iFIX node attempts to access a file, you may
experience no response, slow response, or time-outs. These conditions are a result of
continuously polling all available drives while it waits for a response from the file server.
It is recommended that you store a backup copy of the files you need on the local node. It
is not recommended that you use the file server for files if it is susceptible to failure.

Handling Time Zones when Using Networked FIX 6.15


and iFIX Nodes
In FIX 6.15, time zones are ignored when passing alarms over the network. For example,
if a FIX 6.15 node in Boston (Eastern Standard Time), generates an alarm at 4:00 PM,
then a FIX 6.15 node in Chicago (Central Standard Time) displays that alarm with a time
stamp of 4:00 PM.

By comparison, iFIX uses time zones and adjusts the time stamp accordingly. For
example, if an iFIX node in Boston generates an alarm at 4:00 PM, another iFIX node in
Chicago displays the alarm with a time stamp of 3:00 PM.

When FIX 6.15 and iFIX transfer alarms over the network, the time zone handling is
similar to FIX 6.15 as the following table shows.

125
When... Then...

A FIX 6.15 node in Boston An iFIX node in Chicago displays the alarm
generates an alarm at 4:00 PM with a time stamp of 4:00 PM.

An iFIX node in Boston generates A FIX 6.15 node in Chicago displays the alarm
an alarm at 4:00 PM with a time stamp of 4:00 PM.

Networking with Other iFIX and FIX Nodes


iFIX 5.1 can share data and alarms with previous versions of iFIX, as well as with FIX32
6.15 and FIX v7.0. FIX32 view nodes will only receive alarms from alarm areas A-P.

IMPORTANT: You cannot run iFIX and FIX v7 at the same time on a single computer.

Contact GE Intelligent Platforms


If you purchased this product through a GE Intelligent Platforms Authorized Channel
Partner, please contact them directly.

General Contact Information


Online Technical Support & GlobalCare: www.ge-ip.com/support

Comments about our manuals or online help: doc@ge.com

Additional Information: www.ge-ip.com

Solution Provider: solutionprovider.ip@ge.com

126 Getting Started with iFIX


Contact GE Intelligent Platforms

Authorization: authorization.ip@ge.com

Technical Support
If you have technical problems that cannot be resolved with the information in this guide,
please contact us by telephone or email, or on the web at www.ge-ip.com/support.

Americas
Online Technical Support: www.ge-ip.com/support

Phone: 1-800-433-2682

International Americas Direct Dial: 1-434-978-5100

Technical Support Email: support.ip@ge.com

Customer Care Email: customercare.ip@ge.com

Primary language of support: English

Europe, the Middle East, and Africa (EMEA)


Online Technical Support: www.ge-ip.com/support

Phone: +800 1-433-2682

Technical Support Email: support.emea.ip@ge.com

Customer Care Email: customercare.emea.ip@ge.com

Inside Sales: insidesales.emea.ip@ge.com

Primary languages of support: English, French, German, Italian, Czech, Spanish

127
Asia Pacific
Online Technical Support: www.ge-ip.com/support

Phone: +86-400-820-8208

+86-21-3217-4826 (India, Indonesia, and Pakistan)

Technical Support Email: support.cn.ip@ge.com (China)

support.jp.ip@ge.com (Japan)

support.in.ip@ge.com (remaining Asia customers)

Customer Care Email: customercare.apo.ip@ge.com

customercare.cn.ip@ge.com (China)

When You Have Questions


Most questions deal with setup or normal operations. Our support representatives can
normally answer these questions immediately. When you call:

• Have your contract number ready. Your contract number is an eight-digit number
that is a combination of your company's six-digit identification number and a
two-digit extension that identifies the product you are using. It can be found on
your invoice and in the body of your original packing list from GE Intelligent
Platforms. If you are a member of our Extended Support Services program, your
contract number is also on your customer support PhoneCard.
• Be next to your computer so that the engineer can step you through the proper
procedure.
• Be familiar with your product's documentation so that the engineer can direct you
to information on related topics.
• Have the names and version numbers of the I/O drivers in use.

128 Getting Started with iFIX


Contact GE Intelligent Platforms

• Know the HMI Application you are using.


• Know the type of operating system you are using and the version number of your
software.

Assistance
When you call for assistance with software that does not perform as you expect, the
answer usually has to do with your computer's setup. You should be able to answer the
following questions when you call:

• What is the nature of the problem? Be as specific as possible.


• Can you reproduce the problem easily? List the steps.
• Can you still reproduce the problem after disabling all unnecessary third-party
software?
• Do you encounter any error messages? What are they?
• What types of hardware are you using? List model numbers.

129
Index
. D
.CSV files...................................... 67 Database Dynamos

.RCX file ....................................... 66 iFIX installation.......................... 61

.RCX files ..................................... 81 updating .................................... 61

.RCY file ....................................... 66 database migration ....................... 80

.RCY files ..................................... 81 date format, supported ................. 19

.RPT File ...................................... 72 demo mode troubleshooting ......... 15

A disabling iFIX as a service ............ 23


ActiveWindow object .................... 60 disk space requirements............... 11
adding passwords to .RPT file ..... 72 driver configuration, exporting ...... 67
Advanced Historian, not supported E
with iFIX .................................... 58
environment protection ................. 68
B
exporting
backing up FIX files ...................... 68
driver configuration ................... 67
backup, file server files ............... 125
security configuration report ..... 71
buttons, special keyboard .......... 123
F
C
file server
color mapping errors .................... 59
backup files ............................. 125
computers, recommended for iFIX ... 10

131
recommended types ............... 125 requirements for iFIX .................. 3

FIX hardware key

files, restoring after upgrade ..... 76 described .................................. 12

I/O driver configuration ............. 78 installing .................................... 13

FIX 6.15, time zone considerations125 parallel port ............................... 13

FIX 7.0,starting after installing iFIX39 recovery for improper


installation ............................. 13
FIX 7.x
replacing defective .................... 16
drivers ....................................... 39
serial number ............................ 12
using with iFIX .......................... 39
troubleshooting ......................... 15
FIX Desktop ................................. 65
upgrading .................................. 49
FixUserPreferences.ini ................. 11
USB port ................................... 13
format, time and date ................... 19
hardware requirements
FreeDiskSpace parameter ........... 11
memory ..................................... 11
functionality conversion, Database
Dynamos .................................. 75 recommended computers ......... 10

G HASP ............................................ 16
getting started, iFIX ........................ 1 I
GrantUserFixServiceRights........ 111 I/O drivers

H preparing for upgrade ............... 67


hardware verifying upgrade and database
migration................................ 80
optional ..................................... 44

132 Getting Started with iFIX


Index

iFIX upgrading from iFIX 2.5 and


earlier .................................... 49
hardware requirements............... 3
using with FIX ........................... 39
installation failure ...................... 62
using with Microsoft Office ........ 41
memory requirements............... 11
iFIX 2.5, upgrading from ............... 49
new title bar .............................. 56
iFIX environment, iFIX nodes ......... 2
online registration ..................... 38
iFIX installation
optional hardware ..................... 44
Dynamo sets ............................. 61
paths ......................................... 23
overview ...................................... 2
picture compatibility .................. 59
iFIX installation ............................... 2
previous version compatibility .. 59
iFIX SIMs ...................................... 75
recommended computers ......... 10
iLicense file ................................... 49
recommended file servers ...... 125
importing
recommended video drivers ..... 21
recipe files ................................. 81
regional settings ....................... 19
security configuration ................ 81
resolving displays ..................... 59
installing iFIX
software requirements .............. 17
after uninstalling iVisualize ....... 41
supported drivers .................... 123
newest drivers ........................... 75
supported file servers ............. 125
product hardware key ............... 13
supported network protocol .... 124
with FIX v7 ................................ 39

133
insufficient disk space .................. 11 overview

K iFIX installation............................ 2
keyboard, special buttons .......... 123 upgrading from iFIX to FIX
Desktop ................................. 74
L
language support ......................... 20 P
parallel port hardware key ............ 13
limitations ................................... 110
passwords
M
mappings .................................... 114 in .RPT file ................................ 72

memory reconfiguring ............................. 82

optimizing ................................. 22 PDB folder .................................... 67

requirements ............................. 11 pictures

Microsoft Office and iFIX .............. 41 compatibility in earlier versions


of iFIX .................................... 59
N
converting from FIX to iFIX ....... 59
networked FIX 6.15 and iFIX
nodes ...................................... 125 created in an older version of
iFIX ........................................ 59
networks
from iFIX 2.1 ............................. 60
supported in iFIX .................... 124
preparing for iFIX with FIX
new user ......................................... 1 Desktop upgrade....................... 65

O preserving settings when


upgrading .................................. 50
optimizing virtual memory ............ 22
Process Database ........................ 75
optional hardware for iFIX ............ 44

134 Getting Started with iFIX


Index

Proficy GlobalCare Support web running iFIX as a service


site ............................................ 75
iFIX paths .................................. 23
Proficy Historian and iFIX............. 57
required application feature ...... 23
R
Terminal Server ........................ 23
RCC folder.................................... 66
Windows Services..................... 23
RCM folder ................................... 66
S
Recipe Builder .............................. 81
security configuration
recipe files .................................... 66
exporting ................................... 71
reconfiguring passwords after
upgrade to FIX Desktop............ 82 importing ................................... 81

recovery, improper USB key install13 Security.RPT ................................ 72

registration for iFIX ....................... 38 software requirements .................. 17

reports special keyboard buttons ............ 123

security configuration................ 71 starting up FIX 7.0 after iFIX install39

system configuration................. 73 SuperPro ...................................... 16

requirements supported

iFIX hardware ............................. 3 file servers ............................... 125

iFIX software ............................. 17 iFIX drivers .............................. 123

memory ..................................... 11 networks .................................. 124

resolving iFIX displays ................. 59 system configuration report .......... 73

restoring backed up files .............. 76 System Configuration Utility ......... 67

135
T user globals, iFIX upgrade
considerations ........................... 57
time format, supported ................. 19
using iFIX with Microsoft Office .... 41
time zones .................................. 125
V
toolbars......................................... 57
verifying I/O driver and database
toolbars, imported ........................ 57 migration ................................... 80

U video drivers

upgrading recommended ........................... 21

from FIX 7.x .............................. 74 third-party .................................. 21

hardware key ............................ 49 virtual memory

iFIX permissions ....................... 57 optimizing for iFIX ..................... 22

older pictures ............................ 59 Vista limitations ........................... 110

preserving settings ................... 50 W

to iFIX with FIX Desktop ........... 65 Windows virtual memory .............. 22

USB hardware key Windows Vista ............110, 111, 114

described .................................. 13 Windows Vista limitations ........... 110

recovery from improper install .. 13 Windows XP windows styles ........ 57

USB hardware key ....................... 13

136 Getting Started with iFIX


Proficy* HMI/SCADA - iFIX
IFIX AUTOMATION REFERENCE

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

Disclaimer of Warranties and Liability

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

Notice

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

Quick Reference - iFIX Automation Interfaces .................................................................................1 

A....................................................................................................................................................1 

B....................................................................................................................................................4 

C ...................................................................................................................................................5 

D ...................................................................................................................................................8 

E..................................................................................................................................................11 

F ..................................................................................................................................................13 

G .................................................................................................................................................16 

H .................................................................................................................................................19 

I-J ................................................................................................................................................20 

K..................................................................................................................................................21 

L ..................................................................................................................................................22 

M .................................................................................................................................................24 

N .................................................................................................................................................26 

O .................................................................................................................................................27 

P..................................................................................................................................................28 

Q .................................................................................................................................................31 

R .................................................................................................................................................31 

S..................................................................................................................................................33 

T ..................................................................................................................................................39 

U .................................................................................................................................................41 

V..................................................................................................................................................42 

W.................................................................................................................................................43 

X-Y ..............................................................................................................................................44 

Z ..................................................................................................................................................45 

iii
iFIX Automation Reference

Objects ............................................................................................................................................ 45

Object Summary ............................................................................................................................. 45

A ................................................................................................................................................. 45

B ................................................................................................................................................. 45

C ................................................................................................................................................. 45

D ................................................................................................................................................. 46

E ................................................................................................................................................. 46

F .................................................................................................................................................. 46

G-K ............................................................................................................................................. 47

L-N .............................................................................................................................................. 47

O ................................................................................................................................................. 47

P-Q ............................................................................................................................................. 47

R ................................................................................................................................................. 48

S ................................................................................................................................................. 48

T-U .............................................................................................................................................. 48

V ................................................................................................................................................. 49

W-Z ............................................................................................................................................. 49

A-C .................................................................................................................................................. 49

Alarm Summary Object .............................................................................................................. 49

Application Object ....................................................................................................................... 49

Arc Object ................................................................................................................................... 50

Bitmap Object ............................................................................................................................. 50

Chart Object................................................................................................................................ 50

Chord Object............................................................................................................................... 51

ColorButton Object ..................................................................................................................... 51

ControlContainer Object ............................................................................................................. 51

D-F .................................................................................................................................................. 51

DataItem Object .......................................................................................................................... 51

iv
iFIX Automation Reference

DataItems Object ........................................................................................................................ 51

DataLink Object .......................................................................................................................... 52

DataServer Object ...................................................................................................................... 52

DataServers Object .................................................................................................................... 52

Document Object ........................................................................................................................ 52

Documents Object ...................................................................................................................... 52

Dynamo Object ........................................................................................................................... 52

DynamoSet Object...................................................................................................................... 52

ESignature Object....................................................................................................................... 53

Event Object ............................................................................................................................... 54

ExpressionEditor Object ............................................................................................................. 54

FindReplace Object .................................................................................................................... 54

FixApp Object ............................................................................................................................. 54

FixDataSystem Object ................................................................................................................ 54

FixFloatPoint Object ................................................................................................................... 54

FixGeometryHelper Object ......................................................................................................... 55

FixKeyMacroCollection Object ................................................................................................... 55

FixKeyMacro Object ................................................................................................................... 55

Format Object ............................................................................................................................. 55

G-O ................................................................................................................................................. 55

Group Object .............................................................................................................................. 55

Group (DataSystem) Object ....................................................................................................... 56

Groups Object............................................................................................................................. 56

HistDatalink Object ..................................................................................................................... 56

HistogramChart Object ............................................................................................................... 56

HistoricalDataSet Object ............................................................................................................ 56

Legend Object ............................................................................................................................ 56

Line Object.................................................................................................................................. 56

v
iFIX Automation Reference

Linear Object .............................................................................................................................. 57

LineChart Object ......................................................................................................................... 57

LineConnector Object ................................................................................................................. 57

Lines Object ................................................................................................................................ 57

Lookup Object............................................................................................................................. 57

Oval Object ................................................................................................................................. 57

P-S .................................................................................................................................................. 58

Pen Object .................................................................................................................................. 58

Picture Object ............................................................................................................................. 58

Pie Object ................................................................................................................................... 58

Pipe Object ................................................................................................................................. 58

PipeConnector Object ................................................................................................................ 58

Polygon Object ........................................................................................................................... 58

Polyline Object ............................................................................................................................ 58

Procedures Object ...................................................................................................................... 58

RealTimeDataSet Object ............................................................................................................ 59

RealTimeSPCDataSet Object .................................................................................................... 59

Rectangle Object ........................................................................................................................ 59

RightAngleLineConnector Object ............................................................................................... 59

RoundRectangle Object ............................................................................................................. 59

Scheduler Object ........................................................................................................................ 59

ScriptLine Object ........................................................................................................................ 60

ScriptProcedure Object .............................................................................................................. 60

ScriptSource Object .................................................................................................................... 60

SecuritySynchronizer Object ...................................................................................................... 60

Sources Object ........................................................................................................................... 60

SPCBarChart Object .................................................................................................................. 60

System Object ............................................................................................................................ 60

vi
iFIX Automation Reference

T-Z .................................................................................................................................................. 61

Tag Group Object ....................................................................................................................... 61

Text Object ................................................................................................................................. 61

TimeAxis Object.......................................................................................................................... 61

Timer Object ............................................................................................................................... 61

ToolbarManager Object .............................................................................................................. 61

UserGlobals Object .................................................................................................................... 61

UserPreferences Object ............................................................................................................. 62

ValueAxis Object ........................................................................................................................ 62

Variable Object ........................................................................................................................... 62

Window Object............................................................................................................................ 63

XYChart Object ........................................................................................................................... 63

Properties ....................................................................................................................................... 64

Property Summary .......................................................................................................................... 64

A ................................................................................................................................................. 64

B ................................................................................................................................................. 65

C ................................................................................................................................................. 66

D ................................................................................................................................................. 68

E ................................................................................................................................................. 70

F .................................................................................................................................................. 71

G ................................................................................................................................................. 72

H ................................................................................................................................................. 73

I-K ............................................................................................................................................... 74

L .................................................................................................................................................. 75

M ................................................................................................................................................. 76

N ................................................................................................................................................. 78

O ................................................................................................................................................. 78

P ................................................................................................................................................. 79

vii
iFIX Automation Reference

Q ................................................................................................................................................. 81

R ................................................................................................................................................. 81

S ................................................................................................................................................. 82

T .................................................................................................................................................. 85

U ................................................................................................................................................. 86

V ................................................................................................................................................. 87

W-Y ............................................................................................................................................. 88

Z .................................................................................................................................................. 89

Z .................................................................................................................................................. 89

A ..................................................................................................................................................... 89

Active Property ........................................................................................................................... 89

Syntax ..................................................................................................................................... 89

Properties ............................................................................................................................... 89

Settings ................................................................................................................................... 90

Remarks ................................................................................................................................. 90

ActiveDocument Property ........................................................................................................... 90

Syntax ..................................................................................................................................... 90

Properties ............................................................................................................................... 90

Remarks ................................................................................................................................. 90

ActiveWindow Property .............................................................................................................. 90

Syntax ..................................................................................................................................... 91

Properties ............................................................................................................................... 91

Remarks ................................................................................................................................. 91

AdvancedGraphics Property....................................................................................................... 91

Syntax ..................................................................................................................................... 91

Properties ............................................................................................................................... 91

Settings ................................................................................................................................... 92

Remarks ................................................................................................................................. 92

viii
iFIX Automation Reference

AlarmHornEnabled Property....................................................................................................... 92

Syntax ..................................................................................................................................... 92

Properties ............................................................................................................................... 92

Return Value ........................................................................................................................... 92

AlarmRefreshInterval Property ................................................................................................... 93

Syntax ..................................................................................................................................... 93

Properties ............................................................................................................................... 93

AlarmUserdefField1 Property ..................................................................................................... 93

Syntax ..................................................................................................................................... 93

Properties ............................................................................................................................... 93

AlarmUserdefField2 Property ..................................................................................................... 93

Syntax ..................................................................................................................................... 94

Properties ............................................................................................................................... 94

Alignment Property ..................................................................................................................... 94

Syntax ..................................................................................................................................... 94

Properties ............................................................................................................................... 94

Settings ................................................................................................................................... 94

Remarks ................................................................................................................................. 95

AllowsDrillDown Property ........................................................................................................... 95

Syntax ..................................................................................................................................... 95

Properties ............................................................................................................................... 95

Settings ................................................................................................................................... 95

Remarks ................................................................................................................................. 96

AllowTimeAxisReset Property .................................................................................................... 96

Syntax ..................................................................................................................................... 96

Properties ............................................................................................................................... 96

Settings ................................................................................................................................... 96

AllowValueAxisReset Property ................................................................................................... 97

ix
iFIX Automation Reference

Syntax ..................................................................................................................................... 97

Properties ............................................................................................................................... 97

Settings ................................................................................................................................... 97

AlwaysOnTop Property ............................................................................................................... 97

Syntax ..................................................................................................................................... 97

Properties ............................................................................................................................... 97

Settings ................................................................................................................................... 98

Remarks ................................................................................................................................. 98

AnalogError Property .................................................................................................................. 98

Syntax ..................................................................................................................................... 98

Properties ............................................................................................................................... 98

Remarks ................................................................................................................................. 98

AnalogErrorTag Property ............................................................................................................ 99

Syntax ..................................................................................................................................... 99

Properties ............................................................................................................................... 99

Remarks ................................................................................................................................. 99

AngleUnits Property .................................................................................................................... 99

Syntax ..................................................................................................................................... 99

Properties ............................................................................................................................... 99

Settings ................................................................................................................................. 100

Remarks ............................................................................................................................... 100

Application Property ................................................................................................................. 100

Syntax ................................................................................................................................... 100

Properties ............................................................................................................................. 100

Remarks ............................................................................................................................... 100

ApplyProperties Property .......................................................................................................... 101

Syntax ................................................................................................................................... 101

Properties ............................................................................................................................. 101

x
iFIX Automation Reference

Settings ................................................................................................................................. 101

AssignedID Property ................................................................................................................. 101

Syntax ................................................................................................................................... 101

Properties ............................................................................................................................. 101

Remarks ............................................................................................................................... 102

Author Property......................................................................................................................... 102

Syntax ................................................................................................................................... 102

Properties ............................................................................................................................. 102

Remarks ............................................................................................................................... 102

Autofetch Property .................................................................................................................... 102

Syntax ................................................................................................................................... 102

Properties ............................................................................................................................. 102

Settings ................................................................................................................................. 103

Remarks ............................................................................................................................... 103

AutoMinMaxPaddingX Property ............................................................................................... 103

Syntax ................................................................................................................................... 103

Properties ............................................................................................................................. 103

AutoMinMaxPaddingY Property ............................................................................................... 104

Syntax ................................................................................................................................... 104

Properties ............................................................................................................................. 104

AutoSize Property ..................................................................................................................... 104

Syntax ................................................................................................................................... 104

Properties ............................................................................................................................. 104

Settings ................................................................................................................................. 104

Remarks ............................................................................................................................... 105

AutoUpdateRate Property ........................................................................................................ 105

Syntax ................................................................................................................................... 106

Properties ............................................................................................................................. 106

xi
iFIX Automation Reference

Remarks ............................................................................................................................... 106

AverageDataValue Property ..................................................................................................... 106

Syntax ................................................................................................................................... 106

Properties ............................................................................................................................. 106

Remarks ............................................................................................................................... 106

AxisColor Property .................................................................................................................... 107

Syntax ................................................................................................................................... 107

Properties ............................................................................................................................. 107

AxisLength Property ................................................................................................................. 107

Syntax ................................................................................................................................... 107

Properties ............................................................................................................................. 107

Remarks ............................................................................................................................... 107

AxisTitle Property...................................................................................................................... 107

Syntax ................................................................................................................................... 108

Properties ............................................................................................................................. 108

B ................................................................................................................................................... 108

BackDropBackgroundColor Property ....................................................................................... 108

Syntax ................................................................................................................................... 108

Properties ............................................................................................................................. 108

Remarks ............................................................................................................................... 108

BackDropBackgroundStyle Property ........................................................................................ 109

Syntax ................................................................................................................................... 109

Properties ............................................................................................................................. 109

Settings ................................................................................................................................. 109

BackDropBlend Property .......................................................................................................... 109

Syntax ................................................................................................................................... 109

Properties ............................................................................................................................. 110

Remarks ............................................................................................................................... 110

xii
iFIX Automation Reference

BackDropBorderColor Property ................................................................................................ 110

Syntax ................................................................................................................................... 110

Properties ............................................................................................................................. 110

BackDropBorderStyle Property ................................................................................................ 110

Syntax ................................................................................................................................... 110

Properties ............................................................................................................................. 111

Settings ................................................................................................................................. 111

BackDropColor Property ........................................................................................................... 111

Syntax ................................................................................................................................... 111

Properties ............................................................................................................................. 111

Remarks ............................................................................................................................... 112

BackdropFadeColor Property ................................................................................................... 112

Syntax ................................................................................................................................... 112

Properties ............................................................................................................................. 112

BackdropFadeType Property.................................................................................................... 112

Syntax ................................................................................................................................... 112

Properties ............................................................................................................................. 113

Settings ................................................................................................................................. 113

Remarks ............................................................................................................................... 113

BackDropGradAngle Property .................................................................................................. 113

Syntax ................................................................................................................................... 113

Properties ............................................................................................................................. 113

Remarks ............................................................................................................................... 114

BackDropStyle Property ........................................................................................................... 114

Syntax ................................................................................................................................... 114

Properties ............................................................................................................................. 114

Settings ................................................................................................................................. 114

BackDropVisible Property......................................................................................................... 115

xiii
iFIX Automation Reference

Syntax ................................................................................................................................... 115

Properties ............................................................................................................................. 115

Settings ................................................................................................................................. 115

BackgroundColor Property ....................................................................................................... 116

Syntax ................................................................................................................................... 116

Properties ............................................................................................................................. 116

BackgroundEdgeColor Property ............................................................................................... 116

Syntax ................................................................................................................................... 116

Properties ............................................................................................................................. 116

BackgroundEdgeStyle Property ............................................................................................... 117

Syntax ................................................................................................................................... 117

Properties ............................................................................................................................. 117

Settings ................................................................................................................................. 117

BackgroundEdgeWidth Property .............................................................................................. 117

Syntax ................................................................................................................................... 118

Properties ............................................................................................................................. 118

BackgroundStyle Property ........................................................................................................ 118

Syntax ................................................................................................................................... 118

Properties ............................................................................................................................. 118

Settings ................................................................................................................................. 118

BackupSecPath Property ......................................................................................................... 119

Syntax ................................................................................................................................... 119

Properties ............................................................................................................................. 119

Remarks ............................................................................................................................... 119

BarVal Property ........................................................................................................................ 119

Syntax ................................................................................................................................... 119

Properties ............................................................................................................................. 119

BasePath Property ................................................................................................................... 120

xiv
iFIX Automation Reference

Syntax ................................................................................................................................... 120

Properties ............................................................................................................................. 120

Remarks ............................................................................................................................... 120

BitmapGradientMode Property ................................................................................................. 120

Syntax ................................................................................................................................... 120

Properties ............................................................................................................................. 120

Settings ................................................................................................................................. 120

Blend Property .......................................................................................................................... 121

Syntax ................................................................................................................................... 121

Properties ............................................................................................................................. 121

Remarks ............................................................................................................................... 121

BlinkEnabled Property .............................................................................................................. 121

Syntax ................................................................................................................................... 121

Properties ............................................................................................................................. 121

Settings ................................................................................................................................. 122

BlinkRate Property .................................................................................................................... 122

Syntax ................................................................................................................................... 122

Properties ............................................................................................................................. 122

Remarks ............................................................................................................................... 122

BorderTypes Property .............................................................................................................. 123

Syntax ................................................................................................................................... 123

Properties ............................................................................................................................. 123

Bottom Property ........................................................................................................................ 123

Syntax ................................................................................................................................... 123

Properties ............................................................................................................................. 123

Remarks ............................................................................................................................... 123

BottomCenter Property ............................................................................................................. 124

Syntax ................................................................................................................................... 124

xv
iFIX Automation Reference

Properties ............................................................................................................................. 124

Remarks ............................................................................................................................... 124

BottomLeft Property .................................................................................................................. 124

Syntax ................................................................................................................................... 124

Properties ............................................................................................................................. 124

Remarks ............................................................................................................................... 124

BottomRight Property ............................................................................................................... 125

Syntax ................................................................................................................................... 125

Properties ............................................................................................................................. 125

Remarks ............................................................................................................................... 125

BottomVisibleRow Property ...................................................................................................... 125

Syntax ................................................................................................................................... 125

Properties ............................................................................................................................. 125

Remarks ............................................................................................................................... 125

BoundRect Property ................................................................................................................. 126

Syntax ................................................................................................................................... 126

Properties ............................................................................................................................. 126

Remarks ............................................................................................................................... 126

ButtonState Property ................................................................................................................ 126

Syntax ................................................................................................................................... 126

Properties ............................................................................................................................. 126

Settings ................................................................................................................................. 126

Remarks ............................................................................................................................... 127

ButtonStyle Property ................................................................................................................. 127

Syntax ................................................................................................................................... 127

Properties ............................................................................................................................. 127

Settings ................................................................................................................................. 127

Remarks ............................................................................................................................... 128

xvi
iFIX Automation Reference

C ................................................................................................................................................... 128

CacheEnabled Property ........................................................................................................... 128

Syntax ................................................................................................................................... 128

Properties ............................................................................................................................. 128

Settings ................................................................................................................................. 128

Remarks ............................................................................................................................... 129

Cancel Property ........................................................................................................................ 129

Syntax ................................................................................................................................... 129

Properties ............................................................................................................................. 129

Settings ................................................................................................................................. 129

Remarks ............................................................................................................................... 129

Caption Property ....................................................................................................................... 130

Syntax ................................................................................................................................... 130

Properties ............................................................................................................................. 130

Remarks ............................................................................................................................... 130

Category Property..................................................................................................................... 130

Syntax ................................................................................................................................... 130

Properties ............................................................................................................................. 130

Remarks ............................................................................................................................... 131

Center Property ........................................................................................................................ 131

Syntax ................................................................................................................................... 131

Properties ............................................................................................................................. 131

Remarks ............................................................................................................................... 131

CenterOfRotation Property ....................................................................................................... 131

Syntax ................................................................................................................................... 131

Properties ............................................................................................................................. 131

Remarks ............................................................................................................................... 132

CenterPoint Property ................................................................................................................ 132

xvii
iFIX Automation Reference

Syntax ................................................................................................................................... 132

Properties ............................................................................................................................. 132

Remarks ............................................................................................................................... 132

CenterX Property ...................................................................................................................... 133

Syntax ................................................................................................................................... 133

Properties ............................................................................................................................. 133

CenterY Property ...................................................................................................................... 133

Syntax ................................................................................................................................... 133

Properties ............................................................................................................................. 133

CharactersPerLine Property ..................................................................................................... 133

Syntax ................................................................................................................................... 134

Properties ............................................................................................................................. 134

ChartFontSize Property ............................................................................................................ 134

Syntax ................................................................................................................................... 134

Properties ............................................................................................................................. 134

CheckForAlarmListChanged Property ...................................................................................... 134

Syntax ................................................................................................................................... 135

Properties ............................................................................................................................. 135

Settings ................................................................................................................................. 135

Remarks ............................................................................................................................... 135

CheckForNewAlarms Property ................................................................................................. 135

Syntax ................................................................................................................................... 135

Properties ............................................................................................................................. 135

Settings ................................................................................................................................. 136

CheckForSeverityIncrease Property......................................................................................... 136

Syntax ................................................................................................................................... 136

Properties ............................................................................................................................. 136

Settings ................................................................................................................................. 136

xviii
iFIX Automation Reference

Remarks ............................................................................................................................... 137

ClassName Property ................................................................................................................ 137

Syntax ................................................................................................................................... 137

Properties ............................................................................................................................. 137

Remarks ............................................................................................................................... 137

Color Property........................................................................................................................... 137

Syntax ................................................................................................................................... 137

Properties ............................................................................................................................. 137

ColorTable Property ................................................................................................................. 138

Syntax ................................................................................................................................... 138

Properties ............................................................................................................................. 138

Settings ................................................................................................................................. 138

Remarks ............................................................................................................................... 138

CombinationKey Property......................................................................................................... 139

Syntax ................................................................................................................................... 139

Properties ............................................................................................................................. 139

Comments Property .................................................................................................................. 139

Syntax ................................................................................................................................... 139

Properties ............................................................................................................................. 139

CompletionStatus Property....................................................................................................... 140

Syntax ................................................................................................................................... 140

Properties ............................................................................................................................. 140

CompletionStatusTag Property ................................................................................................ 140

Syntax ................................................................................................................................... 140

Properties ............................................................................................................................. 140

Remarks ............................................................................................................................... 141

ConfirmDataEntry Property ...................................................................................................... 141

Syntax ................................................................................................................................... 141

xix
iFIX Automation Reference

Properties ............................................................................................................................. 141

Settings ................................................................................................................................. 141

ConnectionFailed Property ....................................................................................................... 141

Syntax ................................................................................................................................... 141

Properties ............................................................................................................................. 142

Remarks ............................................................................................................................... 142

Return Values ....................................................................................................................... 142

ConstantLine Property .............................................................................................................. 142

Syntax ................................................................................................................................... 142

Properties ............................................................................................................................. 142

Settings ................................................................................................................................. 143

Remarks ............................................................................................................................... 143

ContainedObjects Property ...................................................................................................... 143

Syntax ................................................................................................................................... 143

Properties ............................................................................................................................. 143

Remarks ............................................................................................................................... 143

ContainedSelections Property .................................................................................................. 143

Syntax ................................................................................................................................... 143

Properties ............................................................................................................................. 144

Remarks ............................................................................................................................... 144

ContextID Property ................................................................................................................... 144

Syntax ................................................................................................................................... 144

Properties ............................................................................................................................. 144

ControlOrderIndex Property ..................................................................................................... 144

Syntax ................................................................................................................................... 144

Properties ............................................................................................................................. 144

Count Property.......................................................................................................................... 145

Syntax ................................................................................................................................... 145

xx
iFIX Automation Reference

Properties ............................................................................................................................. 145

Remarks ............................................................................................................................... 145

CurrentDataSet Property .......................................................................................................... 145

Syntax ................................................................................................................................... 145

Properties ............................................................................................................................. 145

Remarks ............................................................................................................................... 146

CurrentDataSource Property .................................................................................................... 146

Syntax ................................................................................................................................... 146

Properties ............................................................................................................................. 146

Remarks ............................................................................................................................... 146

CurrentDate Property ............................................................................................................... 146

Syntax ................................................................................................................................... 146

Properties ............................................................................................................................. 146

CurrentDateDay Property ......................................................................................................... 147

Syntax ................................................................................................................................... 147

Properties ............................................................................................................................. 147

CurrentDateMonth Property ..................................................................................................... 147

Syntax ................................................................................................................................... 147

Properties ............................................................................................................................. 147

CurrentDateYear Property ........................................................................................................ 148

Syntax ................................................................................................................................... 148

Properties ............................................................................................................................. 148

CurrentImage Property ............................................................................................................. 148

Syntax ................................................................................................................................... 148

Properties ............................................................................................................................. 148

CurrentPen Property ................................................................................................................. 149

Syntax ................................................................................................................................... 149

Properties ............................................................................................................................. 149

xxi
iFIX Automation Reference

CurrentPicture Property ............................................................................................................ 149

Syntax ................................................................................................................................... 149

Properties ............................................................................................................................. 149

CurrentTime Property ............................................................................................................... 149

Syntax ................................................................................................................................... 150

Properties ............................................................................................................................. 150

CurrentTimeHour Property ....................................................................................................... 150

Syntax ................................................................................................................................... 150

Properties ............................................................................................................................. 150

CurrentTimeMinute Property .................................................................................................... 150

Syntax ................................................................................................................................... 150

Properties ............................................................................................................................. 151

CurrentTimeSecond Property ................................................................................................... 151

Syntax ................................................................................................................................... 151

Properties ............................................................................................................................. 151

CurrentValue Property .............................................................................................................. 151

Syntax ................................................................................................................................... 151

Properties ............................................................................................................................. 151

D ................................................................................................................................................... 152

DataEntry Property ................................................................................................................... 152

Syntax ................................................................................................................................... 152

Properties ............................................................................................................................. 152

Settings ................................................................................................................................. 152

DataItems Property ................................................................................................................... 153

Syntax ................................................................................................................................... 153

Properties ............................................................................................................................. 153

Remarks ............................................................................................................................... 153

DataRefreshInterval Property ................................................................................................... 153

xxii
iFIX Automation Reference

Syntax ................................................................................................................................... 153

Properties ............................................................................................................................. 153

DataServers Property ............................................................................................................... 154

Syntax ................................................................................................................................... 154

Properties ............................................................................................................................. 154

Remarks ............................................................................................................................... 154

DataSetColor Property ............................................................................................................. 154

Syntax ................................................................................................................................... 154

Properties ............................................................................................................................. 154

DataShadows Property ............................................................................................................. 155

Syntax ................................................................................................................................... 155

Properties ............................................................................................................................. 155

DaylightSavingsTime Property ................................................................................................. 155

Syntax ................................................................................................................................... 155

Properties ............................................................................................................................. 155

Settings ................................................................................................................................. 156

Remarks ............................................................................................................................... 156

DaysBeforeNow Property ......................................................................................................... 156

Syntax ................................................................................................................................... 156

Properties ............................................................................................................................. 156

Remarks ............................................................................................................................... 156

DaysOfMonth Property ............................................................................................................. 157

Syntax ................................................................................................................................... 157

Properties ............................................................................................................................. 157

Remarks ............................................................................................................................... 157

DaysOfWeek Property .............................................................................................................. 157

Syntax ................................................................................................................................... 157

Properties ............................................................................................................................. 157

xxiii
iFIX Automation Reference

Remarks ............................................................................................................................... 158

Deadband Property .................................................................................................................. 158

Syntax ................................................................................................................................... 158

Properties ............................................................................................................................. 158

DecimalDigits Property ............................................................................................................. 158

Syntax ................................................................................................................................... 158

Properties ............................................................................................................................. 158

Default Property ........................................................................................................................ 159

Syntax ................................................................................................................................... 159

Properties ............................................................................................................................. 159

Settings ................................................................................................................................. 159

Remarks ............................................................................................................................... 159

DefaultDataSystem Property .................................................................................................... 159

Syntax ................................................................................................................................... 160

Properties ............................................................................................................................. 160

Remarks ............................................................................................................................... 160

DefaultExternalDatasourceUpdateRate Property..................................................................... 160

Syntax ................................................................................................................................... 160

Properties ............................................................................................................................. 160

Remarks ............................................................................................................................... 160

DefaultOutputValue Property.................................................................................................... 160

Syntax ................................................................................................................................... 161

Properties ............................................................................................................................. 161

DefaultServer Property ............................................................................................................. 161

Syntax ................................................................................................................................... 161

Properties ............................................................................................................................. 161

Return Values ....................................................................................................................... 161

Remarks ............................................................................................................................... 162

xxiv
iFIX Automation Reference

Description Property ................................................................................................................. 162

Syntax ................................................................................................................................... 162

Properties ............................................................................................................................. 162

DeskColor Property .................................................................................................................. 162

Syntax ................................................................................................................................... 162

Properties ............................................................................................................................. 162

DigitalError Property ................................................................................................................. 163

Syntax ................................................................................................................................... 163

Properties ............................................................................................................................. 163

Remarks ............................................................................................................................... 163

DigitalErrorTag Property ........................................................................................................... 163

Syntax ................................................................................................................................... 163

Properties ............................................................................................................................. 163

Remarks ............................................................................................................................... 164

DigitsOfPrecision Property ....................................................................................................... 164

Syntax ................................................................................................................................... 164

Properties ............................................................................................................................. 164

DisableAutoScale Property....................................................................................................... 164

Syntax ................................................................................................................................... 164

Properties ............................................................................................................................. 165

Settings ................................................................................................................................. 165

DisplayLayer Property .............................................................................................................. 165

Syntax ................................................................................................................................... 165

Properties ............................................................................................................................. 165

Remarks ............................................................................................................................... 166

DisplayMilliseconds Property.................................................................................................... 166

Syntax ................................................................................................................................... 166

Properties ............................................................................................................................. 166

xxv
iFIX Automation Reference

Settings ................................................................................................................................. 166

DisplayStatusBar Property ....................................................................................................... 166

Syntax ................................................................................................................................... 166

Properties ............................................................................................................................. 167

Settings ................................................................................................................................. 167

DisplayString Property .............................................................................................................. 167

Syntax ................................................................................................................................... 167

Properties ............................................................................................................................. 167

DisplaySystemTree Property .................................................................................................... 168

Syntax ................................................................................................................................... 168

Properties ............................................................................................................................. 168

Settings ................................................................................................................................. 168

DocumentHeight Property ........................................................................................................ 168

Syntax ................................................................................................................................... 168

Properties ............................................................................................................................. 168

Remarks ............................................................................................................................... 169

DocumentPath Property ........................................................................................................... 169

Syntax ................................................................................................................................... 169

Properties ............................................................................................................................. 169

Remarks ............................................................................................................................... 169

Documents Property ................................................................................................................. 169

Syntax ................................................................................................................................... 169

Properties ............................................................................................................................. 169

Remarks ............................................................................................................................... 170

DocumentWidth Property ......................................................................................................... 170

Syntax ................................................................................................................................... 170

Properties ............................................................................................................................. 170

Remarks ............................................................................................................................... 170

xxvi
iFIX Automation Reference

Domain Property ....................................................................................................................... 170

Syntax ................................................................................................................................... 170

Properties ............................................................................................................................. 171

Remarks ............................................................................................................................... 171

DownImageDisplayed Property ................................................................................................ 171

Syntax ................................................................................................................................... 171

Properties ............................................................................................................................. 171

Settings ................................................................................................................................. 171

DSDescription Property ............................................................................................................ 172

Syntax ................................................................................................................................... 172

Properties ............................................................................................................................. 172

DSLegendAvgerageOverRangeColWidth Property ................................................................. 172

Syntax ................................................................................................................................... 172

Properties ............................................................................................................................. 172

DSLegendCurrentValColWidth Property .................................................................................. 173

Syntax ................................................................................................................................... 173

Properties ............................................................................................................................. 173

DSLegendDescriptionColWidth Property ................................................................................. 173

Syntax ................................................................................................................................... 173

Properties ............................................................................................................................. 173

DSLegendHighLimitColWidth Property .................................................................................... 174

Syntax ................................................................................................................................... 174

Properties ............................................................................................................................. 174

DSLegendHighOverRangeColWidth Property ......................................................................... 174

Syntax ................................................................................................................................... 174

Properties ............................................................................................................................. 174

DSLegendLowLimitColWidth Property ..................................................................................... 174

Syntax ................................................................................................................................... 175

xxvii
iFIX Automation Reference

Properties ............................................................................................................................. 175

DSLegendLowOverRangeColWidth Property .......................................................................... 175

Syntax ................................................................................................................................... 175

Properties ............................................................................................................................. 175

DSLegendMask Property ......................................................................................................... 175

Syntax ................................................................................................................................... 175

Properties ............................................................................................................................. 176

Remarks ............................................................................................................................... 176

DSLegendQualityColWidth Property ........................................................................................ 176

Syntax ................................................................................................................................... 176

Properties ............................................................................................................................. 176

DSLegendSourceColWidth Property ........................................................................................ 177

Syntax ................................................................................................................................... 177

Properties ............................................................................................................................. 177

DSPosition Property ................................................................................................................. 177

Syntax ................................................................................................................................... 177

Properties ............................................................................................................................. 177

Remarks ............................................................................................................................... 177

Duration Property...................................................................................................................... 178

Syntax ................................................................................................................................... 178

Properties ............................................................................................................................. 178

Dynamo_Description Property.................................................................................................. 178

Syntax ................................................................................................................................... 178

Properties ............................................................................................................................. 178

Return Value ......................................................................................................................... 178

Dynamo_ID Property ................................................................................................................ 179

Syntax ................................................................................................................................... 179

Properties ............................................................................................................................. 179

xxviii
iFIX Automation Reference

Return Value ......................................................................................................................... 179

E ................................................................................................................................................... 179

EdgeColor Property .................................................................................................................. 179

Syntax ................................................................................................................................... 179

Properties ............................................................................................................................. 179

EdgeStyle Property ................................................................................................................... 180

Syntax ................................................................................................................................... 180

Properties ............................................................................................................................. 180

Settings ................................................................................................................................. 180

Bitmap Object Syntax ........................................................................................................... 180

Properties ............................................................................................................................. 181

Object Settings ..................................................................................................................... 181

Remarks ............................................................................................................................... 181

EdgeWidth Property ................................................................................................................. 181

Syntax ................................................................................................................................... 181

Properties ............................................................................................................................. 181

EditText Property ...................................................................................................................... 182

Syntax ................................................................................................................................... 182

Properties ............................................................................................................................. 182

ElbowStyle Property ................................................................................................................. 182

Syntax ................................................................................................................................... 182

Properties ............................................................................................................................. 182

Settings ................................................................................................................................. 183

EnableAcknowledgeAll Property .............................................................................................. 183

Syntax ................................................................................................................................... 183

Properties ............................................................................................................................. 183

Settings ................................................................................................................................. 183

Remarks ............................................................................................................................... 184

xxix
iFIX Automation Reference

EnableAlarmAcknowledge Property ......................................................................................... 184

Syntax ................................................................................................................................... 184

Properties ............................................................................................................................. 184

Settings ................................................................................................................................. 184

EnableAlarmDeletion Property ................................................................................................. 184

Syntax ................................................................................................................................... 184

Properties ............................................................................................................................. 185

Settings ................................................................................................................................. 185

Remarks ............................................................................................................................... 185

EnableAsVbaControl Property.................................................................................................. 185

Syntax ................................................................................................................................... 185

Properties ............................................................................................................................. 185

Remarks ............................................................................................................................... 186

EnableColumnQuickSort Property............................................................................................ 186

Syntax ................................................................................................................................... 186

Properties ............................................................................................................................. 186

Settings ................................................................................................................................. 186

Remarks ............................................................................................................................... 187

Enabled Property ...................................................................................................................... 187

Syntax ................................................................................................................................... 187

Properties ............................................................................................................................. 187

Return Values ....................................................................................................................... 187

Remarks ............................................................................................................................... 187

EnableGlobalEndTime Property ............................................................................................... 187

Syntax ................................................................................................................................... 188

Properties ............................................................................................................................. 188

Settings ................................................................................................................................. 188

EnableGlobalScrollPercentage Property .................................................................................. 188

xxx
iFIX Automation Reference

Syntax ................................................................................................................................... 188

Properties ............................................................................................................................. 188

Settings ................................................................................................................................. 189

EnableEndTime Property ......................................................................................................... 189

Syntax ................................................................................................................................... 189

Properties ............................................................................................................................. 189

Settings ................................................................................................................................. 189

EnableRightMouseClick Property ............................................................................................. 190

Syntax ................................................................................................................................... 190

Properties ............................................................................................................................. 190

Settings ................................................................................................................................. 190

EnableRunTimeConfiguration Property .................................................................................... 190

Syntax ................................................................................................................................... 190

Properties ............................................................................................................................. 190

Settings ................................................................................................................................. 191

EnableTooltips Property ........................................................................................................... 191

Syntax ................................................................................................................................... 191

Properties ............................................................................................................................. 191

Settings ................................................................................................................................. 191

Remarks ............................................................................................................................... 192

EndAngle Property ................................................................................................................... 192

Syntax ................................................................................................................................... 192

Properties ............................................................................................................................. 192

Remarks ............................................................................................................................... 192

EndCap Property ...................................................................................................................... 193

Syntax ................................................................................................................................... 193

Properties ............................................................................................................................. 193

Settings ................................................................................................................................. 193

xxxi
iFIX Automation Reference

EndPoint Property..................................................................................................................... 193

Syntax ................................................................................................................................... 193

Properties ............................................................................................................................. 194

Remarks ............................................................................................................................... 194

EndTime Property ..................................................................................................................... 194

Chart and Pen Syntax........................................................................................................... 194

Properties ............................................................................................................................. 194

Remarks ............................................................................................................................... 195

Timer Syntax ......................................................................................................................... 195

Properties ............................................................................................................................. 195

Remarks ............................................................................................................................... 195

EndX Property .......................................................................................................................... 195

Syntax ................................................................................................................................... 195

Properties ............................................................................................................................. 195

EndY Property .......................................................................................................................... 196

Syntax ................................................................................................................................... 196

Properties ............................................................................................................................. 196

ErrorMode Property .................................................................................................................. 196

Syntax ................................................................................................................................... 196

Properties ............................................................................................................................. 196

Format and Lookup Object Settings ..................................................................................... 196

Linear Object Settings .......................................................................................................... 197

Remarks ............................................................................................................................... 197

EventParameter Property ......................................................................................................... 197

EventType Property .................................................................................................................. 197

Syntax ................................................................................................................................... 198

Properties ............................................................................................................................. 198

Settings ................................................................................................................................. 198

xxxii
iFIX Automation Reference

ExactMatch Property ................................................................................................................ 198

Syntax ................................................................................................................................... 199

Properties ............................................................................................................................. 199

Settings ................................................................................................................................. 199

ExtendMaxSpace Property ....................................................................................................... 199

Syntax ................................................................................................................................... 199

Properties ............................................................................................................................. 199

ExtendType Property ................................................................................................................ 200

Syntax ................................................................................................................................... 200

Properties ............................................................................................................................. 200

Settings ................................................................................................................................. 200

F .................................................................................................................................................... 201

FadeColor Property .................................................................................................................. 201

Syntax ................................................................................................................................... 201

Properties ............................................................................................................................. 201

FadeType Property ................................................................................................................... 201

Syntax ................................................................................................................................... 201

Properties ............................................................................................................................. 201

Settings ................................................................................................................................. 202

Remarks ............................................................................................................................... 202

FailedSource Property .............................................................................................................. 202

Syntax ................................................................................................................................... 202

Properties ............................................................................................................................. 202

Remarks ............................................................................................................................... 202

FetchDataSetLimits Property.................................................................................................... 203

Syntax ................................................................................................................................... 203

Properties ............................................................................................................................. 203

Settings ................................................................................................................................. 203

xxxiii
iFIX Automation Reference

FetchPenLimits Property .......................................................................................................... 203

Syntax ................................................................................................................................... 203

Properties ............................................................................................................................. 203

Settings ................................................................................................................................. 204

Remarks ............................................................................................................................... 204

FileName Property .................................................................................................................... 204

Syntax ................................................................................................................................... 204

Properties ............................................................................................................................. 204

Remarks ............................................................................................................................... 204

FillStyle Property....................................................................................................................... 205

Syntax ................................................................................................................................... 205

Properties ............................................................................................................................. 205

Settings ................................................................................................................................. 205

Remarks ............................................................................................................................... 206

FilterString Property .................................................................................................................. 206

Syntax ................................................................................................................................... 206

Properties ............................................................................................................................. 206

FixedDate Property ................................................................................................................... 206

Syntax ................................................................................................................................... 206

Example ................................................................................................................................ 206

Properties ............................................................................................................................. 206

Remarks ............................................................................................................................... 207

FixedTime Property .................................................................................................................. 207

Syntax ................................................................................................................................... 207

Example ................................................................................................................................ 207

Properties ............................................................................................................................. 207

Remarks ............................................................................................................................... 207

FixPath Property ....................................................................................................................... 208

xxxiv
iFIX Automation Reference

Syntax ................................................................................................................................... 208

Properties ............................................................................................................................. 208

Settings ................................................................................................................................. 208

Remarks ............................................................................................................................... 209

Font Property ............................................................................................................................ 209

Syntax ................................................................................................................................... 209

Properties ............................................................................................................................. 209

FontName Property .................................................................................................................. 210

Syntax ................................................................................................................................... 210

Properties ............................................................................................................................. 210

FontSize Property ..................................................................................................................... 210

Syntax ................................................................................................................................... 210

Properties ............................................................................................................................. 210

FontStyle Property .................................................................................................................... 210

Syntax ................................................................................................................................... 211

Properties ............................................................................................................................. 211

Settings ................................................................................................................................. 211

ForceVerticalPoints Property .................................................................................................... 211

Syntax ................................................................................................................................... 211

Properties ............................................................................................................................. 211

ForegroundColor Property ........................................................................................................ 212

Syntax ................................................................................................................................... 212

Properties ............................................................................................................................. 212

ForegroundEdgeColor Property ............................................................................................... 212

Syntax ................................................................................................................................... 212

Properties ............................................................................................................................. 212

ForegroundEdgeStyle Property ................................................................................................ 213

Syntax ................................................................................................................................... 213

xxxv
iFIX Automation Reference

Properties ............................................................................................................................. 213

Settings ................................................................................................................................. 213

ForegroundEdgeWidth Property ............................................................................................... 214

Syntax ................................................................................................................................... 214

Properties ............................................................................................................................. 214

Format Property ........................................................................................................................ 214

Syntax ................................................................................................................................... 214

Properties ............................................................................................................................. 214

FormatDataType Property ........................................................................................................ 215

Syntax ................................................................................................................................... 215

Properties ............................................................................................................................. 215

Settings ................................................................................................................................. 215

FullName Property .................................................................................................................... 215

Syntax ................................................................................................................................... 215

Properties ............................................................................................................................. 216

Remarks ............................................................................................................................... 216

FullScreen Property .................................................................................................................. 216

Syntax ................................................................................................................................... 216

Properties ............................................................................................................................. 216

Settings ................................................................................................................................. 216

FullyQualifiedName Property.................................................................................................... 217

Syntax ................................................................................................................................... 217

Properties ............................................................................................................................. 217

Remarks ............................................................................................................................... 217

G-J ................................................................................................................................................ 217

GlobalDuration Property ........................................................................................................... 217

Syntax ................................................................................................................................... 217

Properties ............................................................................................................................. 217

xxxvi
iFIX Automation Reference

GlobalEndTime Property .......................................................................................................... 218

Syntax ................................................................................................................................... 218

Properties ............................................................................................................................. 218

GlobalFastScrollOption Property .............................................................................................. 218

Syntax ................................................................................................................................... 218

Properties ............................................................................................................................. 218

GlobalHistoricalUpdateRate Property....................................................................................... 219

Syntax ................................................................................................................................... 219

Properties ............................................................................................................................. 219

GlobalOutputToggle Property ................................................................................................... 219

Syntax ................................................................................................................................... 219

Properties ............................................................................................................................. 219

Settings ................................................................................................................................. 219

Remarks ............................................................................................................................... 220

GlobalSlowScrollOption Property ............................................................................................. 220

Syntax ................................................................................................................................... 220

Properties ............................................................................................................................. 220

GlobalSlowScrollRate Property ................................................................................................ 220

Syntax ................................................................................................................................... 221

Properties ............................................................................................................................. 221

GlobalStartTime Property ......................................................................................................... 221

Syntax ................................................................................................................................... 221

Properties ............................................................................................................................. 221

GlobalTimerPause Property ..................................................................................................... 221

Syntax ................................................................................................................................... 222

Properties ............................................................................................................................. 222

Settings ................................................................................................................................. 222

GlobalTimeSync Property ......................................................................................................... 222

xxxvii
iFIX Automation Reference

Syntax ................................................................................................................................... 222

Properties ............................................................................................................................. 222

Settings ................................................................................................................................. 223

GlobalToggle Property .............................................................................................................. 223

Syntax ................................................................................................................................... 223

Properties ............................................................................................................................. 223

Remarks ............................................................................................................................... 223

Gradient Property ..................................................................................................................... 223

Syntax ................................................................................................................................... 223

Properties ............................................................................................................................. 224

GlobalFastScrollRate Property ................................................................................................. 224

Syntax ................................................................................................................................... 224

Properties ............................................................................................................................. 224

GradientAngle Property ............................................................................................................ 224

Syntax ................................................................................................................................... 224

Properties ............................................................................................................................. 224

Remarks ............................................................................................................................... 225

GraphBackColor Property ........................................................................................................ 225

Syntax ................................................................................................................................... 225

Properties ............................................................................................................................. 225

GraphForeColor Property ......................................................................................................... 225

Syntax ................................................................................................................................... 225

Properties ............................................................................................................................. 226

GraphPlusTable Property ......................................................................................................... 226

Syntax ................................................................................................................................... 226

Properties ............................................................................................................................. 226

GraphPlusTableMenu Property ................................................................................................ 226

Syntax ................................................................................................................................... 227

xxxviii
iFIX Automation Reference

Properties ............................................................................................................................. 227

GridEnabled Property ............................................................................................................... 227

Syntax ................................................................................................................................... 227

Properties ............................................................................................................................. 227

Settings ................................................................................................................................. 227

GridInFront Property ................................................................................................................. 228

Syntax ................................................................................................................................... 228

Properties ............................................................................................................................. 228

Settings ................................................................................................................................. 228

GridInterval Property ................................................................................................................ 228

Syntax ................................................................................................................................... 229

Properties ............................................................................................................................. 229

GridLinesToShow Property ...................................................................................................... 229

Syntax ................................................................................................................................... 229

Properties ............................................................................................................................. 229

GridStyle Property .................................................................................................................... 230

Syntax ................................................................................................................................... 230

Properties ............................................................................................................................. 230

GridWidth Property ................................................................................................................... 230

Syntax ................................................................................................................................... 230

Properties ............................................................................................................................. 230

Groups Property ....................................................................................................................... 231

Syntax ................................................................................................................................... 231

Properties ............................................................................................................................. 231

Remarks ............................................................................................................................... 231

Height Property ......................................................................................................................... 231

Syntax ................................................................................................................................... 231

Properties ............................................................................................................................. 231

xxxix
iFIX Automation Reference

Remarks ............................................................................................................................... 232

HelpFile Property ...................................................................................................................... 232

Syntax ................................................................................................................................... 232

Properties ............................................................................................................................. 232

HelpPath Property .................................................................................................................... 232

Syntax ................................................................................................................................... 232

Properties ............................................................................................................................. 232

Remarks ............................................................................................................................... 233

HideMathFunctionsButton Property.......................................................................................... 233

Syntax ................................................................................................................................... 233

Properties ............................................................................................................................. 233

Settings ................................................................................................................................. 233

HiDisplay Property .................................................................................................................... 233

TimeAxis Syntax ................................................................................................................... 234

Properties ............................................................................................................................. 234

ValueAxis Syntax .................................................................................................................. 234

Properties ............................................................................................................................. 234

HighestDataValue Property ...................................................................................................... 234

Syntax ................................................................................................................................... 234

Properties ............................................................................................................................. 234

HighlightEnabled Property ........................................................................................................ 235

Syntax ................................................................................................................................... 235

Properties ............................................................................................................................. 235

Settings ................................................................................................................................. 235

Remarks ............................................................................................................................... 235

HighlightedDatasource Property............................................................................................... 236

Syntax ................................................................................................................................... 236

Properties ............................................................................................................................. 236

xl
iFIX Automation Reference

HiInValue Property.................................................................................................................... 236

Syntax ................................................................................................................................... 236

Properties ............................................................................................................................. 236

HiLimit Property ........................................................................................................................ 237

Syntax ................................................................................................................................... 237

Properties ............................................................................................................................. 237

HiOutValue Property ................................................................................................................. 237

Syntax ................................................................................................................................... 237

Properties ............................................................................................................................. 237

HistMode Property .................................................................................................................... 237

Syntax ................................................................................................................................... 238

Properties ............................................................................................................................. 238

HistoricalSampleType Property ................................................................................................ 238

Syntax ................................................................................................................................... 238

Properties ............................................................................................................................. 238

Settings ................................................................................................................................. 239

HistUpdateRate Property .......................................................................................................... 239

Syntax ................................................................................................................................... 239

Properties ............................................................................................................................. 239

Remarks ............................................................................................................................... 239

HorizontalFillDirection Property ................................................................................................ 240

Syntax ................................................................................................................................... 240

Properties ............................................................................................................................. 240

Settings ................................................................................................................................. 240

HorizontalFillPercentage Property ............................................................................................ 240

Syntax ................................................................................................................................... 240

Properties ............................................................................................................................. 240

HorizontalGridColor Property ................................................................................................... 241

xli
iFIX Automation Reference

Syntax ................................................................................................................................... 241

Properties ............................................................................................................................. 241

HorizontalGridStyle Property .................................................................................................... 241

Syntax ................................................................................................................................... 241

Properties ............................................................................................................................. 241

Settings ................................................................................................................................. 242

HorizontalPosition Property ...................................................................................................... 242

Syntax ................................................................................................................................... 242

Properties ............................................................................................................................. 242

Remarks ............................................................................................................................... 243

HorizontalScaleDirection Property............................................................................................ 243

Syntax ................................................................................................................................... 243

Properties ............................................................................................................................. 243

Settings ................................................................................................................................. 243

HorizontalScalePercentage Property ....................................................................................... 244

Syntax ................................................................................................................................... 244

Properties ............................................................................................................................. 244

Remarks ............................................................................................................................... 244

ImageCount Property ............................................................................................................... 244

Syntax ................................................................................................................................... 244

Properties ............................................................................................................................. 244

Remarks ............................................................................................................................... 245

IncludeDataLabels Property ..................................................................................................... 245

Syntax ................................................................................................................................... 245

Properties ............................................................................................................................. 245

Settings ................................................................................................................................. 245

Index Property .......................................................................................................................... 245

Syntax ................................................................................................................................... 246

xlii
iFIX Automation Reference

Properties ............................................................................................................................. 246

Remarks ............................................................................................................................... 246

InitialValue Property ................................................................................................................. 246

Syntax ................................................................................................................................... 246

Properties ............................................................................................................................. 246

InputValue Property .................................................................................................................. 246

Syntax ................................................................................................................................... 246

Properties ............................................................................................................................. 247

Remarks ............................................................................................................................... 247

Interval Property ....................................................................................................................... 247

Chart and Pen Syntax........................................................................................................... 247

Properties ............................................................................................................................. 247

Timer and Event Syntax ........................................................................................................... 248

Properties ............................................................................................................................. 248

Remarks ............................................................................................................................... 248

IntervalMilliseconds Property.................................................................................................... 248

Syntax ................................................................................................................................... 248

Properties ............................................................................................................................. 248

Remarks ............................................................................................................................... 248

IsDirty Property ......................................................................................................................... 249

Syntax ................................................................................................................................... 249

Properties ............................................................................................................................. 249

Return Values ....................................................................................................................... 249

Remarks ............................................................................................................................... 249

IsInterpolated Property ............................................................................................................. 249

Syntax ................................................................................................................................... 249

Properties ............................................................................................................................. 250

Settings ................................................................................................................................. 250

xliii
iFIX Automation Reference

IsModifiable Property ................................................................................................................ 250

Syntax ................................................................................................................................... 250

Properties ............................................................................................................................. 250

Settings ................................................................................................................................. 250

IsSelectable Property ............................................................................................................... 251

Syntax ................................................................................................................................... 251

Properties ............................................................................................................................. 251

Settings ................................................................................................................................. 251

IsSelected Property .................................................................................................................. 251

Syntax ................................................................................................................................... 252

Properties ............................................................................................................................. 252

Return Values ....................................................................................................................... 252

Remarks ............................................................................................................................... 252

Item Property ............................................................................................................................ 252

Syntax ................................................................................................................................... 252

Properties ............................................................................................................................. 252

Remarks ............................................................................................................................... 253

Justification Property ................................................................................................................ 253

Syntax ................................................................................................................................... 253

Properties ............................................................................................................................. 253

Settings ................................................................................................................................. 253

K-L ................................................................................................................................................ 254

KeyCode Property .................................................................................................................... 254

Syntax ................................................................................................................................... 254

Properties ............................................................................................................................. 254

LabelBold Property ................................................................................................................... 254

Syntax ................................................................................................................................... 254

Properties ............................................................................................................................. 254

xliv
iFIX Automation Reference

Settings ................................................................................................................................. 255

LabelColor Property .................................................................................................................. 255

Syntax ................................................................................................................................... 255

Properties ............................................................................................................................. 255

LabelFont Property ................................................................................................................... 255

Syntax ................................................................................................................................... 255

Properties ............................................................................................................................. 255

LabelItalic Property ................................................................................................................... 256

Syntax ................................................................................................................................... 256

Properties ............................................................................................................................. 256

Settings ................................................................................................................................. 256

LabelUnderline Property ........................................................................................................... 256

Syntax ................................................................................................................................... 257

Properties ............................................................................................................................. 257

Settings ................................................................................................................................. 257

LanguageDesired Property....................................................................................................... 257

Syntax ................................................................................................................................... 257

Properties ............................................................................................................................. 257

Layer Property .......................................................................................................................... 258

Syntax ................................................................................................................................... 258

Properties ............................................................................................................................. 258

Remarks ............................................................................................................................... 258

LCL Property............................................................................................................................. 258

Syntax ................................................................................................................................... 258

Properties ............................................................................................................................. 259

Left Property ............................................................................................................................. 259

Syntax ................................................................................................................................... 259

Properties ............................................................................................................................. 259

xlv
iFIX Automation Reference

LeftCenter Property .................................................................................................................. 259

Syntax ................................................................................................................................... 259

Properties ............................................................................................................................. 259

Remarks ............................................................................................................................... 260

Legend Property ....................................................................................................................... 260

Syntax ................................................................................................................................... 260

Properties ............................................................................................................................. 260

Remarks ............................................................................................................................... 260

LegendAvgOver Property ......................................................................................................... 260

Syntax ................................................................................................................................... 260

Properties ............................................................................................................................. 260

LegendDesc Property ............................................................................................................... 261

Syntax ................................................................................................................................... 261

Properties ............................................................................................................................. 261

LegendHeadingLine Property ................................................................................................... 261

Syntax ................................................................................................................................... 261

Properties ............................................................................................................................. 261

Remarks ............................................................................................................................... 262

LegendHigh Property ................................................................................................................ 262

Syntax ................................................................................................................................... 262

Properties ............................................................................................................................. 262

LegendHighOver Property ........................................................................................................ 262

Syntax ................................................................................................................................... 262

Properties ............................................................................................................................. 262

LegendInterval Property ........................................................................................................... 263

Syntax ................................................................................................................................... 263

Properties ............................................................................................................................. 263

LegendItemColor Property ....................................................................................................... 263

xlvi
iFIX Automation Reference

Syntax ................................................................................................................................... 263

Properties ............................................................................................................................. 263

LegendLow Property ................................................................................................................ 263

Syntax ................................................................................................................................... 264

Properties ............................................................................................................................. 264

LegendLowOver Property......................................................................................................... 264

Syntax ................................................................................................................................... 264

Properties ............................................................................................................................. 264

LegendMode Property .............................................................................................................. 264

Syntax ................................................................................................................................... 264

Properties ............................................................................................................................. 265

LegendTag Property ................................................................................................................. 265

Syntax ................................................................................................................................... 265

Properties ............................................................................................................................. 265

LegendUnits Property ............................................................................................................... 265

Syntax ................................................................................................................................... 265

Properties ............................................................................................................................. 265

Remarks ............................................................................................................................... 266

LegendUser1 Property ............................................................................................................. 266

Syntax ................................................................................................................................... 266

Properties ............................................................................................................................. 266

Remarks ............................................................................................................................... 266

LegendUser10 Property ........................................................................................................... 266

Syntax ................................................................................................................................... 267

Properties ............................................................................................................................. 267

LegendUser2 Property ............................................................................................................. 267

Syntax ................................................................................................................................... 267

Properties ............................................................................................................................. 267

xlvii
iFIX Automation Reference

LegendUser3 Property ............................................................................................................. 267

Syntax ................................................................................................................................... 267

Properties ............................................................................................................................. 268

LegendUser4 Property ............................................................................................................. 268

Syntax ................................................................................................................................... 268

Properties ............................................................................................................................. 268

LegendUser5 Property ............................................................................................................. 268

Syntax ................................................................................................................................... 268

Properties ............................................................................................................................. 268

LegendUser6 Property ............................................................................................................. 269

Syntax ................................................................................................................................... 269

Properties ............................................................................................................................. 269

LegendUser7 Property ............................................................................................................. 269

Syntax ................................................................................................................................... 269

Properties ............................................................................................................................. 269

LegendUser8 Property ............................................................................................................. 270

Syntax ................................................................................................................................... 270

Properties ............................................................................................................................. 270

LegendUser9 Property ............................................................................................................. 270

Syntax ................................................................................................................................... 270

Properties ............................................................................................................................. 270

LegendValue Property .............................................................................................................. 271

Syntax ................................................................................................................................... 271

Properties ............................................................................................................................. 271

Linear Property ......................................................................................................................... 271

Syntax ................................................................................................................................... 271

Properties ............................................................................................................................. 271

Remarks ............................................................................................................................... 271

xlviii
iFIX Automation Reference

Lines Property........................................................................................................................... 271

Syntax ................................................................................................................................... 272

Properties ............................................................................................................................. 272

Remarks ............................................................................................................................... 272

LinesofCode Property ............................................................................................................... 272

Syntax ................................................................................................................................... 272

Properties ............................................................................................................................. 272

LineType Property .................................................................................................................... 272

Syntax ................................................................................................................................... 272

Properties ............................................................................................................................. 273

LockStartTime Property ............................................................................................................ 273

Syntax ................................................................................................................................... 274

Properties ............................................................................................................................. 274

Settings ................................................................................................................................. 274

LoDisplay Property ................................................................................................................... 274

TimeAxis Syntax ................................................................................................................... 274

Properties ............................................................................................................................. 274

ValueAxis Syntax .................................................................................................................. 275

Properties ............................................................................................................................. 275

LoginGroup Property ................................................................................................................ 275

Syntax ................................................................................................................................... 275

Properties ............................................................................................................................. 275

LoginTimeout Property ............................................................................................................. 275

Syntax ................................................................................................................................... 275

Properties ............................................................................................................................. 276

Remarks ............................................................................................................................... 276

LoginUserFullName Property ................................................................................................... 276

Syntax ................................................................................................................................... 276

xlix
iFIX Automation Reference

Properties ............................................................................................................................. 276

LoginUserName Property ......................................................................................................... 276

Syntax ................................................................................................................................... 276

Properties ............................................................................................................................. 277

LoInValue Property ................................................................................................................... 277

Syntax ................................................................................................................................... 277

Properties ............................................................................................................................. 277

LoLimit Property........................................................................................................................ 277

Syntax ................................................................................................................................... 277

Properties ............................................................................................................................. 277

LoOutValue Property ................................................................................................................ 278

Syntax ................................................................................................................................... 278

Properties ............................................................................................................................. 278

LowestDataValue Property ....................................................................................................... 278

Syntax ................................................................................................................................... 278

Properties ............................................................................................................................. 278

LWL Property ............................................................................................................................ 279

Syntax ................................................................................................................................... 279

Properties ............................................................................................................................. 279

M-N ............................................................................................................................................... 279

MainTitle Property..................................................................................................................... 279

Syntax ................................................................................................................................... 279

Properties ............................................................................................................................. 279

MainTitleBold Property ............................................................................................................. 280

Syntax ................................................................................................................................... 280

Properties ............................................................................................................................. 280

Settings ................................................................................................................................. 280

MainTitleFont Property ............................................................................................................. 280

l
iFIX Automation Reference

Syntax ................................................................................................................................... 281

Properties ............................................................................................................................. 281

MainTitleItalic Property ............................................................................................................. 281

Syntax ................................................................................................................................... 281

Properties ............................................................................................................................. 281

Settings ................................................................................................................................. 281

MainTitleUnderline Property ..................................................................................................... 282

Syntax ................................................................................................................................... 282

Properties ............................................................................................................................. 282

Settings ................................................................................................................................. 282

ManualMaxX Property .............................................................................................................. 282

Syntax ................................................................................................................................... 282

Properties ............................................................................................................................. 283

Remarks ............................................................................................................................... 283

ManualMaxY Property .............................................................................................................. 283

Syntax ................................................................................................................................... 283

Properties ............................................................................................................................. 283

ManualMinX Property ............................................................................................................... 283

Syntax ................................................................................................................................... 283

Properties ............................................................................................................................. 284

Remarks ............................................................................................................................... 284

ManualMinY Property ............................................................................................................... 284

Syntax ................................................................................................................................... 284

Properties ............................................................................................................................. 284

ManualScaleControlX Property ................................................................................................ 284

Syntax ................................................................................................................................... 284

Properties ............................................................................................................................. 285

ManualScaleControlY Property ................................................................................................ 285

li
iFIX Automation Reference

Syntax ................................................................................................................................... 285

Properties ............................................................................................................................. 285

MapMode Property ................................................................................................................... 285

Syntax ................................................................................................................................... 286

Properties ............................................................................................................................. 286

Remarks ............................................................................................................................... 286

MarkDataPoints Property ......................................................................................................... 286

Syntax ................................................................................................................................... 286

Properties ............................................................................................................................. 286

MarkerChar Property ................................................................................................................ 287

Syntax ................................................................................................................................... 287

Properties ............................................................................................................................. 287

MarkerStyle Property ................................................................................................................ 287

Syntax ................................................................................................................................... 287

Properties ............................................................................................................................. 287

Settings ................................................................................................................................. 287

Master Property ........................................................................................................................ 288

Syntax ................................................................................................................................... 288

Properties ............................................................................................................................. 288

Return Value ......................................................................................................................... 288

Max_Dynamo_Desc_Length Property...................................................................................... 288

Syntax ................................................................................................................................... 288

Properties ............................................................................................................................. 289

MaxCharactersPerLine Property .............................................................................................. 289

Syntax ................................................................................................................................... 289

Properties ............................................................................................................................. 289

Remarks ............................................................................................................................... 289

MaxLines Property .................................................................................................................... 289

lii
iFIX Automation Reference

Syntax ................................................................................................................................... 289

Properties ............................................................................................................................. 290

Remarks ............................................................................................................................... 290

MaxPts Property ....................................................................................................................... 290

Syntax ................................................................................................................................... 290

Properties ............................................................................................................................. 290

MonoDeskColor Property ......................................................................................................... 290

Syntax ................................................................................................................................... 290

Properties ............................................................................................................................. 290

MonoGraphBackColor Property ............................................................................................... 291

Syntax ................................................................................................................................... 291

Properties ............................................................................................................................. 291

MonoGraphForeColor Property ................................................................................................ 291

Syntax ................................................................................................................................... 291

Properties ............................................................................................................................. 291

MonoShadowColor Property .................................................................................................... 292

Syntax ................................................................................................................................... 292

Properties ............................................................................................................................. 292

MonoTableBackColor Property ................................................................................................ 292

Syntax ................................................................................................................................... 292

Properties ............................................................................................................................. 292

MonoTableForeColor Property ................................................................................................. 293

Syntax ................................................................................................................................... 293

Properties ............................................................................................................................. 293

MonoTextColor Property .......................................................................................................... 293

Syntax ................................................................................................................................... 293

Properties ............................................................................................................................. 293

MultipleEGU Property ............................................................................................................... 294

liii
iFIX Automation Reference

Syntax ................................................................................................................................... 294

Properties ............................................................................................................................. 294

Settings ................................................................................................................................. 294

Remarks ............................................................................................................................... 294

MultipleTimes Property ............................................................................................................. 294

Syntax ................................................................................................................................... 295

Properties ............................................................................................................................. 295

Settings ................................................................................................................................. 295

MyNodeName Property ............................................................................................................ 295

Syntax ................................................................................................................................... 295

Properties ............................................................................................................................. 295

Name Property.......................................................................................................................... 296

Syntax ................................................................................................................................... 296

Properties ............................................................................................................................. 296

Next Property ............................................................................................................................ 296

Syntax ................................................................................................................................... 296

Properties ............................................................................................................................. 296

Remarks ............................................................................................................................... 296

NlsPath Property....................................................................................................................... 297

Syntax ................................................................................................................................... 297

Properties ............................................................................................................................. 297

Remarks ............................................................................................................................... 297

NoSaveOnClose Property ........................................................................................................ 297

Syntax ................................................................................................................................... 297

Properties ............................................................................................................................. 297

Remarks ............................................................................................................................... 298

NumberOfCharacters Property ................................................................................................. 298

Syntax ................................................................................................................................... 298

liv
iFIX Automation Reference

Properties ............................................................................................................................. 298

Remarks ............................................................................................................................... 298

NumberOfHorizontalGridLines Property ................................................................................... 298

Syntax ................................................................................................................................... 299

Properties ............................................................................................................................. 299

NumberOfItems Property .......................................................................................................... 299

Syntax ................................................................................................................................... 299

Properties ............................................................................................................................. 299

Remarks ............................................................................................................................... 299

NumberOfLines Property .......................................................................................................... 299

Syntax ................................................................................................................................... 300

Properties ............................................................................................................................. 300

Remarks ............................................................................................................................... 300

NumberOfPoints Property ........................................................................................................ 300

Syntax ................................................................................................................................... 300

Properties ............................................................................................................................. 300

Remarks ............................................................................................................................... 300

NumberOfTargets Property ...................................................................................................... 300

Syntax ................................................................................................................................... 301

Properties ............................................................................................................................. 301

Remarks ............................................................................................................................... 301

NumberOfVerticalGridLines Property ....................................................................................... 301

Syntax ................................................................................................................................... 301

Properties ............................................................................................................................. 301

NumOfPoints Property .............................................................................................................. 301

Syntax ................................................................................................................................... 302

Properties ............................................................................................................................. 302

NumPointsToGraph Property ................................................................................................... 302

lv
iFIX Automation Reference

Syntax ................................................................................................................................... 302

Properties ............................................................................................................................. 302

Remarks ............................................................................................................................... 302

NumHGridLines Property ......................................................................................................... 302

Syntax ................................................................................................................................... 303

Properties ............................................................................................................................. 303

NumLabels Property ................................................................................................................. 303

Syntax ................................................................................................................................... 303

Properties ............................................................................................................................. 303

NumPts Property ...................................................................................................................... 303

Syntax ................................................................................................................................... 303

Properties ............................................................................................................................. 304

Remarks ............................................................................................................................... 304

NumRandomSubsets Property ................................................................................................. 304

Syntax ................................................................................................................................... 304

Properties ............................................................................................................................. 304

Remarks ............................................................................................................................... 304

NumScrollingSubsets Property................................................................................................. 304

Syntax ................................................................................................................................... 305

Properties ............................................................................................................................. 305

NumTicks Property ................................................................................................................... 305

Syntax ................................................................................................................................... 305

Properties ............................................................................................................................. 305

NumVGridLines Property .......................................................................................................... 305

Syntax ................................................................................................................................... 305

Properties ............................................................................................................................. 306

O-P ............................................................................................................................................... 306

Object Property ......................................................................................................................... 306

lvi
iFIX Automation Reference

OpcAccessPath Property ......................................................................................................... 306

Syntax ................................................................................................................................... 306

Properties ............................................................................................................................. 306

Remarks ............................................................................................................................... 306

OpcDataSource Property ......................................................................................................... 307

Syntax ................................................................................................................................... 307

Properties ............................................................................................................................. 307

Remarks ............................................................................................................................... 307

OpcProgID Property ................................................................................................................. 307

Syntax ................................................................................................................................... 307

Properties ............................................................................................................................. 307

Remarks ............................................................................................................................... 307

OpcServerMachineName Property........................................................................................... 308

Syntax ................................................................................................................................... 308

Properties ............................................................................................................................. 308

Remarks ............................................................................................................................... 308

OriginalScreenHeight Property ................................................................................................. 308

Syntax ................................................................................................................................... 308

Properties ............................................................................................................................. 308

Remarks ............................................................................................................................... 309

OriginalScreenWidth Property .................................................................................................. 309

Syntax ................................................................................................................................... 309

Properties ............................................................................................................................. 309

Remarks ............................................................................................................................... 309

OriginX Property ....................................................................................................................... 309

Syntax ................................................................................................................................... 309

Properties ............................................................................................................................. 309

Remarks ............................................................................................................................... 310

lvii
iFIX Automation Reference

OriginY Property ....................................................................................................................... 310

Syntax ................................................................................................................................... 310

Properties ............................................................................................................................. 310

Remarks ............................................................................................................................... 310

OutputValue Property ............................................................................................................... 310

Syntax ................................................................................................................................... 310

Properties ............................................................................................................................. 310

Owner Property......................................................................................................................... 311

Syntax ................................................................................................................................... 311

Properties ............................................................................................................................. 311

Remarks ............................................................................................................................... 311

Page Property ........................................................................................................................... 311

Syntax ................................................................................................................................... 311

Properties ............................................................................................................................. 311

Remarks ............................................................................................................................... 312

Parent Property......................................................................................................................... 312

Syntax ................................................................................................................................... 312

Properties ............................................................................................................................. 312

Remarks ............................................................................................................................... 312

Path Property ............................................................................................................................ 312

Syntax ................................................................................................................................... 312

Properties ............................................................................................................................. 313

Remarks ............................................................................................................................... 313

PauseIndicatorBlink Property ................................................................................................... 313

Syntax ................................................................................................................................... 313

Properties ............................................................................................................................. 313

Settings ................................................................................................................................. 313

PauseIndicatorColor Property .................................................................................................. 314

lviii
iFIX Automation Reference

Syntax ................................................................................................................................... 314

Properties ............................................................................................................................. 314

PauseWithNewAlarmIndicatorBlink Property ........................................................................... 314

Syntax ................................................................................................................................... 314

Properties ............................................................................................................................. 314

Settings ................................................................................................................................. 314

PauseWithNewAlarmIndicatorColor Property .......................................................................... 315

Syntax ................................................................................................................................... 315

Properties ............................................................................................................................. 315

PenDescription Property ........................................................................................................... 315

Syntax ................................................................................................................................... 315

Properties ............................................................................................................................. 315

PenLineColor Property ............................................................................................................. 316

Syntax ................................................................................................................................... 316

Properties ............................................................................................................................. 316

PenLineStyle Property .............................................................................................................. 316

Syntax ................................................................................................................................... 316

Properties ............................................................................................................................. 316

Settings ................................................................................................................................. 317

Remarks ............................................................................................................................... 317

PenLineWidth Property ............................................................................................................. 317

Syntax ................................................................................................................................... 317

Properties ............................................................................................................................. 317

PenNum Property ..................................................................................................................... 318

Syntax ................................................................................................................................... 318

Properties ............................................................................................................................. 318

Remarks ............................................................................................................................... 318

Pens Property ........................................................................................................................... 318

lix
iFIX Automation Reference

Syntax ................................................................................................................................... 318

Properties ............................................................................................................................. 318

Remarks ............................................................................................................................... 318

PenType Property ..................................................................................................................... 319

Syntax ................................................................................................................................... 319

Properties ............................................................................................................................. 319

Return Values ....................................................................................................................... 319

Remarks ............................................................................................................................... 319

PictureDefaultAlwaysOnTop Property ...................................................................................... 319

Syntax ................................................................................................................................... 319

Example ................................................................................................................................ 319

Properties ............................................................................................................................. 320

PictureDefaultBackColor Property ............................................................................................ 320

Syntax ................................................................................................................................... 320

Example ................................................................................................................................ 320

Properties ............................................................................................................................. 320

PictureDefaultHeight Property .................................................................................................. 320

Syntax ................................................................................................................................... 321

Example ................................................................................................................................ 321

Properties ............................................................................................................................. 321

PictureDefaultResizable Property............................................................................................. 321

Syntax ................................................................................................................................... 321

Example ................................................................................................................................ 321

Properties ............................................................................................................................. 321

PictureDefaultRuntimeVisible Property .................................................................................... 322

Syntax ................................................................................................................................... 322

Example ................................................................................................................................ 322

Properties ............................................................................................................................. 322

lx
iFIX Automation Reference

PictureDefaultSystemMenu Property ....................................................................................... 322

Syntax ................................................................................................................................... 322

Example ................................................................................................................................ 323

Properties ............................................................................................................................. 323

PictureDefaultTitlebar Property ................................................................................................ 323

Syntax ................................................................................................................................... 323

Example ................................................................................................................................ 323

Properties ............................................................................................................................. 323

PictureDefaultWidth Property ................................................................................................... 324

Syntax ................................................................................................................................... 324

Example ................................................................................................................................ 324

Properties ............................................................................................................................. 324

PictureHeight Property ............................................................................................................. 324

Syntax ................................................................................................................................... 324

Properties ............................................................................................................................. 324

PictureName Property .............................................................................................................. 325

Syntax ................................................................................................................................... 325

Properties ............................................................................................................................. 325

PicturePath Property ................................................................................................................ 325

Syntax ................................................................................................................................... 325

Properties ............................................................................................................................. 325

Remarks ............................................................................................................................... 325

PictureWidth Property ............................................................................................................... 325

Syntax ................................................................................................................................... 326

Properties ............................................................................................................................. 326

PieType Property ...................................................................................................................... 326

Syntax ................................................................................................................................... 326

Properties ............................................................................................................................. 326

lxi
iFIX Automation Reference

Settings ................................................................................................................................. 326

PlotOnChartRefresh Property................................................................................................... 327

Syntax ................................................................................................................................... 327

Properties ............................................................................................................................. 327

PlottingMethod Property ........................................................................................................... 327

Syntax ................................................................................................................................... 327

Properties ............................................................................................................................. 327

PointType Property ................................................................................................................... 328

Syntax ................................................................................................................................... 328

Properties ............................................................................................................................. 328

Previous Property ..................................................................................................................... 329

Syntax ................................................................................................................................... 329

Properties ............................................................................................................................. 329

Remarks ............................................................................................................................... 329

PrimarySecPath Property ......................................................................................................... 329

Syntax ................................................................................................................................... 330

Properties ............................................................................................................................. 330

Remarks ............................................................................................................................... 330

ProcedureDeclaration Property ................................................................................................ 330

Syntax ................................................................................................................................... 330

Properties ............................................................................................................................. 330

Remarks ............................................................................................................................... 330

ProcedureName Property ......................................................................................................... 331

Syntax ................................................................................................................................... 331

Properties ............................................................................................................................. 331

Procedures Property ................................................................................................................. 331

Syntax ................................................................................................................................... 331

Properties ............................................................................................................................. 331

lxii
iFIX Automation Reference

Remarks ............................................................................................................................... 331

ProcedureStatement Property .................................................................................................. 331

Syntax ................................................................................................................................... 332

Properties ............................................................................................................................. 332

ProgId Property......................................................................................................................... 332

Syntax ................................................................................................................................... 332

Properties ............................................................................................................................. 332

Remarks ............................................................................................................................... 332

ProjectPath Property ................................................................................................................ 332

Syntax ................................................................................................................................... 332

Properties ............................................................................................................................. 333

Property1 Property.................................................................................................................... 333

Syntax ................................................................................................................................... 333

Properties ............................................................................................................................. 333

Remarks ............................................................................................................................... 333

Property10 Property ................................................................................................................. 333

Syntax ................................................................................................................................... 333

Properties ............................................................................................................................. 334

Remarks ............................................................................................................................... 334

Property2 Property.................................................................................................................... 334

Syntax ................................................................................................................................... 334

Properties ............................................................................................................................. 334

Remarks ............................................................................................................................... 334

Property3 Property.................................................................................................................... 334

Syntax ................................................................................................................................... 335

Properties ............................................................................................................................. 335

Remarks ............................................................................................................................... 335

Property4 Property.................................................................................................................... 335

lxiii
iFIX Automation Reference

Syntax ................................................................................................................................... 335

Properties ............................................................................................................................. 335

Remarks ............................................................................................................................... 335

Property5 Property.................................................................................................................... 336

Syntax ................................................................................................................................... 336

Properties ............................................................................................................................. 336

Remarks ............................................................................................................................... 336

Property6 Property.................................................................................................................... 336

Syntax ................................................................................................................................... 336

Properties ............................................................................................................................. 336

Remarks ............................................................................................................................... 337

Property7 Property.................................................................................................................... 337

Syntax ................................................................................................................................... 337

Properties ............................................................................................................................. 337

Remarks ............................................................................................................................... 337

Property8 Property.................................................................................................................... 337

Syntax ................................................................................................................................... 337

Properties ............................................................................................................................. 337

Remarks ............................................................................................................................... 338

Property9 Property.................................................................................................................... 338

Syntax ................................................................................................................................... 338

Properties ............................................................................................................................. 338

Remarks ............................................................................................................................... 338

Q-R ............................................................................................................................................... 338

Quality Property ........................................................................................................................ 338

Syntax ................................................................................................................................... 339

Properties ............................................................................................................................. 339

Remarks ............................................................................................................................... 339

lxiv
iFIX Automation Reference

QueueEvents Property ............................................................................................................. 339

Syntax ................................................................................................................................... 339

Properties ............................................................................................................................. 339

Settings ................................................................................................................................. 339

Remarks ............................................................................................................................... 340

QuickStyle Property .................................................................................................................. 340

Syntax ................................................................................................................................... 340

Properties ............................................................................................................................. 340

Radius Property ........................................................................................................................ 341

Syntax ................................................................................................................................... 341

Properties ............................................................................................................................. 341

RandomSubsetsToGraph Property .......................................................................................... 341

Syntax ................................................................................................................................... 341

Properties ............................................................................................................................. 341

RawFormat Property ................................................................................................................ 342

Syntax ................................................................................................................................... 342

Properties ............................................................................................................................. 342

Settings ................................................................................................................................. 342

RecalculateViewport Property .................................................................................................. 342

Syntax ................................................................................................................................... 342

Properties ............................................................................................................................. 342

Settings ................................................................................................................................. 343

Remarks ............................................................................................................................... 343

RefreshRate Property ............................................................................................................... 343

Syntax ................................................................................................................................... 343

Properties ............................................................................................................................. 343

RemoveNonWindowsUsers Property ....................................................................................... 344

Syntax ................................................................................................................................... 344

lxv
iFIX Automation Reference

Properties ............................................................................................................................. 344

Remarks ............................................................................................................................... 344

ResetPercentage Property ....................................................................................................... 344

Syntax ................................................................................................................................... 344

Properties ............................................................................................................................. 344

Resizable Property ................................................................................................................... 345

Syntax ................................................................................................................................... 345

Properties ............................................................................................................................. 345

Settings ................................................................................................................................. 345

ResolveSourceName Property ................................................................................................. 345

Syntax ................................................................................................................................... 345

Properties ............................................................................................................................. 345

Remarks ............................................................................................................................... 346

Revision Property ..................................................................................................................... 346

Syntax ................................................................................................................................... 346

Properties ............................................................................................................................. 346

Return Value ......................................................................................................................... 346

RevisionNumber Property ........................................................................................................ 346

Syntax ................................................................................................................................... 346

Properties ............................................................................................................................. 346

Remarks ............................................................................................................................... 347

Right Property ........................................................................................................................... 347

Syntax ................................................................................................................................... 347

Properties ............................................................................................................................. 347

Remarks ............................................................................................................................... 347

RightCenter Property ................................................................................................................ 347

Syntax ................................................................................................................................... 347

Properties ............................................................................................................................. 347

lxvi
iFIX Automation Reference

Remarks ............................................................................................................................... 348

RotationAngle Property ............................................................................................................ 348

Syntax ................................................................................................................................... 348

Properties ............................................................................................................................. 348

Remarks ............................................................................................................................... 348

RoundnessX Property .............................................................................................................. 348

Syntax ................................................................................................................................... 349

Properties ............................................................................................................................. 349

RoundnessY Property .............................................................................................................. 349

Syntax ................................................................................................................................... 349

Properties ............................................................................................................................. 349

RunIndicatorBlink Property ....................................................................................................... 349

Syntax ................................................................................................................................... 349

Properties ............................................................................................................................. 350

Settings ................................................................................................................................. 350

RunIndicatorColor Property ...................................................................................................... 350

Syntax ................................................................................................................................... 350

Properties ............................................................................................................................. 350

RuntimeVisible Property ........................................................................................................... 351

Syntax ................................................................................................................................... 351

Properties ............................................................................................................................. 351

Settings ................................................................................................................................. 351

Remarks ............................................................................................................................... 351

S ................................................................................................................................................... 352

Saved Property ......................................................................................................................... 352

Syntax ................................................................................................................................... 352

Properties ............................................................................................................................. 352

Return Values ....................................................................................................................... 352

lxvii
iFIX Automation Reference

SaveThumbnail Property .......................................................................................................... 352

Syntax ................................................................................................................................... 352

Properties ............................................................................................................................. 353

Settings ................................................................................................................................. 353

ScalesWidth Property ............................................................................................................... 353

Syntax ................................................................................................................................... 353

Properties ............................................................................................................................. 353

Settings ................................................................................................................................. 354

Remarks ............................................................................................................................... 354

SchedulePath Property ............................................................................................................. 354

Syntax ................................................................................................................................... 354

Properties ............................................................................................................................. 354

Remarks ............................................................................................................................... 355

ScreenHeight Property ............................................................................................................. 355

Syntax ................................................................................................................................... 355

Properties ............................................................................................................................. 355

Remarks ............................................................................................................................... 355

ScreenWidth Property .............................................................................................................. 355

Syntax ................................................................................................................................... 355

Properties ............................................................................................................................. 355

Remarks ............................................................................................................................... 356

ScrollDirection Property ............................................................................................................ 356

Syntax ................................................................................................................................... 356

Properties ............................................................................................................................. 356

Settings ................................................................................................................................. 356

ScrollGrid Property ................................................................................................................... 356

Syntax ................................................................................................................................... 356

Properties ............................................................................................................................. 357

lxviii
iFIX Automation Reference

Settings ................................................................................................................................. 357

ScrollItems Property ................................................................................................................. 357

Syntax ................................................................................................................................... 357

Properties ............................................................................................................................. 357

Settings ................................................................................................................................. 357

ScrollPercentage Property........................................................................................................ 358

Syntax ................................................................................................................................... 358

Properties ............................................................................................................................. 358

Remarks ............................................................................................................................... 358

SecondaryImageDisplayed Property ........................................................................................ 358

Syntax ................................................................................................................................... 358

Properties ............................................................................................................................. 358

Settings ................................................................................................................................. 359

Remarks ............................................................................................................................... 359

SecurityArea Property .............................................................................................................. 359

Syntax ................................................................................................................................... 359

Properties ............................................................................................................................. 359

SelectedDatasource Property................................................................................................... 360

Syntax ................................................................................................................................... 360

Properties ............................................................................................................................. 360

SelectedFieldName Property.................................................................................................... 360

Syntax ................................................................................................................................... 360

Properties ............................................................................................................................. 360

SelectedNodeName Property ................................................................................................... 360

Syntax ................................................................................................................................... 361

Properties ............................................................................................................................. 361

SelectedShapes Property ......................................................................................................... 361

Syntax ................................................................................................................................... 361

lxix
iFIX Automation Reference

Properties ............................................................................................................................. 361

Remarks ............................................................................................................................... 361

SelectedTagName Property ..................................................................................................... 361

Syntax ................................................................................................................................... 361

Properties ............................................................................................................................. 362

SelectionTimeout Property ....................................................................................................... 362

Syntax ................................................................................................................................... 362

Properties ............................................................................................................................. 362

SendAlarmMessages Property ................................................................................................. 362

Syntax ................................................................................................................................... 362

Properties ............................................................................................................................. 362

Remarks ............................................................................................................................... 363

ShadowColor Property ............................................................................................................. 363

Syntax ................................................................................................................................... 363

Properties ............................................................................................................................. 363

SharedTableName Property ..................................................................................................... 363

Syntax ................................................................................................................................... 363

Properties ............................................................................................................................. 364

Remarks ............................................................................................................................... 364

ShowAxis Property ................................................................................................................... 364

Syntax ................................................................................................................................... 364

Properties ............................................................................................................................. 364

Settings ................................................................................................................................. 364

ShowDatabaseTab Property .................................................................................................... 365

Syntax ................................................................................................................................... 365

Properties ............................................................................................................................. 365

Settings ................................................................................................................................. 365

ShowDataServersTab Property ................................................................................................ 365

lxx
iFIX Automation Reference

Syntax ................................................................................................................................... 366

Properties ............................................................................................................................. 366

Settings ................................................................................................................................. 366

ShowDate Property .................................................................................................................. 366

Syntax ................................................................................................................................... 366

Properties ............................................................................................................................. 366

Settings ................................................................................................................................. 367

ShowDSLegend Property ......................................................................................................... 367

Syntax ................................................................................................................................... 367

Properties ............................................................................................................................. 367

Settings ................................................................................................................................. 367

ShowGaps Property ................................................................................................................. 368

Syntax ................................................................................................................................... 368

Properties ............................................................................................................................. 368

Settings ................................................................................................................................. 368

Remarks ............................................................................................................................... 368

ShowGlobalsTab Property........................................................................................................ 368

Syntax ................................................................................................................................... 368

Properties ............................................................................................................................. 369

Settings ................................................................................................................................. 369

ShowGridLines Property ........................................................................................................... 369

Syntax ................................................................................................................................... 369

Properties ............................................................................................................................. 369

Settings ................................................................................................................................. 369

ShowHeaders Property ............................................................................................................ 370

Syntax ................................................................................................................................... 370

Properties ............................................................................................................................. 370

Settings ................................................................................................................................. 370

lxxi
iFIX Automation Reference

ShowHistoricalTab Property ..................................................................................................... 370

Syntax ................................................................................................................................... 371

Properties ............................................................................................................................. 371

Settings ................................................................................................................................. 371

ShowHorizontalGrid Property ................................................................................................... 371

Syntax ................................................................................................................................... 371

Properties ............................................................................................................................. 371

Settings ................................................................................................................................. 372

ShowLegend Property .............................................................................................................. 372

Syntax ................................................................................................................................... 372

Properties ............................................................................................................................. 372

Settings ................................................................................................................................. 372

ShowLine Property ................................................................................................................... 373

Syntax ................................................................................................................................... 373

Properties ............................................................................................................................. 373

Settings ................................................................................................................................. 373

ShowPicturesTab Property ....................................................................................................... 373

Syntax ................................................................................................................................... 373

Properties ............................................................................................................................. 373

Settings ................................................................................................................................. 374

ShowRowNumbers Property .................................................................................................... 374

Syntax ................................................................................................................................... 374

Properties ............................................................................................................................. 374

Settings ................................................................................................................................. 374

ShowScrollBars Property .......................................................................................................... 375

Syntax ................................................................................................................................... 375

Properties ............................................................................................................................. 375

Settings ................................................................................................................................. 375

lxxii
iFIX Automation Reference

ShowStatusBar Property .......................................................................................................... 375

Syntax ................................................................................................................................... 376

Properties ............................................................................................................................. 376

Settings ................................................................................................................................. 376

ShowTimeAxis Property ........................................................................................................... 376

Syntax ................................................................................................................................... 376

Properties ............................................................................................................................. 376

Settings ................................................................................................................................. 377

ShowTimeAxisTitle Property .................................................................................................... 377

Syntax ................................................................................................................................... 377

Properties ............................................................................................................................. 377

Settings ................................................................................................................................. 377

ShowTimeCursor Property ....................................................................................................... 378

Syntax ................................................................................................................................... 378

Properties ............................................................................................................................. 378

Settings ................................................................................................................................. 378

ShowTimeCursorToolTips Property ......................................................................................... 378

Syntax ................................................................................................................................... 378

Properties ............................................................................................................................. 378

Settings ................................................................................................................................. 379

ShowTitle Property ................................................................................................................... 379

Syntax ................................................................................................................................... 379

Properties ............................................................................................................................. 379

Settings ................................................................................................................................. 379

ShowValueAxis Property .......................................................................................................... 380

Syntax ................................................................................................................................... 380

Properties ............................................................................................................................. 380

Settings ................................................................................................................................. 380

lxxiii
iFIX Automation Reference

ShowValueAxisTitle Property ................................................................................................... 380

Syntax ................................................................................................................................... 381

Properties ............................................................................................................................. 381

Settings ................................................................................................................................. 381

ShowVerticalGrid Property ....................................................................................................... 381

Syntax ................................................................................................................................... 381

Properties ............................................................................................................................. 381

Settings ................................................................................................................................. 382

SmoothingMode Property ......................................................................................................... 382

Syntax ................................................................................................................................... 382

Properties ............................................................................................................................. 382

SnapToGrid Property ................................................................................................................ 382

Syntax ................................................................................................................................... 382

Properties ............................................................................................................................. 383

Settings ................................................................................................................................. 383

SortColumnName Property ...................................................................................................... 383

Syntax ................................................................................................................................... 383

Properties ............................................................................................................................. 383

SortOrderAscending Property .................................................................................................. 384

Syntax ................................................................................................................................... 384

Properties ............................................................................................................................. 384

Settings ................................................................................................................................. 384

Source Property ........................................................................................................................ 385

Syntax ................................................................................................................................... 385

Properties ............................................................................................................................. 385

Remarks ............................................................................................................................... 385

Sources Property ...................................................................................................................... 385

Syntax ................................................................................................................................... 385

lxxiv
iFIX Automation Reference

Properties ............................................................................................................................. 385

Remarks ............................................................................................................................... 386

SourceValidated Property......................................................................................................... 386

Syntax ................................................................................................................................... 386

Properties ............................................................................................................................. 386

Settings ................................................................................................................................. 386

SPCChartType Property ........................................................................................................... 386

Syntax ................................................................................................................................... 386

Properties ............................................................................................................................. 387

SPCInterval Property ................................................................................................................ 387

Syntax ................................................................................................................................... 387

Properties ............................................................................................................................. 387

SPCType Property .................................................................................................................... 387

Syntax ................................................................................................................................... 387

Properties ............................................................................................................................. 388

Remarks ............................................................................................................................... 388

StartAngle Property .................................................................................................................. 388

Syntax ................................................................................................................................... 388

Properties ............................................................................................................................. 388

Remarks ............................................................................................................................... 388

StartCap Property ..................................................................................................................... 389

Syntax ................................................................................................................................... 389

Properties ............................................................................................................................. 389

Settings ................................................................................................................................. 389

StartDateMode Property ........................................................................................................... 390

Syntax ................................................................................................................................... 390

Properties ............................................................................................................................. 390

Settings ................................................................................................................................. 390

lxxv
iFIX Automation Reference

Remarks ............................................................................................................................... 390

StartDateType Property ............................................................................................................ 390

Syntax ................................................................................................................................... 390

Properties ............................................................................................................................. 391

Settings ................................................................................................................................. 391

Remarks ............................................................................................................................... 391

StartPoint Property ................................................................................................................... 391

Syntax ................................................................................................................................... 391

Properties ............................................................................................................................. 391

Remarks ............................................................................................................................... 392

StartTime Property.................................................................................................................... 392

Chart Syntax ......................................................................................................................... 392

Properties ............................................................................................................................. 392

Timer Syntax ......................................................................................................................... 392

Remarks ............................................................................................................................... 393

StartTimeMode Property .......................................................................................................... 393

Syntax ................................................................................................................................... 393

Properties ............................................................................................................................. 393

Settings ................................................................................................................................. 393

Remarks ............................................................................................................................... 393

StartTimeType Property ........................................................................................................... 394

Syntax ................................................................................................................................... 394

Properties ............................................................................................................................. 394

Settings ................................................................................................................................. 394

Remarks ............................................................................................................................... 394

StartX Property ......................................................................................................................... 394

Syntax ................................................................................................................................... 394

Properties ............................................................................................................................. 395

lxxvi
iFIX Automation Reference

StartY Property ......................................................................................................................... 395

Syntax ................................................................................................................................... 395

Properties ............................................................................................................................. 395

Status Property ......................................................................................................................... 395

Syntax ................................................................................................................................... 395

Properties ............................................................................................................................. 395

Return Values ....................................................................................................................... 396

StatusBar Property ................................................................................................................... 396

Syntax ................................................................................................................................... 396

Properties ............................................................................................................................. 396

StatusFontSize Property ........................................................................................................... 396

Syntax ................................................................................................................................... 397

Properties ............................................................................................................................. 397

SteppedTrend Property ............................................................................................................ 397

Syntax ................................................................................................................................... 397

Properties ............................................................................................................................. 397

Settings ................................................................................................................................. 397

StrikeThrough Property ............................................................................................................ 398

Syntax ................................................................................................................................... 398

Properties ............................................................................................................................. 398

Settings ................................................................................................................................. 398

SubTitle Property ...................................................................................................................... 398

Syntax ................................................................................................................................... 398

Properties ............................................................................................................................. 399

SubTitleBold Property ............................................................................................................... 399

Syntax ................................................................................................................................... 399

Properties ............................................................................................................................. 399

Settings ................................................................................................................................. 399

lxxvii
iFIX Automation Reference

SubTitleFont Property ............................................................................................................... 400

Syntax ................................................................................................................................... 400

Properties ............................................................................................................................. 400

SubTitleItalic Property .............................................................................................................. 400

Syntax ................................................................................................................................... 400

Properties ............................................................................................................................. 400

Settings ................................................................................................................................. 400

SubTitleUnderline Property ...................................................................................................... 401

Syntax ................................................................................................................................... 401

Properties ............................................................................................................................. 401

Settings ................................................................................................................................. 401

System Property ....................................................................................................................... 401

Syntax ................................................................................................................................... 402

Properties ............................................................................................................................. 402

Remarks ............................................................................................................................... 402

SystemMenu Property .............................................................................................................. 402

Syntax ................................................................................................................................... 402

Properties ............................................................................................................................. 402

Settings ................................................................................................................................. 402

T ................................................................................................................................................ 403

TableBackColor Property ......................................................................................................... 403

Syntax ................................................................................................................................... 403

Properties ............................................................................................................................. 403

TableFont Property ................................................................................................................... 403

Syntax ................................................................................................................................... 403

Properties ............................................................................................................................. 403

TableForeColor Property .......................................................................................................... 404

Syntax ................................................................................................................................... 404

lxxviii
iFIX Automation Reference

Properties ............................................................................................................................. 404

TextColor Property.................................................................................................................... 404

Syntax ................................................................................................................................... 404

Properties ............................................................................................................................. 404

Thickness Property ................................................................................................................... 404

Syntax ................................................................................................................................... 405

Properties ............................................................................................................................. 405

ThicknessType Property ........................................................................................................... 405

Syntax ................................................................................................................................... 405

Properties ............................................................................................................................. 405

TimeAxis Property .................................................................................................................... 405

Syntax ................................................................................................................................... 406

Properties ............................................................................................................................. 406

Remarks ............................................................................................................................... 406

TimeAxisNumLabels Property .................................................................................................. 406

Syntax ................................................................................................................................... 406

Properties ............................................................................................................................. 406

TimeAxisNumTicks Property .................................................................................................... 406

Syntax ................................................................................................................................... 407

Properties ............................................................................................................................. 407

Remarks ............................................................................................................................... 407

TimeAxisTitle Property ............................................................................................................. 407

Syntax ................................................................................................................................... 407

Properties ............................................................................................................................. 407

TimeBeforeNow Property ......................................................................................................... 407

Syntax ................................................................................................................................... 408

Properties ............................................................................................................................. 408

Remarks ............................................................................................................................... 408

lxxix
iFIX Automation Reference

TimeCursorColor Property........................................................................................................ 408

Syntax ................................................................................................................................... 408

Properties ............................................................................................................................. 408

TimeCursorPos Property .......................................................................................................... 408

Syntax ................................................................................................................................... 409

Properties ............................................................................................................................. 409

TimeCursorTooltipColor Property ............................................................................................. 409

Syntax ................................................................................................................................... 409

Properties ............................................................................................................................. 409

Timeout Property ...................................................................................................................... 409

Syntax ................................................................................................................................... 409

Properties ............................................................................................................................. 410

Remarks ............................................................................................................................... 410

TimerEnabled Property ............................................................................................................. 410

Syntax ................................................................................................................................... 410

Properties ............................................................................................................................. 410

Settings ................................................................................................................................. 410

Timestamp Property ................................................................................................................. 411

Syntax ................................................................................................................................... 411

Properties ............................................................................................................................. 411

Remarks ............................................................................................................................... 411

TimeZoneBiasExplicit Property ................................................................................................ 411

Syntax ................................................................................................................................... 411

Properties ............................................................................................................................. 411

Remarks ............................................................................................................................... 412

TimeZoneBiasRelative Property ............................................................................................... 412

Syntax ................................................................................................................................... 412

Properties ............................................................................................................................. 412

lxxx
iFIX Automation Reference

Settings ................................................................................................................................. 412

Remarks ............................................................................................................................... 413

Titlebar Property ....................................................................................................................... 413

Syntax ................................................................................................................................... 413

Properties ............................................................................................................................. 413

Settings ................................................................................................................................. 413

ToggleRate Property ................................................................................................................ 414

Syntax ................................................................................................................................... 414

Properties ............................................................................................................................. 414

ToggleSource Property ............................................................................................................. 414

Syntax ................................................................................................................................... 414

Properties ............................................................................................................................. 414

Remarks ............................................................................................................................... 414

Tolerance Property ................................................................................................................... 415

Syntax ................................................................................................................................... 415

Properties ............................................................................................................................. 415

Remarks ............................................................................................................................... 415

ToolbarManager Property......................................................................................................... 415

Syntax ................................................................................................................................... 415

Properties ............................................................................................................................. 415

Remarks ............................................................................................................................... 416

ToolbarPath Property ............................................................................................................... 416

Syntax ................................................................................................................................... 416

Properties ............................................................................................................................. 416

Remarks ............................................................................................................................... 416

Top Property ............................................................................................................................. 416

Syntax ................................................................................................................................... 416

Properties ............................................................................................................................. 416

lxxxi
iFIX Automation Reference

TopCenter Property .................................................................................................................. 417

Syntax ................................................................................................................................... 417

Properties ............................................................................................................................. 417

Remarks ............................................................................................................................... 417

TopLeft Property ....................................................................................................................... 417

Syntax ................................................................................................................................... 417

Properties ............................................................................................................................. 417

Remarks ............................................................................................................................... 417

TopRight Property..................................................................................................................... 418

Syntax ................................................................................................................................... 418

Properties ............................................................................................................................. 418

Remarks ............................................................................................................................... 418

TopVisibleRow Property ........................................................................................................... 418

Syntax ................................................................................................................................... 418

Properties ............................................................................................................................. 418

Remarks ............................................................................................................................... 418

TotalFilteredAlarms Property .................................................................................................... 419

Syntax ................................................................................................................................... 419

Properties ............................................................................................................................. 419

TranslateOnOpen Property ...................................................................................................... 419

Syntax ................................................................................................................................... 419

Properties ............................................................................................................................. 419

Settings ................................................................................................................................. 419

Transparency Property ............................................................................................................. 420

Syntax ................................................................................................................................... 420

Properties ............................................................................................................................. 420

Settings ................................................................................................................................. 420

Remarks ............................................................................................................................... 420

lxxxii
iFIX Automation Reference

Transparent Property ................................................................................................................ 421

Syntax ................................................................................................................................... 421

Properties ............................................................................................................................. 421

Settings ................................................................................................................................. 421

Remarks ............................................................................................................................... 421

TransparentColor Property ....................................................................................................... 421

Syntax ................................................................................................................................... 421

Properties ............................................................................................................................. 422

TreatSinglePointsAsLines Property .......................................................................................... 422

Syntax ................................................................................................................................... 422

Properties ............................................................................................................................. 422

Settings ................................................................................................................................. 422

TriggerType Property ................................................................................................................ 423

Syntax ................................................................................................................................... 423

Properties ............................................................................................................................. 423

Settings ................................................................................................................................. 423

Remarks ............................................................................................................................... 423

TrimMaxLength Property .......................................................................................................... 424

Syntax ................................................................................................................................... 424

Properties ............................................................................................................................. 424

TrimType Property .................................................................................................................... 424

Syntax ................................................................................................................................... 424

Properties ............................................................................................................................. 424

Settings ................................................................................................................................. 425

Type Property ........................................................................................................................... 425

Syntax ................................................................................................................................... 425

Properties ............................................................................................................................. 425

Remarks ............................................................................................................................... 425

lxxxiii
iFIX Automation Reference

U-V ............................................................................................................................................ 425

UCL Property ............................................................................................................................ 425

Syntax ................................................................................................................................... 426

Properties ............................................................................................................................. 426

UnacknowledgedAlarmColor Property ..................................................................................... 426

Syntax ................................................................................................................................... 426

Properties ............................................................................................................................. 426

Underline Property .................................................................................................................... 426

Syntax ................................................................................................................................... 426

Properties ............................................................................................................................. 427

Settings ................................................................................................................................. 427

UniformScale Property ............................................................................................................. 427

Syntax ................................................................................................................................... 427

Properties ............................................................................................................................. 427

Settings ................................................................................................................................. 427

Remarks ............................................................................................................................... 428

Units Property ........................................................................................................................... 428

Syntax ................................................................................................................................... 428

Properties ............................................................................................................................. 428

UpdateOnPropChange Property .............................................................................................. 428

Syntax ................................................................................................................................... 428

Properties ............................................................................................................................. 429

Settings ................................................................................................................................. 429

UpdateRate Property ................................................................................................................ 429

Syntax ................................................................................................................................... 429

Properties ............................................................................................................................. 429

UseDelta Property .................................................................................................................... 430

Syntax ................................................................................................................................... 430

lxxxiv
iFIX Automation Reference

Properties ............................................................................................................................. 430

Settings ................................................................................................................................. 430

Remarks ............................................................................................................................... 430

UseDomainSecurity Property ................................................................................................... 431

Syntax ................................................................................................................................... 431

Properties ............................................................................................................................. 431

Remarks ............................................................................................................................... 431

UseLocalSecurity Property ....................................................................................................... 431

Syntax ................................................................................................................................... 431

Properties ............................................................................................................................. 431

Remarks ............................................................................................................................... 432

UseMarker Property ................................................................................................................. 432

Syntax ................................................................................................................................... 432

Properties ............................................................................................................................. 432

Settings ................................................................................................................................. 432

Remarks ............................................................................................................................... 432

UserDef1ColumnName Property .............................................................................................. 433

Syntax ................................................................................................................................... 433

Properties ............................................................................................................................. 433

Remarks ............................................................................................................................... 433

UserDef2ColumnName Property .............................................................................................. 433

Syntax ................................................................................................................................... 433

Properties ............................................................................................................................. 433

Remarks ............................................................................................................................... 434

UserPreferences Property ........................................................................................................ 434

Syntax ................................................................................................................................... 434

Properties ............................................................................................................................. 434

Remarks ............................................................................................................................... 434

lxxxv
iFIX Automation Reference

UseUnacknowledgedAlarmColor Property ............................................................................... 434

Syntax ................................................................................................................................... 434

Properties ............................................................................................................................. 434

Settings ................................................................................................................................. 435

UWL Property ........................................................................................................................... 435

Syntax ................................................................................................................................... 435

Properties ............................................................................................................................. 435

Value Property .......................................................................................................................... 435

Syntax ................................................................................................................................... 436

Properties ............................................................................................................................. 436

Remarks ............................................................................................................................... 436

ValueAxis Property ................................................................................................................... 436

Syntax ................................................................................................................................... 436

Properties ............................................................................................................................. 436

Remarks ............................................................................................................................... 436

ValueAxisNumLabels Property ................................................................................................. 436

Syntax ................................................................................................................................... 437

Properties ............................................................................................................................. 437

ValueAxisNumTicks Property ................................................................................................... 437

Syntax ................................................................................................................................... 437

Properties ............................................................................................................................. 437

ValueAxisTitle Property ............................................................................................................ 437

Syntax ................................................................................................................................... 437

Properties ............................................................................................................................. 438

VariableType Property .............................................................................................................. 438

Syntax ................................................................................................................................... 438

Properties ............................................................................................................................. 438

Settings ................................................................................................................................. 438

lxxxvi
iFIX Automation Reference

Version Property ....................................................................................................................... 439

Syntax ................................................................................................................................... 439

Properties ............................................................................................................................. 439

Remarks ............................................................................................................................... 439

VerticalFillDirection Property .................................................................................................... 439

Syntax ................................................................................................................................... 439

Properties ............................................................................................................................. 439

Settings ................................................................................................................................. 440

VerticalFillPercentage Property ................................................................................................ 440

Syntax ................................................................................................................................... 440

Properties ............................................................................................................................. 440

Remarks ............................................................................................................................... 440

VerticalGridColor Property........................................................................................................ 441

Syntax ................................................................................................................................... 441

Properties ............................................................................................................................. 441

VerticalGridStyle Property ........................................................................................................ 441

Syntax ................................................................................................................................... 441

Properties ............................................................................................................................. 441

Settings ................................................................................................................................. 441

VerticalPosition Property .......................................................................................................... 442

Syntax ................................................................................................................................... 442

Properties ............................................................................................................................. 442

Remarks ............................................................................................................................... 442

VerticalScaleDirection Property ................................................................................................ 443

Syntax ................................................................................................................................... 443

Properties ............................................................................................................................. 443

Settings ................................................................................................................................. 443

Remarks ............................................................................................................................... 443

lxxxvii
iFIX Automation Reference

VerticalScalePercentage Property............................................................................................ 443

Syntax ................................................................................................................................... 444

Properties ............................................................................................................................. 444

Remarks ............................................................................................................................... 444

ViewingStyle Property .............................................................................................................. 444

Syntax ................................................................................................................................... 444

Properties ............................................................................................................................. 444

ViewportHeight Property ........................................................................................................... 445

Syntax ................................................................................................................................... 445

Properties ............................................................................................................................. 445

Remarks ............................................................................................................................... 445

ViewportLeft Property ............................................................................................................... 445

Syntax ................................................................................................................................... 445

Properties ............................................................................................................................. 446

Remarks ............................................................................................................................... 446

ViewportTop Property ............................................................................................................... 446

Syntax ................................................................................................................................... 446

Properties ............................................................................................................................. 446

Remarks ............................................................................................................................... 446

ViewportWidth Property ............................................................................................................ 446

Syntax ................................................................................................................................... 447

Properties ............................................................................................................................. 447

Remarks ............................................................................................................................... 447

Visible Property......................................................................................................................... 447

Syntax ................................................................................................................................... 447

Properties ............................................................................................................................. 447

Settings ................................................................................................................................. 448

Remarks ............................................................................................................................... 448

lxxxviii
iFIX Automation Reference

VisibleUnacknowledgedAlarms Property ................................................................................. 448

Syntax ................................................................................................................................... 448

Properties ............................................................................................................................. 448

W-Z ........................................................................................................................................... 448

WholeDigits Property ................................................................................................................ 448

Syntax ................................................................................................................................... 448

Properties ............................................................................................................................. 449

Width Property .......................................................................................................................... 449

Syntax ................................................................................................................................... 449

Properties ............................................................................................................................. 449

Remarks ............................................................................................................................... 449

WindowHeightPercentage Property ......................................................................................... 449

Syntax ................................................................................................................................... 449

Properties ............................................................................................................................. 450

Remarks ............................................................................................................................... 450

WindowLeftPercentage Property .............................................................................................. 450

Syntax ................................................................................................................................... 450

Properties ............................................................................................................................. 450

Remarks ............................................................................................................................... 450

WindowName Property ............................................................................................................. 451

Syntax ................................................................................................................................... 451

Properties ............................................................................................................................. 451

Remarks ............................................................................................................................... 451

WindowState Property .............................................................................................................. 451

Syntax ................................................................................................................................... 451

Properties ............................................................................................................................. 451

Settings ................................................................................................................................. 452

WindowTopPercentage Property.............................................................................................. 452

lxxxix
iFIX Automation Reference

Syntax ................................................................................................................................... 452

Properties ............................................................................................................................. 452

Remarks ............................................................................................................................... 452

WindowWidthPercentage Property........................................................................................... 453

Syntax ................................................................................................................................... 453

Properties ............................................................................................................................. 453

Remarks ............................................................................................................................... 453

WizardName Property .............................................................................................................. 453

Syntax ................................................................................................................................... 453

Properties ............................................................................................................................. 453

Remarks ............................................................................................................................... 454

WorkSpaceStartupMode Property ............................................................................................ 454

Syntax ................................................................................................................................... 454

Properties ............................................................................................................................. 454

WritePictureFormatType Property ............................................................................................ 454

Syntax ................................................................................................................................... 454

Properties ............................................................................................................................. 454

WritePictureOutLocation Property ............................................................................................ 455

Syntax ................................................................................................................................... 455

Properties ............................................................................................................................. 455

WritePictureScalePercentage Property .................................................................................... 455

Syntax ................................................................................................................................... 455

Properties ............................................................................................................................. 455

X Property ................................................................................................................................. 456

Syntax ................................................................................................................................... 456

Properties ............................................................................................................................. 456

XAxisDatasetPosition Property................................................................................................. 456

Syntax ................................................................................................................................... 456

xc
iFIX Automation Reference

Properties ............................................................................................................................. 456

Remarks ............................................................................................................................... 457

XAxisLabel Property ................................................................................................................. 457

Syntax ................................................................................................................................... 457

Properties ............................................................................................................................. 457

XAxisScaleControl Property ..................................................................................................... 457

Syntax ................................................................................................................................... 457

Properties ............................................................................................................................. 457

XAxisType Property .................................................................................................................. 458

Syntax ................................................................................................................................... 458

Properties ............................................................................................................................. 458

Remarks ............................................................................................................................... 458

Y Property ................................................................................................................................. 458

Syntax ................................................................................................................................... 459

Properties ............................................................................................................................. 459

YAxisLabel Property ................................................................................................................. 459

Syntax ................................................................................................................................... 459

Properties ............................................................................................................................. 459

YAxisLongTicks Property ......................................................................................................... 459

Syntax ................................................................................................................................... 459

Properties ............................................................................................................................. 460

Settings ................................................................................................................................. 460

YAxisScaleControl Property ..................................................................................................... 460

Syntax ................................................................................................................................... 460

Properties ............................................................................................................................. 460

Zoom Property .......................................................................................................................... 461

Syntax ................................................................................................................................... 461

Properties ............................................................................................................................. 461

xci
iFIX Automation Reference

ZoomDirection Property ............................................................................................................ 461

Syntax ................................................................................................................................... 461

Properties ............................................................................................................................. 461

Settings ................................................................................................................................. 461

Methods ........................................................................................................................................ 463

Method Summary ......................................................................................................................... 463

A ............................................................................................................................................... 463

B ............................................................................................................................................... 464

C ............................................................................................................................................... 464

D ............................................................................................................................................... 465

E ............................................................................................................................................... 466

F ................................................................................................................................................ 466

G-H ........................................................................................................................................... 467

I-K ............................................................................................................................................. 469

L ................................................................................................................................................ 470

M-N ........................................................................................................................................... 470

O ............................................................................................................................................... 471

P ............................................................................................................................................... 471

Q ............................................................................................................................................... 472

R ............................................................................................................................................... 472

S ............................................................................................................................................... 473

T ................................................................................................................................................ 475

U ............................................................................................................................................... 475

V-W ........................................................................................................................................... 476

X-Y ............................................................................................................................................ 476

Z ................................................................................................................................................ 476

A-B ................................................................................................................................................ 477

AboutBox Method ..................................................................................................................... 477

xcii
iFIX Automation Reference

Syntax ................................................................................................................................... 477

Properties ............................................................................................................................. 477

AckAlarm Method ..................................................................................................................... 477

Syntax ................................................................................................................................... 477

Properties ............................................................................................................................. 477

Return Value ......................................................................................................................... 478

AckAlarmPage Method ............................................................................................................. 478

Syntax ................................................................................................................................... 478

Properties ............................................................................................................................. 478

Return Value ......................................................................................................................... 478

AckAlarmPageEx Method ......................................................................................................... 478

Syntax ................................................................................................................................... 478

Properties ............................................................................................................................. 478

Return Value ......................................................................................................................... 479

AckAllAlarms Method ............................................................................................................... 479

Syntax ................................................................................................................................... 479

Properties ............................................................................................................................. 479

Return Value ......................................................................................................................... 479

ActivateWorkspaceUI Method .................................................................................................. 479

Syntax ................................................................................................................................... 479

Properties ............................................................................................................................. 480

Remarks ............................................................................................................................... 480

Add Method .............................................................................................................................. 480

Documents Collection Syntax ............................................................................................... 480

Properties ............................................................................................................................. 480

Return Value ......................................................................................................................... 481

Remarks ............................................................................................................................... 481

Procedures Collection Syntax .............................................................................................. 481

xciii
iFIX Automation Reference

Properties ............................................................................................................................. 481

Lines Collection Syntax ........................................................................................................ 482

Properties ............................................................................................................................. 482

DataItems and Groups Collection Syntax............................................................................. 482

Properties ............................................................................................................................. 482

Return Value ......................................................................................................................... 482

AddDataSet Method ................................................................................................................. 483

Syntax ................................................................................................................................... 483

Properties ............................................................................................................................. 483

Return Value ......................................................................................................................... 483

AddEventHandler Method ........................................................................................................ 483

Syntax ................................................................................................................................... 483

Properties ............................................................................................................................. 483

AddImage Method .................................................................................................................... 484

Syntax ................................................................................................................................... 484

Properties ............................................................................................................................. 484

AddKeyMacro Method .............................................................................................................. 484

Syntax ................................................................................................................................... 484

Properties ............................................................................................................................. 484

AddLegendItem Method ........................................................................................................... 485

Syntax ................................................................................................................................... 485

Properties ............................................................................................................................. 485

AddLevel Method ...................................................................................................................... 486

Syntax ................................................................................................................................... 486

Properties ............................................................................................................................. 486

AddObject Method .................................................................................................................... 487

Syntax ................................................................................................................................... 487

Properties ............................................................................................................................. 487

xciv
iFIX Automation Reference

Remarks ............................................................................................................................... 487

AddPen Method ........................................................................................................................ 488

Syntax ................................................................................................................................... 488

Properties ............................................................................................................................. 488

Return Value ......................................................................................................................... 488

AddPictureToStartupList Method.............................................................................................. 488

Syntax ................................................................................................................................... 488

Properties ............................................................................................................................. 488

AddPoint Method ...................................................................................................................... 489

Syntax ................................................................................................................................... 489

Properties ............................................................................................................................. 489

Remarks ............................................................................................................................... 489

AddProcedure Method .............................................................................................................. 490

Syntax ................................................................................................................................... 490

Properties ............................................................................................................................. 490

Align Method ............................................................................................................................. 490

Syntax ................................................................................................................................... 490

Properties ............................................................................................................................. 490

Remarks ............................................................................................................................... 491

ApplyProperty Method .............................................................................................................. 491

AutoScaleDisplayLimits Method ............................................................................................... 491

Syntax ................................................................................................................................... 491

Properties ............................................................................................................................. 491

Remarks ............................................................................................................................... 491

BringToFront Method ................................................................................................................ 492

Syntax ................................................................................................................................... 492

Properties ............................................................................................................................. 492

Remarks ............................................................................................................................... 492

xcv
iFIX Automation Reference

BuildObject Method .................................................................................................................. 492

Syntax ................................................................................................................................... 492

Properties ............................................................................................................................. 492

Return Value ......................................................................................................................... 493

Remarks ............................................................................................................................... 493

C ................................................................................................................................................... 493

CanConstruct Method ............................................................................................................... 493

Syntax ................................................................................................................................... 493

Properties ............................................................................................................................. 493

Remarks ............................................................................................................................... 494

CheckAccountExpiration Method ............................................................................................. 494

Syntax ................................................................................................................................... 494

Properties ............................................................................................................................. 494

Return Value ......................................................................................................................... 495

CheckforDuplicateKeyMacros Method ..................................................................................... 495

Syntax ................................................................................................................................... 495

Properties ............................................................................................................................. 495

CheckSecurityEnabled Method ................................................................................................ 495

Syntax ................................................................................................................................... 495

Properties ............................................................................................................................. 496

Return Value ......................................................................................................................... 496

CheckSyntax Method ............................................................................................................... 496

Syntax ................................................................................................................................... 496

Properties ............................................................................................................................. 496

Return Value ......................................................................................................................... 496

CheckUserApplicationAccess Method...................................................................................... 496

Syntax ................................................................................................................................... 497

Properties ............................................................................................................................. 497

xcvi
iFIX Automation Reference

CheckUserAreaAccess Method................................................................................................ 497

Syntax ................................................................................................................................... 497

Properties ............................................................................................................................. 497

Return Value ......................................................................................................................... 498

Clear Method ............................................................................................................................ 498

Syntax ................................................................................................................................... 498

Properties ............................................................................................................................. 498

ClearUndo Method ................................................................................................................... 498

Syntax ................................................................................................................................... 499

Properties ............................................................................................................................. 499

Remarks ............................................................................................................................... 499

Close Method............................................................................................................................ 499

Documents Collection Syntax ............................................................................................... 499

Properties ............................................................................................................................. 499

Remarks ............................................................................................................................... 500

Document Object Syntax ...................................................................................................... 500

Remarks ............................................................................................................................... 500

Commit Method ........................................................................................................................ 501

Syntax ................................................................................................................................... 501

Properties ............................................................................................................................. 501

Connect Method ....................................................................................................................... 501

Syntax ................................................................................................................................... 501

Properties ............................................................................................................................. 501

ConnectDataSet Method .......................................................................................................... 502

Syntax ................................................................................................................................... 502

Properties ............................................................................................................................. 502

ConnectedPropertyCount Method ............................................................................................ 503

Syntax ................................................................................................................................... 503

xcvii
iFIX Automation Reference

Properties ............................................................................................................................. 503

Construct Method ..................................................................................................................... 503

Syntax ................................................................................................................................... 503

Properties ............................................................................................................................. 503

Convert_A_Group_To_A_Dynamo_By_Name Method............................................................ 504

Syntax ................................................................................................................................... 504

Properties ............................................................................................................................. 504

Convert_A_Group_To_A_Dynamo_By_Ref Method................................................................ 506

Syntax ................................................................................................................................... 507

Properties ............................................................................................................................. 507

ConvertPipe Method ................................................................................................................. 509

Syntax ................................................................................................................................... 509

Properties ............................................................................................................................. 509

Remarks ............................................................................................................................... 509

ConvertSecurityAreaNameToNumber Method ......................................................................... 509

Syntax ................................................................................................................................... 509

Properties ............................................................................................................................. 509

Return Value ......................................................................................................................... 509

ConvertSecurityAreaNumberToName Method ......................................................................... 510

Syntax ................................................................................................................................... 510

Properties ............................................................................................................................. 510

Return Value ......................................................................................................................... 510

Copy Method ............................................................................................................................ 510

Syntax ................................................................................................................................... 510

Properties ............................................................................................................................. 510

Remarks ............................................................................................................................... 510

CopyAsBitmap Method ............................................................................................................. 511

Syntax ................................................................................................................................... 511

xcviii
iFIX Automation Reference

Properties ............................................................................................................................. 511

Remarks ............................................................................................................................... 511

CopytoClipboard Method .......................................................................................................... 511

Syntax ................................................................................................................................... 511

Properties ............................................................................................................................. 511

Coupled_Activate_Workspace_UI Method ............................................................................... 511

Syntax ................................................................................................................................... 512

Properties ............................................................................................................................. 512

Remarks ............................................................................................................................... 512

Coupled_DeActivate_Workspace_UI Method .......................................................................... 512

Syntax ................................................................................................................................... 512

Properties ............................................................................................................................. 512

Remarks ............................................................................................................................... 513

CreateDynamoByGrouping Method ......................................................................................... 513

Syntax ................................................................................................................................... 513

Properties ............................................................................................................................. 513

CreateFromDialog Method ....................................................................................................... 513

Syntax ................................................................................................................................... 513

Properties ............................................................................................................................. 513

Remarks ............................................................................................................................... 514

CreateFromProgID Method ...................................................................................................... 514

Syntax ................................................................................................................................... 514

Properties ............................................................................................................................. 514

Remarks ............................................................................................................................... 514

CreateWithMouse Method ........................................................................................................ 514

Syntax ................................................................................................................................... 514

Properties ............................................................................................................................. 514

Cut Method ............................................................................................................................... 515

xcix
iFIX Automation Reference

Syntax ................................................................................................................................... 515

Properties ............................................................................................................................. 515

Remarks ............................................................................................................................... 515

D-E ................................................................................................................................................ 515

DeActivateWorkspaceUI Method.............................................................................................. 515

Syntax ................................................................................................................................... 515

Properties ............................................................................................................................. 515

Remarks ............................................................................................................................... 516

DefaultView Method ................................................................................................................. 516

Syntax ................................................................................................................................... 516

Properties ............................................................................................................................. 516

DelAlarm Method ...................................................................................................................... 516

Syntax ................................................................................................................................... 517

Properties ............................................................................................................................. 517

Return Value ......................................................................................................................... 517

DeleteAllAlarms Method ........................................................................................................... 517

Syntax ................................................................................................................................... 517

Properties ............................................................................................................................. 517

Return Value ......................................................................................................................... 517

DeleteAllDataSets Method ....................................................................................................... 518

Syntax ................................................................................................................................... 518

Properties ............................................................................................................................. 518

DeleteDataSet Method ............................................................................................................. 518

Syntax ................................................................................................................................... 518

Properties ............................................................................................................................. 518

DeleteImage Method ................................................................................................................ 518

Syntax ................................................................................................................................... 518

Properties ............................................................................................................................. 519

c
iFIX Automation Reference

DeletePen Method .................................................................................................................... 519

Syntax ................................................................................................................................... 519

Properties ............................................................................................................................. 519

DeletePoint Method .................................................................................................................. 519

Syntax ................................................................................................................................... 519

Properties ............................................................................................................................. 519

DeleteSelectedObjects Method ................................................................................................ 520

Syntax ................................................................................................................................... 520

Properties ............................................................................................................................. 520

Remarks ............................................................................................................................... 520

DemandFire Method ................................................................................................................. 520

Scheduler Object Syntax ...................................................................................................... 520

Properties ............................................................................................................................. 520

Timer and Event Object Syntax ............................................................................................ 521

Properties ............................................................................................................................. 521

Remarks ............................................................................................................................... 521

DeselectObject Method ............................................................................................................ 521

Syntax ................................................................................................................................... 521

Properties ............................................................................................................................. 521

Remarks ............................................................................................................................... 522

DestroyObject Method .............................................................................................................. 522

Syntax ................................................................................................................................... 522

Properties ............................................................................................................................. 522

DisableNonSelectionEvents Method ........................................................................................ 522

Disconnect Method ................................................................................................................... 522

Syntax ................................................................................................................................... 522

Properties ............................................................................................................................. 523

Remarks ............................................................................................................................... 523

ci
iFIX Automation Reference

DisplaysControlPoints Method ................................................................................................. 523

Syntax ................................................................................................................................... 523

Properties ............................................................................................................................. 523

DoesPropertyHaveTargets Method .......................................................................................... 523

Syntax ................................................................................................................................... 523

Properties ............................................................................................................................. 524

DoExtendLines Method ............................................................................................................ 524

Syntax ................................................................................................................................... 524

Properties ............................................................................................................................. 524

DoLinesToPolyline Method ....................................................................................................... 525

Syntax ................................................................................................................................... 525

Properties ............................................................................................................................. 525

DoMenuCommand Method ...................................................................................................... 525

Syntax ................................................................................................................................... 525

Properties ............................................................................................................................. 525

DoTrimLines Method ................................................................................................................ 526

Syntax ................................................................................................................................... 526

Properties ............................................................................................................................. 526

DumpProperties Method ........................................................................................................... 526

Syntax ................................................................................................................................... 526

Properties ............................................................................................................................. 526

Duplicate Method ...................................................................................................................... 527

Syntax ................................................................................................................................... 527

Properties ............................................................................................................................. 527

Remarks ............................................................................................................................... 527

EditPicture Method ................................................................................................................... 527

Syntax ................................................................................................................................... 528

Properties ............................................................................................................................. 528

cii
iFIX Automation Reference

Remarks ............................................................................................................................... 528

Enable Method.......................................................................................................................... 528

Syntax ................................................................................................................................... 528

Properties ............................................................................................................................. 528

Enumerate_All_Dynamos Method ............................................................................................ 528

Syntax ................................................................................................................................... 528

Properties ............................................................................................................................. 529

Enumerate_All_Groups Method ............................................................................................... 529

Syntax ................................................................................................................................... 529

Properties ............................................................................................................................. 529

Enumerate_Top_Level_Dynamos Method ............................................................................... 529

Syntax ................................................................................................................................... 530

Properties ............................................................................................................................. 530

Enumerate_Top_Level_Groups Method .................................................................................. 530

Syntax ................................................................................................................................... 530

Properties ............................................................................................................................. 530

Remarks ............................................................................................................................... 531

ExchangePenPositions Method................................................................................................ 531

Syntax ................................................................................................................................... 531

Properties ............................................................................................................................. 531

Remarks ............................................................................................................................... 531

Execute Method ........................................................................................................................ 531

Syntax ................................................................................................................................... 531

Properties ............................................................................................................................. 531

Return Value ......................................................................................................................... 532

ExecuteKeyMacro Method ....................................................................................................... 532

Syntax ................................................................................................................................... 532

Properties ............................................................................................................................. 532

ciii
iFIX Automation Reference

ExportData Method ................................................................................................................... 532

Syntax ................................................................................................................................... 532

Properties ............................................................................................................................. 533

ExportImage Method ................................................................................................................ 535

Syntax ................................................................................................................................... 535

Properties ............................................................................................................................. 535

Remarks ............................................................................................................................... 538

ExportLanguageFile Method .................................................................................................... 538

Syntax ................................................................................................................................... 538

Properties ............................................................................................................................. 538

F .................................................................................................................................................... 539

FindAndReplaceDialog Method ................................................................................................ 539

Syntax ................................................................................................................................... 539

Properties ............................................................................................................................. 540

Remarks ............................................................................................................................... 540

FindInString Method ................................................................................................................. 540

Syntax ................................................................................................................................... 540

Properties ............................................................................................................................. 540

Remarks ............................................................................................................................... 541

FindObject Method ................................................................................................................... 541

Syntax ................................................................................................................................... 541

Properties ............................................................................................................................. 541

Return Value ......................................................................................................................... 542

Remarks ............................................................................................................................... 542

FindReplaceInObject Method ................................................................................................... 542

Syntax ................................................................................................................................... 542

Properties ............................................................................................................................. 542

FindReplaceInString Method .................................................................................................... 543

civ
iFIX Automation Reference

Syntax ................................................................................................................................... 543

Properties ............................................................................................................................. 543

FitDocumentToWindow Method ............................................................................................... 544

Syntax ................................................................................................................................... 544

Properties ............................................................................................................................. 544

FitWindowToDocument Method ............................................................................................... 544

Syntax ................................................................................................................................... 544

Properties ............................................................................................................................. 545

FixCheckApplicationAccess Method ........................................................................................ 545

Syntax ................................................................................................................................... 545

Properties ............................................................................................................................. 545

Return Value ......................................................................................................................... 545

FixCheckApplicationAccessQuiet Method ................................................................................ 545

Syntax ................................................................................................................................... 546

Properties ............................................................................................................................. 546

Return Value ......................................................................................................................... 546

FixCheckAreaAccess Method .................................................................................................. 546

Syntax ................................................................................................................................... 546

Properties ............................................................................................................................. 546

Return Value ......................................................................................................................... 546

Remarks ............................................................................................................................... 547

FixCheckAreaAccessQuiet Method .......................................................................................... 547

Syntax ................................................................................................................................... 547

Properties ............................................................................................................................. 547

Return Value ......................................................................................................................... 547

Remarks ............................................................................................................................... 547

FixCheckSecurityEnabled Method ........................................................................................... 547

Syntax ................................................................................................................................... 547

cv
iFIX Automation Reference

Properties ............................................................................................................................. 547

Return Value ......................................................................................................................... 548

FixGetManualAlmDeleteEnabled Method ................................................................................ 548

Syntax ................................................................................................................................... 548

Properties ............................................................................................................................. 548

FixGetUserInfo Method ............................................................................................................ 548

Syntax ................................................................................................................................... 548

Properties ............................................................................................................................. 548

FixLogin Method ....................................................................................................................... 549

Syntax ................................................................................................................................... 549

Properties ............................................................................................................................. 549

FixLogout Method ..................................................................................................................... 549

Syntax ................................................................................................................................... 549

Properties ............................................................................................................................. 549

FontProperties Method ............................................................................................................. 550

Syntax ................................................................................................................................... 550

Properties ............................................................................................................................. 550

FullView Method ....................................................................................................................... 550

Syntax ................................................................................................................................... 550

Properties ............................................................................................................................. 550

G-H ............................................................................................................................................... 551

Get_Last_Prompt_Value Method ............................................................................................. 551

Syntax ................................................................................................................................... 551

Properties ............................................................................................................................. 551

Return Value ......................................................................................................................... 551

Get_Last_Result_String Method .............................................................................................. 552

Syntax ................................................................................................................................... 552

Properties ............................................................................................................................. 552

cvi
iFIX Automation Reference

Return Value ......................................................................................................................... 552

GetBoundRect Method ............................................................................................................. 552

Syntax ................................................................................................................................... 552

Properties ............................................................................................................................. 552

Remarks ............................................................................................................................... 553

GetChartEndTime Method ........................................................................................................ 553

Syntax ................................................................................................................................... 553

Properties ............................................................................................................................. 553

GetChartStartTime Method ...................................................................................................... 553

Syntax ................................................................................................................................... 553

Properties ............................................................................................................................. 553

GetColHeadings Method .......................................................................................................... 554

Syntax ................................................................................................................................... 554

Properties ............................................................................................................................. 554

Remarks ............................................................................................................................... 554

GetColumnInfo Method ............................................................................................................ 554

Syntax ................................................................................................................................... 554

Properties ............................................................................................................................. 554

GetConnectionInformation Method........................................................................................... 555

Syntax ................................................................................................................................... 555

Properties ............................................................................................................................. 555

GetConnectionParameters Method .......................................................................................... 556

Syntax ................................................................................................................................... 556

Properties ............................................................................................................................. 556

GetContinuousUser Method ..................................................................................................... 556

Syntax ................................................................................................................................... 556

Properties ............................................................................................................................. 557

Return Value ......................................................................................................................... 557

cvii
iFIX Automation Reference

GetCurrentDataSet Method ...................................................................................................... 557

Syntax ................................................................................................................................... 557

Properties ............................................................................................................................. 557

Return Value ......................................................................................................................... 557

GetCurrentValue Method .......................................................................................................... 558

Syntax ................................................................................................................................... 558

Properties ............................................................................................................................. 558

GetCurrentValueWithQuality Method ....................................................................................... 558

Syntax ................................................................................................................................... 558

Properties ............................................................................................................................. 558

GetDataSetByPosition Method ................................................................................................. 559

Syntax ................................................................................................................................... 559

Properties ............................................................................................................................. 559

Return Value ............................................................................................................................. 559

GetDeviceRect Method ............................................................................................................ 559

Syntax ................................................................................................................................... 559

Properties ............................................................................................................................. 560

GetDuration Method ................................................................................................................. 560

Syntax ................................................................................................................................... 560

Properties ............................................................................................................................. 560

GetGlobalDuration Method ....................................................................................................... 561

Syntax ................................................................................................................................... 561

Properties ............................................................................................................................. 561

GetErrorString Method ............................................................................................................. 561

Syntax ................................................................................................................................... 561

Properties ............................................................................................................................. 561

Return Value ......................................................................................................................... 562

GetEventHandlerIndex Method ................................................................................................ 562

cviii
iFIX Automation Reference

Syntax ................................................................................................................................... 562

Properties ............................................................................................................................. 562

GetFullname Method ................................................................................................................ 562

Syntax ................................................................................................................................... 562

Properties ............................................................................................................................. 562

Return Value ......................................................................................................................... 563

GetGlobalHistoricalUpdateRate Method .................................................................................. 563

Syntax ................................................................................................................................... 563

Properties ............................................................................................................................. 563

GetIndirectionInfo Method ........................................................................................................ 563

GetInterval Method ................................................................................................................... 564

Syntax ................................................................................................................................... 564

Properties ............................................................................................................................. 564

GetKeyMacro Method ............................................................................................................... 564

Syntax ................................................................................................................................... 564

Properties ............................................................................................................................. 564

GetKeyMacroIndex Method ...................................................................................................... 565

Syntax ................................................................................................................................... 565

Properties ............................................................................................................................. 565

GetLevel Method ...................................................................................................................... 565

Syntax ................................................................................................................................... 565

Properties ............................................................................................................................. 565

GetNumberOfDataSets Method ............................................................................................... 566

Syntax ................................................................................................................................... 566

Properties ............................................................................................................................. 566

Return Value ............................................................................................................................. 566

GetObjectInfo Method .............................................................................................................. 567

Syntax ................................................................................................................................... 567

cix
iFIX Automation Reference

Properties ............................................................................................................................. 567

Return Value ......................................................................................................................... 567

Remarks ............................................................................................................................... 567

GetPenDataArray Method ........................................................................................................ 567

Syntax ................................................................................................................................... 567

Properties ............................................................................................................................. 567

Remarks ............................................................................................................................... 568

GetPenDataArrayEx Method .................................................................................................... 568

Syntax ................................................................................................................................... 568

Properties ............................................................................................................................. 568

Remarks ............................................................................................................................... 569

GetPointAt Method ................................................................................................................... 569

Syntax ................................................................................................................................... 569

Properties ............................................................................................................................. 569

Return Value ......................................................................................................................... 569

Remarks ............................................................................................................................... 569

GetPriorityColor Method ........................................................................................................... 569

Syntax ................................................................................................................................... 570

Properties ............................................................................................................................. 570

Return Value ......................................................................................................................... 570

GetProcedureIndex Method ..................................................................................................... 570

Syntax ................................................................................................................................... 570

Properties ............................................................................................................................. 570

GetProperty Method ................................................................................................................. 571

Syntax ................................................................................................................................... 571

Properties ............................................................................................................................. 571

Remarks ............................................................................................................................... 571

GetPropertyAttributes Method .................................................................................................. 571

cx
iFIX Automation Reference

Syntax ................................................................................................................................... 572

Properties ............................................................................................................................. 572

GetPropertyTargets Method ..................................................................................................... 573

Syntax ................................................................................................................................... 573

Properties ............................................................................................................................. 573

Remarks ............................................................................................................................... 573

GetRibbonView Method ............................................................................................................ 574

Syntax ................................................................................................................................... 574

Properties ............................................................................................................................. 574

Return Value ............................................................................................................................. 574

GetSelectedAlmExt Method ..................................................................................................... 574

Syntax ................................................................................................................................... 574

Properties ............................................................................................................................. 574

Return Value ......................................................................................................................... 575

Remarks ............................................................................................................................... 575

GetSelectedNodeTag Method .................................................................................................. 575

Syntax ................................................................................................................................... 575

Properties ............................................................................................................................. 575

Return Value ......................................................................................................................... 575

Remarks ............................................................................................................................... 575

GetSelectedRow Method .......................................................................................................... 575

Syntax ................................................................................................................................... 576

Properties ............................................................................................................................. 576

Return Value ......................................................................................................................... 577

Remarks ............................................................................................................................... 577

GetSelectedUserDefFields Method .......................................................................................... 577

Syntax ................................................................................................................................... 577

Properties ............................................................................................................................. 577

cxi
iFIX Automation Reference

Return Value ......................................................................................................................... 577

Remarks ............................................................................................................................... 578

GetSignature Method ............................................................................................................... 578

Syntax ................................................................................................................................... 578

Properties ............................................................................................................................. 578

Return Value ......................................................................................................................... 579

GetSignatureAndWriteValue Method ....................................................................................... 580

Syntax ................................................................................................................................... 580

Properties ............................................................................................................................. 580

Return Value ......................................................................................................................... 581

GetStatusColor Method ............................................................................................................ 581

Syntax ................................................................................................................................... 582

Properties ............................................................................................................................. 582

Return Value ......................................................................................................................... 582

GetStatusFont Method ............................................................................................................. 583

Syntax ................................................................................................................................... 583

Properties ............................................................................................................................. 583

Return Value ......................................................................................................................... 584

GetTimeBeforeNow Method ..................................................................................................... 584

Syntax ................................................................................................................................... 584

Properties ............................................................................................................................. 584

GetTimeCursorInfo Method ...................................................................................................... 585

Syntax ................................................................................................................................... 585

Properties ............................................................................................................................. 585

GetUserID Method .................................................................................................................... 585

Syntax ................................................................................................................................... 585

Properties ............................................................................................................................. 585

Return Value ......................................................................................................................... 586

cxii
iFIX Automation Reference

GetWindowLocation Method .................................................................................................... 586

Syntax ................................................................................................................................... 586

Properties ............................................................................................................................. 586

GlobalScrollBackFast Method .................................................................................................. 587

Syntax ................................................................................................................................... 587

Properties ............................................................................................................................. 587

GlobalScrollBackSlow Method ................................................................................................. 587

Syntax ................................................................................................................................... 587

Properties ............................................................................................................................. 587

GlobalScrollForwardFast Method ............................................................................................. 587

Syntax ................................................................................................................................... 588

Properties ............................................................................................................................. 588

GlobalScrollForwardSlow Method ............................................................................................ 588

Syntax ................................................................................................................................... 588

Properties ............................................................................................................................. 588

GlobalTimerApply Method ........................................................................................................ 588

Syntax ................................................................................................................................... 588

Properties ............................................................................................................................. 589

Group Method ........................................................................................................................... 589

Syntax ................................................................................................................................... 589

Properties ............................................................................................................................. 589

Remarks ............................................................................................................................... 589

HiLoDisplay Method ................................................................................................................. 589

Syntax ................................................................................................................................... 589

Properties ............................................................................................................................. 589

I-L .................................................................................................................................................. 590

ImportToolbar Method .............................................................................................................. 590

Syntax ................................................................................................................................... 590

cxiii
iFIX Automation Reference

Properties ............................................................................................................................. 590

Initialize Method ........................................................................................................................ 590

Syntax ................................................................................................................................... 591

Properties ............................................................................................................................. 591

Return Value ......................................................................................................................... 591

InitializeList Method .................................................................................................................. 591

Syntax ................................................................................................................................... 591

Properties ............................................................................................................................. 591

Return Value ......................................................................................................................... 592

InsertPoint Method ................................................................................................................... 592

Syntax ................................................................................................................................... 592

Properties ............................................................................................................................. 592

InteractiveExport Method .......................................................................................................... 592

Syntax ................................................................................................................................... 592

Properties ............................................................................................................................. 592

IsColorSelectionVisible Method ................................................................................................ 593

Syntax ................................................................................................................................... 593

Properties ............................................................................................................................. 593

Return Value ......................................................................................................................... 593

Remarks ............................................................................................................................... 593

IsConnected Method ................................................................................................................ 593

Syntax ................................................................................................................................... 593

Properties ............................................................................................................................. 593

IsEmpty Method ........................................................................................................................ 594

Syntax ................................................................................................................................... 594

Properties ............................................................................................................................. 594

IsKeyMacroDefined Method ..................................................................................................... 594

Syntax ................................................................................................................................... 595

cxiv
iFIX Automation Reference

Properties ............................................................................................................................. 595

IsNodeSignEnabled Method ..................................................................................................... 595

Syntax ................................................................................................................................... 595

Properties ............................................................................................................................. 595

Return Value ......................................................................................................................... 595

IsSignatureRequired Method .................................................................................................... 596

Syntax ................................................................................................................................... 596

Properties ............................................................................................................................. 596

Return Value ......................................................................................................................... 597

IsSignatureRequiredForList Method ......................................................................................... 597

Syntax ................................................................................................................................... 597

Properties ............................................................................................................................. 597

Return Value ......................................................................................................................... 598

Item Method .............................................................................................................................. 598

Syntax ................................................................................................................................... 598

Properties ............................................................................................................................. 598

Return Value ......................................................................................................................... 599

Remarks ............................................................................................................................... 599

ListEvents Method .................................................................................................................... 599

Syntax ................................................................................................................................... 599

Properties ............................................................................................................................. 599

ListMethods Method ................................................................................................................. 599

Syntax ................................................................................................................................... 600

Properties ............................................................................................................................. 600

ListProperties Method ............................................................................................................... 600

Syntax ................................................................................................................................... 600

Properties ............................................................................................................................. 600

Remarks ............................................................................................................................... 600

cxv
iFIX Automation Reference

ListWindowsGroupNames Method ........................................................................................... 601

Syntax ................................................................................................................................... 601

Properties ............................................................................................................................. 601

Remarks ............................................................................................................................... 601

Load_TS_List Method .............................................................................................................. 601

Syntax ................................................................................................................................... 601

Properties ............................................................................................................................. 601

LoadImage Method ................................................................................................................... 602

Syntax ................................................................................................................................... 602

Properties ............................................................................................................................. 602

LoadTagGroupFile Method ....................................................................................................... 602

Syntax ................................................................................................................................... 602

Properties ............................................................................................................................. 602

Remarks ............................................................................................................................... 603

LogicalToPercentage Method................................................................................................... 603

Syntax ................................................................................................................................... 603

Properties ............................................................................................................................. 603

LogicalToUserFormPoint Method ............................................................................................. 604

Syntax ................................................................................................................................... 604

Properties ............................................................................................................................. 604

Remarks ............................................................................................................................... 604

M-P ............................................................................................................................................... 605

MakeLinesHorizontal Method ................................................................................................... 605

Syntax ................................................................................................................................... 605

Properties ............................................................................................................................. 605

MakeLinesVertical Method ....................................................................................................... 605

Syntax ................................................................................................................................... 605

Properties ............................................................................................................................. 605

cxvi
iFIX Automation Reference

MakeSameSize Method ........................................................................................................... 605

Syntax ................................................................................................................................... 606

Properties ............................................................................................................................. 606

Remarks ............................................................................................................................... 606

Modify Method .......................................................................................................................... 606

Syntax ................................................................................................................................... 606

Properties ............................................................................................................................. 606

ModifyColumnLength Method................................................................................................... 607

Syntax ................................................................................................................................... 607

Properties ............................................................................................................................. 607

Move Method ............................................................................................................................ 607

Syntax ................................................................................................................................... 607

Properties ............................................................................................................................. 607

Open Method ............................................................................................................................ 608

Syntax ................................................................................................................................... 608

Properties ............................................................................................................................. 608

Return Value ......................................................................................................................... 608

Open_QT_Pic Method .............................................................................................................. 608

Syntax ................................................................................................................................... 609

Properties ............................................................................................................................. 609

Open_QT_Pic_Ex Method ........................................................................................................ 609

Syntax ................................................................................................................................... 609

Properties ............................................................................................................................. 609

Open_TCP_Pic Method ............................................................................................................ 609

Syntax ................................................................................................................................... 610

Properties ............................................................................................................................. 610

Open_TCP_Pic_Ex Method ..................................................................................................... 610

Syntax ................................................................................................................................... 610

cxvii
iFIX Automation Reference

Properties ............................................................................................................................. 610

Open_TS_Pic Method .............................................................................................................. 610

Syntax ................................................................................................................................... 610

Properties ............................................................................................................................. 611

Open_TS_Pic_Ex Method ........................................................................................................ 611

Syntax ................................................................................................................................... 611

Properties ............................................................................................................................. 611

Open_TS_Pic_Type Method .................................................................................................... 611

Syntax ................................................................................................................................... 611

Properties ............................................................................................................................. 611

Open_TS_Pic_Type_Ex Method .............................................................................................. 612

Syntax ................................................................................................................................... 612

Properties ............................................................................................................................. 612

ParseConnectionSource Method.............................................................................................. 613

Syntax ................................................................................................................................... 613

Properties ............................................................................................................................. 613

Remarks ............................................................................................................................... 613

Paste Method............................................................................................................................ 614

Syntax ................................................................................................................................... 614

Properties ............................................................................................................................. 614

Remarks ............................................................................................................................... 614

PasteFromClipboard Method.................................................................................................... 614

Syntax ................................................................................................................................... 614

Properties ............................................................................................................................. 614

PasteSpecial Method ................................................................................................................ 615

Syntax ................................................................................................................................... 615

Properties ............................................................................................................................. 615

Remarks ............................................................................................................................... 615

cxviii
iFIX Automation Reference

Pause Method........................................................................................................................... 615

Syntax ................................................................................................................................... 615

Properties ............................................................................................................................. 615

Remarks ............................................................................................................................... 616

PauseAlarmRead Method ........................................................................................................ 616

Syntax ................................................................................................................................... 616

Properties ............................................................................................................................. 616

Remarks ............................................................................................................................... 616

PercentageToLogical Method................................................................................................... 616

Syntax ................................................................................................................................... 616

Properties ............................................................................................................................. 617

PercentageToPixel Method ...................................................................................................... 617

Syntax ................................................................................................................................... 617

Properties ............................................................................................................................. 617

PixelToPercentage Method ...................................................................................................... 618

Syntax ................................................................................................................................... 618

Properties ............................................................................................................................. 618

PrintChart Method..................................................................................................................... 619

Syntax ................................................................................................................................... 619

Properties ............................................................................................................................. 619

Remarks ............................................................................................................................... 620

PrintOut Method........................................................................................................................ 620

Syntax ................................................................................................................................... 620

Properties ............................................................................................................................. 620

Return Value ......................................................................................................................... 620

PromptToChangePassword Method ........................................................................................ 620

Syntax ................................................................................................................................... 620

Properties ............................................................................................................................. 621

cxix
iFIX Automation Reference

Return Value ......................................................................................................................... 621

Q-R ............................................................................................................................................... 621

Quit Method .............................................................................................................................. 621

Syntax ................................................................................................................................... 621

Properties ............................................................................................................................. 621

Read Method ............................................................................................................................ 622

Syntax ................................................................................................................................... 622

Properties ............................................................................................................................. 622

Refresh Method ........................................................................................................................ 622

Syntax ................................................................................................................................... 622

Properties ............................................................................................................................. 622

RefreshChartData Method ........................................................................................................ 623

Syntax ................................................................................................................................... 623

Properties ............................................................................................................................. 623

Remove Method ....................................................................................................................... 623

Syntax ................................................................................................................................... 623

Properties ............................................................................................................................. 623

DataItems and Groups Collection Syntax............................................................................. 623

Properties ............................................................................................................................. 624

RemoveAll Method ................................................................................................................... 624

Syntax ................................................................................................................................... 624

Properties ............................................................................................................................. 624

RemoveAllLevels Method ......................................................................................................... 624

Syntax ................................................................................................................................... 624

Properties ............................................................................................................................. 624

RemoveItem Method ................................................................................................................ 625

Syntax ................................................................................................................................... 625

Properties ............................................................................................................................. 625

cxx
iFIX Automation Reference

RemoveKeyMacro Method ....................................................................................................... 625

Syntax ................................................................................................................................... 625

Properties ............................................................................................................................. 625

RemoveLegendItem Method .................................................................................................... 626

Syntax ................................................................................................................................... 626

Properties ............................................................................................................................. 626

RemoveLevel Method ............................................................................................................... 626

Syntax ................................................................................................................................... 626

Properties ............................................................................................................................. 627

RemoveObject Method ............................................................................................................. 627

Syntax ................................................................................................................................... 627

Properties ............................................................................................................................. 627

Remarks ............................................................................................................................... 627

RemovePictureFromStartupList Method .................................................................................. 627

Syntax ................................................................................................................................... 627

Properties ............................................................................................................................. 628

ReplaceDocument Method ....................................................................................................... 628

Syntax ................................................................................................................................... 628

Properties ............................................................................................................................. 628

Return Value ......................................................................................................................... 628

Remarks ............................................................................................................................... 628

ReplaceInString Method ........................................................................................................... 629

Syntax ................................................................................................................................... 629

Properties ............................................................................................................................. 629

Remarks ............................................................................................................................... 630

Replace_QT_Pic Method ......................................................................................................... 630

Syntax ................................................................................................................................... 630

Properties ............................................................................................................................. 630

cxxi
iFIX Automation Reference

Replace_TCP_Pic Method ....................................................................................................... 630

Syntax ................................................................................................................................... 631

Properties ............................................................................................................................. 631

Replace_TS_Pic Method .......................................................................................................... 631

Syntax ................................................................................................................................... 631

Properties ............................................................................................................................. 631

Replace_TS_Pic_Type Method ................................................................................................ 631

Syntax ................................................................................................................................... 631

Properties ............................................................................................................................. 631

ResetChartData Method ........................................................................................................... 632

Syntax ................................................................................................................................... 632

Properties ............................................................................................................................. 632

ResetObjectStats Method ......................................................................................................... 632

Syntax ................................................................................................................................... 632

Properties ............................................................................................................................. 632

ResetStats Method ................................................................................................................... 633

Syntax ................................................................................................................................... 633

Properties ............................................................................................................................. 633

ResetZoom Method .................................................................................................................. 633

Syntax ................................................................................................................................... 633

Properties ............................................................................................................................. 633

Remarks ............................................................................................................................... 634

ResolveTagGroupFile Method.................................................................................................. 634

Syntax ................................................................................................................................... 634

Properties ............................................................................................................................. 634

Remarks ............................................................................................................................... 634

Resume Method ....................................................................................................................... 634

Syntax ................................................................................................................................... 634

cxxii
iFIX Automation Reference

Properties ............................................................................................................................. 635

Remarks ............................................................................................................................... 635

ResumeAlarmRead Method ..................................................................................................... 635

Syntax ................................................................................................................................... 635

Properties ............................................................................................................................. 635

Remarks ............................................................................................................................... 635

RetrieveDefinition Method ........................................................................................................ 635

Syntax ................................................................................................................................... 635

Properties ............................................................................................................................. 636

RetrieveTagGroupVariables Method ........................................................................................ 636

Syntax ................................................................................................................................... 636

Properties ............................................................................................................................. 636

Remarks ............................................................................................................................... 636

Rotate Method .......................................................................................................................... 637

Syntax ................................................................................................................................... 637

Properties ............................................................................................................................. 637

RunObject Method .................................................................................................................... 637

Syntax ................................................................................................................................... 637

Properties ............................................................................................................................. 637

Remarks ............................................................................................................................... 638

S ................................................................................................................................................... 638

Save Method............................................................................................................................. 638

DocumentsCollection Object Syntax .................................................................................... 638

Properties ............................................................................................................................. 638

Remarks ............................................................................................................................... 639

Document Object Syntax ...................................................................................................... 639

Properties ............................................................................................................................. 639

Remarks ............................................................................................................................... 639

cxxiii
iFIX Automation Reference

Save_TS_List Method .............................................................................................................. 640

Syntax ................................................................................................................................... 640

Properties ............................................................................................................................. 640

SaveAsSVG Method ................................................................................................................. 640

Syntax ................................................................................................................................... 640

Properties ............................................................................................................................. 640

SaveToHistoryList Method ....................................................................................................... 641

Syntax ................................................................................................................................... 641

Properties ............................................................................................................................. 641

Return Value ......................................................................................................................... 641

ScrollBack Method .................................................................................................................... 641

Syntax ................................................................................................................................... 641

Properties ............................................................................................................................. 641

ScrollForward Method .............................................................................................................. 642

Syntax ................................................................................................................................... 642

Properties ............................................................................................................................. 642

ScrollTimeBack Method ............................................................................................................ 642

Syntax ................................................................................................................................... 642

Properties ............................................................................................................................. 642

ScrollTimeForward Method ...................................................................................................... 642

Syntax ................................................................................................................................... 642

Properties ............................................................................................................................. 643

Select Method ........................................................................................................................... 643

Syntax ................................................................................................................................... 643

Properties ............................................................................................................................. 643

SelectAlarmRow Method .......................................................................................................... 643

Syntax ................................................................................................................................... 643

Properties ............................................................................................................................. 643

cxxiv
iFIX Automation Reference

Return Value ......................................................................................................................... 644

Remarks ............................................................................................................................... 644

SelectAll Method ....................................................................................................................... 644

Syntax ................................................................................................................................... 644

Properties ............................................................................................................................. 644

SelectObject Method ................................................................................................................ 644

Syntax ................................................................................................................................... 645

Properties ............................................................................................................................. 645

Remarks ............................................................................................................................... 645

SendOperatorMessage Method ............................................................................................... 645

Syntax ................................................................................................................................... 645

Properties ............................................................................................................................. 645

SendSignedOperatorMessage Method .................................................................................... 646

Syntax ................................................................................................................................... 646

Properties ............................................................................................................................. 646

Return Value ......................................................................................................................... 646

SendToBack Method ................................................................................................................ 646

Syntax ................................................................................................................................... 647

Properties ............................................................................................................................. 647

Remarks ............................................................................................................................... 647

SetContinuousUser Method ..................................................................................................... 647

Syntax ................................................................................................................................... 647

Properties ............................................................................................................................. 647

Return Value ......................................................................................................................... 647

SetCurrrentValue Method ......................................................................................................... 648

Syntax ................................................................................................................................... 648

Properties ............................................................................................................................. 648

SetDispatch Method ................................................................................................................. 648

cxxv
iFIX Automation Reference

SetDispid Method ..................................................................................................................... 648

SetDuration Method .................................................................................................................. 648

Syntax ................................................................................................................................... 648

Properties ............................................................................................................................. 648

SetGlobalDuration Method ....................................................................................................... 649

Syntax ................................................................................................................................... 649

Properties ............................................................................................................................. 649

SetGlobalHistoricalUpdateRate Method ................................................................................... 649

Syntax ................................................................................................................................... 650

Properties ............................................................................................................................. 650

SetGlobalMovingEndTimeToCurrent Method .......................................................................... 650

Syntax ................................................................................................................................... 650

Properties ............................................................................................................................. 650

SetFocusToComboBox Method ............................................................................................... 650

Syntax ................................................................................................................................... 650

Properties ............................................................................................................................. 651

SetIndirectionInfo Method ......................................................................................................... 651

SetInterval Method ................................................................................................................... 651

Syntax ................................................................................................................................... 651

Properties ............................................................................................................................. 651

SetKeyCombination Method ..................................................................................................... 651

Syntax ................................................................................................................................... 652

Properties ............................................................................................................................. 652

SetLegendMask Method ........................................................................................................... 652

Syntax ................................................................................................................................... 652

Properties ............................................................................................................................. 652

Remarks ............................................................................................................................... 653

SetNumericFormat Method ...................................................................................................... 654

cxxvi
iFIX Automation Reference

Syntax ................................................................................................................................... 654

Properties ............................................................................................................................. 654

SetPenDataArray Method ......................................................................................................... 654

Syntax ................................................................................................................................... 654

Properties ............................................................................................................................. 654

SetPointAt Method .................................................................................................................... 655

Syntax ................................................................................................................................... 655

Properties ............................................................................................................................. 655

Remarks ............................................................................................................................... 655

SetPriorityColor Method ........................................................................................................... 655

Syntax ................................................................................................................................... 656

Properties ............................................................................................................................. 656

SetProperty Method .................................................................................................................. 656

Syntax ................................................................................................................................... 656

Properties ............................................................................................................................. 656

Remarks ............................................................................................................................... 657

SetScriptWindow Method ......................................................................................................... 657

Syntax ................................................................................................................................... 657

Properties ............................................................................................................................. 657

Remarks ............................................................................................................................... 657

SetSource Method .................................................................................................................... 657

Syntax ................................................................................................................................... 658

Properties ............................................................................................................................. 658

Remarks ............................................................................................................................... 658

SetStatusColor Method ............................................................................................................ 658

Syntax ................................................................................................................................... 658

Properties ............................................................................................................................. 658

SetStatusFont Method .............................................................................................................. 659

cxxvii
iFIX Automation Reference

Syntax ................................................................................................................................... 659

Properties ............................................................................................................................. 660

Remarks ............................................................................................................................... 661

SetStringFormat Method .......................................................................................................... 661

Syntax ................................................................................................................................... 661

Properties ............................................................................................................................. 661

SetTabSelection Method .......................................................................................................... 661

Syntax ................................................................................................................................... 661

Properties ............................................................................................................................. 661

Return Value ......................................................................................................................... 662

SetTimeBeforeNow Method ..................................................................................................... 662

Syntax ................................................................................................................................... 662

Properties ............................................................................................................................. 662

Remarks ............................................................................................................................... 662

SetTimeCursorTime Method .................................................................................................... 662

Syntax ................................................................................................................................... 663

Properties ............................................................................................................................. 663

Remarks ............................................................................................................................... 663

SetWindowLocation Method ..................................................................................................... 663

Syntax ................................................................................................................................... 663

Properties ............................................................................................................................. 663

Remarks ............................................................................................................................... 664

ShowAnimations Method .......................................................................................................... 664

Syntax ................................................................................................................................... 664

Properties ............................................................................................................................. 664

ShowBrowseDialog Method ..................................................................................................... 665

Syntax ................................................................................................................................... 665

Properties ............................................................................................................................. 665

cxxviii
iFIX Automation Reference

ShowColorBox Method ............................................................................................................. 665

Syntax ................................................................................................................................... 665

Properties ............................................................................................................................. 665

ShowColorSelection Method .................................................................................................... 665

Syntax ................................................................................................................................... 666

Properties ............................................................................................................................. 666

Remarks ............................................................................................................................... 666

ShowCustomPages Method ..................................................................................................... 666

Syntax ................................................................................................................................... 666

Properties ............................................................................................................................. 666

ShowPipePreviewDialog Method ............................................................................................. 666

Syntax ................................................................................................................................... 667

Properties ............................................................................................................................. 667

ShowTaskWizard Method ......................................................................................................... 667

Syntax ................................................................................................................................... 667

Properties ............................................................................................................................. 667

ShowVBAProcedure Method .................................................................................................... 667

Syntax ................................................................................................................................... 667

Properties ............................................................................................................................. 667

Remarks ............................................................................................................................... 668

ShowVisualBasicEditor Method................................................................................................ 668

Syntax ................................................................................................................................... 668

Properties ............................................................................................................................. 668

SilenceAlarmHorn Method ........................................................................................................ 668

Syntax ................................................................................................................................... 669

Properties ............................................................................................................................. 669

Remarks ............................................................................................................................... 669

SnapObjectsToGrid Method ..................................................................................................... 669

cxxix
iFIX Automation Reference

Syntax ................................................................................................................................... 669

Properties ............................................................................................................................. 669

Remarks ............................................................................................................................... 669

SpaceEvenly Method ................................................................................................................ 670

Syntax ................................................................................................................................... 670

Properties ............................................................................................................................. 670

Remarks ............................................................................................................................... 670

StartEvent Method .................................................................................................................... 670

Syntax ................................................................................................................................... 670

Properties ............................................................................................................................. 670

StartTimer Method .................................................................................................................... 671

Syntax ................................................................................................................................... 671

Properties ............................................................................................................................. 671

Remarks ............................................................................................................................... 671

StickToCursor Method .............................................................................................................. 671

Syntax ................................................................................................................................... 671

Properties ............................................................................................................................. 671

Remarks ............................................................................................................................... 671

StopEvent Method .................................................................................................................... 672

Syntax ................................................................................................................................... 672

Properties ............................................................................................................................. 672

StopTimer Method .................................................................................................................... 672

Syntax ................................................................................................................................... 672

Properties ............................................................................................................................. 672

Stretch Method ......................................................................................................................... 672

Syntax ................................................................................................................................... 672

Properties ............................................................................................................................. 673

SwitchLanguage Method .......................................................................................................... 673

cxxx
iFIX Automation Reference

Syntax ................................................................................................................................... 673

Properties ............................................................................................................................. 673

SwitchMode Method ................................................................................................................. 674

Syntax ................................................................................................................................... 674

Properties ............................................................................................................................. 674

Remarks ............................................................................................................................... 675

SynchronizeSecurity Method .................................................................................................... 675

Syntax ................................................................................................................................... 675

Properties ............................................................................................................................. 675

Remarks ............................................................................................................................... 676

T .................................................................................................................................................... 676

TagGroupSubstitution Method.................................................................................................. 676

Syntax ................................................................................................................................... 676

Properties ............................................................................................................................. 676

Remarks ............................................................................................................................... 676

TagGroupValue Method ........................................................................................................... 677

Syntax ................................................................................................................................... 677

Properties ............................................................................................................................. 677

Remarks ............................................................................................................................... 677

U-Z ................................................................................................................................................ 677

UIActivate Method .................................................................................................................... 677

Syntax ................................................................................................................................... 677

Properties ............................................................................................................................. 677

UIDeActivate Method ................................................................................................................ 678

Syntax ................................................................................................................................... 678

Properties ............................................................................................................................. 678

Undo Method ............................................................................................................................ 678

Syntax ................................................................................................................................... 678

cxxxi
iFIX Automation Reference

Properties ............................................................................................................................. 678

Remarks ............................................................................................................................... 678

UndoTransaction Method ......................................................................................................... 678

Syntax ................................................................................................................................... 679

Properties ............................................................................................................................. 679

Settings ................................................................................................................................. 679

UndoZoom Method ................................................................................................................... 679

Syntax ................................................................................................................................... 679

Properties ............................................................................................................................. 679

Remarks ............................................................................................................................... 680

UnGroup Method ...................................................................................................................... 680

Syntax ................................................................................................................................... 680

Properties ............................................................................................................................. 680

Remarks ............................................................................................................................... 680

UnloadTagGroupFile Method ................................................................................................... 680

Syntax ................................................................................................................................... 680

Properties ............................................................................................................................. 680

Remarks ............................................................................................................................... 681

Update_A_Dynamo_By_Name Method ................................................................................... 681

Syntax ................................................................................................................................... 681

Properties ............................................................................................................................. 681

Update_A_Dynamo_By_Name2 Method ................................................................................. 682

Syntax ................................................................................................................................... 682

Properties ............................................................................................................................. 682

Update_A_Dynamo_By_Ref Method ....................................................................................... 684

Syntax ................................................................................................................................... 684

Properties ............................................................................................................................. 685

Update_A_Dynamo_By_Ref2 Method ..................................................................................... 685

cxxxii
iFIX Automation Reference

Syntax ................................................................................................................................... 686

Properties ............................................................................................................................. 686

UpdateBackgroundObject Method ........................................................................................... 688

Syntax ................................................................................................................................... 688

Properties ............................................................................................................................. 688

UpdateConnectionParameters Method .................................................................................... 688

Syntax ................................................................................................................................... 688

Properties ............................................................................................................................. 688

Remarks ............................................................................................................................... 689

UpdateDefinition Method .......................................................................................................... 689

Syntax ................................................................................................................................... 689

Properties ............................................................................................................................. 689

Remarks ............................................................................................................................... 690

UserFormPointToLogical Method ............................................................................................. 690

Syntax ................................................................................................................................... 690

Properties ............................................................................................................................. 690

Remarks ............................................................................................................................... 691

ValidateSignature Method ........................................................................................................ 691

Syntax ................................................................................................................................... 691

Properties ............................................................................................................................. 691

Return Value ......................................................................................................................... 692

ValidateSignatureAndWriteValue Method ................................................................................ 692

Syntax ................................................................................................................................... 692

Properties ............................................................................................................................. 692

Return Value ......................................................................................................................... 693

ValidateSource Method ............................................................................................................ 693

Syntax ................................................................................................................................... 693

Properties ............................................................................................................................. 693

cxxxiii
iFIX Automation Reference

ValueTimeFromXY Method ...................................................................................................... 694

Syntax ................................................................................................................................... 694

Properties ............................................................................................................................. 694

Write Method ............................................................................................................................ 695

DataItem Object Syntax ........................................................................................................ 695

Properties ............................................................................................................................. 695

Group (DataSystem) Object Syntax ..................................................................................... 695

Properties ............................................................................................................................. 695

WritePictureToImageFile Method ............................................................................................. 695

Syntax ................................................................................................................................... 695

Properties ............................................................................................................................. 695

XYFromValueTime Method ...................................................................................................... 696

Syntax ................................................................................................................................... 696

Properties ............................................................................................................................. 696

XYHitTest Method..................................................................................................................... 697

Syntax ................................................................................................................................... 697

Properties ............................................................................................................................. 697

Remarks ............................................................................................................................... 698

Zoom Method............................................................................................................................ 698

Syntax ................................................................................................................................... 698

Properties ............................................................................................................................. 698

Events ........................................................................................................................................... 699

Event Summary ........................................................................................................................ 699

A-B ............................................................................................................................................ 699

C ............................................................................................................................................... 699

D ............................................................................................................................................... 699

E-H ............................................................................................................................................ 699

I-J .............................................................................................................................................. 700

cxxxiv
iFIX Automation Reference

K ............................................................................................................................................... 700

L ................................................................................................................................................ 700

M-N ........................................................................................................................................... 700

O ............................................................................................................................................... 700

P-R ............................................................................................................................................ 701

S-V ............................................................................................................................................ 701

W-Z ........................................................................................................................................... 701

A-D ................................................................................................................................................ 701

Activated Event ......................................................................................................................... 701

Syntax ................................................................................................................................... 701

Properties ............................................................................................................................. 701

AfterKillFocus Event ................................................................................................................. 702

Syntax ................................................................................................................................... 702

Properties ............................................................................................................................. 702

AlarmAck Event ........................................................................................................................ 702

Syntax ................................................................................................................................... 702

Properties ............................................................................................................................. 702

AlarmAcknowledged Event ....................................................................................................... 702

Syntax ................................................................................................................................... 702

Properties ............................................................................................................................. 703

Remarks ............................................................................................................................... 703

AlarmListChanged Event .......................................................................................................... 703

Syntax ................................................................................................................................... 703

Properties ............................................................................................................................. 703

Remarks ............................................................................................................................... 703

Click Event ................................................................................................................................ 704

Syntax ................................................................................................................................... 704

Properties ............................................................................................................................. 704

cxxxv
iFIX Automation Reference

Remarks ............................................................................................................................... 704

Close Event .............................................................................................................................. 704

Syntax ................................................................................................................................... 704

Properties ............................................................................................................................. 705

ColorChanged Event ................................................................................................................ 705

Syntax ................................................................................................................................... 705

Properties ............................................................................................................................. 705

DataChange Event ................................................................................................................... 705

Syntax ................................................................................................................................... 705

Properties ............................................................................................................................. 706

Event Firing Definition........................................................................................................... 706

Using the DataChange Event in a Datalink .......................................................................... 707

To create your own object: ................................................................................................... 707

DblClick Event .......................................................................................................................... 707

Syntax ................................................................................................................................... 707

Properties ............................................................................................................................. 707

Remarks ............................................................................................................................... 707

Alarm Summary Syntax ........................................................................................................ 708

Properties ............................................................................................................................. 708

DeActivated Event .................................................................................................................... 708

Syntax ................................................................................................................................... 708

Properties ............................................................................................................................. 708

Remarks ............................................................................................................................... 708

E-N ................................................................................................................................................ 709

Edit Event ................................................................................................................................. 709

Syntax ................................................................................................................................... 709

Properties ............................................................................................................................. 709

Remarks ............................................................................................................................... 709

cxxxvi
iFIX Automation Reference

EditChange Event ..................................................................................................................... 709

Syntax ................................................................................................................................... 709

Properties ............................................................................................................................. 710

Initialize Event........................................................................................................................... 710

Syntax ................................................................................................................................... 710

Properties ............................................................................................................................. 710

InitializeConfigure Event ........................................................................................................... 710

Syntax ................................................................................................................................... 710

Properties ............................................................................................................................. 710

KeyDown Event ........................................................................................................................ 711

Syntax ................................................................................................................................... 711

Properties ............................................................................................................................. 711

Settings ................................................................................................................................. 711

Remarks ............................................................................................................................... 711

KeyUp Event ............................................................................................................................. 712

Syntax ................................................................................................................................... 712

Properties ............................................................................................................................. 712

Settings ................................................................................................................................. 712

Remarks ............................................................................................................................... 713

LMouseClick Event ................................................................................................................... 713

Syntax ................................................................................................................................... 713

Properties ............................................................................................................................. 713

LoadedTagGroup Event ........................................................................................................... 713

Syntax ................................................................................................................................... 713

Properties ............................................................................................................................. 714

MouseDown Event.................................................................................................................... 714

Syntax ................................................................................................................................... 714

Properties ............................................................................................................................. 714

cxxxvii
iFIX Automation Reference

Settings ................................................................................................................................. 714

Remarks ............................................................................................................................... 715

MouseMove Event .................................................................................................................... 716

Syntax ................................................................................................................................... 716

Properties ............................................................................................................................. 716

Settings ................................................................................................................................. 716

Remarks ............................................................................................................................... 717

MouseUp Event ........................................................................................................................ 717

Syntax ................................................................................................................................... 717

Properties ............................................................................................................................. 717

Settings ................................................................................................................................. 718

Remarks ............................................................................................................................... 719

MouseUpOffObject Event ......................................................................................................... 719

Syntax ................................................................................................................................... 719

Properties ............................................................................................................................. 719

Remarks ............................................................................................................................... 719

NewAlarm Event ....................................................................................................................... 720

Syntax ................................................................................................................................... 720

Properties ............................................................................................................................. 720

Remarks ............................................................................................................................... 720

O-Z ................................................................................................................................................ 721

OnChange Event ...................................................................................................................... 721

Syntax ................................................................................................................................... 721

Properties ............................................................................................................................. 721

OnChartFull Event .................................................................................................................... 721

Syntax ................................................................................................................................... 721

Properties ............................................................................................................................. 721

Remarks ............................................................................................................................... 721

cxxxviii
iFIX Automation Reference

OnChartRefresh Event ............................................................................................................. 722

Syntax ................................................................................................................................... 722

Properties ............................................................................................................................. 722

OnFalse Event .......................................................................................................................... 722

Syntax ................................................................................................................................... 722

Properties ............................................................................................................................. 722

Remarks ............................................................................................................................... 722

OnPenSelect Event .................................................................................................................. 723

Syntax ................................................................................................................................... 723

Properties ............................................................................................................................. 723

OnTimeOut Event ..................................................................................................................... 723

Syntax ................................................................................................................................... 723

Properties ............................................................................................................................. 723

OnTrue Event ........................................................................................................................... 724

Syntax ................................................................................................................................... 724

Properties ............................................................................................................................. 724

Remarks ............................................................................................................................... 724

RMouseClick Event .................................................................................................................. 724

Syntax ................................................................................................................................... 724

Properties ............................................................................................................................. 725

SelectionChanged Event .......................................................................................................... 725

SeverityIncreased Event ........................................................................................................... 725

Syntax ................................................................................................................................... 725

Properties ............................................................................................................................. 725

UIDeactivate Event ................................................................................................................... 726

WhileFalse Event ...................................................................................................................... 726

Syntax ................................................................................................................................... 726

Properties ............................................................................................................................. 726

cxxxix
iFIX Automation Reference

Remarks ............................................................................................................................... 726

WhileTrue Event ....................................................................................................................... 726

Syntax ................................................................................................................................... 726

Properties ............................................................................................................................. 726

Remarks ............................................................................................................................... 727

Subroutines ................................................................................................................................... 729

Subroutine Summary .................................................................................................................... 729

A-B ............................................................................................................................................ 729

C ............................................................................................................................................... 729

D ............................................................................................................................................... 729

E ............................................................................................................................................... 729

F-K ............................................................................................................................................ 729

L-N ............................................................................................................................................ 730

O ............................................................................................................................................... 730

P-Q ........................................................................................................................................... 730

R ............................................................................................................................................... 731

S ............................................................................................................................................... 731

T ................................................................................................................................................ 731

U-Z ............................................................................................................................................ 731

A-F ................................................................................................................................................ 732

AcknowledgeAllAlarms Subroutine........................................................................................... 732

Syntax ................................................................................................................................... 732

Properties ............................................................................................................................. 732

Remarks ............................................................................................................................... 732

AcknowledgeAnAlarm Subroutine ............................................................................................ 733

Syntax ................................................................................................................................... 733

Properties ............................................................................................................................. 733

AlarmHornEnabled Subroutine ................................................................................................. 733

cxl
iFIX Automation Reference

Syntax ................................................................................................................................... 734

Properties ............................................................................................................................. 734

Return Value ......................................................................................................................... 734

AlarmHornEnabledToggle Subroutine ...................................................................................... 734

Syntax ................................................................................................................................... 734

Properties ............................................................................................................................. 734

Return Value ......................................................................................................................... 735

AlarmHornSilence Subroutine .................................................................................................. 735

Syntax ................................................................................................................................... 735

Properties ............................................................................................................................. 735

Remarks ............................................................................................................................... 735

CloseDigitalPoint Subroutine .................................................................................................... 736

Syntax ................................................................................................................................... 736

Properties ............................................................................................................................. 736

Remarks ............................................................................................................................... 736

ClosePicture Subroutine ........................................................................................................... 736

Syntax ................................................................................................................................... 736

Properties ............................................................................................................................. 736

Remarks ............................................................................................................................... 737

DisableAlarm Subroutine .......................................................................................................... 737

Syntax ................................................................................................................................... 737

Properties ............................................................................................................................. 737

EnableAlarm Subroutine ........................................................................................................... 738

Syntax ................................................................................................................................... 738

Properties ............................................................................................................................. 738

FetchLimits Subroutine ............................................................................................................. 739

Syntax ................................................................................................................................... 739

Properties ............................................................................................................................. 739

cxli
iFIX Automation Reference

FindDataSource Subroutine ..................................................................................................... 739

Syntax ................................................................................................................................... 740

Properties ............................................................................................................................. 740

Return Value ......................................................................................................................... 740

Remarks ............................................................................................................................... 740

FindLocalObject Subroutine ..................................................................................................... 740

Syntax ................................................................................................................................... 740

Properties ............................................................................................................................. 740

Return Value ......................................................................................................................... 741

Remarks ............................................................................................................................... 741

G-I ................................................................................................................................................. 741

GeneratePicture Subroutine ..................................................................................................... 741

Syntax ................................................................................................................................... 741

Properties ............................................................................................................................. 741

GetAllConnections Subroutine ................................................................................................. 742

Syntax ................................................................................................................................... 742

Properties ............................................................................................................................. 743

Return Value ......................................................................................................................... 743

GetDecimalSeparator Subroutine............................................................................................. 743

Syntax ................................................................................................................................... 743

Properties ............................................................................................................................. 743

GetFormDynamoColor Subroutine ........................................................................................... 743

Syntax ................................................................................................................................... 744

GetFormNumeric Subroutine.................................................................................................... 744

Syntax ................................................................................................................................... 744

GetFormPushbutton Subroutine ............................................................................................... 744

Syntax ................................................................................................................................... 744

GetFormRamp Subroutine ....................................................................................................... 744

cxlii
iFIX Automation Reference

Syntax ................................................................................................................................... 744

GetFormSlider Subroutine ........................................................................................................ 744

Syntax ................................................................................................................................... 744

GetLocaleInfoA Subroutine ...................................................................................................... 744

Syntax ................................................................................................................................... 745

Properties ............................................................................................................................. 745

Return Value ......................................................................................................................... 745

Remarks ............................................................................................................................... 745

GetUserDefaultLCID Subroutine .............................................................................................. 745

Syntax ................................................................................................................................... 745

Return Value ......................................................................................................................... 745

Remarks ............................................................................................................................... 745

HandleError Subroutine ............................................................................................................ 746

Syntax ................................................................................................................................... 746

Properties ............................................................................................................................. 746

IsUserFxg Subroutine ............................................................................................................... 746

Syntax ................................................................................................................................... 746

Return Value ......................................................................................................................... 746

Remarks ............................................................................................................................... 746

L-R ................................................................................................................................................ 747

LocateObject Subroutine .......................................................................................................... 747

Syntax ................................................................................................................................... 747

Properties ............................................................................................................................. 747

LogIn Subroutine ...................................................................................................................... 747

Syntax ................................................................................................................................... 748

Properties ............................................................................................................................. 748

OffScan Subroutine .................................................................................................................. 748

Syntax ................................................................................................................................... 748

cxliii
iFIX Automation Reference

Properties ............................................................................................................................. 748

OnScan Subroutine .................................................................................................................. 749

Syntax ................................................................................................................................... 749

Properties ............................................................................................................................. 749

OpenDigitalPoint Subroutine .................................................................................................... 750

Syntax ................................................................................................................................... 750

Properties ............................................................................................................................. 750

Remarks ............................................................................................................................... 750

OpenPicture Subroutine ........................................................................................................... 750

Syntax ................................................................................................................................... 750

Properties ............................................................................................................................. 750

Remarks ............................................................................................................................... 751

OpenTGDPicture Subroutine.................................................................................................... 752

Syntax ................................................................................................................................... 752

Properties ............................................................................................................................. 752

Remarks ............................................................................................................................... 753

PictureAlias Subroutine ............................................................................................................ 753

Syntax ................................................................................................................................... 753

Properties ............................................................................................................................. 753

PrintReport Subroutine ............................................................................................................. 754

Syntax ................................................................................................................................... 754

Properties ............................................................................................................................. 754

QuickAdd Subroutine ................................................................................................................ 755

Syntax ................................................................................................................................... 755

Properties ............................................................................................................................. 755

Return Value ......................................................................................................................... 755

RampValue Subroutine ............................................................................................................ 756

Syntax ................................................................................................................................... 756

cxliv
iFIX Automation Reference

Properties ............................................................................................................................. 756

ReadValue Subroutine ............................................................................................................. 757

Syntax ................................................................................................................................... 757

Properties ............................................................................................................................. 757

Return Value ......................................................................................................................... 757

RegCloseKey Subroutine ......................................................................................................... 757

Syntax ................................................................................................................................... 757

Properties ............................................................................................................................. 758

Return Value ......................................................................................................................... 758

Remarks ............................................................................................................................... 758

RegOpenKeyEx Subroutine ..................................................................................................... 758

Syntax ................................................................................................................................... 758

Properties ............................................................................................................................. 758

Return Value ......................................................................................................................... 759

Remarks ............................................................................................................................... 759

ReplacePicture Subroutine ....................................................................................................... 759

Syntax ................................................................................................................................... 759

Properties ............................................................................................................................. 759

Remarks ............................................................................................................................... 760

ReplaceTGDPicture Subroutine ............................................................................................... 761

Syntax ................................................................................................................................... 761

Properties ............................................................................................................................. 761

Remarks ............................................................................................................................... 762

S-Z ................................................................................................................................................ 762

SetAuto Subroutine .................................................................................................................. 762

Syntax ................................................................................................................................... 762

Properties ............................................................................................................................. 762

SetManual Subroutine .............................................................................................................. 763

cxlv
iFIX Automation Reference

Syntax ................................................................................................................................... 763

Properties ............................................................................................................................. 763

ShellExecute Subroutine .......................................................................................................... 764

Syntax ................................................................................................................................... 764

Properties ............................................................................................................................. 764

Return Value ......................................................................................................................... 764

Remarks ............................................................................................................................... 764

ToggleDigitalPoint Subroutine .................................................................................................. 764

Syntax ................................................................................................................................... 765

Properties ............................................................................................................................. 765

ToggleManual Subroutine ........................................................................................................ 765

Syntax ................................................................................................................................... 765

Properties ............................................................................................................................. 765

ToggleScan Subroutine ............................................................................................................ 766

Syntax ................................................................................................................................... 766

Properties ............................................................................................................................. 766

WriteValue Subroutine .............................................................................................................. 767

Syntax ................................................................................................................................... 767

Properties ............................................................................................................................. 767

Database Functions ...................................................................................................................... 769

Database Functions Summary ..................................................................................................... 769

eda_add_block Function .......................................................................................................... 769

Syntax ................................................................................................................................... 769

Properties ............................................................................................................................. 769

Return Value ......................................................................................................................... 770

Remarks ............................................................................................................................... 770

eda_delete_block Function ....................................................................................................... 770

Syntax ................................................................................................................................... 770

cxlvi
iFIX Automation Reference

Properties ............................................................................................................................. 770

Return Value ......................................................................................................................... 770

Remarks ............................................................................................................................... 770

eda_get_pdb_name Function ................................................................................................... 770

Syntax ................................................................................................................................... 771

Properties ............................................................................................................................. 771

Return Value ......................................................................................................................... 771

Remarks ............................................................................................................................... 771

eda_reload_database Function ................................................................................................ 771

Syntax ................................................................................................................................... 772

Properties ............................................................................................................................. 772

Return Value ......................................................................................................................... 772

Remarks ............................................................................................................................... 772

eda_save_database Function .................................................................................................. 772

Syntax ................................................................................................................................... 772

Properties ............................................................................................................................. 772

Return Value ......................................................................................................................... 773

Remarks ............................................................................................................................... 773

eda_type_to_index Function .................................................................................................... 773

Syntax ................................................................................................................................... 773

Properties ............................................................................................................................. 773

Return Value ......................................................................................................................... 774

Remarks ............................................................................................................................... 774

FixGetMyname Function .......................................................................................................... 774

Syntax ................................................................................................................................... 774

Properties ............................................................................................................................. 774

Return Value ......................................................................................................................... 774

Remarks ............................................................................................................................... 775

cxlvii
iFIX Automation Reference

NlsGetText Function ................................................................................................................. 776

Syntax ................................................................................................................................... 776

Properties ............................................................................................................................. 776

Return Value ......................................................................................................................... 776

Remarks ............................................................................................................................... 776

Examples ...................................................................................................................................... 779

Examples ...................................................................................................................................... 779

A ............................................................................................................................................... 779

B ............................................................................................................................................... 780

C ............................................................................................................................................... 780

D ............................................................................................................................................... 781

E ............................................................................................................................................... 782

F ................................................................................................................................................ 783

G ............................................................................................................................................... 784

H ............................................................................................................................................... 786

I-K ............................................................................................................................................. 786

L ................................................................................................................................................ 787

M-N ........................................................................................................................................... 787

O ............................................................................................................................................... 787

P-Q ........................................................................................................................................... 788

R ............................................................................................................................................... 789

S ............................................................................................................................................... 790

T ................................................................................................................................................ 792

U ............................................................................................................................................... 793

V-Z ............................................................................................................................................ 793

A ................................................................................................................................................... 794

AboutBox Method Example ...................................................................................................... 794

AckAlarm Method Example ...................................................................................................... 794

cxlviii
iFIX Automation Reference

AckAlarmPage Method Example .............................................................................................. 794

AckAlarmPageEx Method Example.......................................................................................... 794

AckAllAlarms Method Example ................................................................................................ 794

AcknowledgeAllAlarms Subroutine Example ........................................................................... 795

AcknowledgeAnAlarm Subroutine Example ............................................................................. 795

ActivateWorkspaceUI Method Example ................................................................................... 795

Add Method Example ............................................................................................................... 795

AddDataSet Method Example .................................................................................................. 795

AddEventHandler Method Example ......................................................................................... 796

AddImage Method Example ..................................................................................................... 796

AddLegendItem Method Example ............................................................................................ 796

AddLevel Method Example ....................................................................................................... 796

AddObject Method Example ..................................................................................................... 797

AddPen Method Example ......................................................................................................... 797

AddPictureToStartupList Example............................................................................................ 797

AddPoint Method Example ....................................................................................................... 797

AddProcedure Method Example............................................................................................... 797

AlarmHornEnabled Example .................................................................................................... 798

Example 1 ............................................................................................................................. 798

Example 2 ............................................................................................................................. 798

AlarmHornEnabledToggle Example ......................................................................................... 798

AlarmHornSilence Example ...................................................................................................... 799

Align Method Example .............................................................................................................. 799

ApplyProperty Method Example ............................................................................................... 799

AutoScaleDisplayLimits Method Example ................................................................................ 799

B ................................................................................................................................................... 799

BringToFront Method Example................................................................................................. 799

BuildObject Method Example ................................................................................................... 800

cxlix
iFIX Automation Reference

C ................................................................................................................................................... 800

CanConstruct Method Example................................................................................................ 800

CheckAccountExpiration Method Example .............................................................................. 800

CheckSecurityEnabled Method Example ................................................................................. 801

CheckSyntax Method Example ................................................................................................ 802

CheckUserApplicationAccess Method Example ...................................................................... 802

CheckUserAreaAccess Method Example ................................................................................ 803

Clear Method Example ............................................................................................................. 804

ClearUndo Method Example .................................................................................................... 804

Close Method Example ............................................................................................................ 804

CloseDigitalPoint Subroutine Example ..................................................................................... 805

ClosePicture Subroutine Example ............................................................................................ 805

Commit Method Example ......................................................................................................... 805

Connect Method Example ........................................................................................................ 805

ConnectDataSet Method Example ........................................................................................... 806

ConnectedPropertyCount Method Example ............................................................................. 806

Construct Method Example ...................................................................................................... 806

Convert_A_Group_To_A_Dynamo_By_Name Method Example ............................................806

Convert_A_Group_To_A_Dynamo_By_Ref Method Example ................................................806

ConvertPipe Method Example .................................................................................................. 809

ConvertSecurityAreaNameToNumber Method Example.......................................................... 809

ConvertSecurityAreaNumberToName Method Example.......................................................... 809

Copy Method Example ............................................................................................................. 809

Coupled_Activate_Workspace_UI Method Example................................................................ 810

Coupled_DeActivate_Workspace_UI Method Example ...........................................................810

CopyAsBitmap Method Example .............................................................................................. 810

CreateDynamoByGrouping Method Example .......................................................................... 810

CreateFromDialog Method Example ........................................................................................ 810

cl
iFIX Automation Reference

CreateFromProgID Method Example ....................................................................................... 811

CreateWithMouse Method Example ......................................................................................... 811

Cut Method Example ................................................................................................................ 811

D ................................................................................................................................................... 811

DeActivateWorkspaceUI Method Example .............................................................................. 811

DefaultView Method Example .................................................................................................. 812

DelAlarm Method Example ....................................................................................................... 812

DeleteAllAlarms Method Example ............................................................................................ 812

DeleteAllDataSets Method Example ........................................................................................ 812

DeleteDataSet Method Example .............................................................................................. 812

DeleteImage Method Example ................................................................................................. 813

DeletePen Method Example ..................................................................................................... 813

DeletePoint Method Example ................................................................................................... 815

DeleteSelectedObjects Method Example ................................................................................. 815

DemandFire Method Example .................................................................................................. 815

DeselectObject Method Example ............................................................................................. 816

DestroyObject Method Example ............................................................................................... 816

DisableAlarm Subroutine Example ........................................................................................... 816

DisableNonSelectionEvents Method Example ......................................................................... 816

Disconnect Method Example .................................................................................................... 816

DisplaysControlPoints Method Example .................................................................................. 816

DoesPropertyHaveTargets Method Example ........................................................................... 816

DoExtendLines Method Example ............................................................................................. 817

DoLinestoPolyline Method Example ......................................................................................... 817

DoMenuCommand Method Example ....................................................................................... 817

DoTrimLines Method Example ................................................................................................. 817

DumpProperties Method Example............................................................................................ 818

Duplicate Method Example ....................................................................................................... 818

cli
iFIX Automation Reference

E ................................................................................................................................................... 818

EditPicture Method Example .................................................................................................... 818

Enable Method Example .......................................................................................................... 818

EnableAlarm Subroutine Example............................................................................................ 818

Enumerate_All_Dynamos Method Example ............................................................................. 819

Enumerate_All_Groups Method Example ................................................................................ 819

Enumerate_Top_Level_Dynamos Method Example ................................................................ 821

Enumerate_Top_Level_Groups Method Example ................................................................... 821

ESignature Object Example ..................................................................................................... 823

ExchangePenPositions Method Example ................................................................................ 824

ExportData Method Example.................................................................................................... 824

ExportImage Method Example ................................................................................................. 824

ExportLanguageFile Method Example ..................................................................................... 824

F .................................................................................................................................................... 825

FetchLimits Subroutine Example .............................................................................................. 825

FindAndReplaceDialog Method Example ................................................................................. 825

FindDataSource Subroutine Example ...................................................................................... 825

FindInString Method Example .................................................................................................. 825

FindLocalObject Subroutine Example ...................................................................................... 826

FindObject Method Example .................................................................................................... 826

FindReplaceInObject Method Example .................................................................................... 826

FindReplaceInString Method Example ..................................................................................... 827

FitDocumentToWindow Method Example ................................................................................ 827

FitWindowToDocument Method Example ................................................................................ 827

FixCheckApplicationAccess Method Example ......................................................................... 827

FixCheckApplicationAccessQuiet Method Example................................................................. 828

FixCheckAreaAccess Method Example ................................................................................... 828

FixCheckAreaAccessQuiet Method Example ........................................................................... 828

clii
iFIX Automation Reference

FixCheckSecurityEnabled Method Example ............................................................................ 828

FixGetManualAlmDeleteEnabled Method Example ................................................................. 828

FixGetUserInfo Method Example ............................................................................................. 829

FixLogin Method Example ........................................................................................................ 829

FixLogout Method Example ...................................................................................................... 829

FontProperties Method Example .............................................................................................. 829

FullView Method Example ........................................................................................................ 829

G ................................................................................................................................................... 829

GeneratePicture Subroutine Example ...................................................................................... 829

Get_Last_Prompt_Value Method Example .............................................................................. 830

To view this code in context: ................................................................................................ 832

Get_Last_Result_String Method Example ............................................................................... 832

To view this code in context: ................................................................................................ 834

GetAllConnections Subroutine Example .................................................................................. 835

GetBoundRect Method Example .............................................................................................. 835

GetColHeadings Method Example ........................................................................................... 835

GetColumnInfo Method Example ............................................................................................. 836

GetConnectionInformation Method Example ........................................................................... 836

GetConnectionParameters Method Example ........................................................................... 836

GetContinuousUser Method Example ...................................................................................... 836

GetCurrentDataSet Method Example ....................................................................................... 837

GetCurrentValueWithQuality Method Example ........................................................................ 838

GetCurrentValue Method Example........................................................................................... 838

GetDataSetByPosition Method Example .................................................................................. 838

GetDecimalSeparator Subroutine Example ............................................................................. 839

GetDeviceRect Method Example ............................................................................................. 839

GetDuration Method Example .................................................................................................. 839

GetErrorString Method Example .............................................................................................. 839

cliii
iFIX Automation Reference

GetEventHandlerIndex Method Example ................................................................................. 840

GetFormDynamoColor Subroutine Example ............................................................................ 840

GetFormNumeric Subroutine Example .................................................................................... 840

GetFormPushbutton Subroutine Example ................................................................................ 840

GetFormRamp Subroutine Example ........................................................................................ 840

GetFormSlider Subroutine Example ......................................................................................... 840

GetFullname Method Example ................................................................................................. 840

GetIndirectionInfo Method Example ......................................................................................... 842

GetInterval Method Example .................................................................................................... 842

GetNumberOfDataSets Method Example ................................................................................ 842

GetLevel Method Example ....................................................................................................... 842

GetLocaleInfoA Subroutine Example ....................................................................................... 843

GetObjectInfo Method Example ............................................................................................... 843

GetPenDataArray Method Example ......................................................................................... 844

GetPenDataArrayEx Method Example ..................................................................................... 845

GetPointAt Method Example .................................................................................................... 845

GetPriorityColor Method Example ............................................................................................ 846

GetProcedureIndex Example ................................................................................................... 846

GetProperty Method Example .................................................................................................. 846

GetPropertyAttributes Method Example ................................................................................... 847

GetPropertyTargets Method Example ...................................................................................... 847

GetSelectedAlmExt Method Example ...................................................................................... 847

GetSelectedNodeTag Method Example ................................................................................... 847

GetSelectedRow Method Example........................................................................................... 848

GetSelectedUserDefFields Method Example ........................................................................... 848

GetSignature Method Example ................................................................................................ 849

GetSignatureAndWriteValue Method Example ........................................................................ 850

GetStatusColor Method Example ............................................................................................. 851

cliv
iFIX Automation Reference

GetStatusFont Method Example .............................................................................................. 851

GetTimeBeforeNow Method Example ...................................................................................... 851

GetTimeCursorInfo Method Example ....................................................................................... 852

GetUserDefaultLCID Subroutine Example ............................................................................... 852

GetUserID Method Example..................................................................................................... 852

GetWindowLocation Method Example ..................................................................................... 854

GlobalScrollBackFast Method Example ................................................................................... 854

GlobalScrollBackSlow Method Example .................................................................................. 854

GlobalScrollForwardFast Method Example .............................................................................. 854

GlobalScrollForwardSlow Method Example ............................................................................. 855

GlobalTimerApply Method Example ......................................................................................... 855

Group Method Example ............................................................................................................ 855

H ................................................................................................................................................... 855

HandleError Subroutine Example ............................................................................................. 855

HiLoDisplay Method Example .................................................................................................. 856

I-K ................................................................................................................................................. 856

ImportToolbar Method Example ............................................................................................... 856

Initialize Method Example ......................................................................................................... 857

InitializeList Method Example ................................................................................................... 858

InsertPoint Method Example .................................................................................................... 859

InteractiveExport Method Example........................................................................................... 859

IsColorSelectionVisible Method Example ................................................................................. 859

IsConnected Method Example ................................................................................................. 859

IsEmpty Method Example ......................................................................................................... 860

IsNodeSignEnabled Method Example ...................................................................................... 860

IsSignatureRequired Method Example ..................................................................................... 861

IsSignatureRequiredForList Method Example .......................................................................... 862

IsUserFxg Subroutine Example ................................................................................................ 863

clv
iFIX Automation Reference

Item Method Example ............................................................................................................... 863

L .................................................................................................................................................... 864

ListEvents Method Example ..................................................................................................... 864

ListMethods Method Example .................................................................................................. 864

ListProperties Method Example................................................................................................ 865

ListWindowsGroupNames Method Example ............................................................................ 865

Load_TS_List Method Example ............................................................................................... 865

LoadImage Method Example.................................................................................................... 866

LoadTagGroupFile Example..................................................................................................... 866

LocateObject Subroutine Example ........................................................................................... 866

LogicalToPercentage Method Example ................................................................................... 866

LogicalToUserFormPoint Method Example .............................................................................. 867

LogIn Subroutine Example ....................................................................................................... 867

M-N ............................................................................................................................................... 867

MakeLinesHorizontal Method Example .................................................................................... 867

MakeLinesVertical Method Example ........................................................................................ 867

MakeSameSize Method Example ............................................................................................ 867

Modify Method Example ........................................................................................................... 868

ModifyColumnLength Method Example ................................................................................... 868

Move Method Example ............................................................................................................. 868

NewAlarm Event Example ........................................................................................................ 868

O ................................................................................................................................................... 869

OffScan Subroutine Example ................................................................................................... 869

OnScan Subroutine Example ................................................................................................... 869

Open Method Example ............................................................................................................. 869

Open_QT_Pic Method Example ............................................................................................... 869

Open_QT_Pic_Ex Method Example......................................................................................... 870

Open_TCP_Pic Method Example............................................................................................. 870

clvi
iFIX Automation Reference

Open_TCP_Pic_Ex Method Example ...................................................................................... 870

Open_TS_Pic Method Example ............................................................................................... 870

Open_TS_Pic_Ex Method Example ......................................................................................... 871

Open_TS_Pic_Type Method Example ..................................................................................... 871

Open_TS_Pic_Type_Ex Method Example ............................................................................... 872

OpenDigitalPoint Subroutine Example ..................................................................................... 873

OpenPicture Subroutine Example ............................................................................................ 874

OpenTGDPicture Subroutine Example .................................................................................... 875

P-Q ............................................................................................................................................... 875

ParseConnectionSource Method Example .............................................................................. 875

Paste Method Example ............................................................................................................ 875

PasteSpecial Method Example................................................................................................. 876

Pause Method Example ........................................................................................................... 876

PauseAlarmRead Method Example ......................................................................................... 876

PercentageToLogical Method Example ................................................................................... 876

PercentageToPixel Method Example ....................................................................................... 877

PictureAlias Subroutine Example ............................................................................................. 877

PixelToPercentage Method Example ....................................................................................... 877

PrintChart Method Example ..................................................................................................... 878

PrintOut Method Example ........................................................................................................ 878

PrintReport Subroutine Example .............................................................................................. 878

PromptToChangePassword Method Example ......................................................................... 878

QuickAdd Subroutine Example................................................................................................. 880

Quit Method Example ............................................................................................................... 880

R ................................................................................................................................................... 880

RampValue Subroutine Example ............................................................................................. 880

Read Method Example ............................................................................................................. 880

ReadValue Subroutine Example .............................................................................................. 881

clvii
iFIX Automation Reference

Refresh Method Example ......................................................................................................... 881

RefreshChartData Method Example......................................................................................... 881

RegCloseKey Subroutine Example .......................................................................................... 882

RegOpenKeyEx Subroutine Example ...................................................................................... 883

Remove Method Example ........................................................................................................ 884

RemoveAll Method Example .................................................................................................... 885

RemoveAllLevels Method Example .......................................................................................... 885

RemoveItem Method Example ................................................................................................. 885

RemoveLegendItem Method Example ..................................................................................... 885

RemoveLevel Method Example................................................................................................ 885

RemoveObject Method Example .............................................................................................. 886

ReplacePicture Subroutine Example ........................................................................................ 886

RemovePictureFromStartupList Example ................................................................................ 886

Replace_QT_Pic Method Example .......................................................................................... 886

Replace_TCP_Pic Method Example ........................................................................................ 887

Replace_TS_Pic_Type Method Example ................................................................................. 887

Replace_TS_Pic Method Example ........................................................................................... 887

ReplaceDocument Method Example ........................................................................................ 888

ReplaceInString Method Example ............................................................................................ 888

ReplaceTGDPicture Subroutine Example ................................................................................ 888

ResetChartData Method Example ............................................................................................ 888

ResetObjectStats Method Example.......................................................................................... 889

ResetStats Method Example .................................................................................................... 889

ResetZoom Method Example ................................................................................................... 889

ResolveTagGroupFile Example................................................................................................ 889

Resume Method Example ........................................................................................................ 889

ResumeAlarmRead Method Example ...................................................................................... 890

RetrieveDefinition Method Example ......................................................................................... 890

clviii
iFIX Automation Reference

RetrieveTagGroupVariables Method Example ......................................................................... 890

Rotate Method Example ........................................................................................................... 891

RunObject Method Example..................................................................................................... 891

S ................................................................................................................................................... 891

Save Method Example ............................................................................................................. 891

Save_TS_List Method Example ............................................................................................... 892

SaveAsSVG Method Example.................................................................................................. 892

SaveToHistoryList Method Example ........................................................................................ 892

ScrollBack Method Example..................................................................................................... 892

ScrollForward Method Example ............................................................................................... 893

ScrollTimeBack Method Example............................................................................................. 893

ScrollTimeForward Method Example ....................................................................................... 893

Select Method Example ............................................................................................................ 893

SelectAlarmRow Method Example ........................................................................................... 893

SelectAll Method Example ........................................................................................................ 894

SelectObject Method Example ................................................................................................. 894

SendOperatorMessage Method Example ................................................................................ 894

SendSignedOperatorMessage Method Example ..................................................................... 894

SendToBack Method Example ................................................................................................. 896

SetAuto Subroutine Example ................................................................................................... 896

SetContinuousUser Method Example ...................................................................................... 896

SetCurrentValue Method Example ........................................................................................... 897

SetDispatch Method Example .................................................................................................. 897

SetDispid Method Example ...................................................................................................... 897

SetDuration Method Example ................................................................................................... 897

SetFocusToComboBox Method Example ................................................................................ 897

SetGlobalMovingEndTimeToCurrent Method Example ...........................................................897

SetIndirectionInfo Method Example.......................................................................................... 898

clix
iFIX Automation Reference

SetInterval Method Example .................................................................................................... 898

SetManual Subroutine Example ............................................................................................... 898

SetLegendMask Method Example............................................................................................ 898

SetNumericFormat Method Example ....................................................................................... 898

SetPenDataArray Method Example.......................................................................................... 899

SetPointAt Method Example..................................................................................................... 900

SetPriorityColor Method Example ............................................................................................ 900

SetProperty Method Example ................................................................................................... 900

SetScriptWindow Method Example .......................................................................................... 901

SetSource Method Example ..................................................................................................... 901

SetStatusColor Method Example ............................................................................................. 901

SetStatusFont Method Example ............................................................................................... 901

SetStringFormat Method Example ........................................................................................... 901

SetTabSelection Method Example ........................................................................................... 902

SetTimeBeforeNow Method Example ...................................................................................... 902

SetTimeCursorTime Method Example ..................................................................................... 902

SetWindowLocation Method Example ...................................................................................... 902

ShellExecute Subroutine Example ........................................................................................... 902

ShowAnimations Method Example ........................................................................................... 902

ShowBrowseDialog Method Example ...................................................................................... 903

ShowColorBox Method Example .............................................................................................. 903

ShowColorSelection Method Example ..................................................................................... 903

ShowCustomPages Method Example ...................................................................................... 903

ShowPipePreviewDialog Method Example .............................................................................. 903

ShowTaskWizard Method Example.......................................................................................... 903

ShowVBAProcedure Method Example ..................................................................................... 904

ShowVisualBasicEditor Method Example ................................................................................ 904

AlarmHornSilence Example ...................................................................................................... 904

clx
iFIX Automation Reference

SnapObjectsToGrid Method Example ...................................................................................... 904

SpaceEvenly Method Example................................................................................................. 904

StartEvent Method Example ..................................................................................................... 905

StartTimer Method Example ..................................................................................................... 905

StickToCursor Method Example ............................................................................................... 905

StopEvent Method Example ..................................................................................................... 905

StopTimer Method Example ..................................................................................................... 906

Stretch Method Example .......................................................................................................... 906

SwitchLanguage Method Examples ......................................................................................... 906

SwitchMode Method Example .................................................................................................. 906

SynchronizeSecurity Method Example ..................................................................................... 907

To add a VBA reference to SecuritySynchronizerDLL.DLL:.................................................907

T .................................................................................................................................................... 907

TagGroupSubstitution Method Example .................................................................................. 907

TagGroupValue Method Example ............................................................................................ 908

ToggleDigitalPoint Subroutine Example ................................................................................... 908

ToggleManual Subroutine Example ......................................................................................... 908

ToggleScan Subroutine Example ............................................................................................. 908

U ................................................................................................................................................... 908

UIActivate Method Example ..................................................................................................... 908

UIDeActivate Method Example................................................................................................. 909

Undo Method Example ............................................................................................................. 909

UndoTransaction Method Example .......................................................................................... 909

UndoZoom Method Example .................................................................................................... 909

UnGroup Method Example ....................................................................................................... 909

UnloadTagGroupFile Method Example .................................................................................... 909

Update_A_Dynamo_By_Name Method Example .................................................................... 910

Update_A_Dynamo_By_Name2 Method Example .................................................................. 912

clxi
iFIX Automation Reference

Update_A_Dynamo_By_Ref Method Example ........................................................................912 

To view this code in context: ................................................................................................914 

Update_A_Dynamo_By_Ref2 Method Example ......................................................................915 

To view this code in context: ................................................................................................917 

UpdateBackgroundObject Method Example ............................................................................917 

UpdateConnectionParameters Method Example .....................................................................917 

UpdateDefinition Method Example ...........................................................................................917 

UserFormPointToLogical Method Example ..............................................................................918 

V-Z ................................................................................................................................................919 

ValidateSignature Method Example .........................................................................................919 

ValidateSignatureAndWriteValue Method Example .................................................................920 

ValidateSource Method Example .............................................................................................921 

ValueTimeFromXY Method Example .......................................................................................921 

WritePictureToImageFile Method Example ..............................................................................921 

WriteValue Subroutine Example...............................................................................................921 

Write Method Example .............................................................................................................922 

XYFromValueTime Method Example .......................................................................................922 

XYHitTest Method Example .....................................................................................................922 

Zoom Method Example ............................................................................................................923 

Index .............................................................................................................................................925 

clxii
About this Guide
The iFIX Automation Reference is intended for integrators and programmers who want to develop
applications that access and manipulate information within the Proficy iFIX environment through a set
of automation interfaces. This help file assumes the reader is proficient in the Microsoft® Visual
Basic® programming language.

The following sections provide more details on how to use the objects, properties, methods, events,
subroutines, and database functions associated with iFIX:

 Quick Reference
 Object Summary
 Property Summary
 Method Summary
 Event Summary
 Examples
 Subroutine Summary
 Database Functions Summary

Quick Reference - iFIX Automation


Interfaces
The following list contains all of the iFIX objects, properties, methods, and events that are available in
iFIX. For information on non-iFIX objects, properties, methods, and events, refer to the appropriate
Microsoft Visual Basic help system.

A
AboutBox Method

AckAlarm Method

AckAlarmPage Method

AckAlarmPageEx Method

AckAllAlarms Method

AcknowledgeAllAlarms Subroutine

1
iFIX Automation Reference

AcknowledgeAnAlarm Subroutine

Activated Event

ActivateWorkspaceUI Method

Active Property

ActiveDocument Property

ActiveWindow Property

Add Method

AddDataSet Method

AddEventHandler Method

AddImage Method

AddKeyMacro Method

AddLegendItem Method

AddLevel Method

AddObject Method

AddPen Method

AddPictureToStartupList Method

AddPoint Method

AddProcedure Method

AdvancedGraphics Property

AfterKillFocus Event

Alarm Summary Object

AlarmAck Event

AlarmAcknowledged Event

AlarmHornEnabled Property

AlarmHornEnabled Subroutine

AlarmHornEnabledToggle Subroutine

AlarmHornSilence Subroutine

2
iFIX Automation Reference

AlarmListChanged Event

AlarmRefreshInterval Property

AlarmUserdefField1 Property

AlarmUserdefField2 Property

Align Method

Alignment Property

AllowsDrillDown Property

AllowTimeAxisReset Property

AllowValueAxisReset Property

AlwaysOnTop Property

AnalogError Property

AnalogErrorTag Property

AngleUnits Property

Application Object

Application Property

ApplyProperties Property

ApplyProperty Method

Arc Object

AssignedID Property

Author Property

Autofetch Property

AutoMinMaxPaddingX Property

AutoMinMaxPaddingY Property

AutoScaleDisplayLimits Method

AutoSize Property

AutoUpdateRate Property

AverageDataValue Property

3
iFIX Automation Reference

AxisColor Property

AxisLength Property

AxisTitle Property

B
BackDropBackgroundColor Property

BackDropBackgroundStyle Property

BackDropBlend Property

BackDropBorderColor Property

BackDropBorderStyle Property

BackDropColor Property

BackDropFadeColor Property

BackDropFadeType Property

BackDropGradAngle Property

BackDropStyle Property

BackDropVisible Property

BackgroundColor Property

BackgroundEdgeColor Property

BackgroundEdgeStyle Property

BackgroundEdgeWidth Property

BackgroundStyle Property

BackupSecPath Property

BarVal Property

BasePath Property

Bitmap Object

BitmapGradientMode Property

Blend Property

4
iFIX Automation Reference

BlinkEnabled Property

BlinkRate Property

BorderTypes Property

Bottom Property

BottomCenter Property

BottomLeft Property

BottomRight Property

BottomVisibleRow Property

BoundRect Property

BringToFront Method

BuildObject Method

ButtonState Property

ButtonStyle Property

C
CacheEnabled

Cancel Property

CanConstruct Method

Caption Property

Category Property

Center Property

CenterOfRotation Property

CenterPoint Property

CenterX Property

CenterY Property

CharactersPerLine Property

Chart Object

5
iFIX Automation Reference

ChartFontSize Property

CheckAccountExpiration Method

CheckForAlarmListChanged Property

CheckforDuplicateKeyMacros Method

CheckForNewAlarms Property

CheckForSeverityIncrease Property

CheckSecurityEnabled Method

CheckSyntax Method

CheckUserApplicationAccess

CheckUserAreaAccess Method

Chord Object

ClassName Property

Clear Method

ClearUndo Method

Click Event

Close Event

Close Method

CloseDigitalPoint Subroutine

ClosePicture Subroutine

Color Property

ColorButton Object

ColorChanged Event

ColorTable Property

CombinationKey Property

Comments Property

Commit Method

CompletionStatus Property

6
iFIX Automation Reference

CompletionStatusTag Property

ConfirmDataEntry Property

Connect Method

ConnectDataSet Method

ConnectedPropertyCount Method

ConnectionFailed Property

ConstantLine Property

Construct Method

ContainedObjects Property

ContainedSelections Property

ContextID Property

ControlContainer Object

ControlOrderIndex Property

Convert_A_Group_To_A_Dynamo_By_Name Method

Convert_A_Group_To_A_Dynamo_By_Ref Method

ConvertPipe Method

ConvertSecurityAreaNameToNumber Method

ConvertSecurityAreaNumberToName Method

Copy Method

CopyAsBitmap Method

CopytoClipboard Method

Count Property

Coupled_Activate_Workspace_UI Method

Coupled_DeActivate_Workspace_UI Method

CreateDynamoByGrouping Method

CreateFromDialog Method

CreateFromProgID Method

7
iFIX Automation Reference

CreateWithMouse Method

CurrentDataSet Property

CurrentDataSource Property

CurrentDate Property

CurrentDateDay Property

CurrentDateMonth Property

CurrentDateYear Property

CurrentImage Property

CurrentPen Property

CurrentPicture Property

CurrentTime Property

CurrentTimeHour Property

CurrentTimeMinute Property

CurrentTimeSecond Property

CurrentValue Property

Cut Method

D
DataChange Event

DataEntry Property

DataItem Object

DataItems Object

DataItems Property

DataLink Object

DataRefreshInterval Property

DataServer Object

DataServers Object

8
iFIX Automation Reference

DataServers Property

DataSetColor Property

DataShadows Property

DaylightSavingTime Property

DaysBeforeNow Property

DaysOfMonth Property

DaysOfWeek Property

DblClick Event

DeActivated Event

DeActivateWorkspaceUI Method

Deadband Property

DecimalDigits Property

Default Property

DefaultDataSystem Property

DefaultExternalDatasourceUpdateRate Property

DefaultOutputValue Property

DefaultServer Property

DefaultView Method

DelAlarm Method

DeleteAllAlarms Method

DeleteAllDataSets Method

DeleteDataSet Method

DeleteImage Method

DeletePen Method

DeletePoint Method

DeleteSelectedObjects Method

DemandFire Method

9
iFIX Automation Reference

Description Property

DeselectObject Method

DeskColor Property

DestroyObject Method

DigitalError Property

DigitalErrorTag Property

DigitsOfPrecision Property

DisableAlarm Subroutine

DisableNonSelectionEvents Method

Disconnect Method

DisableAutoScale Property

DisplayLayer Property

DisplayMilliseconds Property

DisplaysControlPoints Method

DisplayStatusBar Property

DisplayString Property

DisplaySystemTree Property

Document Object

DocumentHeight Property

DocumentPath Property

Documents Property

Documents Object

DocumentWidth Property

DoesPropertyHaveTargets Method

DoExtendLines Method

DoLinesToPolyline Method

Domain Property

10
iFIX Automation Reference

DoMenuCommand Method

DoTrimLines Method

DownImageDisplayed Property

DSDescription Property

DSLegendAvgerageOverRangeColWidth Property

DSLegendCurrentValColWidth Property

DSLegendDescriptionColWidth Property

DSLegendHighLimitColWidth Property

DSLegendHighOverRangeColWidth Property

DSLegendLowLimitColWidth Property

DSLegendLowOverRangeColWidth Property

DSLegendMask Property

DSLegendQualityColWidth Property

DSLegendSourceColWidth Property

DSPosition Property

DumpProperties Method

Duplicate Method

Duration Property

Dynamo Object

Dynamo_Description Property

Dynamo_ID Property

DynamoSet Object

E
eda_add_block Function

eda_delete_block Function

eda_get_pdb_name Function

11
iFIX Automation Reference

eda_reload_databse Function

eda_save_database Function

eda_type_to_index Function

EdgeColor Property

EdgeStyle Property

EdgeWidth Property

Edit Event

EditChange Event

EditPicture Method

EditText Property

ElbowStyle Property

Enable Method

EnableAcknowledgeAll Property

EnableAlarm Subroutine

EnableAlarmAcknowledge Property

EnableAlarmDeletion Property

EnableAsVbaControl Property

EnableColumnQuickSort Property

Enabled Property

EnableEndTime Property

EnableGlobalEndTime Property

EnableGlobalScrollPercentage Property

EnableRightMouseClick Property

EnableRunTimeConfiguration Property

EnableTooltips Property

EndAngle Property

EndCap Property

12
iFIX Automation Reference

EndPoint Property

EndTime Property

EndX Property

EndY Property

Enumerate_All_Dynamos Method

Enumerate_All_Groups Method

Enumerate_Top_Level_Dynamos Method

Enumerate_Top_Level_Groups Method

ErrorMode Property

ESignature Object

Event Object

EventParameter Property

EventType Property

ExactMatch Property

ExchangePenPositions Method

Execute Method

ExecuteKeyMacro Method

ExportData Method

ExportImage Method

ExportLanguageFile Method

ExpressionEditor Object

ExtendMaxSpace Property

ExtendType Property

F
FadeColor Property

FadeType Property

13
iFIX Automation Reference

FailedSource Property

FetchDataSetLimits Property

FetchLimits Subroutine

FetchPenLimits Property

FileName Property

FillStyle Property

FilterString Property

FindAndReplaceDialog Method

FindDataSource Function

FindInString Method

FindLocalObject Subroutine

FindObject Method

FindReplace Object

FindReplaceInObject Method

FindReplaceInString Method

FitDocumentToWindow Method

FitWindowToDocument Method

FixApp Object

FixCheckApplicationAccess Method

FixCheckApplicationAccessQuiet Method

FixCheckAreaAccess Method

FixCheckAreaAccessQuiet Method

FixCheckSecurityEnabled Method

FixDataSystem Object

FixedDate Property

FixedTime Property

FixFloatPoint Object

14
iFIX Automation Reference

FixGeometryHelper Object

FixGetManualAlmDeleteEnabled Method

FixGetMyName

FixGetUserInfo Method

FixKeyMacro Collection Object

FixKeyMacro Object

FixLogin Method

FixLogout Method

FixPath Property

Font Property

FontName Property

FontProperties Method

FontSize Property

FontStyle Property

ForceVerticalPoints Property

ForegroundColor Property

ForegroundEdgeColor Property

ForegroundEdgeStyle Property

ForegroundEdgeWidth Property

Format Object

Format Property

FormatDataType Property

FullNameProperty

FullScreen Property

FullView Method

FullyQualifiedName Property

15
iFIX Automation Reference

G
GeneratePicture Function

Get_Last_Prompt_Value Method

Get_Last_Result_String Method

GetAllConnections Subroutine

GetBoundRect Method

GetChartEndTime Method

GetChartStartTime Method

GetColHeadings Method

GetColumnInfo Method

GetConnectionInformation Method

GetConnectionParameters Method

GetContinuousUser Method

GetCurrentDataSet Method

GetCurrentValue Method

GetCurrentValueWithQuality Method

GetDataSetByPosition Method

GetDecimalSeparator Subroutine

GetDeviceRect Method

GetDuration Method

GetErrorString Method

GetEventHandlerIndex Method

GetFormDynamoColor Subroutine

GetFormNumeric Subroutine

GetFormPushbutton Subroutine

GetFormRamp Subroutine

GetFormSlider Subroutine

16
iFIX Automation Reference

GetFullName Method

GetGlobalDuration Method

GetGlobalHistoricalUpdateRate

GetIndirectionInfo Method

GetInterval Method

GetKeyMacro Method

GetKeyMacroIndex Method

GetLevel Method

GetLocaleInfoA Subroutine

GetNumberOfDataSets Method

GetObjectInfo Method

GetPenDataArray Method

GetPenDataArrayEx Method

GetPointAt Method

GetPriorityColor Method

GetProcedureIndex Method

GetProperty Method

GetPropertyAttributes Method

GetPropertyTargets Method

GetRibbonView Method

GetSelectedAlmExt Method

GetSelectedNodeTag Method

GetSelectedRow Method

GetSelectedUserDefFields

GetSignature Method

GetSignatureAndWriteValue Method

GetStatusColor Method

17
iFIX Automation Reference

GetStatusFont Method

GetTimeBeforeNow Method

GetTimeCursorInfo Method

GetUserDefaultLCID Subroutine

GetUserID Method

GetWindowLocation Method

GlobalDuration Property

GlobalEndTime Property

GlobalFastScrollOption Property

GlobalFastScrollRate Property

GlobalHistoricalUpdateRate Property

GlobalMovingEndTime Property

GlobalMovingStartTime Property

GlobalOutputToggle Property

GlobalScrollBackFast Method

GlobalScrollBackSlow Method

GlobalScrollForwardFast Method

GlobalScrollForwardSlow Method

GlobalSlowScrollOption Property

GlobalSlowScrollRate Property

GlobalStartTime Property

GlobalTimerApply Method

GlobalTimerPause Property

GlobalToggle Property

Gradient Property

GradientAngle Property

GraphBackColor Property

18
iFIX Automation Reference

GraphForeColor Property

GraphPlusTable Property

GraphPlusTableMenu Property

GridEnabled Property

GridInFront Property

GridInterval Property

GridLinesToShow Property

GridStyle Property

GridWidth Property

Group Object

Group (DataSystem) Object

Group Method

Groups Object

Groups Property

H
HandleError Subroutine

Height Property

HelpFile Property

HelpPath Property

HideMathFunctionsButton Property

HiDisplay Property

HighestDataValue Property

HighlightedDatasource Property

HighlightEnabled Property

HiInValue Property

HiLimit Property

19
iFIX Automation Reference

HiLoDisplay Method

HiOutValue Property

HistDatalink Object

HistMode Property

HistogramChart Object

HistoricalDataSet Object

HistoricalSampleType Property

HistUpdateRate Property

HorizontalFillDirection Property

HorizontalFillPercentage Property

HorizontalGridColor Property

HorizontalGridStyle Property

HorizontalPosition Property

HorizontalScaleDirection Property

HorizontalScalePercentage Property

I-J
ImageCountProperty

ImportToolbar Method

IncludeDataLabels Property

Index Property

Initialize Event

Initialize Method

InitializeConfigure Event

InitializeList Method

InitialValue Property

InputValue Property

20
iFIX Automation Reference

InsertPoint Method

InteractiveExport Method

Interval Property

IntervalMilliseconds Property

IsColorSelectionVisible Method

IsConnected Method

IsDirty Property

IsEmpty Method

IsInterpolated Property

IsKeyMacroDefined Method

IsModifiable Property

IsNodeSignEnabled Method

IsSelectable Property

IsSelected Property

IsSignatureRequired Method

IsSignatureRequiredForList Method

IsUserFxg Subroutine

Item Method

Item Property

Justification Property

K
Keycode Property

KeyDown Event

KeyUp Event

21
iFIX Automation Reference

L
LabelBold Property

LabelColor Property

LabelFont Property

LabelItalic Property

LabelUnderline Property

LanguageDesired Property

Layer Property

LCL Property

Left Property

LeftCenter Property

Legend Object

Legend Property

LegendAvgOver Property

LegendDesc Property

LegendHeadingLine Property

LegendHigh Property

LegendHighOver Property

LegendInterval Property

LegendItemColor Property

LegendLow Property

LegendLowOver Property

LegendMode Property

LegendTag Property

LegendUnits Property

LegendUser1 Property

LegendUser10 Property

22
iFIX Automation Reference

LegendUser2 Property

LegendUser3 Property

LegendUser4 Property

LegendUser5 Property

LegendUser6 Property

LegendUser7 Property

LegendUser8 Property

LegendUser9 Property

LegendValue Property

Line Object

Linear Object

Linear Property

LineConnector Object

Lines Object

Lines Property

LinesofCode Property

ListEvents Method

ListMethods Method

ListProperties Method

ListWindowsGroupNames Method

LMouseClick Event

Load_TS_List Method

LoadedTagGroup Event

LoadImage Method

LoadTagGroupFile Method

LocateObject Subroutine

LockStartTime Property

23
iFIX Automation Reference

LoDisplay Property

LogicalToPercentage Method

LogicalToUserFormPoint Method

LogIn Subroutine

LoginGroup Property

LoginTimeout Property

LoginUserFullName Property

LoginUserName Property

LoInValue Property

LoLimit Property

Lookup Object

LoOutValue Property

LowestDataValue Property

LWL Property

M
MainTitle Property

MainTitleBold Property

MainTitleFont Property

MainTitleItalic Property

MainTitleUnderline Property

MakeLinesHorizontal Method

MakeLinesVertical Method

MakeSameSize Method

ManualMaxX Property

ManualMaxY Property

ManualMinX Property

24
iFIX Automation Reference

ManualMinY Property

ManualScaleControlX Property

ManualScaleControlY Property

MapMode Property

MarkDataPoints Property

MarkerChar Property

MarkerStyle Property

Master Property

Max_Dynamo_Desc_Length Property

MaxCharactersPerLine Property

MaxLines Property

MaxPts Property

Modify Method

ModifyColumnLength Method

MonoDeskColor Property

MonoGraphBackColor Property

MonoGraphForeColor Property

MonoShadowColor Property

MonoTableBackColor Property

MonoTableForeColor Property

MonoTextColor Property

MouseDown Event

MouseMove Event

MouseUp Event

MouseUpOffObject Event

Move Method

MultipleEGU Property

25
iFIX Automation Reference

MultipleTimes Property

MyNodeName Property

N
Name Property

NewAlarm Event

Next Property

NlsGetText Function

NlsPath Property

NoSaveOnClose Property

NumberOfCharacters Property

NumberOfHorizontalGridLines Property

NumberOfItems Property

NumberOfLines Property

NumberOfPoints Property

NumberOfTargets Property

NumberOfVerticalGridLines Property

NumHGridLines Proeprty

NumLabels Property

NumPointsToGraph Property

NumPts Property

NumRandomSubsets Property

NumScrollingSubsets Property

NumTicks Property

NumVGridLines Property

26
iFIX Automation Reference

O
Object Property

OffScan Subroutine

OnChange Event

OnChartFull Event

OnChartRefresh Event

OnFalse Event

OnPenSelect Event

OnScan Subroutine

OnTimeOut Event

OnTrue Event

OpcAccessPath Property

OpcDataSource Property

OpcProgID Property

OpcServerMachineName Property

Open Method

Open_QT_Pic Method

Open_QT_Pic_Ex Method

Open_TCP_Pic Method

Open_TCP_Pic_Ex Method

Open_TS_Pic Method

Open_TS_Pic_Ex Method

Open_TS_Pic_Type Method

Open_TS_Pic_Type_Ex Method

OpenDigitalPoint Subroutine

OpenPicture Subroutine

OpenTGDPicture Subroutine

27
iFIX Automation Reference

OriginalScreenHeight Property

OriginalScreenWidth Property

OriginX Property

OriginY Property

OutputValue Property

Oval Object

Owner Property

P
Page Property

Parent Property

ParseConnectionSource Method

Paste Method

PasteFromClipboard Method

PasteSpecial Method

Path Property

Pause Method

PauseAlarmRead Method

PauseIndicatorBlink Property

PauseIndicatorColor Property

PauseWithNewAlarmIndicatorBlink Property

PauseWithNewAlarmIndicatorColor Property

Pen Object

PenDescription Property

PenLineColor Property

PenLineStyle Property

PenLineWidth Property

28
iFIX Automation Reference

PenNum Property

Pens Property

PenType Property

PercentageToLogical Method

PercentageToPixel Method

Picture Object

PictureAlias Subroutine

PictureDefaultAlwaysOnTop Property

PictureDefaultBackColor Property

PictureDefaultHeight Property

PictureDefaultResizable Property

PictureDefaultRuntimeVisible Property

PictureDefaultSystemMenu Property

PictureDefaultTitlebar Property

PictureDefaultWidth Property

PictureHeight Property

PictureName Property

PicturePath Property

PictureWidth Property

Pie Object

PieType Property

Pipe Object

PipeConnector Object

PixelToPercentage Method

PlotOnChartRefresh Property

PlottingMethod Property

PointType Property

29
iFIX Automation Reference

Polygon Object

Polyline Object

Previous Property

PrimarySecPath Property

PrintChart Method

PrintOut Method

PrintReport Subroutine

ProcedureDeclaration Property

ProcedureName Property

Procedures Object

Procedures Property

ProcedureStatement Property

ProgId Property

ProjectPath Property

PromptToChangePassword Method

Property1 Property

Property2 Property

Property3 Property

Property4 Property

Property5 Property

Property6 Property

Property7 Property

Property8 Property

Property9 Property

Property10 Property

30
iFIX Automation Reference

Q
Quality Property

QueueEvents Property

QuickAdd Subroutine

QuickStyle Property

Quit Method

R
Radius Property

RampValue Subroutine

RandomSubsetsToGraph Property

RawFormat Property

Read Method

ReadValue Subroutine

RealTimeDataSet Object

RealTimeSPCDataSet Object

RecalculateViewport Property

Rectangle Object

Refresh Method

RefreshChartData Method

RefreshRate Property

RegCloseKey Subroutine

RegOpenKeyEx Subroutine

Remove Method

RemoveAll Method

RemoveAllLevels Method

RemoveItem Method

31
iFIX Automation Reference

RemoveKeyMacro Method

RemoveLegendItem Method

RemoveLevel Method

RemoveNonWindowsUsers Property

RemoveObject Method

RemovePictureFromStartupList Method

Replace_QT_Pic Method

Replace_TCP_Pic Method

Replace_TS_Pic Method

Replace_TS_Pic_Type Method

ReplaceDocument Method

ReplaceInString Method

ReplacePicture Subroutine

ReplaceTGDPicture Subroutine

ResetChartData Method

ResetObjectStats Method

ResetPercentage Property

ResetStats Method

ResetZoom Method

Resizable Property

ResolveSourceName Property

ResolveTagGroupFile Method

Resume Method

ResumeAlarmRead Method

RetrieveDefinition Method

RetrieveTagGroupVariables Method

Revision Property

32
iFIX Automation Reference

RevisionNumberProperty

Right Property

RightAngleLineConnector Object

RightCenter Property

RMouseClick Event

Rotate Method

RotationAngle Property

RoundnessX Property

RoundnessY Property

RoundRectangle Object

RunIndicatorBlink Property

RunIndicatorColor Property

RunObject Method

RuntimeVisible Property

S
Save Method

Save_TS_List Method

SaveAsSVG Method

Saved Property

SaveThumbnail Property

SaveToHistoryList Method

ScalesWidth Property

SchedulePath Property

Scheduler Object

ScreenHeight Property

ScreenWidth Property

33
iFIX Automation Reference

ScriptLine Object

ScriptProcedure Object

ScriptSource Object

ScrollBack Method

ScrollDirection Property

ScrollForward Method

ScrollGrid Property

ScrollItems Property

ScrollPercentage Property

ScrollTimeBack Method

ScrollTimeForward Method

SecondaryImageDisplayed Property

SecurityArea Property

SecuritySynchronizer Object

Select Method

SelectAlarmRow Method

SelectAll Method

SelectedDatasource Property

SelectedFieldName Property

SelectedNodeName Property

SelectedShapes Property

SelectedTagName Property

SelectionChanged Event

SelectionTimeout Property

SelectObject Method

SendAlarmMessages Property

SendOperatorMessage Method

34
iFIX Automation Reference

SendSignedOperatorMessage Method

SendToBack Method

SetAuto Subroutine

SetContinuousUser Method

SetCurrentValue Method

SetDispatch Method

SetDispid Method

SetDuration Method

SetFocusToComboBox Method

SetGlobalDuration Method

SetGlobalEndTimeToCurrent Method

SetGlobalHistoricalUpdateRate Method

SetIndirectionInfo Method

SetInterval Method

SetKeyCombination Method

SetLegendMask Method

SetManual Subroutine

SetNumericFormat Method

SetPenDataArray Method

SetPointAt Method

SetPriorityColor Method

SetProperty Method

SetScriptWindow Method

SetSource Method

SetStatusColor Method

SetStatusFont Method

SetStringFormat Method

35
iFIX Automation Reference

SetTabSelection Method

SetTimeBeforeNow Method

SetTimeCursorTime Method

SetWindowLocation Method

SeverityIncreased Event

ShadowColor Property

SharedTableName Property

ShellExecute Subroutine

ShowAnimations Method

ShowAxis Property

ShowBrowseDialog Method

ShowColorBox Method

ShowColorSelection Method

ShowCustomPages Method

ShowDatabaseTab Property

ShowDataServersTab Property

ShowDate Property

ShowDSLegend Property

ShowGaps Property

ShowGlobalsTab Property

ShowGridLines Property

ShowHeaders Property

ShowHistoricalTab Property

ShowHorizontalGrid Property

ShowLegend Property

ShowLine Property

ShowPicturesTab Property

36
iFIX Automation Reference

ShowPipePreviewDialog Method

ShowRowNumbers Property

ShowScrollBars Property

ShowStatusBar Property

ShowTaskWizard Method

ShowTimeAxis Property

ShowTimeAxisTitle Property

ShowTimeCursor Property

ShowTimeCursorToolTips Property

ShowTimeStamp Property

ShowTitle Property

ShowValueAxis Property

ShowValueAxisTitle Property

ShowVBAProcedure Method

ShowVerticalGrid Property

ShowVisualBasicEditor Method

SilenceAlarmHorn Method

SmoothingMode Property

SnapObjectsToGrid Method

SnapToGrid Property

SortColumnName Property

SortOrderAscending Property

Source Property

Sources Object

Sources Property

SourceValidated Property

SpaceEvenly Method

37
iFIX Automation Reference

SPCBarChart Object

SPCChartType Property

SPCInterval Property

SPCType Property

StartAngle Property

StartCap Property

StartDateMode Property

StartDateType Property

StartEvent Method

StartPoint Property

StartTime Property

StartTimeMode Property

StartTimer Method

StartTimeType Property

StartX Property

StartY Property

Status Property

StatusBar Property

StatusFontSize Property

SteppedTrend Property

StickToCursor Method

StopEvent Method

StopTimer Method

Stretch Method

StrikeThrough Property

SubTitle Property

SubTitleBold Property

38
iFIX Automation Reference

SubTitleFont Property

SubTitleItalic Property

SubTitleUnderline Property

SwitchLanguage Method

SwitchMode Method

SynchronizeSecurity Method

System Object

System Property

SystemMenu Property

T
TableBackColor Property

TableFont Property

TableForeColor Property

Tag Group Object

TagGroupSubstitution Method

TagGroupValue Method

Text Object

TextColor Property

Thickness Property

ThicknessType Property

TimeAxis Object

TimeAxis Property

TimeAxisNumLabels Property

TimeAxisNumTicks Property

TimeAxisTitle Property

TimeBeforeNow Property

39
iFIX Automation Reference

TimeCursorColor Property

TimeCursorPos Property

TimeCursorTooltipColor Property

Timeout Property

Timer Object

TimerEnabled Property

Timestamp Property

TimeZoneBiasExplicit Property

TimeZoneBiasRelative Property

Titlebar Property

ToggleDigitalPoint Subroutine

ToggleManual Subroutine

ToggleRate Property

ToggleScan Subroutine

ToggleSource Property

Tolerance Property

ToolbarManager Object

ToolbarManager Property

ToolbarPath Property

Top Property

TopCenter Property

TopLeft Property

TopRight Property

TopVisibleRow Property

TotalFilteredAlarms Property

TranslateOnOpen Property

Transparency Property

40
iFIX Automation Reference

Transparent Property

TransparentColor Property

TreatSinglePointsAsLines Property

TriggerType Property

TrimMaxLength Property

TrimType Property

Type Property

U
UCL Property

UIActivate Method

UIDeactivate Event

UIDeActivate Method

UnacknowledgedAlarmColor Property

Underline Property

Undo Method

UndoTransaction

UndoZoom Method

UnGroup Method

UniformScale Property

Units Property

UnloadTagGroupFile Method

Update_A_Dynamo_By_Name Method

Update_A_Dynamo_By_Name2 Method

Update_A_Dynamo_By_Ref Method

Update_A_Dynamo_By_Ref2 Method

UpdateBackgroundObject Method

41
iFIX Automation Reference

UpdateConnectionParameters Method

UpdateDefinition Method

UpdateOnPropChange Property

UpdateRate Property

UseDelta Property

UseDomainSecurity Property

UseLocalSecurity Property

UseMarker Property

UserDef1ColumnName Property

UserDef2ColumnName Property

UserFormPointToLogical Method

UserGlobals Object

UserPreferences Object

UserPreferences Property

UseUnacknowledgedAlarmColor Property

UWL Property

V
ValidateSignature Method

ValidateSignatureAndWriteValue Method

ValidateSource Method

Value Property

ValueAxis Object

ValueAxis Property

ValueAxisNumLabels Property

ValueAxisNumTicks Property

ValueAxisTitle Property

42
iFIX Automation Reference

ValueTimeFromXY Method

Variable Object

VariableType Property

Version Property

VerticalFillDirection Property

VerticalFillPercentage Property

VerticalGridColor Property

VerticalGridStyle Property

VerticalPosition Property

VerticalScaleDirection Property

VerticalScalePercentage Property

ViewingStyle Property

ViewportHeight Property

ViewportLeft Property

ViewportTop Property

ViewportWidth Property

Visible Property

VisibleUnacknowledgedAlarms Property

W
WhileFalse Event

WhileTrue Event

WholeDigits Property

Width Property

Window Object

WindowHeightPercentage Property

WindowLeftPercentage Property

43
iFIX Automation Reference

WindowName Property

WindowState Property

WindowTopPercentage Property

WindowWidthPercentage Property

WizardName Property

WorkSpaceStartupMode Property

Write Method

WritePictureFormatType Property

WritePictureOutLocation Property

WritePictureScalePercentage Property

WritePictureToImageFile Method

WriteValue Subroutine

X-Y
X Property

XAxisDatasetPosition Property

XAxisLabel Property

XAxisScaleControl Property

XAxisType Property

XYChart Object

XYFromValueTime Method

XYHitTest Method

Y Property

YAxisLabel Property

YAxisLongTicks Property

YAxisScaleControl Property

44
iFIX Automation Reference

Z
Zoom Method

Zoom Property

ZoomDirection Property

ZoomType Property

Objects

Object Summary
The following list contains the iFIX objects that are available to the Automation Interface. For
information on non iFIX objects, refer to the appropriate help system.

A
Alarm Summary

Application

Arc

B
Bitmap

C
Chart

Chord

Color Button

ControlContainer

45
iFIX Automation Reference

D
DataItem

DataItems

DataLink

DataServer

DataServers

Document

Documents

Dynamo

DynamoSet

E
ESignature

Event

ExpressionEditor

F
FindReplace

FixApp Object

FixDataSystem

FixFloatPoint

FixGeometryHelper

FixKeyMacroCollection

FixKeyMacro

Format

46
IFIX Automation Reference

G-K
Group

Group (DataSystem)

Groups

HistDatalink

HistogramChart

HistoricalDataSet

L-N
Legend

Line

Linear

LineChart

LineConnector

Lines

Lookup

O
Oval

P-Q
Pen

Picture

Pie

Pipe

PipeConnector

Polygon

47
iFIX Automation Reference

Polyline

Procedures

R
RealTimeDataSet

RealTimeSPCDataSet

Rectangle

RightAngleLineConnector

RoundRectangle

S
Scheduler

ScriptLine

ScriptProcedure

ScriptSource

SecuritySynchronizer

Sources

SPCBarChart

System

T-U
Tag Group

Text

TimeAxis

Timer

ToolbarManager

UserGlobals

48
IFIX Automation Reference

UserPreferences

V
ValueAxis

Variable

W-Z
Window

XYChart Object

A-C

Alarm Summary Object


The Alarm Summary object provides operators a real-time list of active alarms, and lets operators see
and respond to the alarms that the computer receives. Operators can respond by acknowledging,
sorting, and filtering alarms as needed.

You can also color-code alarms by alarm status and priority with the Alarm Summary object to
provide visual cues to your operators.

The Alarm Summary object is contained by the ControlContainer object and therefore will inherit
the Properties and Methods of the ControlContainer object.

For more information on the Alarm Summary object, see the "Understanding the Alarm Summary
Object" chapter in the Implementing Alarms and Messages manual.

Application Object
The Application object represents the iFIX WorkSpace application. It includes the properties and
methods that allow you to access and return top-level objects. For example, the ActiveDocument
property returns a Document object.

If you run schedules in the background, you need to be aware that there are actually two different
Application objects - one for the WorkSpace and one for FixBackgroundServer. The
FixBackgroundServer application loads and runs Scheduler documents. It will fire VBA scripts as
the WorkSpace does. However, the FixBackgroundServer application does not compete with the
single VBA thread of the WorkSpace. For more information on the FixBackgroundServer
application, see the "Scheduler" chapter in the Mastering iFIX manual.

49
iFIX Automation Reference

The main difference between the WorkSpace Application object and the FixBackgroundServer
Application object is that the FixBackgroundServer Application object does not provide access to
any windowing or display properties since FixBackgroundServer only runs in the background. The
properties that are available in FixBackgroundServer are:

• Documents

• FixPath

• FullName

• Name

• Object

• Owner

• Parent

• Path

• System

• Version

The methods that are available in FixBackgroundServer are:

• BuildObject

• ShowVisualBasicEditor

Arc Object
The Arc object is an iFIX shape that can be added to a Picture, DynamoSet or UserGlobals object.

Bitmap Object
The Bitmap object is an iFIX shape used to store and display bitmap images that can be added to a
Picture, DynamoSet or UserGlobals object.

Chart Object
The Chart object holds information describing the real-time or historical data that is being collected
and how the data should be displayed.

50
IFIX Automation Reference

Chord Object
The Chord object is an iFIX shape that can be added to a Picture, DynamoSet or UserGlobals object.

ColorButton Object
The ColorButton object is an owner drawn push button ocx. It is associated with the color selection
dialog, which pops up when the user clicks on the button. The dialog allows the user to select a color
from a list of colors and display it on the button face.

The color of the ColorButton can be associated with a color property of an object. By passing on the
object’s dispatch pointer and the dispid of the property to the ColorButton, the user can let the
ColorButton update the property whenever the color is changed.

The ColorButton object is contained by the ControlContainer object and therefore will inherit the
Properties and Methods of the ControlContainer object.

ControlContainer Object
The ControlContainer object is a graphical shape used to support the embedding of third party
ActiveX controls and insertable OLE objects within a picture.

NOTE: If an ActiveX control has the same property or method name as a ControlContainer object
property or method, you will only be able to access the ControlContainer's property or method in VB.
This occurs because COM does not allow duplicates.

D-F

DataItem Object
The DataItem object is a member of the DataItems collection. The name of the DataItem has to be a
data source that exists somewhere in the iFIX data system. Operations available on the DataItem are
Read and Write. A Read operation will read the current value, timestamp, and quality from the data
system and store them in the Value, Timestamp, and Quality variables of the DataItem. A Write
operation will write the passed in value to the data system.

DataItems Object
The DataItems object is a user defined collection of DataItem objects. DataItem objects can be
added and removed from this collection. When adding a DataItem, the DataItem must exist within
the iFIX data system or it will not be added to the collection. DataItem names must be unique.

51
iFIX Automation Reference

DataLink Object
The Datalink object is an iFIX shape used to display data that can be added to a Picture, DynamoSet
or UserGlobals object.

DataServer Object
The DataServer object is an individual data server in the DataServers collection. This object contains
information about the data server such as the server name, OPC access path, OPC data source, OPC
prog ID, OPC server machine name, and default server status.

DataServers Object
The DataServers object is a read-only collection of installed data servers in the iFIX data system. This
is the same list of servers that can be viewed in the DataServerInstaller application.

Document Object
The Document object is the storage for the document, represented by the file name. It is a pointer to
the actual document. The type of document varies between Pictures, Schedules, User Globals, Word
Documents, Excel Spreadsheet, etc. Use the Page object to get to the object model of the underlying
type of document. Also be sure to check the Type property of the Document before using the Page
object.

Documents Object
The collection of the open documents in the WorkSpace, including Pictures, Schedules, Word
Documents, and so forth. The collection also includes the User Global Page but does not include
FactoryGlobals.

Dynamo Object
The Dynamo object is a type of object that stores re-useable work for the user. The Dynamo Object
behaves the same way as a group object, with added functionality. You can make changes to a Master
Dynamo, and update the Dynamo instances, while maintaining animation information within the
Instances.

DynamoSet Object
The DynamoSet object is a type of document (page) that stores re-useable work for the user.

52
IFIX Automation Reference

ESignature Object
The ESignature object is a COM object that implements the IESignature interface. The ESignature
object supports electronic signatures for FIX32 data sources, non-FIX32 data sources, and other
actions, such as recipe download. You can create a script or another application that prompts the
operator to enter an electronic signature using the ESignature object. This allows you to:

• Integrate with badge readers and other signing mechanisms.

• Sign for writes to OPC sources.

• Sign for other actions when writing to multiple data points, such as recipe download.

• The object can be instantiated by both VB/VBA and C/C++ code. You can call methods in the
IESignature interface to:

• Determine if a tag requires a signature.

• Display the Electronic Signature dialog box.

• Validate a signature without displaying the Electronic Signature dialog box.

• Send a signed operator message to the audit trail.

NOTE: Do not use scripts that use signing from the Scheduler. Signing does not work well from the
background task. This is also an important consideration when implementing scripts that call global
subroutines.

ESignature methods support the following actions for all data sources:

• Initialize and display the Electronic Signature dialog box, validate signatures, and perform
security checks based on information and settings passed in.

• Validate signatures and perform security checks for specific users based on user names,
passwords, and settings passed in, without using the Electronic Signature dialog box.

• Send a signed operator message to the audit trail, logging the signature and action.

ESignature methods support the following actions for FIX32 data sources:

• Read electronic signature settings associated with the tag directly from the process database.

• Display the Electronic Signature dialog box based on those settings, validate the signature and
perform security checks, write the value to the database or acknowledge an alarm or page of
alarms, and send the signed operator message to the audit trail.

• Validate signatures and perform security checks for specific users based on user names,
passwords, and settings passed in, without using the Electronic Signature dialog box, and then
write the value to the database or acknowledge an alarm or page of alarms and send the signed
operator message to the audit trail.

NOTE: In order to use the enumerations listed for the ESignature Object methods, you must
reference the Electronic Signature type library in VBA.

53
iFIX Automation Reference

Event Object
The Event object contains information about event-based events that are monitored by the Scheduler.
The Event object will fire a VBA event based on the evaluation of the data source. It can be
configured to fire when the value is OnTrue, OnFalse, WhileTrue, WhileFalse, or OnChange.

For more information on the Event object, see the "Scheduler" chapter in the Mastering iFIX manual.

ExpressionEditor Object
The ExpressionEditor object is an OCX that is a helpful tool in building an expression or data source.
The user can browse database tag, Picture and Global objects and properties, Historical tags, and OPC
data sources. The ExpressionEditor also has mathematical buttons to aid in building complex
expressions.

The ExpressionEditor object is contained by the ControlContainer object and therefore will inherit
the Properties and Methods of the ControlContainer object.

FindReplace Object
The FindReplace object allows you to find and replace string properties that are exposed in the
object's automation interface. FindReplace is capable of operating on a user-specified string, or
analyzing a stipulated object and manipulating all matching items found within that object.

NOTE: The FindReplace object is not accessible from clients that reside in a process outside the iFIX
WorkSpace. Any executables you create using Visual Basic will not support the FindReplace feature.

For more information on the FindReplace object and its capabilities, see the "Managing iFIX Nodes"
chapter of the Understanding iFIX electronic book.

FixApp Object
The FixApp object represents the iFIX WorkSpace application.

FixDataSystem Object
The FixDataSystem object allows users to access data systems in the iFIX architecture through Visual
Basic. Currently, the only object available in this OCX is the FixDataSystem object.

NOTE: The FindReplace object is not accessible from clients that reside in a process outside the iFIX
WorkSpace. Any executables you create using Visual Basic will not support the FindReplace feature.

FixFloatPoint Object
The FixFloatPoint object encapsulates the x and y drawing coordinates used by shapes.

54
IFIX Automation Reference

The following is an example for declaring and initializing a FixFloatPoint object:

Dim iPoint as FixFloatPoint

Set iPoint = New FixFloatPoint

iPoint.x = 50.5

iPoint.y = 60.1

Polygon1.AddPoint iPoint

NOTE: The user must add a reference to Fix2DGeometry in the References dialog from the Tools
menu within VBE.

FixGeometryHelper Object
The FixGeometryHelper object a helper object that contains helper methods mostly associated with
geometric operations and operations on graphical objects.

FixKeyMacroCollection Object
The FixKeyMacroCollection object is a collection of key macros.

FixKeyMacro Object
The FixKeyMacro object is a key macro.

Format Object
The Format object is an animation object that converts the source data into a string. It contains
information about the connection between the data source and the input property of the format object,
and the output property of the format object and the animated property of the object being animated.
For example, you can use the Format object to animate the caption property of a text object.

G-O

Group Object
The Group object holds information describing a number of objects used as a unit. For example, you
may have two rectangles and two circles that are used to draw a pump. You can group them together so
that they function as a unit allowing you to manipulate all objects in the group as a unit instead of
individually.

55
iFIX Automation Reference

Group (DataSystem) Object


The Group object is a member of the Groups collection. This object contains the DataItems
collection nested within it. Operations that can be performed on a group include Read and Write.
Group operations allow the user to do operations on the whole DataItems collection within the group.

Groups Object
The Groups object is a user defined collection of Group objects. Group objects can be added and
removed from this collection. Group names must be unique.

HistDatalink Object
The HistDatalink object is an iFIX shape used to display historical data (from Proficy Historian) that
can be added to a Picture, DynamoSet or UserGlobals object. If you insert the HistDatalink into a
picture, the Expression Builder only browses historical data that you configured.

IMPORTANT: The refresh rate for the Historical Datalink object is hard-coded at 10 seconds.

HistogramChart Object
The HistogramChart object holds information describing data that is being collected from the
Histogram (HS) database block and how the data should display.

The Histogram Chart displays a frequency distribution.

HistoricalDataSet Object
The HistoricalDataSet object is a historical data set type. It describes how the historical data archived
in Proficy Historian should display in a Line Chart.

Legend Object
The Legend object displays certain information or statistics for a Pen in a Chart.

Line Object
The Line object is an iFIX shape that can be added to a Picture, DynamoSet or UserGlobals object.

56
IFIX Automation Reference

Linear Object
The Linear object is an animation object that converts data from one form into another, effectively
performing standard signal conditioning. It contains information about the connection between the data
source and the input property of the linear object, and the output property of the linear object and the
property of the object being animated. For example, you can use the Linear object to animate the tank
level of a picture of a tank by mapping it's high and low EGU to reflect the scale of the picture.

LineChart Object
The LineChart object holds information describing the real-time or historical data that is being
collected and how the data should be displayed.

The Line/MultiLine Chart displays the trend of a variable(s) over time. In this chart, the X-Axis always
represents the time. Both real time and historical data are allowed to co-exist within the same
Enhanced Chart.

LineConnector Object
The LineConnector object is an iFIX connector that is used to join two shapes together.

Lines Object
A collection of the lines of code in one of an object's Procedures. Each line of code is a member of the
Lines collection. The following example sets the string sLine1 to the first line of code in the first Event
member of the Procedures collection for the object Rect1:

Dim sLine1 As String

sLine1 = Rect1.Procedures.Item(1).Lines.Item(1).ProcedureStatement

Lookup Object
The Lookup object is an animation object that uses the input value to perform either a range
comparison or exact match to a table and provides the output value based on the values in the table. It
contains information about the connection between the data source and the input property of the
lookup object, and the output property of the lookup object and the animated property of the object
being animated. For example, you can use the Lookup object to blink on a new alarm.

Oval Object
The Oval object is an iFIX shape that can be added to a Picture, DynamoSet or UserGlobals object.

57
iFIX Automation Reference

P-S

Pen Object
The Pen object provides the data source connection and plotting functionality for use in a Chart
object.

Picture Object
The Picture object is a type of document (page) that stores graphical displays.

Pie Object
The Pie object is an iFIX shape that can be added to a Picture, DynamoSet or UserGlobals object.

Pipe Object
The Pipe object is an iFIX shape that can be added to a Picture, DynamoSet or UserGlobals object.

PipeConnector Object
The PipeConnector object is an iFIX connector, shaped like a pipe, that is used to join two other
shapes together.

Polygon Object
The Polygon object is an iFIX shape that can be added to a Picture, DynamoSet or UserGlobals
object.

Polyline Object
The Polyline object is an iFIX shape that can be added to a Picture, DynamoSet or UserGlobals
object.

Procedures Object
The Procedures object is a collection of VBA procedures that belong to an object, such as a Picture or
a Rectangle. Individual procedures can be accessed in the collection by using a one-based index.
Standard collection Add and Remove methods are supported as well as special methods to handle

58
IFIX Automation Reference

event procedures.

Example:

Dim iProc As Object

Set iProc = object.Procedures.Item(1)

RealTimeDataSet Object
The RealTimeDataSet object holds information describing the real-time data set type and how the
data should display in a Line Chart.

RealTimeSPCDataSet Object
The RealTimeSPCDataSet object holds information describing the real-time SPC data set type and
how the data should display in a SPC Bar Chart or Histogram Chart.

Rectangle Object
The Rectangle object is an iFIX shape that can be added to a Picture, DynamoSet or UserGlobals
object.

RightAngleLineConnector Object
The RightAngleLineConnector object is an iFIX connector, formed in a right angle shape, that is
used to join two other shapes together.

RoundRectangle Object
The RoundRectangle object is an iFIX shape that can be added to a Picture, DynamoSet or
UserGlobals object.

Scheduler Object
The Scheduler object contains information about iFIX schedules. The Scheduler is the application that
displays spreadsheets and contains UI to configure Timer and Event objects.

For more information on the Scheduler object, see the "Scheduler" chapter in the Mastering iFIX
manual.

59
iFIX Automation Reference

ScriptLine Object
The ScriptLine object contains a single procedure statement from a script. A ScriptLine object is a
member of the Lines collection contained within a ScriptProcedure object.

ScriptProcedure Object
The ScriptProcedure object contains a collection of ScriptLine objects. A ScriptProcedure object is
a member of the Procedures collection contained within an object which has event scripts.

ScriptSource Object
The ScriptSource object contains a single data source string from a script. A ScriptSource object is a
member of the Sources collection contained within a ScriptProcedure object. An example of a data
source string in a procedure is: Fix32.MyNode.MyTag.F_CV.

SecuritySynchronizer Object
The SecuritySynchronizer object is a way to synchronize iFIX security with your Windows security
configuration.

You can destroy the SecurtiySynchronizer object by setting it equal to Nothing after the
SynchronizeSecurity method is called.

Sources Object
The Sources object is a collection of ScriptSource objects. The Sources object is contained within a
ScriptProcedure object. An example of a data source string in a procedure is:
Fix32.MyNode.MyTag.F_CV.

SPCBarChart Object
The SPCBarChart object holds information describing statistical data that is being collected from a
Statistical Data (SD) database block, and how the data should be displayed.

System Object
The System object contains information about the iFIX system configuration such as file paths and
login data.

60
IFIX Automation Reference

T-Z

Tag Group Object


The Tag Group object is used to store an array of symbols, substitutions, and optional descriptions.
The symbols are placeholders for data sources or text in a picture. Substitutions are alphanumeric
strings that replace symbols in a picture. The description is text about the substitution.

Text Object
The Text object is an iFIX shape that can be added to a Picture, DynamoSet or UserGlobals object.

TimeAxis Object
The TimeAxis object contains time and date display information for use in the Chart Object. It also
provides the necessary information so that the Pen objects within the Chart may plot within a given
area

Timer Object
The Timer object contains information about time-based events that are monitored by the Scheduler.
The Timer object will fire the OnTimeOut event based on either a OneShot, Continuous, Daily or
Monthly time interval.

For more information on the Timer object, see the "Scheduler" chapter in the Mastering iFIX manual.

ToolbarManager Object
The ToolbarManager object holds information describing the iFIX toolbars.

UserGlobals Object
UserGlobals is a special picture that contains user-defined variables, color threshold tables and
procedures that are globally available to all pictures. UserGlobals is not visible in the WorkSpace
display area, but is listed as an entry in the system tree. UserGlobals also appears in the Visual Basic
Environment (VBE). System tree right-mouse button menu support is provided to create Variable
objects and color threshold tables, to show the UserGlobals property page and to display VBE.
UserGlobals procedures can be added in VBE.

UserGlobals variables and color threshold tables can be used in connections with other pictures.

As each new picture is created, a reference is automatically added from it to the UserGlobals object,

61
iFIX Automation Reference

allowing its procedures to be accessed. References can be added or deleted manually from within VBE
using the Tools|References… menu command.

UserGlobals procedures and declarations should be placed in standard code modules so that they are
accessible to procedures in other pictures without using the User.<procedure> scoping syntax.
Standard modules can be created from within VBE using the Insert|Module menu command.

If the UserGlobals file is not present in the base picture directory, a new empty one is created when
the WorkSpace is launched.

UserPreferences Object
The UserPreferences object holds information describing the iFIX user preferences.

ValueAxis Object
The ValueAxis object contains high and low display information for use in the Chart Object. It also
provides the necessary information so that the Pen objects within the Chart may plot within a given
area

Modify Method

Move Method

ParseConnectionSource Method

Refresh Method

Select Method

SelectObject Method

SetProperty Method

ShowCustomPages Method

StickToCursor Method

UpdateConnectionParameters Method

ValidateSource Method

Variable Object
The Variable object is used for storing information to be used elsewhere by your application. The
storage must be defined as a particular data type (float, integer, string, etc.) and can be assigned an
initial value.

62
IFIX Automation Reference

Window Object
The Window object contains information about the graphical representation of a document such as its
size and location on the screen. The Window object has properties that allow the user to set the Top
and Left position of a page object.

XYChart Object
The XYChart object holds information describing the data that is being collected and how the data
should display.

The XY Chart displays the relationship between two datasets. In the XY Chart, the data is refreshed
and plotted based on the settings for the X axis.

63
iFIX Automation Reference

Properties

Property Summary
The following list contains the iFIX properties that are available to the Automation Interface. For
information on non iFIX properties, refer to the appropriate help system.

A
Active

ActiveDocument

ActiveWindow

AdvancedGraphics

AlarmHornEnabled

AlarmRefreshInterval

AlarmUserdefField1

AlarmUserdefField2

Alignment

AllowsDrillDown

AllowTimeAxisReset

AllowValueAxisReset

AlwaysOnTop

AnalogError

AnalogErrorTag

AngleUnits

Application

ApplyProperties

64
IFIX Automation Reference

AssignedID

Author

Autofetch

AutoMinMaxPaddingX

AutoMinMaxPaddingY

AutoSize

AutoUpdateRate

AverageDataValue

AxisColor

AxisLength

AxisTitle

B
BackDropBackgroundColor

BackDropBackgroundStyle

BackDropBlend

BackDropBorderColor

BackDropBorderStyle

BackDropColor

BackDropFadeColor

BackDropFadeType

BackDropGradAngle

BackDropStyle

BackDropVisible

BackgroundColor

BackgroundEdgeColor

BackgroundEdgeStyle

65
iFIX Automation Reference

BackgroundEdgeWidth

BackgroundStyle

BackupSecPath

BarVal

BasePath

BitmapGradientMode

Blend

BlinkEnabled

BlinkRate

BorderTypes

Bottom

BottomCenter

BottomLeft

BottomRight

BottomVisibleRow

BoundRect

ButtonState

ButtonStyle

C
CacheEnabled

Cancel

Caption

Category

Center

CenterOfRotation

CenterPoint

66
IFIX Automation Reference

CenterX

CenterY

CharactersPerLine

ChartFontSize

CheckForAlarmListChanged

CheckForNewAlarms

CheckForSeverityIncrease

ClassName

Color

ColorTable

CombinationKey

Comments

CompletionStatus

CompletionStatusTag

ConfirmDataEntry

ConnectionFailed

ConstantLine

ContainedObjects

ContainedSelections

ContextID

ControlOrderIndex

Count

CurrentDataSet

CurrentDataSource

CurrentDate

CurrentDateDay

CurrentDateMonth

67
iFIX Automation Reference

CurrentDateYear

CurrentImage

CurrentPen

CurrentPicture

CurrentTime

CurrentTimeHour

CurrentTimeMinute

CurrentTimeSecond

CurrentValue

D
DataEntry

DataItems

DataRefreshInterval

DataServers

DataSetColor

DataShadows

DaylightSavingTime

DaysBeforeNow

DaysOfMonth

DaysOfWeek

Deadband

DecimalDigits

Default

DefaultDataSystem

DefaultExternalDatasourceUpdateRate

DefaultOutputValue

68
IFIX Automation Reference

DefaultServer

Description

DeskColor

DigitalError

DigitalErrorTag

DigitsOfPrecision

DisableAutoScale

DisplayLayer

DisplayMilliseconds

DisplayStatusBar

DisplayString

DisplaySystemTree

DocumentHeight

DocumentPath

Documents

DocumentWidth

Domain

DownImageDisplayed

DSDescription

DSLegendAvgerageOverRangeColWidth

DSLegendCurrentValColWidth

DSLegendDescriptionColWidth

DSLegendHighLimitColWidth

DSLegendHighOverRangeColWidth

DSLegendLowLimitColWidth

DSLegendLowOverRangeColWidth

DSLegendMask

69
iFIX Automation Reference

DSLegendQualityColWidth

DSLegendSourceColWidth

DSPosition

Duration

Dynamo_Description

Dynamo_ID

E
EdgeColor

EdgeStyle

EdgeWidth

EditText

ElbowStyle

EnableAcknowledgeAll

EnableAlarmAcknowledge

EnableAlarmDeletion

EnableAsVbaControl

EnableColumnQuickSort

Enabled

EnableEndTime

EnableGlobalEndTime

EnableGlobalScrollPercentage

EnableRightMouseClick

EnableRunTimeConfiguration

EnableTooltips

EndAngle

EndCap

70
IFIX Automation Reference

EndPoint

EndTime

EndX

EndY

ErrorMode

EventParameter

EventType

ExactMatch

ExtendMaxSpace

ExtendType

F
FadeColor

FadeType

FailedSource

FetchDataSetLimits

FetchPenLimits

FileName

FillStyle

FilterString

FixedDate

FixedTime

FixPath

Font

FontName

FontSize

FontStyle

71
iFIX Automation Reference

ForceVerticalPoints

ForegroundColor

ForegroundEdgeColor

ForegroundEdgeStyle

ForegroundEdgeWidth

Format

FormatDataType

FullName

FullScreen

FullyQualifedName

G
GlobalDuration

GlobalEndTime

GlobalFastScrollOption

GlobalFastScrollRate

GlobalHistoricalUpdateRate

GlobalMovingEndTime

GlobalMovingStartTime

GlobalOutputToggle

GlobalSlowScrollOption

GlobalSlowScrollRate

GlobalStartTime

GlobalTimeSync

GlobalTimerPause

GlobalToggle

Gradient

72
IFIX Automation Reference

GradientAngle

GraphBackColor

GraphForeColor

GraphPlusTable

GraphPlusTableMenu

GridEnabled

GridInFront

GridInterval

GridLinesToShow

GridStyle

GridWidth

Groups

H
Height

HelpFile

HelpPath

HideMathFunctionsButton

HiDisplay

HighestDataValue

HighlightEnabled

HighlightedDatasource

HiInValue

HiLimit

HiOutValue

HistMode

HistoricalSampleType

73
iFIX Automation Reference

HistUpdateRate

HorizontalFillDirection

HorizontalFillPercentage

HorizontalGridColor

HorizontalGridStyle

HorizontalPosition

HorizontalScaleDirection

HorizontalScalePercentage

I-K
ImageCount

IncludeDataLabels

Index

InitialValue

InputValue

Interval

IntervalMilliseconds

IsDirty

IsInterpolated

IsModifiable

IsSelectable

IsSelected

Item

Justification

Keycode

74
IFIX Automation Reference

L
LabelBold

LabelColor

LabelFont

LabelItalic

LabelUnderline

LanguageDesired

Layer

LCL

Left

LeftCenter

Legend

LegendAvgOver

LegendDesc

LegendHeadingLine

LegendHigh

LegendHighOver

LegendInterval

LegendItemColor

LegendLow

LegendLowOver

LegendMode

LegendTag

LegendUnits

LegendUser1

LegendUser10

LegendUser2

75
iFIX Automation Reference

LegendUser3

LegendUser4

LegendUser5

LegendUser6

LegendUser7

LegendUser8

LegendUser9

LegendValue

Linear

Lines

LinesofCode

LineType

LockStartTime

LoDisplay

LoginGroup

LoginTimeout

LoginUserFullName

LoginUserName

LoInValue

LoLimit

LoOutValue

LowestDataValue

LWL

M
MainTitle

MainTitleBold

76
IFIX Automation Reference

MainTitleFont

MainTitleItalic

MainTitleUnderline

ManualMaxX

ManualMaxY

ManualMinX

ManualMinY

ManualScaleControlX

ManualScaleControlY

MapMode

MarkDataPoints

MarkerChar

MarkerStyle

Master

Max_Dynamo_Desc_Length

MaxCharactersPerLine

MaxLines

MaxPts

MonoDeskColor

MonoGraphBackColor

MonoGraphForeColor

MonoShadowColor

MonoTableBackColor

MonoTableForeColor

MonoTextColor

MultipleEGU

MultipleTimes

77
iFIX Automation Reference

MyNodeName

N
Name

Next

NlsPath

NoSaveOnClose

NumberOfCharacters

NumberOfHorizontalGridLines

NumberOfItems

NumberOfLines

NumberOfPoints

NumberOfTargets

NumberOfVerticalGridLines

NumOfPoints

NumPointsToGraph

NumHGridLines

NumLabels

NumPts

NumRandomSubsets

NumScrollingSubsets

NumTicks

NumVGridLines

O
Object

OpcAccessPath

78
IFIX Automation Reference

OpcDataSource

OpcProgID

OpcServerMachineName

OriginalScreenHeight

OriginalScreenWidth

OriginX

OriginY

OutputValue

Owner

P
Page

Parent

Path

PauseIndicatorBlink

PauseIndicatorColor

PauseWithNewAlarmIndicatorBlink

PauseWithNewAlarmIndicatorColor

PenDescription

PenLineColor

PenLineStyle

PenLineWidth

PenNum

Pens

PenType

PictureDefaultAlwaysOnTop

PictureDefaultBackColor

79
iFIX Automation Reference

PictureDefaultHeight

PictureDefaultResizable

PictureDefaultRuntimeVisible

PictureDefaultSystemMenu

PictureDefaultTitlebar

PictureDefaultWidth

PictureHeight

PictureName

PicturePath

PictureWidth

PieType

PlotOnChartRefresh

PlottingMethod

PointType

Previous

PrimarySecPath

ProcedureDeclaration

ProcedureName

Procedures

ProcedureStatement

ProgId

ProjectPath

Property1

Property10

Property2

Property3

Property4

80
IFIX Automation Reference

Property5

Property6

Property7

Property8

Property9

Q
Quality

QueueEvents

QuickStyle

R
Radius

RawFormat

RecalculateViewport

RefreshRate

RemoveNonWindowsUsers

ResetPercentage

Resizable

ResolveSourceName

Revision

RevisionNumber

Right

RightCenter

RotationAngle

RoundnessX

RoundnessY

81
iFIX Automation Reference

RunIndicatorBlink

RunIndicatorColor

RuntimeVisible

S
Saved

SaveThumbnail

ScalesWidth

SchedulePath

ScreenHeight

ScreenWidth

ScrollDirection

ScrollGrid

ScrollItems

ScrollPercentage

SecondaryImageDisplayed

SecurityArea

SelectedDatasource

SelectedFieldName

SelectedNodeName

SelectedShapes

SelectedTagName

SelectionTimeout

SendAlarmMessages

ShadowColor

SharedTableName

ShowAxis

82
IFIX Automation Reference

ShowDatabaseTab

ShowDataServersTab

ShowDate

ShowDSLegend

ShowGaps

ShowGlobalsTab

ShowGridLines

ShowHeaders

ShowHistoricalTab

ShowHorizontalGrid

ShowLegend

ShowLine

ShowPicturesTab

ShowRowNumbers

ShowScrollBars

ShowStatusBar

ShowTimeAxis

ShowTimeAxisTitle

ShowTimeCursor

ShowTimeCursorToolTips

ShowTimeStamp

ShowTitle

ShowValueAxis

ShowValueAxisTitle

ShowVerticalGrid

SmoothingMode

SnapToGrid

83
iFIX Automation Reference

SortColumnName

SortOrderAscending

Source

Sources

SourceValidated

SPCChartType

SPCInterval

SPCType

StartAngle

StartCap

StartDateMode

StartDateType

StartPoint

StartTime

StartTimeMode

StartTimeType

StartX

StartY

Status

StatusBar

StatusFontSize

SteppedTrend

StrikeThrough

SubTitle

SubTitleBold

SubTitleFont

SubTitleItalic

84
IFIX Automation Reference

SubTitleUnderline

System

SystemMenu

T
TableBackColor

TableFont

TableForeColor

TextColor

Thickness

ThicknessType

TimeAxis

TimeAxisNumLabels

TimeAxisNumTicks

TimeAxisTitle

TimeBeforeNow

TimeCursorColor

TimeCursorPos

TimeCursorTooltipColor

Timeout

TimerEnabled

Timestamp

TimeZoneBiasExplicit

TimeZoneBiasRelative

Titlebar

ToggleRate

ToggleSource

85
iFIX Automation Reference

Tolerance

ToolbarManager

ToolbarPath

Top

TopCenter

TopLeft

TopRight

TopVisibleRow

TotalFilteredAlarms

TranslateOnOpen

Transparency

Transparent

TransparentColor

TreatSinglePointsAsLines

TriggerType

TrimMaxLength

TrimType

Type

U
UCL

UnacknowledgedAlarmColor

Underline

UniformScale

Units

UpdateOnPropChange

UpdateRate

86
IFIX Automation Reference

UseDelta

UseDomainSecurity

UseLocalSecurity

UseMarker

UserDef1ColumnName

UserDef2ColumnName

UserPreferences

UseUnacknowledgedAlarmColor

UWL

V
Value

ValueAxis

ValueAxisNumLabels

ValueAxisNumTicks

ValueAxisTitle

VariableType

Version

VerticalFillDirection

VerticalFillPercentage

VerticalGridColor

VerticalGridStyle

VerticalPosition

VerticalScaleDirection

VerticalScalePercentage

ViewingStyle

ViewportHeight

87
iFIX Automation Reference

ViewportLeft

ViewportTop

ViewportWidth

Visible

VisibleUnacknowledgedAlarms

W-Y
WholeDigits

Width

WindowHeightPercentage

WindowLeftPercentage

WindowName

WindowState

WindowTopPercentage

WindowWidthPercentage

WizardName

WritePictureFormatType

WritePictureOutLocation

WritePictureScalePercentage

WorkSpaceStartupMode

XAxisDatasetPosition

XAxisLabel

XAxisScaleControl

XAxisType

YAxisLabel

88
IFIX Automation Reference

YAxisLongTicks

YAxisScaleControl

Z
Zoom

ZoomDirection

ZoomType

YAxisScaleControl

Z
Zoom

ZoomDirection

ZoomType

Active Property
Specifies whether the specified object has focus.

Syntax
object.Active [= Boolean]

Properties
The Active property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the document has focus.

89
iFIX Automation Reference

Settings
The settings for Boolean are:

Value Description

True The document is active.

False The document is not active.

Remarks
Call this property to force the selection of a document through scripting. Also, if you open a document
as hidden, setting the document’s active state to True makes the document visible.

ActiveDocument Property
Returns the currently active document in the WorkSpace.

Syntax
object.ActiveDocument

Properties
The ActiveDocument property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
ActiveDocument is a read-only property of type Object.

ActiveDocument and document objects accessed using Application.Documents hold objects for
ActiveX Documents. These objects are called FixFileLink objects. To access the actual user document
(picture, schedule, dynamo set), the FixFileLink object contains a Page property that is the OLE
object for the actual user document.

ActiveWindow Property
Returns the currently active window in the WorkSpace or the Document object.

90
IFIX Automation Reference

Syntax
object.ActiveWindow

Properties
The ActiveWindow property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
ActiveWindow is a read-only property of type Object.

When more than one window is open in the WorkSpace, the active window property setting is the
window with the focus. If no documents are open, ActiveWindow returns nothing.

The active window is the window that appears in the foreground with a highlighted title bar.

The ActiveWindow property is useful for accessing the currently active window object.

AdvancedGraphics Property
Enables graphical enhancements such as gradients, alpha blending, and anti-aliasing for text and
graphics in an Enhanced Chart. Disable this option to increase performance.

Syntax
object.AdvancedGraphics [= Boolean]

Properties
The AdvancedGraphics property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether graphical enhancements are enabled.

91
iFIX Automation Reference

Settings
The settings for Boolean are:

Value Description

True Graphical enhancements enabled.

False Graphical enhancements disabled. (Default)

Remarks
AdvancedGraphics is a read-only property.

AlarmHornEnabled Property
Gets or sets the alarm horn enabled status.

Syntax
AlarmHornEnabled ([blnNewValue], [intErrorMode])

Properties
The AlarmHornEnabled property syntax has these parts:

Part Description

blnNewValue Boolean. (Optional). The value to which you want to set the alarm horn enable
property.
TRUE = enabled
FALSE = disabled

IntErrMode Integer. (Optional). The error mode.

0 (default) – Errors are displayed in the form of a message box.


1 – Errors are not handled so that they can be handled in the calling routine.
2 – Errors are dispatched to the alarm destinations using SendOperatorMessage.

Return Value
Boolean. The status of the AlarmHornEnable after the call is completed.

True = The horn sounds on any new alarm.

92
IFIX Automation Reference

AlarmRefreshInterval Property
Specifies the rate at which the Alarm Summary object checks for a change in the list of alarms.

Syntax
object.AlarmRefreshInterval [= Single]

Properties
The AlarmRefreshInterval property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Single The rate, in seconds, that the Alarm Summary will update the list of alarms. The valid
values are 0.1 to 300. The default is 0.5 seconds.

AlarmUserdefField1 Property
Specifies the value for the user defined field 1 column.

Syntax
object.AlarmUserdefField1 [= String]

Properties
The AlarmUserdefField1 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The value for the user defined field 1 column.

AlarmUserdefField2 Property
Specifies the value for the user defined field 2 column.

93
iFIX Automation Reference

Syntax
object.AlarmUserdefField2 [= String]

Properties
The AlarmUserdefField2 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The value for the user defined field 2 column.

Alignment Property
The alignment property defines the alignment of the text string within the text’s bounding rectangle.

Syntax
object.Alignment [= enumTextAlign]

Properties
The Alignment property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

EnumTextAlign Text position.

Settings
The settings for enumTextAlign are:

Constant Value Description

Left 0 Align text to left of its bounding rectangle.

Center 1 Center the text.

94
IFIX Automation Reference

Constant Value Description

Right 2 Align text to right of its bounding rectangle.

Remarks
Use this property to define how a Text object aligns within it’s bounding rectangle. This is useful for
aligning a column of numbers, or bar graph labels. For example, if you want to align the decimal
points in a column of data links, you can set the alignment property to “Right alignment”. Numbers
with similar precision numbers will align properly regardless of the size of the value to the left of the
decimal.

This property can also be used to control the behavior of text during a scale operation. Setting the
alignment to center for text in a dynamo or group keeps an equal relationship between itself and other
objects.

AllowsDrillDown Property
Specifies whether or not the user can drill into the Group object.

Syntax
object.AllowsDrillDown [= Boolean]

Properties
The AllowsDrillDown property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the Group object allows manipulation of it's contained objects.

Settings
The settings for Boolean are:

Value Description

True The Group allows drill down. (Default)

95
iFIX Automation Reference

Value Description

False The Group does not allow drill down.

Remarks
This property could be used to prevent users from inadvertently change the visual representation of an
object or from modifying a group’s internal animation properties.

AllowTimeAxisReset Property
Specifies how the time axis limits of a Pen are reset when you right-click a chart.

Syntax
object.AllowTimeAxisReset [= Boolean]

Properties
The AllowTimeAxisReset property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether or not to reset the time axis limits in a chart to Start Time and End Time pen
properties.

Settings
The settings for Boolean are:

Value Description

True Resets the time axis limits of the chart to the StartTime and EndTime properties of a
chart’s pen.

False Resets the time axis limits of the chart to the FixedTime and FixedData properties or
the DaysBeforeNow and TimeBeforeNow properties.

96
IFIX Automation Reference

AllowValueAxisReset Property
Specifies how the value axis limits of a Pen are reset when you right-click a chart.

Syntax
object.AllowValueAxisReset [= Boolean]

Properties
The AllowValueAxisReset property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether or not to reset the value axis limits in a chart to HiLimit and LoLimit pen
properties.

Settings
The settings for Boolean are:

Value Description

True Resets the value axis limits of the chart to the HiLimit and LoLimit properties of a
chart’s pen.

False Resets the value axis limits of the chart to the EGU limits of the tag associated with the
pen.

AlwaysOnTop Property
Specifies whether the specified document is to be on top of any other window owned by the
WorkSpace application. A document that has this property is always on top.

Syntax
object.AlwaysOnTop [= Boolean]

Properties
The AlwaysOnTop property syntax has these parts:

97
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether or not the document is always on top.

Settings
The settings for Boolean are:

Value Description

True The document is always on top.

False The document is not always on top. (Default)

Remarks
This property is vital for creating pop up subpictures that will stay on top of the main display, even if
the user selects and activates the main window. By convention, the display that opens a subpicture is
responsible for closing the display if that display is closed.

AnalogError Property
Retrieves the last value written to the analog error tag by the SecuritySynchronizer object. The value is
represented as a string.

Syntax
object.AnalogError

Properties
The AnalogError property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
AnalogError is a read-only property. It is only updated by the SecuritySynchronizer object at the end

98
IFIX Automation Reference

of the security synchronization process.

AnalogErrorTag Property
Sets or retrieves the analog iFIX database tag and floating point field to which the last, most severe,
error code is written when the security synchronization process completes.

Syntax
object.AnalogErrorTag [= String]

Properties
The AnalogErrorTag property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The Node.Tag.Field to be set or retrieved.

Remarks
AnalogErrorTag corresponds to the /E command line parameter of the Security Synchronizer
application.

AngleUnits Property
Specifies whether any property that requires an angle is measured in degrees or radians.

Syntax
object.AngleUnits [= enumAngleUnits]

Properties
The AngleUnits property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

99
iFIX Automation Reference

Part Description

EnumAngleUnits Specifies the angle measurement units.

Settings
The settings for enumAngleUnits are:

Constant Value Description

Degrees 0 Angle is measured in degrees. (Default)

Radians 1 Angle is measured in radians.

Remarks
Not all objects contain the RotationAngle property. For example, the Oval object does not have a
RotationAngle property.

The StartAngle and EndAngle properties are affected by the AngleUnits property.

Application Property
Returns a pointer to the Application object.

Syntax
object.Application

Properties
The Application property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Application is a read-only property of type Object.

100
IFIX Automation Reference

ApplyProperties Property
Determines how to apply properties to the images in the list.

Syntax
object.ApplyProperties [= enumApplyProperties]

Properties
The ApplyProperties property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumApplyProperties Specifies how properties are applied to the list of images.

Settings
The settings for enumApplyProperties are:

Part Value Description

ApplyPropertiesToCurrent 0 Apply properties to current image. (Default)

ApplyPropertiesToAll 1 Apply properties to all images.

AssignedID Property
Retrieves the ID assigned to the dataset.

Syntax
object.AssignedID

Properties
The AssignedID property syntax has this part:

101
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Read-only property

Author Property
Specifies the author of the specified document.

Syntax
object.Author [= String]

Properties
The Author property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The author of the document.

Remarks
The default Author is the name of the currently logged-in user, in Windows.

Autofetch Property
Specifies whether to automatically fetch the low and high EGU limits on run-time initialization.

Syntax
object.Autofetch [= Boolean]

Properties
The Autofetch property syntax has these parts:

102
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether or not to automatically fetch EGU limits.

Settings
The settings for Boolean are:

Value Description

True Fetch the limits.

False Do not fetch the limits. (Default)

Remarks
Enabling the Autofetch property fetches the EGU limits of the data source at run-time. If the EGU
limits of a data source change, then this field allows the animation or chart to detect this change and
update it’s internal input range limits. This is useful if a data source needs to be modified at run-time.

AutoMinMaxPaddingX Property
Allows iFIX to automatically scale the X-axis so that all data points are within the visible area of the
XY Chart. This property only applies to XY Enhanced Charts.

Syntax
object.AutoMinMaxPaddingX [= Long]

Properties
The AutoMinMaxPaddingX property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long Sets the percentage added above and below the automatically determined range for the
X-axis.

103
iFIX Automation Reference

AutoMinMaxPaddingY Property
Allows iFIX to automatically scale the Y-axis so that all data points are within the visible area of the
Enhanced Chart.

Syntax
object.AutoMinMaxPaddingY [= Long]

Properties
The AutoMinMaxPaddingY property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long Sets the percentage added above and below the automatically determined range for the
Y-axis.

AutoSize Property
AutoSize controls whether the Text object automatically picks a new font that will fit into the
bounding rectangle as the Caption changes. If AutoSize is set to True, the size of the bounding
rectangle is recalculated. If set to False, the FontSize of the Text object is recalculated.

Syntax
object.AutoSize [= Boolean]

Properties
The AutoSize property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether or not to automatically update the object's size to fit its contents.

Settings
The settings for Boolean are:

104
IFIX Automation Reference

Value Description

True Automatically resize the object to display its entire contents. (Default)

False Maintain the size of the object constant, adjust the FontSize to fit inside the bounding
rectangle.

Remarks
For controls with captions, the AutoSize property specifies whether the control automatically adjusts
to display the entire caption. For controls without captions, this property specifies whether the control
automatically adjusts to display the information stored in the control. In a ComboBox, for example,
setting AutoSize to True automatically sets the width of the display area to match the length of the
current text.

For a single-line text box, setting AutoSize to True automatically sets the width of the display area to
the length of the text in the text box.

For a multi-line text box that does not contain text, setting AutoSize to True automatically displays
the text as a column. The width of the text column is set to accommodate the widest letter of that font
size. The height of the text column is set to display the entire text of the TextBox. For a multi-line text
box that contains text, setting AutoSize to True automatically enlarges the TextBox vertically to
display the entire text. The width of the TextBox does not change.

The behavior of the object by changing the AutoSize property is dependent upon the ScalesWidth
property. The following table illustrates the dependencies:

Value ScalesWidth Value Resulting Behavior

True True Bounding rectangle is recalculated to fit the text.

False True The FontSize is recalculated to fit the bounding


rectangle.

True False Bounding rectangle is recalculated to fit the text.

False False The text is clipped.

NOTE: If you manually change the size of a control while AutoSize is True, the manual change
overrides the size previously set by AutoSize.

AutoUpdateRate Property
Specifies the automatic historical update rate of the chart.

105
iFIX Automation Reference

Syntax
object.AutoUpdateRate [=Single]

Properties
The AutoUpdateRate property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Single The autoupdate rate of the chart.

Remarks
AutoUpdateRate is 0 by default. When the value is set to 0, autoupdate is disabled.

AverageDataValue Property
Returns the average of the currently displayed values in the Chart for the specified Pen.

Syntax
object.AverageDataValue [= Double]

Properties
The AverageDataValue property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The average of the currently displayed values of the pen.

Remarks
This property is valid for both real-time and historical pen configurations. (See HighestDataValue and
LowestDataValue)

106
IFIX Automation Reference

AxisColor Property
Specifies the axis color.

Syntax
object.AxisColor [= Long]

Properties
The AxisColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the axis color.

AxisLength Property
Returns the axis length in logical coordinate units.

Syntax
object.AxisLength

Properties
The AxisLength property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
AxisLength is a read-only property of type Double.

AxisTitle Property
Specifies the axis title caption.

107
iFIX Automation Reference

Syntax
object.AxisTitle [= String]

Properties
The AxisTitle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The caption of the axis' title.

BackDropBackgroundColor Property
Defines the background color of a Group object when the background color pattern requires two
colors (hatched, diagnal, etc.).

Syntax
object.BackDropBackgroundColor [= Long]

Properties
The BackDropBackgroundColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the group's background color.

Remarks
The group’s background and foreground color properties apply to the children contained in the group.
The group itself is a shape and can have it’s own bounding rectangle color and style. By default this is
transparent. Enabling the BackDropVisible property activates the group’s BackDrop color properties.
The group’s bounding rectangle fill color is defined by the BackDropColor and

108
IFIX Automation Reference

BackDropBackgroundColor. The BackDropColor can be considered the foreground color of the


BackDrop fill area, therefore, is used for a solid style, and is the line color for the hatched patterns. For
non-solid styles, the BackDropBackgroundColor is the background fill area.

BackDropBackgroundStyle Property
Defines the background style for the group’s bounding rectangle.

Syntax
object.BackDropBackgroundStyle [= enumBackgroundStyle]

Properties
The BackDropBackgroundStyle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumBackgroundStyle Specifies the style to display for the group's background.

Settings
The settings for enumBackgroundStyle are:

Constant Value Description

Transparent 1 The background style is transparent.

Opaque 2 The background style is opaque. (Default)

BackDropBlend Property
Specifies the percentage of BackDropFadeColor to blend with the group's BackdropColor.

Syntax
object.BackDropBlend [=Double]

109
iFIX Automation Reference

Properties
The BackDropBlend property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The percentage of blend to use in the gradient fill.

Remarks
The BackDropBlend property is useful only when the group's FillStyle is set to FillStyleGradient.

BackDropBorderColor Property
Defines the back drop border color for the Group object's bounding rectangle.

Syntax
object.BackDropBorderColor [= Long]

Properties
The BackDropBorderColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the back drop border color.

BackDropBorderStyle Property
Sets the border style of the Group object's bounding rectangle.

Syntax
object.BackDropBorderStyle [= enumEdgeStyle]

110
IFIX Automation Reference

Properties
The BackDropBorderStyle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumEdgeStyle The style to display for the edge of the backdrop.

Settings
The settings for enumEdgeStyle are:

Constant Value Description

EdgeStyleSolid 0 Solid.

EdgeStyleDash 1 Dash.

EdgeStyleDot 2 Dot.

EdgeStyleDashDot 3 Dash-Dot.

EdgeStyleDashDotDot 4 Dash-Dot-Dot.

EdgeStyleNone 5 No border.

EdgeStyleInsideFrame 6 Inside Frame.

BackDropColor Property
Defines the back drop color of a group of objects.

Syntax
object.BackDropColor [= Long]

Properties
The BackDropColor property syntax has these parts:

111
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the group's back drop color.

Remarks
The group’s background and foreground color properties apply to the children contained in the group.
The group itself is a shape and can have it’s own bounding rectangle color and style. By default this is
transparent. Enabling the BackDropVisible property activates the group’s BackDrop color properties.
The group’s bounding rectangle fill color is defined by the BackDropColor and
BackDropBackgroundColor. The BackDropColor can be considered the foreground color of the
BackDrop fill area, therefore, is used for a solid style, and is the line color for the hatched patterns. For
non-solid styles, the BackDropBackgroundColor is the background fill area.

BackdropFadeColor Property
Specifies the fade color of a group when the FillStyle pattern is Gradient.

Syntax
object.BackdropFadeColor [=Long]

Properties
The BackdropFadeColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the group's fade color.

BackdropFadeType Property
Specifies the kind of fade used for the group's gradient fill.

Syntax
object.BackdropFadeType [=enumFadeType]

112
IFIX Automation Reference

Properties
The BackdropFadeType property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumFadeType The pattern to display.

Settings
The settings for enumFadeType are:

Constant Value Description

Linear 0 Linear

Reflected 1 Reflected

Radial 2 Radial

Concentric 3 Concentric

Remarks
The GradientAngle property is useful when the FadeType is either Linear or Reflected.

BackDropGradAngle Property
Specifies the angle (in radians or degrees) of the group's gradient fill.

Syntax
object.BackDropGradAngle [=Double]

Properties
The BackDropGradAngle property syntax has these parts:

113
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The angle of the group's gradient fill.

Remarks
In Configuration mode, BackDropGradAngle changes as you rotate the group.

The units to be used when creating the angle is specified as either degrees or radians, depending on the
value of the AngleUnits property.

BackDropStyle Property
Defines the Group object's back drop fill style.

Syntax
object.BackDropStyle [= enumFillStyle]

Properties
The BackDropStyle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumFillStyle Specifies the pattern style to display for the back drop.

Settings
The settings for enumFillStyle are:

Constant Value Description

FillStyleSolid 0 Solid.

FillStyleHollow 1 Hollow.

114
IFIX Automation Reference

Constant Value Description

FillStyleHorizontal 2 Horizontal.

FillStyleVertical 3 Vertical.

FillStyleDownDiagonal 4 Downward diagonal.

FillStyleUpDiagonal 5 Upward diagonal.

FillStyleCrossHatch 6 Crosshatch.

FillStyleDiagonalCrossHatch 7 Diagonal crosshatch.

BackDropVisible Property
Enables the Group object's back drop properties.

Syntax
object.BackDropVisible [= Boolean]

Properties
The BackDropVisible property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether or not the back drop properties are enabled.

Settings
The settings for Boolean are:

Value Description

True Back drop is visible.

115
iFIX Automation Reference

Value Description

False Back drop is not visible.

BackgroundColor Property
Specifies the background color of an object.

Syntax
object.BackgroundColor [= Long]

Properties
The BackgroundColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the object's background color.

BackgroundEdgeColor Property
Specifies the Chart object's background edge color.

Syntax
object.BackgroundEdgeColor [= Long]

Properties
The BackgroundEdgeColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the background edge color.

116
IFIX Automation Reference

BackgroundEdgeStyle Property
Specifies the Chart object's background edge style.

Syntax
object.BackgroundEdgeStyle [= enumEdgeStyle]

Properties
The BackgroundEdgeStyle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumEdgeStyle The style to display for the background edge.

Settings
The settings for enumEdgeStyle are:

Constant Value Description

EdgeStyleSolid 0 Solid.

EdgeStyleDash 1 Dash.

EdgeStyleDot 2 Dot.

EdgeStyleDashDot 3 Dash-Dot.

EdgeStyleDashDotDot 4 Dash-Dot-Dot.

EdgeStyleNone 5 No border.

EdgeStyleInsideFrame 6 Inside Frame.

BackgroundEdgeWidth Property
Specifies the Chart object's background edge width.

117
iFIX Automation Reference

Syntax
object.BackgroundEdgeWidth [= Long]

Properties
The BackgroundEdgeWidth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The value to specify the width of the background edge.

BackgroundStyle Property
Specifies whether the specified object's background style is opaque or transparent.

Syntax
object.BackgroundStyle [= enumBackgroundStyle]

Properties
The BackgroundStyle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumBackgroundStyle The style of the object's background.

Settings
The settings for enumBackgroundStyle are:

Constant Value Description

Transparent 1 The background style is transparent.

Opaque 2 The background style is opaque. (Default)

118
IFIX Automation Reference

BackupSecPath Property
Returns the backup security file path for the specified document.

Syntax
object.BackupSecPath [= String]

Properties
The BackupSecPath property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The backup security file path.

Remarks
BackupSecPath is a read-only property of type String.

BarVal Property
Sets the bar value for the real-time SPC data set in the Enhanced Chart.

Syntax
object.BarVal [= Double]

Properties
The BarVal property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The bar value for the real-time SPC data set in the RealTimeSPCDataSet Object.

119
iFIX Automation Reference

BasePath Property
Returns the iFIX base path as defined in the System Configuration Utility (SCU). This is typically the
main directory where the product is installed.

Syntax
object.BasePath

Properties
The BasePath property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
BasePath is a read-only property of type String.

BitmapGradientMode Property
Allows you to apply a bitmap or gradient style to the background of an Enhanced Chart.

Syntax
object.BitmapGradientMode [= Boolean]

Properties
The BitmapGradientMode property syntax has thse parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether or not a bitmap or gradient style is applied to the background of the
HistogramChart, LineChart, or SPCBarChart Object.

Settings
The settings for Boolean are:

120
IFIX Automation Reference

Value Description

True Bitmap or gradient style enabled. (Default)

False Bitmap or gradient style disabled.

Blend Property
Specifies the percentage of the FadeColor to blend with the object's ForegroundColor. In the case of
a chart object, specifies the percentage of the FadeColor to blend with the object's BackgroundColor.

Syntax
object.Blend [=Double]

Properties
The Blend property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The percentage of blend to use in the gradient fill.

Remarks
The Blend property is useful only when the object's FillStyle is set to FillStyleGradient.

BlinkEnabled Property
Specifies whether unacknowledged alarms in the Alarm Summary object blink. If blinking is enabled,
unacknowledged alarms blink at the rate set in the BlinkRate property.

Syntax
object.BlinkEnabled [= Boolean]

Properties
The BlinkEnabled property syntax has these parts:

121
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether or not unacknowledged alarms blink.

Settings
The settings for Boolean are:

Value Description

True Unacknowledged alarms blink

False Unacknowledged alarms do not blink. (Default)

BlinkRate Property
Specifies the rate at which the Alarm Summary spreadsheet row blinks.

Syntax
object.BlinkRate [= Integer]

Properties
The BlinkRate property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Integer The rate, in seconds, that the speadsheet row blinks. The valid values are 1 - 10. The
default is 1 second.

Remarks
The BlinkRate property only takes effect if the BlinkEnabled property is set to True.

122
IFIX Automation Reference

BorderTypes Property
Sets the border type for the Enhanced Chart.

Syntax
object.BorderTypes enumBorderTypes

Properties
The BorderTypes property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumBorderTypes Integer. Specifies the border type:


Valid entries:
0 – DropShadow
1 – SingleLine
2 – NoBorder
3 – InSet

Bottom Property
Returns the value of the bottom edge of the shape's bounding rectangle.

Syntax
object.Bottom

Properties
The Bottom property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Bottom is a read-only property of type Double.

123
iFIX Automation Reference

BottomCenter Property
Returns the value of the bottom center point of the shape's bounding rectangle as a FixFloatPoint.

Syntax
object.BottomCenter

Properties
The BottomCenter property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
BottomCenter is a read-only property of type Object.

BottomLeft Property
Returns the value of the bottom left point of the shape's bounding rectangle as a FixFloatPoint.

Syntax
object.BottomLeft

Properties
The BottomLeft property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
BottomLeft is a read-only property of type Object.

124
IFIX Automation Reference

BottomRight Property
Returns the value of the bottom right point of the shape's bounding rectangle as a FixFloatPoint.

Syntax
object.BottomRight

Properties
The BottomRight property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
BottomRight is a read-only property of type Object.

BottomVisibleRow Property
Specifies the last visible row in the Alarm Summary object’s spreadsheet.

Syntax
object.BottomVisibleRow

Properties
The BottomVisibleRow property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
You can use the value of BottomVisibleRow to compute the visible page size.

125
iFIX Automation Reference

BoundRect Property
Returns the top left and bottom right values of the shape's bounding rectangle.

Syntax
object.BoundRect

Properties
The BoundRect property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
BoundRect is a read-only property of type Object.

ButtonState Property
Indicates whether or not the Bitmap is pushed in the Run-time environment.

Syntax
object.ButtonState [= enumButtonState]

Properties
The ButtonState property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumButtonState Whether or not the button is pushed.

Settings
The settings for enumButtonState are:

126
IFIX Automation Reference

Constant Value Description

ButtonStateUp 0 Button is not pushed.

ButtonStateDown 1 Button is pushed.

Remarks
The ButtonState property only applies to multi-state bitmaps.

ButtonStyle Property
Specifies the behavior style of the Bitmap when used as a push button.

Syntax
object.ButtonStyle [= enumButtonStyle]

Properties
The ButtonStyle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumButtonStyle The behavior style.

Settings
The settings for enumButtonStyle are:

Constant Value Description

BitmapButtonNone 0 None.

BitmapButtonPush 1 Push button.

BitmapButtonMultiState 2 Multi-state button.

127
iFIX Automation Reference

Remarks
This property can be used to make a three dimensional button.

CacheEnabled Property
Specifies whether caching is enabled for the picture object.

Syntax
object.CacheEnabled [= Boolean]

Properties
The CacheEnabled property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether caching is enabled for the particular picture.

Settings
The settings for Boolean are:

Value Description

True Once you have closed a picture in run mode, the next time you open the picture in run
mode it will be read from memory cache, instead of from disk, if picture caching is
enabled globally. This is the default.

False Once you have closed a picture in run mode, the next time you open the picture in run
mode it will be read from disk, instead of from memory cache, whether or not picture
caching is enabled globally.

128
IFIX Automation Reference

Remarks
This object property directly affects the Allow this picture to be cached option in the Create Picture
wizard. However, picture caching will only truly occur if global picture caching is also enabled from
the User Preferences dialog box. This option is available in three places:

• On the Attributes page of the Modify Configuration dialog box


• On the Define Custom Picture Attributes page of the Create Picture Wizard dialog box.
• In the Edit Picture dialog box, as Disable caching for this picture.

Cancel Property
Specifies whether the specified control is the Cancel button in a picture. This control can be the
pushbutton control or any control that behaves like a button.

Syntax
object.Cancel [= Boolean]

Properties
The Cancel property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the control is the cancel button.

Settings
The settings for Boolean are:

Value Description

True This control is the Cancel button of the picture in the Run-time environment.

False The control is not a cancel button for the picture. (Default)

Remarks
Only one control in a picture can be the Cancel button. When the Cancel property is set to True for
one control, it is automatically set to False for all other controls in the picture. When a control's

129
iFIX Automation Reference

Cancel property setting is True and the picture is the active picture, the user can choose the control by
clicking it, pressing the ESC key, or pressing ENTER when the button has the focus.

The Cancel property of a control can be set to True only if the control is a pushbutton control or any
control that behaves like a button i.e., marked with OLEMISC_ACTSLIKEBUTTON flag.

Caption Property
Specifies the caption text of the Text and Datalink objects and/or the caption of the Window or
Application object.

Syntax
object.Caption [= String]

Properties
The Caption property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The string displayed as the caption of the object.

Remarks
To change the caption of a Picture or Window object, the user would do the following:

Application.ActiveWindow.Caption = "NewCaption"

Category Property
Returns a base component string which defines the general classification of a component such as
“Animation” and “Picture”.

Syntax
object.Category

Properties
The Category property syntax has this part:

130
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Category is a read-only property of type String.

Center Property
Returns the value of the center point of the shape's bounding rectangle as a FixFloatPoint.

Syntax
object.Center

Properties
The Center property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Center is a read-only property of type Object.

CenterOfRotation Property
Specifies the point about which an object is rotated.

Syntax
object.CenterOfRotation [= Object]

Properties
The CenterOfRotation property syntax has these parts:

131
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Object Specifies the point about which to rotate.

Remarks
The Object is a point of type FixFloatPoint.

An example of how to set the CenterOfRotation property for a Rectangle to (10, 20) would be:

Dim Point As Object


Set Point = New FixFloatPoint

Point.X = 10
Point.Y = 20
Rect1.CenterOfRotation = Point

CenterPoint Property
Specifies the coordinates of the object's center point.

Syntax
object.CenterPoint [= Object]

Properties
The CenterPoint property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Object Specifies the value of the center point.

Remarks
The Object is a point of type FixFloatPoint.

132
IFIX Automation Reference

CenterX Property
Specifies the value of the x-coordinate of the center point of the specified object.

Syntax
object.CenterX [= Double]

Properties
The CenterX property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The x-coordinate of the center point.

CenterY Property
Specifies the value of the y-coordinate of the center point of the specified object.

Syntax
object.CenterY [= Double]

Properties
The CenterY property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The y-coordinate of the center point.

CharactersPerLine Property
Specifies the number of characters allowed per line.

133
iFIX Automation Reference

Syntax
object.CharactersPerLine [=Integer]

Properties
The CharactersPerLine property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Integer The number of characters allowed per line.

ChartFontSize Property
Specifies the font size for the Enhanced Chart.

Syntax
object.ChartFontSize [=enumChartFontSize]

Properties
The ChartFontSize property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumChartFontSize Specifies the font size:


Valid entries:
0 – Large
1 – Medium (Default)
2 – Small

CheckForAlarmListChanged Property
Specifies whether the Alarm Summary object tracks changes to the list of alarms and fires the
AlarmListChanged event.

134
IFIX Automation Reference

Syntax
object.CheckForAlarmListChanged [= Boolean]

Properties
The CheckForAlarmListChanged property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the Alarm Summary object tracks changes to the list of alarms and fires the
AlarmListChanged event.

Settings
The settings for Boolean are:

Value Description

True Tracks changes to the list of alarms so that the AlarmListChanged event fires.

False Does not track changes to the list of alarms. Consequently the AlarmListChanged
event never fires. (Default)

Remarks
The best place to set this property is in the Initialize event handler of your picture.

CheckForNewAlarms Property
Specifies whether the Alarm Summary object tracks new alarms and fires a NewAlarm event.

Syntax
object.CheckForNewAlarms [= Boolean]

Properties
The CheckForNewAlarms property syntax has these parts:

135
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the Alarm Summary object tracks new alarms and fires a NewAlarm event.

Settings
The settings for Boolean are:

picture.

CheckForSeverityIncrease Property
Specifies whether the Alarm Summary object tracks when an alarm’s status increases in severity and
fires the SeverityIncreased event.

The CheckForSeverityIncrease property must be set in run mode. The value you enter here is not
persisted. In other words, when you switch from run mode to configure mode, the value changes back
to FALSE (0), which is the default. If you enter TRUE (1) in configure mode, it switches back to
FALSE (0) when you enter run mode. You must set this value in run mode.

Syntax
object.CheckForSeverityIncrease [= Boolean]

Properties
The CheckForSeverityIncrease property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Specifies whether the Alarm Summary object tracks when an alarm’s status increases
in severity and fires the SeverityIncreased event.

Settings
The settings for Boolean are:

136
IFIX Automation Reference

Value Description

True Tracks changes to the list of alarms so that the SeverityIncreased event fires.

False Does not track changes to the list of alarms. Consequently, the SeverityIncreased
event never fires. (Default)

Remarks
The best place to set this property is in the Initialize event handler of your picture.

ClassName Property
Returns the class of the specified object.

Syntax
object.ClassName

Properties
The ClassName property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
ClassName is a read-only property of type String.

Color Property
Specifies the color of the ColorButton object.

Syntax
object.Color [= Long]

Properties
The Color property syntax has these parts:

137
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the color of the ColorButton.

ColorTable Property
Specifies whether the user is setting up a color table for the Lookup object.

Syntax
object.ColorTable [= Boolean]

Properties
The ColorTable property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the Lookup table is a color table or not.

Settings
The settings for Boolean are:

Value Description

True The table is a color table.

False The table is not a color table. (Default)

Remarks
This property must be specified when using color tables so that iFIX knows to interpret the range
values as colors.

138
IFIX Automation Reference

CombinationKey Property
Indicates how the Control and Shift keys are used in defining the key combination for a key macro
object.

Syntax
object.CombinationKey [= Value]

Properties
The CombinationKey property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Value 0 - ComboKeyNone Neither the Control or Shift key is used in combination with the key
code.
1- ComboKeyCtrl Only the Control key is used in combination with the key code.
2 - ComboKeyShift Only the Shift key is used in combination with the key code.
3 - ComboKeyCtrlShift Both the Control and the Shift key are used in combination with
the key code.

Comments Property
Specifies the comments associated with the current document.

Syntax
object.Comments [= String]

Properties
The Comments property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The user-defined comments associated with the current document.

139
iFIX Automation Reference

CompletionStatus Property
Retrieves the last value written to the completion status tag by the SecuritySynchronizer object.

Syntax
object.CompletionStatus [= Boolean]

Properties
The CompletionStatus property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean True (1) is written to this property only when the security synchronization process
completes.
You must manually set the value to False (0) before calling the SynchronizeSecurity
method, to see this property value change to True (1) when the synchronization
process completes.

CompletionStatusTag Property
Sets or retrieves the iFIX database tag and floating point field that indicates the status of the
completion flag.

Syntax
object.CompletionStatusTag [= String]

Properties
The CompletionStatusTag property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The Node.Tag.Field to be set or retrieved.

140
IFIX Automation Reference

Remarks
CompletionStatusTag corresponds to the /C command line parameter of the Security Synchronizer
application.

ConfirmDataEntry Property
Specifies whether to confirm data entry.

Syntax
object.ConfirmDataEntry [= Boolean]

Properties
The ConfirmDataEntry property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether or not to confirm data entry.

Settings
The settings for Boolean are:

Value Description

True Data entry is confirmed.

False Data entry is not confirmed. (Default)

ConnectionFailed Property
Returns whether the connection attempt was successful or not.

Syntax
object.ConnectionFailed

141
iFIX Automation Reference

Properties
The ConnectionFailed property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
ConnectionFailed is a read-only property of type Object.

Return Values
The ConnectionFailed property return values are:

Value Description

True The connection failed.

False The connection was successful.

ConstantLine Property
Specifies whether to display a constant line for the specified Pen.

Syntax
object.ConstantLine [= Boolean]

Properties
The ConstantLine property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to display the Pen as a constant line.

142
IFIX Automation Reference

Settings
The settings for Boolean are:

Value Description

True The Pen is displayed as a constant line.

False The Pen is not displayed as a constant line.

Remarks
The value displayed in the line is the current value for the specified Pen.

ContainedObjects Property
Returns a collection of objects contained within the specified object.

Syntax
object.ContainedObjects

Properties
The ContainedObjects property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
ContainedObjects is a read-only property of type Object.

ContainedSelections Property
Returns a collection of objects contained within the current object which are currently selected.

Syntax
object.ContainedSelections

143
iFIX Automation Reference

Properties
The ContainedSelections property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
ContainedSelections is a read-only property of type Object.

ContextID Property
Specifies the context ID for the user's context sensitive help file.

Syntax
object.ContextID [= Long]

Properties
The ContextID property syntax has these parts:

Part Description

objecContainedSelections An object expression that evaluates to an object in the


Propertyt Applies To list.

Long Specifies the ID for help file.

ControlOrderIndex Property
Specifies the order in which the object will be selected via the "Up" and "Down" arrow keys.

Syntax
object.ControlOrderIndex [= Long]

Properties
The ControlOrderIndex property syntax has these parts:

144
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long Specifies the order of selection.

Count Property
Returns the number of items in the specified collection or the number of levels in a Lookup object.

Syntax
object.Count

Properties
The Count property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Count is a read-only property of type Long.

CurrentDataSet Property
Returns or sets the current data set of a chart by position.

Syntax
object.CurrentDataSet

Properties
The CurrentDataSet property syntax has this part:

145
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
The CurrentDataSet property is a zero-based long integer indicating the current data set of the chart.

CurrentDataSource Property
Returns the current data source.

Syntax
object.CurrentDataSource

Properties
The CurrentDataSource property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
CurrentDataSource is a read-only property of type String.

CurrentDate Property
Returns the current system date. The date string is formatted according to the "short date" format in the
Regional and Language Options in the Control Panel.

Syntax
object.CurrentDate [= String]

Properties
The CurrentDate property syntax has these parts:

146
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The current date.

CurrentDateDay Property
Returns the day component of the current system date.

Syntax
object.CurrentDateDay [= String]

Properties
The CurrentDateDay property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The day component of the current date.

CurrentDateMonth Property
Returns the month component of the current system date.

Syntax
object.CurrentDateMonth [= String]

Properties
The CurrentDateMonth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

147
iFIX Automation Reference

Part Description

bstrEventName String. The name of the event.

CurrentDateYear Property
Returns the year component of the current system date.

Syntax
object.CurrentDateYear [= String]

Properties
The CurrentDateYear property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The year component of the current date.

CurrentImage Property
Specifies the index of the image that is currently being displayed.

Syntax
object.CurrentImage [= Integer]

Properties
The CurrentImage property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Integer The index of the currently displayed image.

148
IFIX Automation Reference

CurrentPen Property
Specifies the current Pen by it's index in the Pens collection.

Syntax
object.CurrentPen [= Long]

Properties
The CurrentPen property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The index of the current Pen.

CurrentPicture Property
Returns the currently active picture displayed in the Proficy iFIX WorkSpace.

Syntax
object.CurrentPicture[= String]

Properties
The CurrentPicture property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The current active picture alias or name.

CurrentTime Property
Specifies the current system time. The time string is formatted according to the "time" format in the
Regional and Language Options in the Control Panel.

149
iFIX Automation Reference

Syntax
object.CurrentTime [= String]

Properties
The CurrentTime property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The current time.

CurrentTimeHour Property
Returns the hour component of the current system time.

Syntax
object.CurrentTimeHour [= String]

Properties
The CurrentTimeHour property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The hour component of the current time.

CurrentTimeMinute Property
Returns the minute component of the current system time.

Syntax
object.CurrentTimeMinute [= String]

150
IFIX Automation Reference

Properties
The CurrentTimeMinute property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The minute component of the current time.

CurrentTimeSecond Property
Returns the second component of the current system time.

Syntax
object.CurrentTimeSecond [= String]

Properties
The CurrentTimeSecond property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The second component of the current time.

CurrentValue Property
Specifies the current value for the specified Pen or Variable.

Syntax
object.CurrentValue [= Double]

Properties
The CurrentValue property syntax has these parts:

151
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The current value.

DataEntry Property
Specifies the data entry type.

Syntax
object.DataEntry [= Integer]

Properties
The DataEntry property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Integer The data entry type.

Settings
The settings for Integer are:

Value Description

0 None. (Default)

1 In line.

152
IFIX Automation Reference

DataItems Property
Returns a user defined collection of DataItem objects. DataItem objects can be added and removed
from this collection using the Add and Remove methods. When adding a DataItem, the DataItem
must exist within the iFIX data system or it will not be added to the collection. DataItem names must
be unique.

Syntax
object.DataItems

Properties
The DataItems property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
DataItems is a read-only property of type Object.

DataRefreshInterval Property
Specifies the rate at which real-time values are retrieved for tags in the current alarm list in the Alarm
Summary object.

Syntax
object.DataRefreshInterval [= Single]

Properties
The DataRefreshInterval property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Single The rate, in seconds, at which real time values are retrieved for tags in the current alarm
list. The valid values are 0.1 - 300.0 The default is 0.5 seconds.

153
iFIX Automation Reference

DataServers Property
Returns a collection of installed data servers in the FixDataSystem.

Syntax
object.DataServers

Properties
The DataServers property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
DataServers is a read-only property of type Object.

The DataServers information is registered during installation of the OPC server using the
DataServerInstaller program.

DataSetColor Property
Sets the color used for the data set in the Enhanced Chart.

Syntax
object.DataSetColor [= Long]

Properties
The DataSetColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The color for the HistoricalDataSet, RealTimeDataSet, or RealTimeSPCDataSet Object


in the Enhanced Chart.

154
IFIX Automation Reference

DataShadows Property
Sets whether shadows or 3D effects will be used in the plotting method for an Enhanced Chart.

Syntax
object.DataShadows [=enumDataShadows]

Properties
The DataShadows property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumDataShadows Specifies the shadow effects for the plotting method in the HistogramChart,
LineChart, SPCBarChart, or XYChart:
Valid entries:
0 – DataShadowsNone
1 – DataShadows
2 – Data3D

DaylightSavingsTime Property
Takes daylight saving time changes into account.

Syntax
object.DaylightSavingsTime [= Boolean]

Properties
The DaylightSavingsTime property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Specifies whether daylight saving time is enabled.

155
iFIX Automation Reference

Settings
The settings for Boolean are:

Value Description

True Consider the daylight saving time changes.

False Do not consider the daylight saving time changes.

Remarks
The DaylightSavingsTime property defaults to what is set in the Date/Time control panel under
“automatically adjust clock for daylight saving changes.”

DaysBeforeNow Property
Specifies the initial start date for the Chart, Pen, Lookup Object, Line, Formatted Object, or
HistoricalDataSet relative to the date the parent Picture is opened.

Syntax
object.DaysBeforeNow [= Integer]

Properties
The DaysBeforeNow property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Integer The relative initial start date.

Remarks
DaysBeforeNow is a one-shot property.

This property is not impacted by any Global Time Control property settings.

156
IFIX Automation Reference

DaysOfMonth Property
Specifies which days in the month to run the current Timer object.

Syntax
object.DaysOfMonth [= Long]

Properties
The DaysOfMonth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The value corresponding to the bit mask for each day, where day 1 is the low order bit
and the end of the month is the 32nd bit.

Remarks
DaysOfMonth only applies if the TriggerType is set to Monthly.

DaysOfWeek Property
Specifies which days in the week to run the current Timer object.

Syntax
object.DaysOfWeek [= Long]

Properties
The DaysOfWeek property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The value corresponding to the bit mask for each day, where day 1 is the low order bit.

157
iFIX Automation Reference

Remarks
DaysOfWeek only applies if the TriggerType is set to Daily.

Deadband Property
Specifies the amount a value must change by + or - before a data change is recognized.

Syntax
object.Deadband [= Single]

Properties
The Deadband property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Single The amount the value must change.

DecimalDigits Property
Specifies the number of digits to be displayed after the decimal point.

Syntax
object.DecimalDigits [=Integer]

Properties
The DecimalDigits property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Integer The number of digits.

158
IFIX Automation Reference

Default Property
Specifies whether the specified control is the default button in a picture.

Syntax
object.Default [= Boolean]

Properties
The Default property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Settings
The settings for Boolean are:

Value Description

True The control is the Default button of the picture in the Run-time environment.

False The control is not the Default button of the picture. (Default)

Remarks
Only one control in a picture can be the default button. When Default is set to True for one control, it
is automatically set to False for all other controls in the picture. When the control's Default property
setting is True and its parent picture is active, the user can choose the command button (invoking its
Click event) by pressing ENTER. Any other control with the focus doesn't receive a keyboard event
(KeyDown, KeyPress, or KeyUp) for the ENTER key unless the user has moved the focus to another
button in the same picture. In this case, pressing ENTER chooses the button that has the focus instead
of the default button.

The Default property of a control can be set to True only if the control is a pushbutton control or any
control that behaves like a button i.e., marked with OLEMISC_ACTSLIKEBUTTON flag

DefaultDataSystem Property
Returns which is the default datasystem when a user types in a tag in an animation. For example, if the
default datasystem is "Fix32" and a users enters "AI1" into an animations dialog, the Fix32 datasystem
will resolve the tag (i.e. Fix32.AI1).

159
iFIX Automation Reference

Syntax
object.DefaultDataSystem

Properties
The DefaultDataSystem property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
DefaultDataSystem is a read-only property of type String.

The DefaultDataSytem information is registered during installation of the OPC server using the
DataServerInstaller program.

DefaultExternalDatasourceUpdateRate Property
Returns the refresh rate (in seconds) the Basic Animations dialog box uses as a default for a
connection.

Syntax
object.DefaultExternalDatasourceUpdateRate

Properties
The DefaultExternalDatasourceUpdateRate property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
DefaultExternalDatasourceUpdateRate is a read-only property of type Single.

DefaultOutputValue Property
Specifies the default output value.

160
IFIX Automation Reference

Syntax
object.DefaultOutputValue [= Variant]

Properties
The DefaultOutputValue property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant Variant. The default output value.

DefaultServer Property
Returns a flag signifying whether this OPC DataServer was installed as the default.

Syntax
object.DefaultServer

Properties
The DefaultServer property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Return Values
The DefaultServer property return values are:

Value Description

0 The specified data server is not the default server.

1 The specified data server is the default server.

161
iFIX Automation Reference

Remarks
DefaultServer is a read-only property of type String.

The DefaultServer information is registered during installation of the OPC server using the
DataServerInstaller program.

Description Property
A user defined description of the specified object's function to be displayed in the object’s tooltip.

Syntax
object.Description [= String]

Properties
The Description property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The description as defined by the user.

DeskColor Property
Allows you to specify the surrounding color of the Enhanced Chart, behind the title, sub-titles, and
legends.

Syntax
object.DeskColor [= Long]

Properties
The DeskColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

162
IFIX Automation Reference

Part Description

Long The surrounding color represented as an Integer value.

DigitalError Property
Retrieves the last value written to the digital error tag by the SecuritySynchronizer object. The value is
represented as a boolean.

Syntax
object.DigitalError

Properties
The DigitalError property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
DigitalError is a read-only property. It is only updated by SecuritySynchronizer at the end of the
security synchronization process. A value of 1 is written if an error is detected.

DigitalErrorTag Property
Sets or retrieves the digital iFIX database tag and floating point field to which a digital failure code is
written when the security synchronization process completes.

Syntax
object.DigitalErrorTag [= String]

Properties
The DigitalErrorTag property syntax has these parts:

163
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The Node.Tag.Field to be set or retrieved.

Remarks
DigitalErrorTag corresponds to the /F command line parameter of the Security Synchronizer
application.

DigitsOfPrecision Property
Sets the number of decimal positions that are used in outputting data to the object Cursor Prompt,
Tables, Data Labels, and the Clipboard. Even though you set the numeric precision, the number of
decimal points specified does not appear on the chart unless it is necessary. For example, if you
specified the use of two decimal places, but all of the data values in your chart are whole numbers,
decimal points are not be used because they are not necessary. This setting does not apply to the axes
graduations and ticks.

Syntax
object.DigitsOfPrecision [= Long]

Properties
The DigitsOfPrecision property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long Whole number representing the number of decimal positions.

DisableAutoScale Property
Describes whether auto scaling is disabled. When you enable this setting, you override the picture's
logical units to a pixel ratio, when changing the resolution of your screen. This may be helpful for
multiple monitor configurations.

Syntax
object.DisableAutoScale [= Boolean]

164
IFIX Automation Reference

Properties
The DisableAutoScale property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether auto scaling is enabled.

Settings
The settings for Boolean are:

Value Description

True
Automatic picture scaling disabled.

False Automatic picture scaling enabled (Default).

DisplayLayer Property
Specifies the display layer for the current picture or dynamo set.

Syntax
object.DisplayLayer [= Long]

Properties
The DisplayLayer property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The display layer.

165
iFIX Automation Reference

Remarks
The DisplayLayer property is not saved to disk, it is a transient property which is reset each time the
document is opened. To specify a particular display layer for a Picture when the picture is opened in
the Run-time environment, open the picture as "hidden" using the Open method and set the
DisplayLayer property in the pictures Activated event.

DisplayMilliseconds Property
If set, displays the millisecond component of time on the time axis and tooltip of the chart.

Syntax
object.DisplayMilliseconds [= Boolean]

Properties
The DisplayMilliseconds property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to display milliseconds or not.

Settings
The settings for Boolean are:

Value Description

True Display the millisecond component of the time.

False Do not display the millisecond component of the time (Default).

DisplayStatusBar Property
Specifies whether the WorkSpace's Status Bar is visible.

Syntax
object.DisplayStatusBar [= Boolean]

166
IFIX Automation Reference

Properties
The DisplayStatusBar property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the Status Bar is visible or not.

Settings
The settings for Boolean are:

Value Description

True The Status Bar is visible.

False The Status Bar is not visible.

DisplayString Property
Retrieves and sets the name of the procedure to execute when the key seqeunce of the key macro is
matched.

Syntax
object.DisplayString [= DisplayString]

Properties
The DisplayString property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

DisplayString String. The new string representing the key combination.

167
iFIX Automation Reference

DisplaySystemTree Property
Specifies whether the WorkSpace's System Tree is visible.

Syntax
object.DisplaySystemTree [= Boolean]

Properties
The DisplaySystemTree property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the System Tree is visible or not.

Settings
The settings for Boolean are:

Value Description

True The document is active.

False The document is not active.

DocumentHeight Property
Specifies the height of the document.

Syntax
object.DocumentHeight [= Double]

Properties
The DocumentHeight property syntax has these parts:

168
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double A user-defined logical coordinate vertical extent.

Remarks
The default DocumentHeight is 75.

DocumentPath Property
Returns the path used to store non-FIX related documents such as Word and Excel documents.

Syntax
object.DocumentPath

Properties
The DocumentPath property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
DocumentPath is a read-only property of type String.

Documents Property
Returns a collection of the documents that are open in the WorkSpace.

Syntax
object.Documents

Properties
The Documents property syntax has this part:

169
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Documents is a read-only property of type Object.

Each member of the collection is represented by a Document object.

DocumentWidth Property
Specifies the width of the document.

Syntax
object.DocumentWidth [= Double]

Properties
The DocumentWidth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double A user-defined logical coordinate horizontal extent.

Remarks
The default DocumentWidth is 100.

Domain Property
Sets or retrieves the name of the Windows domain that acts as the source of security information for
the security synchronization process.

Syntax
object.Domain [= String]

170
IFIX Automation Reference

Properties
The Domain property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String A valid Windows domain name.

Remarks
You must set Domain to a valid domain name when the UseDomainSecurity property is equal to
True.

This property corresponds to the domain name following the /D command line parameter of the
Security Synchronizer application.

DownImageDisplayed Property
Specifies whether the secondary image of the Bitmap is to be displayed when the mouse is down.

Syntax
object.DownImageDisplayed [= Boolean]

Properties
The DownImageDisplayed property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the secondary image is displayed on when the mouse is down.

Settings
The settings for Boolean are:

171
iFIX Automation Reference

Value Description

True The secondary image is displayed when the mouse is down.

False The secondary image is not displayed when the mouse is down.

DSDescription Property
Sets the data set description in the HistoricalDataSet, RealTimeDataSet, or RealTimeSPCDataSet
object.

Syntax
object.DSDescription [= String]

Properties
The DSDescription property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String String. The string representing the data set description.

DSLegendAvgerageOverRangeColWidth Property
Sets the width of the Average Over Range Legend column in an Enhanced Chart.

Syntax
object.DSLegendAvgerageOverRangeColWidth [= Long]

Properties
The DSLegendAvgerageOverRangeColWidth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

172
IFIX Automation Reference

Part Description

Long Whole number representing the width of the Average Over Range Legend column.

DSLegendCurrentValColWidth Property
Specifies the column width of the data value in the legend.

Syntax
object.DSLegendCurrentValColWidth [= Long]

Properties
The DSLegendCurrentValColWidth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long Whole number representing the column width of the data value in the legend.

DSLegendDescriptionColWidth Property
Returns the top, left, and bottom-right values of the shape's bounding rectangle.

Syntax
object.DSLegendDescriptionColWidth [= Long]

Properties
The DSLegendDescriptionColWidth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long Whole number representing the top, left, and bottom-right values of the shape's bounding
rectangle.

173
iFIX Automation Reference

DSLegendHighLimitColWidth Property
Specifies the column width of the high limit in the legend in an Enhanced Chart.

Syntax
object.DSLegendHighLimitColWidth [= Long]

Properties
The DSLegendHighLimitColWidth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long Whole number representing the column width of the high limit in the legend in the
HistogramChart, LineChart, SPCBarChart, or XYChart Object.

DSLegendHighOverRangeColWidth Property
Specifies the column width of the high over range limit in the legend in an Enhanced Chart.

Syntax
object.DSLegendHighOverRangeColWidth [= Long]

Properties
The DSLegendHighOverRangeColWidth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long Whole number representing the column width of the high over range limit in the legend
in the HistogramChart, LineChart, SPCBarChart, or XYChart Object.

DSLegendLowLimitColWidth Property
Specifies the column width of the low limit in the legend in an Enhanced Chart.

174
IFIX Automation Reference

Syntax
object.DSLegendLowLimitColWidth [= Long]

Properties
The DSLegendLowLimitColWidth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long Whole number representing the column width of the low limit in the legend in the
HistogramChart, LineChart, SPCBarChart, or XYChart Object.

DSLegendLowOverRangeColWidth Property
Specifies the column width of the low over range limit in the legend in an Enhanced Chart.

Syntax
object.DSLegendLowOverRangeColWidth [= Long]

Properties
The DSLegendLowOverRangeColWidth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long Whole number representing the column width of the low over range limit in the legend in
the HistogramChart, LineChart, SPCBarChart, or XYChart Object.

DSLegendMask Property
Indicates which legend items to show in the HistoricalDataSet, RealTimeDataSet, or
RealTimeSPCDataSet object.

Syntax
object.DSLegendMask [= Long]

175
iFIX Automation Reference

Properties
The DSLegendMask property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long A value that represents the Legend items to show in the data set:
DS_LEGEND_BITMASK_SOURCE_NAME (UINT32) – 0x00000001
DS_LEGEND_BITMASK_DESCRIPTION (UINT32) – 0x00000002
DS_LEGEND_BITMASK_CURRENT_VALUE (UINT32) – 0x00000004
DS_LEGEND_BITMASK_LOW_LIMIT (UINT32) – 0x00000008
DS_LEGEND_BITMASK_HIGH_LIMIT (UINT32) – 0x00000010
DS_LEGEND_BITMASK_AVG_OVER_RANGE (UINT32) – 0x00000020
DS_LEGEND_BITMASK_LOW_OVER_RANGE (UINT32) – 0x00000040
DS_LEGEND_BITMASK_HIGH_OVER_RANGE (UINT32) – 0x00000080
DS_LEGEND_BITMASK_QUALITY (UINT32) – 0x00000100

Remarks
DSLegendMask is a read-only property.

DSLegendQualityColWidth Property
Specifies the column width of the data quality in the legend in the Enhanced Chart.

Syntax
object.DSLegendQualityColWidth [= Long]

Properties
The DSLegendQualityColWidth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long Whole number representing the column width of the data quality in the legend in the
HistogramChart, LineChart, SPCBarChart, or XYChart Object.

176
IFIX Automation Reference

DSLegendSourceColWidth Property
Specifies the column width of the data source name in the legend in an Enhanced Chart.

Syntax
object.DSLegendSourceColWidth [= Long]

Properties
The DSLegendSourceColWidth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long Whole number representing the column width of the data source name in the legend in
the HistogramChart, LineChart, SPCBarChart, or XYChart Object.

DSPosition Property
DSPosition is a read-only data set property that allows you to retrieve the position of a data set in the
chart. For example, if you have one real-time data set, the DSPosition is 0. If you have two data sets in
a chart, the second data set’s DSPosition is 1.

Syntax
object.DSPosition [= Long]

Properties
The DSPosition property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long Whole number representing the position of the data set.

Remarks
DSPosition is a read-only property.

177
iFIX Automation Reference

Duration Property
Specifies the time duration, in seconds, to display data in the Chart, HistogramChart, LineChart, or
SPCBarChart.

Syntax
object.Duration [= Long]

Properties
The Duration property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The length of time for which the Chart displays data.

Dynamo_Description Property
Returns the text description of a Dynamo object, if one exists. This property is read-only.

Syntax
DynamoObject.Dynamo_Description

Properties
The Dynamo_Description property syntax has this part:

Part Description

DynamoObject A Dynamo object.


TIP: The maximum number of characters that you enter into the
Dynamo_Description property is available in the Max_Dynamo_Desc_Length
Property.

Return Value
String. A text description of the Dynamo object.

178
IFIX Automation Reference

Dynamo_ID Property
Returns the unique identifier (GUID) for the Dynamo Object. This property is read-only.

Syntax
DynamoObject.Dynamo_ID

Properties
The Dynamo_ID property syntax has this part:

Part Description

DynamoObject. A Dynamo object.

Return Value
String. This string represents a unique 128-bit number used as the Globally Unique Identifier (GUID)
for the Dynamo object.

EdgeColor Property
Specifies a shape's edge color.

Syntax
object.EdgeColor [= Long]

Properties
The EdgeColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the shape's edge color.

179
iFIX Automation Reference

EdgeStyle Property
Specifies the value representing a shape's edge style.

Syntax
object.EdgeStyle [= enumEdgeStyle]

Properties
The EdgeStyle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

EnumEdgeStyle The edge style to be displayed for the specified shape.

Settings
The settings for enumEdgeStyle are:

Constant Value Description

EdgeStyleSolid 0 Solid

EdgeStyleDash 1 Dash

EdgeStyleDot 2 Dot

EdgeStyleDashDot 3 Dash-Dot

EdgeStyleDashDotDot 4 Dash-Dot-Dot

EdgeStyleNone 5 No border.

EdgeStyleInsideFrame 6 Inside Frame.

Bitmap Object Syntax


object.EdgeStyle [= enumBitmapEdgeStyle]

180
IFIX Automation Reference

Properties
The EdgeStyle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

EnumBitmapEdgeStyle The edge style to be displayed for the specified bitmap.

Object Settings
The settings for enumBitmapEdgeStyle are:

Constant Value Description

BitmapEdgeNone 0 No edge.

BitmapEdgeSunken 1 Sunken edge.

BitmapEdgeRaised 2 Raised edge.

BitmapEdgeEtched 3 Etched edge.

BitmapEdgeBump 4 Bump edge.

Remarks
Changes to the EdgeStyle property are only visible when the EdgeWidth property of the object is set
to 1.

EdgeWidth Property
Specifies a shape's border width.

Syntax
object.EdgeWidth [= Long]

Properties
The EdgeWidth property syntax has these parts:

181
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long A number from 0 to 200.

EditText Property
Specifies the text to be displayed in the combo box of the ExpressionEditor.

Syntax
object.EditText [= String]

Properties
The EditText property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The text displayed in the ExpressionEditor's combo box.

ElbowStyle Property
Specifies the elbow style to be applied to the current pipe object.

Syntax
object.ElbowStyle [= enumElbowStyle]

Properties
The ElbowStyle property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

182
IFIX Automation Reference

Settings
The settings for enumElbowStyle are:

Value Description

0
ElbowStyleRound

1
ElbowStyleSquare

EnableAcknowledgeAll Property
Specifies whether Acknowledge All Alarms can be performed from the Alarm Summary object.

Syntax
object.EnableAcknowledgeAll [=Boolean]

Properties
The EnableAcknowledgeAll property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether Acknowledge All Alarms can be performed.

Settings
The settings for Boolean are:

Value Description

True Acknowledge All Alarms can be performed from the Alarm Summary object. (Default)

False Acknowledge All Alarms cannot be performed from the Alarm Summary object.

183
iFIX Automation Reference

Remarks
Setting EnableAcknowledgeAll to True allows the user to acknowledge all alarms from the Alarm
Summary object. Acknowledge All Alarms is not supported by electronic signature. Therefore, it is
recommend that EnableAcknowledgeAll be set to False on systems enabled for electronic signatures.

EnableAlarmAcknowledge Property
Specifies whether alarms can be acknowledged using the Alarm Summary window.

Syntax
object.EnableAlarmAcknowledge [= Boolean]

Properties
The EnableAlarmAcknowledge property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether alarms can be acknowledged.

Settings
The settings for Boolean are:

Value Description

True Alarms can be acknowledged using the Alarm Summary window. (Default)

False Alarms cannot be acknowledged using the Alarm Summary window.

EnableAlarmDeletion Property
Specifies whether alarms can be deleted from the Alarm Summary object.

Syntax
object.EnableAlarmDeletion [= Boolean]

184
IFIX Automation Reference

Properties
The EnableAlarmDeletion property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether alarms can be deleted.

Settings
The settings for Boolean are:

Value Description

True Alarms can be deleted from the Alarm Summary object. (Default)

False Alarms cannot be deleted from the Alarm Summary object.

Remarks
Setting EnableAlarmDeletion to True allows the user to delete alarms whether they have been
acknowledged or not.

EnableAsVbaControl Property
Specifies whether a variable object is registered in VBA and if you can use it in VBA scripts. For
example, you may want to disable the registration of some variable objects in VBA if you do not need
these objects in scripts or need to create event procedures for these objects (i.e. OnChange, OnFalse, or
OnTrue). By minimizing the number of VBA objects, you optimize performance.

Syntax
object.EnableAsVbaControl [= Boolean]

Properties
The EnableAsVbaControl property syntax has these parts:

185
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the object is registered in VBA and if it can be used in VBA scripts.

Remarks
An example of how to set the EnableAsVbaControl property for a picture would be:

picture_name.object_name.EnableAsVbaControl False

EnableColumnQuickSort Property
Specifies whether columns can be sorted in the Alarm Summary object.

Syntax
object.EnableColumnQuickSort [= Boolean]

Properties
The EnableColumnQuickSort property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether columns can be sorted.

Settings
The settings for Boolean are:

Value Description

True A left mouse click on a column header toggles the sort order of the list of alarms
between ascending and descending order.

False The list cannot be sorted.

186
IFIX Automation Reference

Remarks
Only the Node, Priority, Tagname, and Time In columns support sorting.

Enabled Property
Returns whether the Color Button or FixKeyMacro Object is enabled.

Syntax
object.Enabled

Properties
The Enabled property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Return Values
The Enabled property return values are:

Value Description

True The specified object is enabled.

False The specified object is not enabled.

Remarks
Enabled is a read-only property of type Boolean.

EnableGlobalEndTime Property
Specifies whether the end time is utilized for the object display. When this property is false, the
combination of the GlobalStartTime and the GlobalDuration define the GlobalEndTime of the Global
Time Control.

187
iFIX Automation Reference

Syntax
object.EnableGlobalEndTime [= Boolean]

Properties
The EnableGlobalEndTime property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the end time is enabled

Settings
The settings for Boolean are:

Value Description

True End time is enabled.

False End time is not enabled (Default).

EnableGlobalScrollPercentage Property
Specifies whether the scroll percentage is enabled for the Global Time Control.

Syntax
object.EnableGlobalScrollPercentage [= Boolean]

Properties
The EnableGlobalScrollPercentage property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the scroll percentage is enabled.

188
IFIX Automation Reference

Settings
The settings for Boolean are:

Value Description

True Scroll percentage is enabled (Default).

False Scroll percentage is not enabled.

EnableEndTime Property
Specifies whether the end time is utilized or not for a Timer object.

Syntax
object.EnableEndTime [= Boolean]

Properties
The EnableEndTime property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the end time is enabled.

Settings
The settings for Boolean are:

Value Description

True End time is enabled.

False End time is not enabled.

189
iFIX Automation Reference

EnableRightMouseClick Property
Specifies whether the right mouse menu is displayed when the user clicks in the Alarm Summary
object.

Syntax
object.EnableRightMouseClick [= Boolean]

Properties
The EnableRightMouseClick property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the right mouse menu is displayed.

Settings
The settings for Boolean are:

Value Description

True The right mouse menu is displayed when the user clicks the right mouse in the
spreadsheet. (Default)

False The right mouse menu is not displayed.

EnableRunTimeConfiguration Property
Specifies whether the user is allowed to change the Alarm Summary filter and sort in the Run-time
environment.

Syntax
object.EnableRunTimeConfiguration [= Boolean]

Properties
The EnableRunTimeConfiguration property syntax has these parts:

190
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the filter and sort can be changed in the run environment.

Settings
The settings for Boolean are:

Value Description

True The user can change the filter and sort in the Alarm Summary object in the Run-time
environment. (Default)

False The user is not allowed to change the filter and sort.

EnableTooltips Property
Specifies whether the tooltips are shown for the specified object.

Syntax
object.EnableTooltips [= Boolean]

Properties
The EnableTooltips property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the shape's tooltips are displayed.

Settings
The settings for Boolean are:

191
iFIX Automation Reference

Value Description

True The tooltips for the specified shape are displayed.

False The tooltips for the specified shape are not displayed. (Default)

Remarks
When EnableTooltips is set to True, the text displayed is the text set in the Description property for
the specified object.

EndAngle Property
Specifies which portion of the object is visible.

Syntax
object.EndAngle [= Double]

Properties
The EndAngle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The number of units to display the radial segment specifying the end of the angle.

Remarks
The Pie is merely a visible piece of an oval. The StartAngle and EndAngle properties specify which
portions of that oval will be visible. These properties define radial segments from the center of the oval
between which Pie is formed.

An EndAngle of 0 units will define a horizontal radial from the center of the oval to the right.
An EndAngle of 90 units will define a vertical radial from the center of the oval to the top of the
screen.
An EndAngle of 180 units will define a horizontal radial from the center of the oval to the left side of
the screen.
An EndAngle of 270 units will define a vertical radial from the center of the oval to the bottom of the
screen.

The units to be used when creating the angle is specified as either degrees or radians depending on the
value of the AngleUnits property.

192
IFIX Automation Reference

Changing the EndAngle property will change the EndPoint property.

EndCap Property
Specifies the end cap to apply to the selected pipe object.

Syntax
object.EndCap [= enumEndCap]

Properties
The EndCap property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Settings
The settings for enumEndCap are:

Value Description

0 EndCapRound

1 EndCapSquare

2
EndCapHorizontalDiagonal

3
EndCapVerticalDiagonal

EndPoint Property
Specifies the ending point of the object.

Syntax
object.EndPoint [= Object]

193
iFIX Automation Reference

Properties
The EndPoint property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Object A point of type FixFloatPoint.

Remarks
The EndPoint property specifies a point object which contains an x and y double value which are
logical coordinate values equivalent to the StartX and StartY properties.

The EndPoint for the Pie also defines the end points of the line segments which define the StartAngle
and EndAngle of the object.

The EndPoint for the Arc, Chord, and Line objects is the point located at index 1.

The EndPoint for the Pie object is the point located at index 2.

EndTime Property
Specifies the last time displayed in the Chart for all pens, for a specific Pen and/or the end time for
that day to stop running the specified Timer object, in the Lookup Object, Line, Formatted Object, or
in a HistoricalDataSet object.

Chart and Pen Syntax


object.EndTime [= Date]

Properties
The EndTime property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Date The ending time for the chart.

194
IFIX Automation Reference

Remarks
The EndTime property is a convenience property enabling the user to set the end times for all pens
displayed in the Chart. The end times that are displayed in the Chart are those for the specific pens.
Therefore, the user may not see what he/she expects because the chart's end time is overruled by each
of the pen's ending times.

This property is not impacted by any Global Time Control property settings.

Timer Syntax
object.EndTime [= Variant]

Properties
The EndTime property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant The end time of that day that you want the timer to stop running.

Remarks
EndTime takes a DATE for the Timer object. EndTime is a read-only property.

EndX Property
Specifies the horizontal location of the last point in the specified shape.

Syntax
object.EndX [= Double]

Properties
The EndX property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The value of the last point's X coordinate.

195
iFIX Automation Reference

EndY Property
Specifies the vertical location of the last point in the specified shape.

Syntax
object.EndY [= Double]

Properties
The EndY property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The value of the last point's Y coordinate.

ErrorMode Property
Specifies which mode to use if the quality of the data received by the animation object is not reliable.

Syntax
object.ErrorMode [= Long]

Properties
The ErrorMode property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The error mode.

Format and Lookup Object Settings


The settings for Long are:

196
IFIX Automation Reference

Value Description

0 Use old.

1 Use error.

Linear Object Settings


The settings for Long are:

Value Description

0 Use old.

1 Use error.

50 Use min.

51 Use max.

Remarks
The ErrorMode property is related to the error defines specified in User Preferences for the animation
objects.

When a value is sent from the data system, it has an associated quality. If the quality is bad and the
user has specified 0 - Use old, the user will not see any change of data on the screen. The last good
value that the animation object sent to its target will be sent again. If the user has specified 1 - Use
error, the corresponding value specified in the User Preference will be obtained and displayed on the
screen (this is most notable when the user sees "????" or "@@@@" for datalinks). If the object is a
Linear object, and 50 - Use min or 51 - Use max are specified, the data displayed will be the minimum
or maximum ouput values, respectively.

EventParameter Property
Reserved for internal purposes.

EventType Property
Specifies the type of event for the Event object.

197
iFIX Automation Reference

Syntax
object.EventType [= Long]

Properties
The EventType property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The type of event.

Settings
The settings for Long are:

Value Description

0 OnChange

1 OnTrue

2 OnFalse

3 WhileTrue

4 WhileFalse

NOTE: If you change the EventType property from the Properties window, you do not change the
script. If you change the EventType from the Modify Event Entry dialog box then you are prompted to
apply the existing script to the new event.

ExactMatch Property
Specifies if the Lookup object is a range or an exact match table.

198
IFIX Automation Reference

Syntax
object.ExactMatch [= Boolean]

Properties
The ExactMatch property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the table is a range or exact match.

Settings
The settings for Boolean are:

Value Description

True The table is an exact match.

False The table is a range. (Default)

ExtendMaxSpace Property
Specifies the maximum pixel length of the space between the line to be extended and the intersection
point. If the space is greater than this number, the line will not be extended to the intersection point.

Syntax
object.ExtendMaxSpace [=Integer]

Properties
The ExtendMaxSpace property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

199
iFIX Automation Reference

Part Description

Integer The maximum number of pixels allowed between the line to be extended and the
intersection point.

ExtendType Property
Specifies the line extension option to apply to all line objects.

Syntax
object.ExtendType [=enumExtendType]

Properties
The ExtendType property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumExtendType When to extend a line to the intersection.

Settings
The settings for enumExtendType are:

Constant Value Description

Always 0 Always extend lines.

ShorterthanHalf 1
Extend only when the extension is shorter than half the
line.

ShorterThanSpecified 2
Extend only when the extension is shorter than the
specified pixels.

200
IFIX Automation Reference

FadeColor Property
Specifies the fade color of an object when the FillStyle pattern is Gradient.

Syntax
object.FadeColor [= Long]

Properties
The FadeColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the object's fade color.

FadeType Property
Specifies the type of fade effect used for the object's gradient fill.

Syntax
object.FadeType [=enumFadeType]

Properties
The FadeType property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumFadeType The pattern to display.

201
iFIX Automation Reference

Settings
The settings for enumFadeType are:

Constant Value Description

Linear 0 Linear

Reflected 1 Reflected

Radial 2 Radial

Concentric 3 Concentric

Remarks
The GradientAngle property is useful when the FadeType is either Linear or Reflected.

FailedSource Property
Returns the source of a failed connection attempt.

Syntax
object.FailedSource

Properties
The FailedSource property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
FailedSource is a read-only property of type String.

When a user calls SetSource with "AI1+AI2" where AI1 exists and AI2 does not, FailedSource would
contain AI2 (provided that the bUseAnyway parameter was not set to True).

202
IFIX Automation Reference

FetchDataSetLimits Property
Allows the low and high limits of the selected data source to be retrieved at run-time for a
HistoricalDataSet, RealTimeDataSet, or RealTimeSPCDataSet object. Disable this property to use the
High and Low Limit properties instead.

Syntax
object.FetchDataSetLimits [= Boolean]

Properties
The FetchDataSetLimits property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to fetch the high and low limits of the data set.

Settings
The settings for Boolean are:

Value Description

True Fetch the limits. (Default)

False Do not fetch the limits.

FetchPenLimits Property
Specifies whether to fetch the limits for the specified Pen.

Syntax
object.FetchPenLimits [= Boolean]

Properties
The FetchPenLimits property syntax has these parts:

203
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to fetch the limits.

Settings
The settings for Boolean are:

Value Description

True Fetch the limits. (Default)

False Do not fetch the limits.

Remarks
FetchPenLimits is a one-shot property in the Run-time environment.

FileName Property
Returns the file name of the specified Document.

Syntax
object.FileName

Properties
The FileName property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
FileName is a read-only property of type String.

204
IFIX Automation Reference

FillStyle Property
Specifies the pattern that will be used to fill the interior of the shape.

Syntax
object.FillStyle [= enumFillStyle]

Properties
The FillStyle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumFillStyle The pattern to display.

Settings
The settings for enumFillStyle are:

Constant Value Description

FillStyleSolid 0 Solid.

FillStyleHollow 1 Hollow.

FillStyleHorizontal 2 Horizontal.

FillStyleVertical 3 Vertical.

FillStyleDownDiagonal 4 Downward diagonal.

FillStyleUpDiagonal 5 Upward diagonal.

FillStyleCrossHatch 6 Crosshatch.

FillStyleDiagonalCrossHatch 7 Diagonal crosshatch.

FillStyleGradient 8 Gradient.

205
iFIX Automation Reference

Remarks
The FillStyle pattern is generated by alternating the BackgroundColor and ForegroundColor of the
shape, except when the FillStyle pattern is Gradient. When the FillStyle pattern is Gradient, the
ForegroundColor and FadeColor of the shape alternate.

FilterString Property
Specifies the expression on which the Alarm Summary object is filtering.

Syntax
object.FilterString [= String]

Properties
The FilterString property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The expression used to filter.

FixedDate Property
Specifies a fixed date for the Chart, Pen, Lookup Object, Line, Formatted Object, or
HistoricalDataSet.

Syntax
object.FixedDate [= DateTime]

Example
#1/1/2000 12:00:00 AM#

Properties
The FixedDate property syntax has these parts:

206
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

DateTime The fixed date.

Remarks
FixedDate is a one-shot property.

The default value for FixedDate is the date at which the Pen or Chart was created. Although this
property is passed as a complete Date and Time datatype, the Time portion is ignored.

This property is not impacted by any Global Time Control property settings.

FixedTime Property
Specifies a fixed time in the Chart, Pen, Lookup Object, Line, Formatted Object, or
HistoricalDataSet.

Syntax
object.FixedTime [= DateTime]

Example
#1/1/2000 12:00:00 AM#

Properties
The FixedTime property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

DateTime The fixed time.

Remarks
FixedTime is a one-shot property.

The default value for the FixedTime property is the time at which the Pen or Chart was created.
Although this property is passed as a complete Date and Time datatype, the Date portion is ignored.

207
iFIX Automation Reference

This property is not impacted by any Global Time Control property settings.

FixPath Property
Returns the requested iFIX system path for the specified path index.

Syntax
object.FixPath(ePathID as PathID)

Properties
The FixPath property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

index The path index.

Settings
The settings for PathID are:

Constant Value Description

Base_Path 0 Base path.

Pic_Path 1 Picture path.

ToolBar_Path 2 Toolbar path.

Documents_Path 3 Documents path.

Schedule_Path 4 Schedule path.

Local_Path 5 Local path.

Pdb_Path 6 PDB path.

Nls_Path 7 NLS path.

208
IFIX Automation Reference

Constant Value Description

App_Path 9 Application path.

Htc_Path 10 HTC path.

Htd_Path 11 HTD path.

Alm_Path 12 Alarm path.

Rcm_Path 13 RCM path.

Rcc_Path 14 RCC path.

Project_Path 15 iFIX project path.

NOTE: To access these constants, add a reference to the iFIX Global System Information Type
Library in the Visual Basic Editor.

Remarks
FixPath is a read-only property of type String.

Font Property
Specifies the Font to be displayed in the ExpressionEditor.

Syntax
object.Font [= StdFont]

Properties
The Font property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

StdFont The font to display in the ExpressionEditor.

209
iFIX Automation Reference

FontName Property
Specifies the font family which will be used to display text.

Syntax
object.FontName [= String]

Properties
The FontName property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The name of the font.

FontSize Property
Specifies the point size for text display.

Syntax
object.FontSize [= Long]

Properties
The FontSize property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The point size of the font.

FontStyle Property
Determines if the text will display a Bold, Italic, or combination of styles.

210
IFIX Automation Reference

Syntax
object.FontStyle [= enumFontStyle]

Properties
The FontStyle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumFontStyle The style to display.

Settings
The settings for enumFontStyle are:

Constant Value Description

Regular 0 The text is displayed as regular.

Bold 1 The text is displayed as bold.

Italic 2 The text is displayed as italic.

BoldItalic 3 The text is displayed as both bold and italic.

ForceVerticalPoints Property
Sets whether point labels are forced into vertical, horizontal, or slanted orientation, or whether the
orientation is automatically determined by the Enhanced Chart object (HistogramChart, LineChart,
SPCBarChart, or XYChart Object).

Syntax
object.ForceVerticalPoints [= enumForceVerticalPoints]

Properties
The ForceVerticalPoints property syntax has these parts:

211
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumForceVerticalPoints An enumeration that represents the point label display settings in the
Enhanced Chart:
Valid entries:
0 – PointLabelAuto
1 – PointLabelVertical
2 – PointLabelHorizontal
3 – PointLabelSlanted

ForegroundColor Property
Specifies the color to be used to fill the interior of a shape.

Syntax
object.ForegroundColor [= Long]

Properties
The ForegroundColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the shape's foreground color.

ForegroundEdgeColor Property
Specifies the foreground edge color of the Chart.

Syntax
object.ForegroundEdgeColor [= Long]

Properties
The ForegroundEdgeColor property syntax has these parts:

212
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the chart's foreground edge color.

ForegroundEdgeStyle Property
Specifies the foreground edge style of the Chart.

Syntax
object.ForegroundEdgeStyle [= enumEdgeStyle]

Properties
The ForegroundEdgeStyle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumEdgeStyle The edge style to display.

Settings
The settings for enumEdgeStyle are:

Constant Value Description

EdgeStyleSolid 0 Solid.

EdgeStyleDash 1 Dash.

EdgeStyleDot 2 Dot.

EdgeStyleDashDot 3 Dash-Dot.

EdgeStyleDashDotDot 4 Dash-Dot-Dot.

213
iFIX Automation Reference

Constant Value Description

EdgeStyleNone 5 No border.

EdgeStyleInsideFrame 6 Inside Frame.

ForegroundEdgeWidth Property
Specifies the foreground edge width of the Chart.

Syntax
object.ForegroundEdgeWidth [= Long]

Properties
The ForegroundEdgeWidth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The width of the edge.

Format Property
Specifies the C sprintf format string into which the input is formatted for the Format object.

Syntax
object.Format [= String]

Properties
The Format property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

214
IFIX Automation Reference

Part Description

String The standard C sprintf format string.

FormatDataType Property
Specifies whether the format object is alphanumeric or numeric.

Syntax
object.FormatDataType

Properties
The FormatDataType property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Settings
FormatDataType is a read-only property of type enumFormatDataType. The settings for
enumFormatDataType are:

Constant Value

Alphanumeric 0

Numeric 1

FullName Property
Returns the full path name for the WorkSpace executable file or the specified Document object.

Syntax
object.FullName

215
iFIX Automation Reference

Properties
The FullName property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
FullName is a read-only property of type String.

FullScreen Property
Specifies whether the client area of the open document covers the entire screen.

Syntax
object.FullScreen [= Boolean]

Properties
The FullScreen property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the client area of the document covers the entire screen.

Settings
The settings for Boolean are:

Value Description

True The current document covers the entire screen.

False The current document does not cover the entire screen. (Default)

216
IFIX Automation Reference

FullyQualifiedName Property
Returns the containment hierarchy for the specified object.

Syntax
object.FullyQualifiedName

Properties
The FullyQualifiedName property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
FullyQualifiedName is a read-only property of type String.

G-J

GlobalDuration Property
Specifies the time duration, in seconds, to display historical data in run mode.

Syntax
object.GlobalDuration [= Long]

Properties
The GlobalDuration property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The length of time, in seconds, for which the object displays data.

217
iFIX Automation Reference

GlobalEndTime Property
Specifies the end time displayed in the Global Time Control for all historical data sources in run mode.
This property is not applied until the GlobalTimerApply method is called.

Syntax
object.GlobalEndTime [= Date]

Properties
The GlobalEndTime property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Date The end time property of the Global Time Control.

GlobalFastScrollOption Property
Allows you to specify whether the fast scroll rate for historical data in run mode is in days, hours,
minutes, or seconds.

Syntax
object.GlobalFastScrollOption [= enumGlobalFastScroll]

Properties
The GlobalFastScrollOption property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumGlobalFastScroll The units in which the Global Time Control can be scrolled when the
System object's EnableGlobalScrollPercentage property is False. The
enumeration values are as follows:

0 = Days
1 = Hours
2 = Mins
3 = Secs

218
IFIX Automation Reference

GlobalHistoricalUpdateRate Property
Allows you to specify how quickly historical data sources update in run mode.

Syntax
object.GlobalHistoricalUpdateRate [= Long]

Properties
The GlobalHistoricalUpdateRate property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long Specifies, in seconds, how quickly an object updates in run mode.

GlobalOutputToggle Property
Specifies whether the table has a global toggle source.

Syntax
object.GlobalOutputToggle [= Boolean]

Properties
The GlobalOutputToggle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the table has a global toggle source.

Settings
The settings for Boolean are:

219
iFIX Automation Reference

Value Description

True The table has a global toggle.

False The table does not have a global toggle. (Default)

Remarks
If GlobalOutputToggle is set to True, the output will be toggled based on a different data source
(blink on a new alarm, for example).

GlobalSlowScrollOption Property
Allows you to specify whether the slow scroll rate for historical data in run mode is in days, hours,
minutes, or seconds.

Syntax
object.GlobalSlowScrollOption [= enumGlobalSlowScroll]

Properties
The GlobalSlowScrollOption property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumGlobalSlowScroll The units in which the Global Time Control can be scrolled when the
System object's EnableGlobalScrollPercentage property is False. The
enumeration values are as follows:

0 = Days
1 = Hours
2 = Mins
3 = Secs

GlobalSlowScrollRate Property
Specifies how slowly historical data can be scrolled in run mode.

220
IFIX Automation Reference

Syntax
object.GlobalSlowScrollRate [= Double]

Properties
The GlobalSlowScrollRate property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The rate at which the object can be scrolled. The unit of measure depends on if the
EnableGlobalScrollPercentage Property is enabled. If it is, then the unit of measure is a
percentage. If it is not, then it is the unit of measure specified in the
GlobalSlowScrollOption property.

GlobalStartTime Property
Specifies the start time of the Global Time Control for historical data sources in all open pictures in run
mode. This property is not applied until the GlobalTimerApply method is called.

Syntax
object.GlobalStartTime [= Date]

Properties
The GlobalStartTime property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies to list.

Date The starting time for the Global Time Control.

GlobalTimerPause Property
Pauses the configured global time control settings to historical data sources in all open pictures in run
mode.

221
iFIX Automation Reference

Syntax
object.GlobalTimerPause [= Boolean]

Properties
The GlobalTimerPause property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to play or pause the Global Time Control.

Settings
The settings for Boolean are:

Value Description

True The Global Time Control is in a paused state.

False The Global Time Control is in a play state.

GlobalTimeSync Property
Specifies whether the picture will be sensitive to changes in the Global Time Control.

Syntax
object.GlobalTimeSync [= Boolean]

Properties
The GlobalTimeSync property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the picture is enabled for time synchronization with the Global Time Control.

222
IFIX Automation Reference

Settings
The settings for Boolean are:

Value Description

True The Global Time Control is enabled (Default).

False The Global Time Control is not enabled.

GlobalToggle Property
Specifies the value that will be displayed when the source evaluates to True if the user has set up a
global toggle source.

Syntax
object.GlobalToggle [= Variant]

Properties
The GlobalToggle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant The value to display when the source evaluates to True.

Remarks
The value will blink between the current value and this GlobalToggle value. This overrides any blink
set up specifically in the table.

Gradient Property
Enables the gradient effect in the picture background. The gradient blends the ForegroundColor and
BackgroundColor of the picture.

Syntax
object.Gradient

223
iFIX Automation Reference

Properties
The Gradient property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

GlobalFastScrollRate Property
Specifies how quickly the historical data can be scrolled in run mode.

Syntax
object.GlobalFastScrollRate [= Double]

Properties
The GlobalFastScrollRate property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The rate at which the object can be scrolled. The unit of measure depends on if the
EnableGlobalScrollPercentage Property is enabled. If it is, then the unit of measure is a
percentage. If it is not, then it is the unit of measure specified in the
GlobalFastScrollOption property.

GradientAngle Property
Specifies the angle (in radians or degrees) of the object's gradient fill.

Syntax
object.GradientAngle [=Double]

Properties
The GradientAngle property syntax has these parts:

224
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The angle of the object's gradient fill.

Remarks
In Configuration mode, GradientAngle changes as you rotate the object.

The units to be used when creating the angle is specified as either degrees or radians, depending on the
value of the AngleUnits property.

GraphBackColor Property
Allows you to specify the background color of the graph in an Enhanced Chart.

Syntax
object.GraphBackColor [=Long]

Properties
The GraphBackColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long An Integer representing the color value of the background of a HistogramChart,


LineChart, SPCBarChart, or XYChart Object.

GraphForeColor Property
Allows you to specify the grid color of the graph (foreground color) in an Enhanced Chart. The grid
lines and tick marks are drawn in this color.

Syntax
object.GraphForeColor [=Long]

225
iFIX Automation Reference

Properties
The GraphForeColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long An Integer representing the color value of the grid foreground color of a
HistogramChart, LineChart, SPCBarChart, or XYChart Object.

GraphPlusTable Property
Sets whether the Enhanced Chart displays a graph, table, or both a graph and table.

Syntax
object.GraphPlusTable [=enumGraphPlusTable]

Properties
The GraphPlusTable property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumGraphPlusTable An enumeration representing the graph and table display


preferences in a HistogramChart, LineChart, SPCBarChart, or
XYChart Object:

Valid entries:
0 – Graph
1 – Table
2 – BothGraphPlusTable

GraphPlusTableMenu Property
Sets the visibility of the menu in an Enhanced Chart with both a graph and table.

226
IFIX Automation Reference

Syntax
object.GraphPlusTableMenu [=enumGraphPlusTableMenu]

Properties
The GraphPlusTableMenu property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies


To list.

enumGraphPlusTableMenu An enumeration representing the menu display preference in a


HistogramChart, LineChart, SPCBarChart, or XYChart
Object:

Valid entries:
0 – Hide
1 – Show
2 – Greyed

GridEnabled Property
Specifies whether the grid is being used for the specified Picture or DynamoSet.

Syntax
object.GridEnabled [= Boolean]

Properties
The GridEnabled property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the grid is displayed.

Settings
The settings for Boolean are:

227
iFIX Automation Reference

Value Description

True The grid is displayed.

False The grid is not displayed. (Default)

GridInFront Property
Specifies that the grid appears in front of the data in an Enhanced Chart.

Syntax
object.GridInFront [= Boolean]

Properties
The GridInFront property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the grid displays in front of the data in a HistogramChart, LineChart,
SPCBarChart, or XYChart Object.

Settings
The settings for Boolean are:

Value Description

True The grid is displayed in front of the data.

False The grid is not displayed in front of the data. (Default)

GridInterval Property
Specifies the amount of pixels between grid points.

228
IFIX Automation Reference

Syntax
object.GridInterval [= Long]

Properties
The GridInterval property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The amount of pixels between grid points.

GridLinesToShow Property
Specifies which grid lines to show in an Enhanced Chart.

Syntax
object.GridLinesToShow [=enumGridLinesToShow]

Properties
The GridLinesToShow property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To


list.

enumGridLinesToShow An enumeration representing the grid line display preference in a


HistogramChart, LineChart, SPCBarChart, or XYChart Object:

Valid entries:
0 – GridBothXY
1 – GridYAxis
2 – GridXAxis
3 – GridNone

229
iFIX Automation Reference

GridStyle Property
Specifies the style of the gird lines in an Enhanced Chart.

Syntax
object.GridStyle [=enumGridStyle]

Properties
The GridStyle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumGridStyle An enumeration representing the grid style display preference in a


HistogramChart, LineChart, SPCBarChart, or XYChart Object:

Valid entries:
0 – GridThin
1 – GridThick
2 – GridDot
3 – GridDash
4 – GridOnePixel

GridWidth Property
Specifies the width of each grid line in a Chart.

Syntax
object.GridWidth [= Long]

Properties
The GridWidth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

230
IFIX Automation Reference

Part Description

Long The width of each grid line in the chart.

Groups Property
Returns a user defined collection of Group (DataSystem) objects. Group (DataSystem) objects can
be added and removed from this collection using the Add and Remove methods. Group names must be
unique.

Syntax
object.Groups

Properties
The Groups property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Groups is a read-only property of type Object.

Height Property
Specifies the height, in logical units, of the specified object.

Syntax
object.Height [= Double]

Properties
The Height property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

231
iFIX Automation Reference

Part Description

Double The height of the object.

Remarks
For shapes, the units are in logical units defined by the Picture document size. This logical coordinate
system allows pictures to be developed and saved independently of screen resolution. It also supports
panning and zooming. Mapping logical to device units is based on the window location.

HelpFile Property
Specifies the user defined context sensitive help file which should be associated with the specified
document.

Syntax
object.HelpFile [= String]

Properties
The HelpFile property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The help file name.

HelpPath Property
Returns the path of the iFIX Help files.

Syntax
object.HelpPath

Properties
The HelpPath property syntax has this part:

232
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
HelpPath is a read-only property of type String.

HideMathFunctionsButton Property
Specifies whether to hide the Mathematical Functions button in the ExpressionEditor dialog box.

Syntax
object.HideMathFunctionsButton [= Boolean]

Properties
The HideMathFunctionsButton property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Settings
The settings for Boolean are:

Value Description

True The Mathematical Functions button is hidden.

False The Mathematical Functions button is not hidden. (Default)

HiDisplay Property
Specifies the high display limit of the TimeAxis or ValueAxis.

233
iFIX Automation Reference

TimeAxis Syntax
object.HiDisplay [= Date]

Properties
The HiDisplay property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Date The time and date to display for the Time Axis.

ValueAxis Syntax
object.HiDisplay [= Double]

Properties
The HiDisplay property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The value to display for the Value Axis.

HighestDataValue Property
Specifies the highest value for the specified Pen.

Syntax
object.HighestDataValue[= Double]

Properties
The HighestDataValue property syntax has these parts:

234
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The highest value for the Pen.

HighlightEnabled Property
Specifies whether the specified shape should have a "highlight" rectangle drawn around it when the
mouse passes over it in the Run-time environment.

Syntax
object.HiglightEnabled[= Boolean]

Properties
The HighlightEnabled property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the shape should appear highlighted.

Settings
The settings for Boolean are:

Value Description

True The object should appear highlighted in the Run-time environment when the mouse
passes over it.

False The object should not appear highlighted in the Run-time environment when the mouse
passes over it. (Default)

Remarks
The default setting for HighlightEnabled is False for all objects except Ole Controls.

HighlightEnabled is set to True in the following cases:

235
iFIX Automation Reference

• IsSelectable is set to True


• The user configures in-line Data Entry
• When the user writes a script for MouseUp, MouseDown, Click, DblClick or MouseMove
events

The user then has the option of setting HighlightEnabled back to False.

HighlightedDatasource Property
Specifies the datasource of the currently highlighted object.

Syntax
object.HiglightedDatasource

Properties
The HighlightdDatasource property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

HiInValue Property
Specifies the upper limit on the input value.

Syntax
object.HiInValue [= Variant]

Properties
The HiInValue property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant The high input value.

236
IFIX Automation Reference

HiLimit Property
Specifies the upper limit for the specified Pen, HistoricalDataSet, RealTimeDataSet, or
RealTimeSPCDataSet.

Syntax
object.HiLimit [= Double]

Properties
The HiLimit property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The high limit.

HiOutValue Property
Specifies the upper limit on the output value.

Syntax
object.HiOutValue [= Variant]

Properties
The HiOutValue property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant The high output value.

HistMode Property
Allows you to determine how iFIX selects data from a historical data source and displays it in the
chart, and determines what each displayed value represents.

237
iFIX Automation Reference

Syntax
object.HistMode [= enumHistMode]

Properties
The HistMode property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumHistMode An enumeration representing how iFIX selects data from a historical data
source and displays it in a HistoricalDataSet:

Valid entries:
0 – HDS_Sample
1 – HDS_Avg
2 – HDS_High
3 – HDS_Low
4 – HDS_Interpolated
13 – HDS_CurrentValue

HistoricalSampleType Property
Specifies the data retrieval mode for the specified Pen.

Syntax
object.HistoricalSampleType [= enumHTRMode]

Properties
The HistoricalSampleType property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumHTRMode The data retrieval mode.

238
IFIX Automation Reference

Settings
The settings for enumHTRMode are:

Constant Value Description

Sample 0 Sample.

High 1 High.

Low 2 Low.

Average 3 Average.

Interpolated 4 Interpolated.

HistUpdateRate Property
Sets the historical update rate, in seconds, of the Enhanced Chart.

Syntax
object.HistUpdateRate [= Long]

Properties
The HistUpdateRate property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The historical update rate, in seconds, for the HistogramChart, LineChart, SPCBarChart,
or the XYChart Object.

Remarks
This property is not impacted by any Global Time Control property settings.

239
iFIX Automation Reference

HorizontalFillDirection Property
Specifies a value representing the direction of a shape's horizontal fill.

Syntax
object.HorizontalFillDirection [= enumHorizontalDirection]

Properties
The HorizontalFillDirection property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumHorizontalDirection The horizontal direction from which to fill.

Settings
The settings for enumHTRMode are:

Constant Value Description

HorizontalFromLeft 0 Fill from the left.

HorizontalFromRight 1 Fill from the right.

HorizontalFromCenter 2 Fill outward from the center.

HorizontalFillPercentage Property
Specifies the percentage to horizontally fill a shape.

Syntax
object.HorizontalFillPercentage [= Double]

Properties
The HorizontalFillPercentage property syntax has these parts:

240
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The percentage to fill the shape.

HorizontalGridColor Property
Specifies the color of the horizontal grid lines.

Syntax
object.HorizontalGridColor [= Long]

Properties
The HorizontalGridColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the horizontal grid lines.

HorizontalGridStyle Property
Specifies the style of the horizontal grid lines.

Syntax
object.HorizontalGridStyle [= enumEdgeStyle]

Properties
The HorizontalGridStyle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

241
iFIX Automation Reference

Part Description

enumEdgeStyle The style to display for the grid lines.

Settings
The settings for enumEdgeStyle are:

Constant Value Description

EdgeStyleSolid 0 Solid.

EdgeStyleDash 1 Dash.

EdgeStyleDot 2 Dot.

EdgeStyleDashDot 3 Dash-Dot.

EdgeStyleDashDotDot 4 Dash-Dot-Dot.

EdgeStyleNone 5 No border.

EdgeStyleInsideFrame 6 Inside Frame.

HorizontalPosition Property
Specifies a shape's distance, in logical units, from the left of the Picture or DynamoSet.

Syntax
object.HorizontalPosition [= Double]

Properties
The HorizontalPosition property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

242
IFIX Automation Reference

Part Description

Double The shape's horizontal position.

Remarks
For shapes, the units are in logical units defined by the Picture document size. This logical coordinate
system allows pictures to be developed and saved independently of screen resolution. It also supports
panning and zooming. Mapping logical to device units is based on the window location.

HorizontalScaleDirection Property
Specifies if the direction in which the specified shape will expand or contract when the
HorizontalScalePercentage property is changed.

Syntax
object.HorizontalScaleDirection [= enumHorizontalDirection]

Properties
The HorizontalScaleDirection property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumHorizontalDirection The direction to scale.

Settings
The settings for enumHorizontalDirection are:

Constant Value Description

HorizontalFromLeft 0 Scale from the left.

HorizontalFromRight 1 Scale from the right.

HorizontalFromCenter 2 Scale from the center outward.

243
iFIX Automation Reference

HorizontalScalePercentage Property
Specifies the scale percentage to apply to a shape's width.

Syntax
object.HorizontalScalePercentage [= Double]

Properties
The HorizontalScalePercentage property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The percentage to scale the shape horizontally.

Remarks
In the Configuration environment, HorizontalScalePercentage will not be set back to 100 until the
object is de-selected. Therefore, while selected, the object will contain it's current percentage value
relative to the size of the object when it was last selected. Once de-selected, the object's
HorizontalScalePercentage property will be reset back to 100.

In the Run-time environment, animating the HorizontalScalePercentage property modifies the


object’s width based on the size of the object when it initially came off disk.

An object’s scale percentage can be negative. This causes the object to flip over its left axis. This effect
is useful for creating differential bar graphs by using an expression in the data source that takes the
value and subtracts a setpoint. The resulting difference from the setpoint can be used to by the
HorizontalScalePercentage property. For example, you could animate a color table to change color
based on the sign of a result.

ImageCount Property
Returns the number of images loaded in the Bitmap.

Syntax
object.ImageCount

Properties
The ImageCount property syntax has this part:

244
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
ImageCount is a read-only property of type Integer.

IncludeDataLabels Property
Specifies whether the data points include labels. This property only applies to XY Enhanced Charts.

Syntax
object.IncludeDataLabels [= Boolean]

Properties
The IncludeDataLabels property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the data points include a label.

Settings
The settings for Boolean are:

Value Description

True The data points are labeled.

False (default) The data points are not labeled.

Index Property
Returns the one-based index in the collection of the specified object.

245
iFIX Automation Reference

Syntax
object.Index

Properties
The Index property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Index is a read-only property of type Long.

InitialValue Property
Specifies the inital value for the specified variable.

Syntax
object.InitialValue [= Variant]

Properties
The InitialValue property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant The initial value.

InputValue Property
Specifies the data which is to be transformed by the animation object.

Syntax
object.InputValue [= Variant]

246
IFIX Automation Reference

Properties
The InputValue property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant The input value.

Remarks
If you are manipulating a color threshold table within a script, the variable must be of the same type as
the threshold table.

NOTE: If you are reading an Input Value after a source change, you must allow time for the Input
Value to be updated. If iFIX has not had sufficient time to establish the new connection, the first
attempt to obtain the Event object's Input Value will result in an Automation Error. The amount of time
that iFIX requires to establish the connection depends upon the scan time of the Event object source
tag. If you need the data immediately, read from an already connected object.

Additionally, if you set a steady state tag (a tag with a static value) as the source twice in a row, there
will be no change in the Input Value and you will get an Automation Error.

Interval Property
Specifies the length of time between data points for the HistoricalDataSet, Chart, or Pen, or how often
the Timer or Event object is fired.

Chart and Pen Syntax


object.Interval [= Long]

Properties
The Interval property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The time between points in seconds.

247
iFIX Automation Reference

Timer and Event Syntax


object.Interval [= Variant]

Properties
The Interval property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant How often the object's configured event is fired.

Remarks
Interval accepts a DATE for the Timer object and a Long (specifying the number of milliseconds) for
the Event object. For the Event object, Interval only applies if the EventType property is WhileTrue
or WhileFalse

IntervalMilliseconds Property
Contains the millisecond component of the time interval between data points.

Syntax
object.IntervalMilliseconds [= Long]

Properties
The IntervalMilliseconds property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The time between points in milliseconds.

Remarks
The IntervalMillisecond default value is 0. This is used when precision under 1 second is desired for
the returned data.

248
IFIX Automation Reference

IsDirty Property
Returns whether the contents of the object have changed since the last time the document was saved in
the Configuration envrionment.

Syntax
object.IsDirty

Properties
The IsDirty property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the object has been modified.

Return Values
The IsDirty property return values are:

Value Description

True The object has been modified since the last time the document was saved.

False The object has not been modified since the last time the document was saved.

Remarks
IsDirty is a read-only property of type Boolean.

IsInterpolated Property
Controls whether interpolation should be used for the specified data set.

Syntax
object.IsInterpolated =[Boolean]

249
iFIX Automation Reference

Properties
The IsInterpolated property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether interpolation is used for the dataset given in the object.

Settings
The settings for Boolean are:

Value Description

True The data set uses interpolation.

False The data set does not use interpolation.

IsModifiable Property
Specifies whether an object can be modified.

Syntax
object.IsModifiable

Properties
The IsModifiable property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the object can be modified.

Settings
The settings for Boolean are:

250
IFIX Automation Reference

Value Description

True The object can be modified.

False The object cannot be modified.

IsSelectable Property
Specifies whether the specified object can be selected in the Run-time environment.

Syntax
object.IsSelectable[= Boolean]

Properties
The IsSelectable property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the object can be selected.

Settings
The settings for Boolean are:

Value Description

True The object can be selected in the Run-time environment.

False The object can not be selected in the Run-time environment. (Default)

IsSelected Property
Returns whether the specified object is selected.

251
iFIX Automation Reference

Syntax
object.IsSelected

Properties
The IsSelected property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Return Values
The IsSelected property return values are:

Value Description

True The object is selected.

False The object is not selected.

Remarks
IsSelected is a read-only property of type Boolean.

Item Property
Returns a member of the specified Collection object.

Syntax
object.Item (vtIndex)

Properties
The Item property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

252
IFIX Automation Reference

Part Description

tIndex An expression that specifies the position of a member of the collection. If a numeric
expression, index must be a number from 1 to the value of the collection's Count
property.

Remarks
Item is a read-only property of type Object.

Justification Property
Specifies whether the text format is left, center, or right-justified.

Syntax
object.Justification [=enumJustification]

Properties
The Justification property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumJustification The text justification.

Settings
The settings for enumJustification are:

Constant Value

LeftJustify 0

CenterJustify 1

RightJustify 2

253
iFIX Automation Reference

K-L

KeyCode Property
The ASCII value of the primary key used in defining the key combination.

Syntax
object.KeyCode [= KeyCode]

Properties
The KeyCode property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

KeyCode Integer. The new ASCII value.

LabelBold Property
Specifies whether the labels in an Enhanced Chart are bold.

Syntax
object.LabelBold [= Boolean]

Properties
The LabelBold property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the label in a HistogramChart, LineChart, SPCBarChart, or XYChart Object


displays in bold.

254
IFIX Automation Reference

Settings
The settings for Boolean are:

Value Description

True The label displays in bold.

False The label does not display in bold. (Default)

LabelColor Property
Specifies the color of the labels for the axes in a Chart.

Syntax
object.LabelColor [= Long]

Properties
The LabelColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the label color.

LabelFont Property
Specifies the font face of labels in an Enhanced Chart.

Syntax
object.LabelFont [= String]

Properties
The LabelFont property syntax has these parts:

255
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

The name of the font. By default, the font face is "Arial."


String

LabelItalic Property
Specifies whether the labels in an Enhanced Chart appear in italics.

Syntax
object.LabelItalic [= Boolean]

Properties
The LabelItalic property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the label in a HistogramChart, LineChart, SPCBarChart, or XYChart Object


displays in italics.

Settings
The settings for Boolean are:

Value Description

True The label displays in italics.

False The label does not display in italics. (Default)

LabelUnderline Property
Specifies whether the labels in an Enhanced Chart appear underlined.

256
IFIX Automation Reference

Syntax
object.LabelUnderline [= Boolean]

Properties
The LabelUnderline property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the label in a HistogramChart, LineChart, SPCBarChart, or XYChart Object


appears underlined.

Settings
The settings for Boolean are:

Value Description

True The label appears underlined.

False The label does not appear underlined. (Default)

LanguageDesired Property
Sets the language to use when opening that picture. This property applies only when a .CSV language
file for the specified language exists.

Syntax
object.LanguageDesired [= value]

Properties
The LanguageDesired property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

257
iFIX Automation Reference

Part Description

value The language ID number to be used when opening a specified picture. For a list of the ID
numbers representing each language, refer to the Language Letter Acronyms table in the
Exporting and Importing Language Files topic.

Layer Property
Specifies the hex mask of the layers the object is currently a part of.

Syntax
object.Layer [= Long]

Properties
The Layer property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The layer of the shape.

Remarks
The Layer property is used in conjunction with the DisplayLayer property of the Picture or
DynamoSet to determine which objects are visible and accessible. For example, an object who's Layer
property is set to 3 will not be visible when the DisplayLayer property of the document is set to 8.
However, the object would be visible if the DisplayLayer property of the document is set to 1, 2 or
any number who's first and second bits are set. The DisplayLayer property is also a mask of bits.

A Layer value of 3 does not signify that the object is a part of layer three, but rather a part of both
layers one and two.

LCL Property
Specifies the lower control limit (LCL) for the real-time SPC data set.

Syntax
object.LCL [= Double]

258
IFIX Automation Reference

Properties
The LCL property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The lower control limit (LCL) for the RealTimeSPCDataSet Object.

Left Property
Specifies the distance, in screen percentage, between the left edge of the physical screen and the
WorkSpace in which it is contained, or specifies the position of the left edge of the Window object.

Syntax
object.Left [= Double]

Properties
The Left property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The distance in screen percentage.

LeftCenter Property
Returns the left center point of the shape's bounding rectangle as a FixFloatPoint.

Syntax
object.LeftCenter

Properties
The LeftCenter property syntax has this part:

259
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
LeftCenter is a read-only property of type Object.

Legend Property
Returns the pointer to the Legend object for the specified Pen.

Syntax
object.Legend

Properties
The Legend property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Legend is a read-only property of type Object.

LegendAvgOver Property
Specifies the Average Over Range field for the specified Legend.

Syntax
object.LegendAvgOver [= String]

Properties
The LegendAvgOver property syntax has these parts:

260
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The Average Over Range for the Legend.

LegendDesc Property
Specifies the Description field for the specified Legend.

Syntax
object.LegendDesc [= String]

Properties
The LegendDesc property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrEventName String. The name of the event.

LegendHeadingLine Property
Returns the heading for the specified Legend.

Syntax
object.LegendHeadingLine

Properties
The LegendHeadingLine property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

261
iFIX Automation Reference

Remarks
LegendHeadingLine is a read-only property of type String.

LegendHigh Property
Specifies the High Limit field for the specified Legend.

Syntax
object.LegendHigh [= String]

Properties
The LegendHigh property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The High Limit for the Legend.

LegendHighOver Property
Specifies the High Over Range field for the specified Legend.

Syntax
object.LegendHighOver [= String]

Properties
The LegendHighOver property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The High Over Range for the Legend.

262
IFIX Automation Reference

LegendInterval Property
Specifies the Interval field for the specified Legend.

Syntax
object.LegendInterval [= String]

Properties
The LegendInterval property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The Interval for the Legend.

LegendItemColor Property
Specifies the color of the specified legend item.

Syntax
object.LegendItemColor [= Long]

Properties
The LegendItemColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the items in the Legend.

LegendLow Property
Specifies the Low Limit field for the specified Legend.

263
iFIX Automation Reference

Syntax
object.LegendLow [= String]

Properties
The LegendLow property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The Low Limit for the Legend.

LegendLowOver Property
Specifies the Low Over Range field for the specified Legend.

Syntax
object.LegendLowOver [= String]

Properties
The LegendLowOver property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The Low Over Range for the Legend.

LegendMode Property
Specifies the Mode field for the specified Legend.

Syntax
object.LegendMode [= String]

264
IFIX Automation Reference

Properties
The LegendMode property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The Mode for the Legend.

LegendTag Property
Specifies the data source connected to the Legend item for the specified Pen.

Syntax
object.LegendTag [= String]

Properties
The LegendTag property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The data source.

LegendUnits Property
Specifies the engineering units for the data source connected to the Legend item for the specified Pen.

Syntax
object.LegendUnits [= String]

Properties
The LegendUnits property syntax has these parts:

265
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The engineering units.

Remarks
The LegendUnits property allows users to custom define engineering units that directly apply to the
data that they are displaying.

LegendUser1 Property
A general purpose property which can contain any user value.

Syntax
object.LegendUser1 [= String]

Properties
The LegendUser1 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String A user defined value.

Remarks
An example of how to set the LegendUser1 property would be:

Set mypen = Chart1.Pens.Item(1)

Chart1.AddLegendItem "USER1", 2, 8

mypen.Legend.legenduser1 = "Square"

Set mypen = Nothing

LegendUser10 Property
A general purpose property which can contain any user value.

266
IFIX Automation Reference

Syntax
object.LegendUser10 [= String]

Properties
The LegendUser10 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String A user defined value.

LegendUser2 Property
A general purpose property which can contain any user value.

Syntax
object.LegendUser2 [= String]

Properties
The LegendUser2 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String A user defined value.

LegendUser3 Property
A general purpose property which can contain any user value.

Syntax
object.LegendUser3 [= String]

267
iFIX Automation Reference

Properties
The LegendUser3 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String A user defined value.

LegendUser4 Property
A general purpose property which can contain any user value.

Syntax
object.LegendUser4 [= String]

Properties
The LegendUser4 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String A user defined value.

LegendUser5 Property
A general purpose property which can contain any user value.

Syntax
object.LegendUser5 [= String]

Properties
The LegendUser5 property syntax has these parts:

268
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

String A user defined value.

LegendUser6 Property
A general purpose property which can contain any user value.

Syntax
object.LegendUser6 [= String]

Properties
The LegendUser6 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String A user defined value.

LegendUser7 Property
A general purpose property which can contain any user value.

Syntax
object.LegendUser7 [= String]

Properties
The LegendUser7 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

269
iFIX Automation Reference

Part Description

String A user defined value.

LegendUser8 Property
A general purpose property which can contain any user value.

Syntax
object.LegendUser8 [= String]

Properties
The LegendUser8 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String A user defined value.

LegendUser9 Property
A general purpose property which can contain any user value.

Syntax
object.LegendUser9 [= String]

Properties
The LegendUser9 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String A user defined value.

270
IFIX Automation Reference

LegendValue Property
Specifies the current data value for the Legend for the specified Pen. For a historical pen,
LegendValue specifies the pen's value when it crosses the Time Cursor.

Syntax
object.LegendValue [= String]

Properties
The LegendValue property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The current value.

Linear Property
Returns the Linear object for the specified Pen.

Syntax
object.Linear

Properties
The Linear property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Linear is a read-only property of type Object.

Lines Property
Returns the Lines collection for the specified ScriptProcedure object.

271
iFIX Automation Reference

Syntax
object.Lines

Properties
The Lines property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Lines is a read-only property of type Object.

LinesofCode Property
Pass through property used to get and set the lines of code for the procedure.

Syntax
object.LinesofCode [= LinesofCode ]

Properties
The LinesofCode property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

LinesofCode String. The new lines of code.

LineType Property
Specifies the line type in a HistoricalDataSet, RealTimeDataSet, or RealTimeSPCDataSet object.

Syntax
object.LineType [= enumLineType]

272
IFIX Automation Reference

Properties
The LineType property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumLineType An enumeration that represents the type of line to use for the HistoricalDataSet,
RealTimeDataSet, or RealTimeSPCDataSet object.
Valid entries:
1 – Line_Dash
3 – Line_DashDot
4 – Line_DashDotDot
2 – Line_Dot
32 – Line_ExtraThickDash
34 – Line_ExtraThickDashDot
35 – Line_ExtraThickDashDotDot
33 – Line_ExtraThickDot
11 – Line_ExtraThickSolid
20 – Line_MediumDash
22 – Line_MediumDashDot
23 – Line_MediumDashDotDot
21 – Line_MediumDot
5 – Line_MediumSolid
24 – Line_MediumThickDash
26 – Line_MediumThickDashDot
27 – Line_MediumThickDashDotDot
25 – Line_MediumThickDot
10 – Line_MediumThickSolid
16 – Line_MediumThinDash
18 – Line_MediumThinDashDot
19 – Line_MediumThinDashDotDot
17 – Line_MediumThinDot
9 – Line_MediumThinSolid
28 – Line_ThickDash
30 – Line_ThickDashDot
31 – Line_ThickDashDotDot
29 – Line_ThickDot
6 – Line_ThickSolid
0 – Line_ThinSolid

LockStartTime Property
Prevents the start time from changing when the computer’s time zone is changed.

273
iFIX Automation Reference

Syntax
Object.LockStartTime [=Boolean]

Properties
The LockStartTime property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to lock the start time.

Settings
The settings for Boolean are:

Value Description

True Lock the start time.

False Do not lock the start time.

LoDisplay Property
Specifies the low display limit of the Time Axis or Value Axis.

TimeAxis Syntax
object.LoDisplay [= Date]

Properties
The LoDisplay property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Date The time and date to display for the Time Axis.

274
IFIX Automation Reference

ValueAxis Syntax
object.LoDisplay [= Double]

Properties
The LoDisplay property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The value to display for the Value Axis.

LoginGroup Property
Returns the first group name that the currently logged in user belongs to. If security is disabled, this
string is empty.

Syntax
object.LoginGroup GroupName

Properties
The LoginGroup method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

GroupName String. Sets the name of the group.

LoginTimeout Property
Sets or retrieves the number of seconds to be used as the iFIX security Login Timeout value for user
accounts that are created as a result of the security synchronization process.

Syntax
object.LoginTimeout [= LongInteger]

275
iFIX Automation Reference

Properties
The LoginTimeout property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

LongInteger Values from 0 to 86399 seconds.


The default value is 0, which indicates no login timeout.

Remarks
This property corresponds to the /T command line parameter of the Security Synchronizer application.

LoginUserFullName Property
Returns the full name of the currently logged in iFIX user. If security is disabled, this string is empty.

Syntax
UserFullName = object.LoginUserFullName

Properties
The LoginUserFullName method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

UserFullName String. The full login name of the user.

LoginUserName Property
Returns the user ID of the currently logged in iFIX user. If security is disabled, this string is empty.

Syntax
UserName = object.LoginUserName

276
IFIX Automation Reference

Properties
The LoginUserName method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

UserName String. The login name of the user.

LoInValue Property
Specifies the lower limit on the input value.

Syntax
object.LoInValue [= Variant]

Properties
The LoInValue property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant The low limit on the input value.

LoLimit Property
Specifies the lower limit for the specified Pen, HistoricalDataSet, RealTimeDataSet, or
RealTimeSPCDataSet..

Syntax
object.LoLimit [= Double]

Properties
The LoLimit property syntax has these parts:

277
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The low limit.

LoOutValue Property
Specifies the lower limit on the output value.

Syntax
object.LoOutValue [= Variant]

Properties
The LoOutValue property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant The low limit on the output value.

LowestDataValue Property
Specifies the lowest value for the specified Pen.

Syntax
object.LowestDataValue [= Double]

Properties
The LowestDataValue property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

278
IFIX Automation Reference

Part Description

Double The lowest value for the Pen.

LWL Property
Sets the lower warning limits (LWL) for the real-time SPC data set.

Syntax
object.LWL [= Double]

Properties
The LWL property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The lower warning limits (LWL) for the RealTimeSPCDataSet Object.

M-N

MainTitle Property
Specifies the main title for your Enhanced Chart.

Syntax
object.MainTitle [= String]

Properties
The MainTitle property syntax has these parts:

279
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

String Text that appears as the main title in the HistogramChart, LineChart, SPCBarChart, or
XYChart Object.

MainTitleBold Property
Specifies whether the main title for your Enhanced Chart appears in a bold typeface.

Syntax
object.MainTitleBold [= Boolean]

Properties
The MainTitleBold property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the main title in a HistogramChart, LineChart, SPCBarChart, or XYChart


Object displays in bold.

Settings
The settings for Boolean are:

Value Description

True The main title displays in bold. (Default)

False The main title does not display in bold.

MainTitleFont Property
Specifies the font face of the main title in your Enhanced Chart.

280
IFIX Automation Reference

Syntax
object.MainTitleFont [= String]

Properties
The MainTitleFont property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

The name of the font. By default, the font face is "Times New Roman."
String

MainTitleItalic Property
Specifies whether the main title for your Enhanced Chart appears in italics.

Syntax
object.MainTitleItalic [= Boolean]

Properties
The MainTitleItalic property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the main title in a HistogramChart, LineChart, SPCBarChart, or XYChart


Object displays in italics.

Settings
The settings for Boolean are:

Value Description

True The main title displays in italics.

281
iFIX Automation Reference

Value Description

False The main title does not display in italics. (Default)

MainTitleUnderline Property
Specifies whether the main title for your Enhanced Chart appears underlined.

Syntax
object.MainTitleUnderline [= Boolean]

Properties
The MainTitleUnderline property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the main title in a HistogramChart, LineChart, SPCBarChart, or XYChart


Object appears underlined.

Settings
The settings for Boolean are:

Value Description

True The label appears underlined.

False The label does not appear underlined. (Default)

ManualMaxX Property
Sets the maximum floating point value set for the X axis in an Enhanced Chart.

Syntax
object.ManualMaxX [= Double]

282
IFIX Automation Reference

Properties
The ManualMaxX property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The maximum floating point value set for the X axis in a HistogramChart, LineChart,
SPCBarChart, or XYChart.

Remarks
ManualMaxX is a read-only property.

ManualMaxY Property
Sets the maximum floating point value set for the Y axis in an Enhanced Chart.

Syntax
object.ManualMaxY [= Double]

Properties
The ManualMaxY property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The maximum floating point value set for the Y axis in a HistogramChart, LineChart,
SPCBarChart, or XYChart.

ManualMinX Property
Sets the minimum floating point value set for the X axis in an Enhanced Chart.

Syntax
object.ManualMinX [= Double]

283
iFIX Automation Reference

Properties
The ManualMinX property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The minimum floating point value set for the X axis in a HistogramChart, LineChart,
SPCBarChart, or XYChart.

Remarks
ManualMinX is a read-only property.

ManualMinY Property
Sets the minimum floating point value set for the Y axis in an Enhanced Chart.

Syntax
object.ManualMinY [= Double]

Properties
The ManualMinY property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The minimum floating point value set for the Y axis in a HistogramChart, LineChart,
SPCBarChart, or XYChart.

ManualScaleControlX Property
Sets the grid scale used for the X axis. This property only applies to XY Enhanced Charts.

Syntax
object.ManualScaleControlX [= enumManualScaleControl]

284
IFIX Automation Reference

Properties
The ManualScaleControlX property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To


list.

enumManualScaleControl An enumeration that represents the grid scale for the X axis in an
XYChart.
Valid entries:
0 – XYManScaleNone
3 – XYManScaleMinMax

ManualScaleControlY Property
Sets the grid scale used for the Y axis.

Syntax
object.ManualScaleControlY [= enumManualScaleControl]

Properties
The ManualScaleControlY property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To


list.

enumManualScaleControl An enumeration that represents the grid scale for the Y axis in a
HistogramChart, LineChart, SPCBarChart, or XYChart.
Valid entries:
0 – ManScaleNone
1 – ManScaleMin
2 – ManScaleMax
3 – ManScaleMinMax

MapMode Property
(For future use only.) Sets or retrieves the security mapping mode to be used in synchronizing

285
iFIX Automation Reference

security.

Syntax
object.MapMode [= ShortInteger]

Properties
The MapMode property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ShortInteger 0 is the only valid value.

Remarks
This property can be ignored.

MarkDataPoints Property
Specifies whether each individual data point is plotted on the Enhanced Chart.

Syntax
object.MarkDataPoints [= Boolean]

Properties
The MarkDataPoints property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean True – Indicates that each individual data point is plotted.

False – Indicates that each individual data point is not plotted. (Default)

286
IFIX Automation Reference

MarkerChar Property
Specifies the character to use as markers on the trend lines when the UseMarker property for the pen
to True and the MarkerStyle property is set to CharacterMarker.

Syntax
object.MarkerChar[= String]

Properties
The MarkerChar property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The character to use for markers.

MarkerStyle Property
Specifies the style to use as markers on the trend lines when the UseMarker property is set to True.

Syntax
object.MarkerStyle [= enumMarkerStyle]

Properties
The MarkerStyle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumMarkerStyle The marker style.

Settings
The settings for enumMarkerStyle are:

287
iFIX Automation Reference

Constant Value Description

NoMarker 0 Display no markers.

RectangleMarker 1 Display rectangles as markers.

OvalMarker 2 Display ovals as markers.

DiamondMarker 3 Display diamonds as markers.

CharacterMarker 4 Display the character specified in the MarkerChar property as


markers.

Master Property
Indicates whether the specified Dynamo is a master Dynamo. This property is read-only.

Syntax
DynamoObject.Master

Properties
The Master property syntax has this part:

Part Description

DynamoObject A Dynamo object.

Return Value
Boolean. True indicates that the Dynamo is a master Dynamo, while False indicates that it is not.

Max_Dynamo_Desc_Length Property
The maximum amount of characters that you can enter for the Dynamo object's description. This
property is read-only.

Syntax
DynamoObject.Dynamo_Max_Dynamo_Desc_Length (plMaxDynamoDescLength)

288
IFIX Automation Reference

Properties
The Dynamo_Max_Dynamo_Desc_Length property syntax has these parts:

Part Description

DynamoObject A Dynamo object.

plMaxDynamoDescLength Long. The maximum string length of the Dynamo object description.
This length does not include a space for the NULL character. So,
some languages will require the array size to be
plMaxDynamoDescLength + 1.

MaxCharactersPerLine Property
Returns the maximum number of characters allowed per line.

Syntax
object.MaxCharactersPerLine

Properties
The MaxCharactersPerLine property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
MaxCharactersPerLine is a read-only property of type Long.

MaxLines Property
Specifies the maximum number of text lines allowed.

Syntax
object.MaxLines

289
iFIX Automation Reference

Properties
The MaxLines property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
The MaxLines property is of type Long.

MaxPts Property
Specifies the maximum number of points to be displayed for the trend line for the specified Pen.

Syntax
object.MaxPts [= Long]

Properties
The MaxPts property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The maximum number of points. (Default = 500)

MonoDeskColor Property
When Monochrome is enabled in an Enhanced Chart, this property specifies the shade of black, gray,
or white surrounding the graph and/or table displays.

Syntax
object.MonoDeskColor [= Long]

Properties
The MonoDeskColor property syntax has these parts:

290
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long An Integer value representing the color.

MonoGraphBackColor Property
When Monochrome is enabled in an Enhanced Chart, this property specifies the shade of black, gray,
or white for the graph background color.

Syntax
object.MonoGraphBackColor [= Long]

Properties
The MonoGraphBackColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long An Integer value representing the color.

MonoGraphForeColor Property
When Monochrome is enabled in an Enhanced Chart, this property specifies the shade of black, gray,
or white for the graph foreground color.

Syntax
object.MonoGraphForeColor [= Long]

Properties
The MonoGraphForeColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

291
iFIX Automation Reference

Part Description

Long An Integer value representing the color.

MonoShadowColor Property
When Monochrome is enabled in an Enhanced Chart, this property specifies the shade of black, gray,
or white for the drop shadow color.

Syntax
object.MonoShadowColor [= Long]

Properties
The MonoShadowColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long An Integer value representing the color.

MonoTableBackColor Property
When Monochrome is enabled in an Enhanced Chart, this property specifies the shade of black, gray,
or white for the table background color.

Syntax
object.MonoTableBackColor [= Long]

Properties
The MonoTableBackColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

292
IFIX Automation Reference

Part Description

Long An Integer value representing the color.

MonoTableForeColor Property
When Monochrome is enabled in an Enhanced Chart, this property specifies the shade of black, gray,
or white for the table foreground color.

Syntax
object.MonoTableForeColor [= Long]

Properties
The MonoTableForeColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long An Integer value representing the color.

MonoTextColor Property
When Monochrome is enabled in an Enhanced Chart, this property specifies the shade of black, gray,
or white for the text color.

Syntax
object.MonoTextColor [= Long]

Properties
The MonoTextColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

293
iFIX Automation Reference

Part Description

Long An Integer value representing the color.

MultipleEGU Property
Specifies whether to display the ValueAxis for each Pen in the Chart that contains multiple EGUs.

Syntax
object.MultipleEGU [= Boolean]

Properties
The MultipleEGU property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Settings
The settings for Boolean are:

Value Description

True The ValueAxis is displayed for each Pen.

False The ValueAxis is not displayed for each Pen.

Remarks
The MultipleEGU property corresponds to the Show Multiple Values check box in the Chart
Configuration dialog box.

MultipleTimes Property
Specifies whether to display the Time Axis for each Pen in the Chart.

294
IFIX Automation Reference

Syntax
object.MultipleTimes [= Boolean]

Properties
The MultipleTimes property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Settings
The settings for Boolean are:

Value Description

True Display all time axes.

False Do not display all time axes. (Default)

MyNodeName Property
Returns the iFIX physical node name.

Syntax
object.MyNodeName MyNodeName

Properties
The MyNodeName method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

MyNodeName String. Sets the node name of the current node.

295
iFIX Automation Reference

Name Property
Specifies the name of the current object.

Syntax
object.Name [= String]

Properties
The Name property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The name of the object.

NOTE: The Name property for the Application object returns "Application" for internal purposes.
When attempting to identify the iFIX application, the FullName property should be used.

Next Property
Returns the next Window object.

Syntax
object.Next

Properties
The Next property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Next is a read-only property of type Object.

296
IFIX Automation Reference

NlsPath Property
Returns the path used to store the language files used to create dialog boxes. If you to choose to
implement a native language other than English, the new language files replace the files found in this
directory.

Syntax
object.NlsPath

Properties
The NlsPath property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
NlsPath is a read-only property of type String.

NoSaveOnClose Property
Specifies whether a user will be prompted to save a picture when closing it. This property is especially
useful when you are generating objects in a picture from the VBA scripts on-the-fly, and do not want
to be prompted to save the picture when closing.

Using this property allows you to close a picture without saving it, and without a prompt to save it.

Syntax
object.NoSaveOnClose [= Boolean]

Properties
The NoSaveOnClose property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

297
iFIX Automation Reference

Part Description

Boolean True - Indicates that the user will not be prompted to save the picture when it is closed.

False - Indicates that the user will be prompted to save the picture when it is closed.

Remarks
The following example shows how to set the NoSaveOnClose property:

Private Sub CFixPicture_Initialize()


Dim objFileLink As Object
Set objFileLink = Me.Parent
objFileLink.NoSaveOnClose = True
Set objFileLink = Nothing
End sub

NumberOfCharacters Property
Returns the total number of characters for all items displayed in the Legend.

Syntax
object.NumberOfCharacters[= Integer]

Properties
The NumberOfCharacters property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
NumberOfCharacters is a read-only property of type Integer.

The number of characters for specific columns in the Legend can be set using the
ModifyColumnLength method.

NumberOfHorizontalGridLines Property
Specifies the number of horizontal grid lines in the specified Chart.

298
IFIX Automation Reference

Syntax
object.NumberOfHorizontalGridLines [= Long]

Properties
The NumberOfHorizontalGridLines property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The number of horizontal grid lines in the Chart.

NumberOfItems Property
Returns the number of columns displayed in the Legend.

Syntax
object.NumberOfItems

Properties
The NumberOfItems property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
NumberOfItems is a read-only property of type Integer.

Columns can be added to and/or removed from the Legend by calling the AddLegendItem,
RemoveItem and/or the RemoveLegendItem methods.

NumberOfLines Property
Returns the number of lines being used by the specified object.

299
iFIX Automation Reference

Syntax
object.NumberOfLines

Properties
The NumberOfLines property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
NumberOfLines is a read-only property of type Long.

The value returned by the NumberOfLines property will always be less than or equal to the value of
the MaxLines property.

NumberOfPoints Property
Returns the number of points in the specified object.

Syntax
object.NumberOfPoints

Properties
The NumberOfPoints property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
NumberOfPoints is a read-only property of type Long.

NumberOfTargets Property
Returns the total number of objects which are currently connected to any of the specified object’s
properties. This object is the source of data and the “NumberOfTargets” allows a user to determine

300
IFIX Automation Reference

how many targets are connected to receive information from this object.

Syntax
object.NumberOfTargets

Properties
The NumberOfTargets property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
NumberOfTargets is a read-only property of type Long.

NumberOfVerticalGridLines Property
Specifies the number of vertical grid lines displayed in the Enhanced Chart.

Syntax
object.NumberOfVerticalGridLines [= Long]

Properties
The NumberOfVerticalGridLines property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The number of vertical grid lines in the Chart.

NumOfPoints Property
The return value depends on the object specified. For the LineChart Object, HistogramChart Object,
SPCBarChart Object, or the XYChart Object, this property returns the number of points in the
specified object. For the RealTimeDataSet Object, RealTimeSPCDataSet Object, or HistoricalDataSet
Object, this property returns the maximum display points.

301
iFIX Automation Reference

Syntax
object.NumOfPoints [= Long]

Properties
The NumOfPoints property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The number of points in the specified object or the maximum display points.

NumPointsToGraph Property
A read-only property that matches the NumOfPoints property of the LineChart Object, HistogramChart
Object, SPCBarChart Object, or the XYChart Object.

Syntax
object.NumPointsToGraph [= Long]

Properties
The NumPointsToGraph property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The number of points in the specified object.

Remarks
NumPointsToGraph is a read-only property.

NumHGridLines Property
Specifies the number of horizontal grid lines displayed for the specified Pen.

302
IFIX Automation Reference

Syntax
object.NumHGridLines [= Long]

Properties
The NumHGridLines property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The number of horizontal grid lines for the Pen.

NumLabels Property
Specifies the number of labels on the Time Axis or Value Axis.

Syntax
object.NumLabels [= Integer]

Properties
The NumLabels property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Integer The number of labels.

NumPts Property
Returns the number of data points for the specified Pen.

Syntax
object.NumPts

303
iFIX Automation Reference

Properties
The NumPts property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
NumPts is a read-only property of type Long.

NumRandomSubsets Property
Sets the number of baseline subsets selected in the Enhanced Chart.

Syntax
object.NumRandomSubsets [= Long]

Properties
The NumRandomSubsets property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The number of baseline subsets selected for the HistogramChart, LineChart, or
SPCBarChart.

Remarks
NumRandomSubsets is a read-only property.

NumScrollingSubsets Property
In an Enhanced Chart, specifies the number of data sources to view in one visualization of the chart, in
addition to the baseline. If zero is selected, only baseline data sources are graphed in a single
visualization and no scroll bar appears. For this property to apply, you must specify the baseline data
sources, using the RandomSubsetsToGraph property.

304
IFIX Automation Reference

Syntax
object.NumScrollingSubsets [= Long]

Properties
The NumScrollingSubsets property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The number of subsets to view in one group for the HistogramChart, LineChart,
SPCBarChart, or XYChart Object.

NumTicks Property
Specifies the number of interval markers to place on each Time Axis or Value Axis.

Syntax
object.NumTicks [= Integer]

Properties
The NumTicks property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Integer The number of interval markers.

NumVGridLines Property
Specifies the number of vertical grid lines displayed for the specified Pen.

Syntax
object.NumVGridLines [= Long]

305
iFIX Automation Reference

Properties
The NumVGridLines property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The number of vertical grid lines for the Pen.

O-P

Object Property
Reserved for internal purposes.

OpcAccessPath Property
Returns the OPC access path of the installed OPC DataServer.

Syntax
object.OpcAccessPath

Properties
The OpcAccessPath property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
OpcAccessPath is a read-only property of type String.

The OpcAccessPath information is registered during installation of the OPC server using the
DataServerInstaller program.

306
IFIX Automation Reference

OpcDataSource Property
Returns the OPC data source name of the installed OPC DataServer.

Syntax
object.OpcDataSource

Properties
The OpcDataSource property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
OpcDataSource is a read-only property of type String.

The OpcDataSource information is registered during installation of the OPC server using the
DataServerInstaller program.

OpcProgID Property
Returns the OPC ProgID of the installed OPC DataServer.

Syntax
object.OpcProgID

Properties
The OpcProgID property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
OpcProgID is a read-only property of type String.

307
iFIX Automation Reference

The OpcProgID information is registered during installation of the OPC server using the
DataServerInstaller program.

OpcServerMachineName Property
This is the name of the machine where the installed OPC DataServer resides.

Syntax
object.OpcServerMachineName

Properties
The OpcServerMachineName property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
OpcServerMachineName is a read-only property of type String.

The OpcServerMachineName information is registered during installation of the OPC server using
the DataServerInstaller program.

OriginalScreenHeight Property
Returns the screen height resolution (in pixels) when the document was created.

Syntax
object.OriginalScreenHeight

Properties
The OriginalScreenHeight property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

308
IFIX Automation Reference

Remarks
OriginalScreenHeight is a read-only property of type Long.

OriginalScreenHeight will only be changed if the document is saved on a different resolution.

OriginalScreenWidth Property
Returns the screen width resolution (in pixels) when the document was created.

Syntax
object.OriginalScreenWidth

Properties
The OriginalScreenWidth property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
OriginalScreenWidth is a read-only property of type Long.

OriginalScreenWidth will only be changed if the document is saved on a different resolution.

OriginX Property
Returns the x coordinate for the starting position of the specified axis.

Syntax
object.OriginX

Properties
The OriginX property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

309
iFIX Automation Reference

Remarks
OriginX is a read-only property of type Double.

OriginY Property
Returns the y coordinate for the starting position of the specified axis.

Syntax
object.OriginX

Properties
The OriginX property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
OriginY is a read-only property of type Double.

OutputValue Property
Specifies the data which has resulted from the animation object's transformation of the "Input Value"
data.

Syntax
object.OutputValue [= Variant]

Properties
The OutputValue property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant The output value.

310
IFIX Automation Reference

Owner Property
Returns the object at the next highest level in the object hierarchy.

Syntax
object.Owner

Properties
The Owner property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Owner is a read-only property of type Object.

The Owner property is particularly useful when an object belongs to a Group. The Owner property of
the object returns the Group.

See the Parent property.

Page Property
Returns the contents of the document.

Syntax
object.Page

Properties
The Page property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

311
iFIX Automation Reference

Remarks
Page is a read-only property of type Object.

The Workspace is an OLE document container which can contain OLE documents of different types
(pictures, schedules, Word Documents, Excel Spreadsheets). The Document object does not know
about the internals of the different types of OLE documents. The Page property exists to allow you
access to the object model of the particular OLE document you are working with. Use theType
property of the Document object to identify the type of OLE document before accessing the Page
property for the Document.

Parent Property
Returns the Picture in which the specified object resides.

Syntax
object.Parent

Properties
The Parent property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Parent is a read-only property of type Object.

If an object is contained within a Group, the Parent property returns the Picture, not the Group.

The Parent of the Picture object is a Document object.

See the Owner property.

Path Property
Returns the path of the WorkSpace's executable file or the path of the Document object.

Syntax
object.Path

312
IFIX Automation Reference

Properties
The Path property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Path is a read-only property of type String.

PauseIndicatorBlink Property
Specifies if the Alarm Summary object’s pause indicator blinks.

Syntax
object.PauseIndicatorBlink [= Boolean]

Properties
The PauseIndicatorBlink property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the pause indicator blinks.

Settings
The settings for Boolean are:

Value Description

True The pause indicator blinks.

False The pause indicator does not blink.

313
iFIX Automation Reference

PauseIndicatorColor Property
Specifies the color of the Alarm Summary object’s pause indicator.

Syntax
object.PauseIndicatorColor [= colorref]

Properties
The PauseIndicatorColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

colorref The COLORREF used to set the pause indicator color.

PauseWithNewAlarmIndicatorBlink Property
Specifies whether the Alarm Summary object’s pause indicator blinks when new alarms are received
while the spreadsheet is paused.

Syntax
object.PauseWithNewAlarmIndicatorBlink [= Boolean]

Properties
The PauseWithNewAlarmIndicatorBlink property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the pause indicator blinks when new alarms are received while the
spreadsheet is paused.

Settings
The settings for Boolean are:

314
IFIX Automation Reference

Value Description

True The pause indicator blinks.

False The pause indicator does not blink.

PauseWithNewAlarmIndicatorColor Property
Specifies the color of the Alarm Summary object’s pause indicator when new alarms are received
while the spreadsheet is paused.

Syntax
object.PauseWithNewAlarmIndicatorColor [= colorref]

Properties
The PauseWithNewAlarmIndicatorColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

colorref The COLORREF used to set the pause indicator color.

PenDescription Property
Specifies the description displayed in the Legend for the specified Pen.

Syntax
object.PenDescription [= String]

Properties
The PenDescription property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

315
iFIX Automation Reference

Part Description

String The description for the current Pen.

PenLineColor Property
Specifies the color of the line for the specified Pen.

Syntax
object.PenLineColor [= Long]

Properties
The PenLineColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the line color.

PenLineStyle Property
Specifies the style of the line for the specified Pen.

Syntax
object.PenLineStyle [= enumEdgeStyle]

Properties
The PenLineStyle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumEdgeStyle The style to display for the line.

316
IFIX Automation Reference

Settings
The settings for enumEdgeStyle are:

Constant Value Description

EdgeStyleSolid 0 Solid.

EdgeStyleDash 1 Dash.

EdgeStyleDot 2 Dot.

EdgeStyleDashDot 3 Dash-Dot.

EdgeStyleDashDotDot 4 Dash-Dot-Dot.

EdgeStyleNone 5 No border.

EdgeStyleInsideFrame 6 Inside Frame.

Remarks
Changes to the PenLineStyle property are only visible when the PenLineWidth property for the pen
is set to 1.

PenLineWidth Property
Specifies the width of the line for the specified Pen.

Syntax
object.PenLineWidth [= Long]

Properties
The PenLineWidth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The width of the line.

317
iFIX Automation Reference

PenNum Property
Returns the index of the specified pen in the current chart's Pens collection.

Syntax
object.PenNum

Properties
The PenNum property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
PenNum is a read-only property of type Integer.

Pens Property
Returns the collection (list) of pens currently configured for the specified Chart.

Syntax
object.Pens

Properties
The Pens property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Pens is a read-only property of type Object.

318
IFIX Automation Reference

PenType Property
Returns whether the specified Pen is a real time or historical Pen.

Syntax
object.PenType

Properties
The PenType property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Return Values
The PenType property return values are:

Constant Value Description

Realtime 0 Real time pen.

Historical 1 Dash.

Remarks
Pens is a read-only property of type enumHTRModes.

PictureDefaultAlwaysOnTop Property
Specifies the default Picture Always on Top preference.

Syntax
bValue = object.PictureDefaultAlwaysOnTop

Example
Dim bValue as Boolean

bValue = Application.UserPreferences.PictureDefaultAlwaysOnTop

319
iFIX Automation Reference

Properties
The PictureDefaultAlwaysOnTop property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bValue Boolean. Determines whether iFIX pictures appear as always on top.


Valid Entries:
1 - Always on top
0 - Not always on top

PictureDefaultBackColor Property
Specifies the default background color of iFIX pictures.

Syntax
lPictureDefaultBackColor = object.PictureDefaultBackColor

Example
Dim lPictureDefaultBackColor as Long

lPictureDefaultBackColor =
Application.UserPreferences.PictureDefaultBackColor

Properties
The PictureDefaultBackColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To


list.

lPictureDefaultBackColor Long. Determines the default background color of iFIX pictures.

PictureDefaultHeight Property
Specifies the default picture height.

320
IFIX Automation Reference

Syntax
dblPictureDefaultHeight = object.PictureDefaultHeight

Example
Dim dblPictureDefaultHeight as Double

dblPictureDefaultHeight =
Application.UserPreferences.PictureDefaultHeight

Properties
The PictureDefaultHeight property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

dblPictureDefaultHeight Double. A number between 0 and 100 that determines the default
picture height.

PictureDefaultResizable Property
Specifies the default Picture resizable preference.

Syntax
bDefaultResizable = object.PictureDefaultResizable

Example
Dim bDefaultResizable as Boolean

bDefaultResizable = Application.UserPreferences.PictureDefaultResizable

Properties
The PictureDefaultResizable property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

321
iFIX Automation Reference

Part Description

bDefaultResizable Boolean. Determines whether iFIX pictures are resizable.


Valid Entries:
1 - Resizable
0 - Not resizable

PictureDefaultRuntimeVisible Property
Specifies the default runtime visible preference.

Syntax
bPictureDefaultRuntimeVisible = object.PictureDefaultRuntimeVisible

Example
Dim bPictureDefaultRuntimeVisible as Boolean

bPictureDefaultRuntimeVisible =
Application.UserPreferences.PictureDefaultRuntimeVisible

Properties
The PictureDefaultRuntimeVisible property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies


To list.

bPictureDefaultRuntimeVisible Boolean. Determines whether iFIX pictures appear in the


Runtime environment.
Valid Entries:
1 - Pictures appear in the Runtime environment
0 - Pictures do not appear in the Runtime environment

PictureDefaultSystemMenu Property
Specifies the default Picture system menu preference.

Syntax
bDefaultSystemMenu = object.PictureDefaultSystemMenu

322
IFIX Automation Reference

Example
Dim bDefaultSystemMenu as Boolean

bDefaultSystemMenu = Application.UserPreferences.PictureDefaultSystemMenu

Properties
The PictureDefaultSystemMenu property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bDefaultSystemMenu Boolean. Determines whether the system menu appears in iFIX pictures.
Valid Entries:
1 - System menu
0 - No system menu

PictureDefaultTitlebar Property
Specifies the default Picture titlebar preference.

Syntax
bDefaultTitlebar = object.PictureDefaultTitlebar

Example
Dim bDefaultTitlebar as Boolean

bDefaultTitlebar = Application.UserPreferences.PictureDefaultTitlebar

Properties
The PictureDefaultTitlebar property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bDefaultTitlebar Boolean. Determines whether the Picture titlebar appears.


Valid Entries:
1 - Titlebar
0 - No titlebar

323
iFIX Automation Reference

PictureDefaultWidth Property
Specifies the default picture width.

Syntax
dblPictureDefaultWidth = object.PictureDefaultWidth

Example
Dim dblPictureDefaultWidth as Double

dblPictureDefaultWidth = Application.UserPreferences.PictureDefaultWidth

Properties
The PictureDefaultWidth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

dblPictureDefaultWidth Double. A number between 0 and 100 that determines the default
picture width.

PictureHeight Property
Specifies the percentage of the vertical screen that the picture extends to.

Syntax
object.PictureHeight [=dblPictureHeight]

Properties
The PictureHeight property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

dblPictureHeight Double. A number between 0 and 100 that determines the picture height.

324
IFIX Automation Reference

PictureName Property
Specifies the name or alias of the current picture.

Syntax
object.PictureName [=String]

Properties
The PictureName property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The name of the picture.

PicturePath Property
Returns the path used to store iFIX pictures.

Syntax
object.PicturePath

Properties
The PicturePath property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
PicturePath is a read-only property of type String.

PictureWidth Property
Specifies the percentage of the horizontal screen that the picture extends to.

325
iFIX Automation Reference

Syntax
object.PictureWidth [=dblPictureWidth]

Properties
The PictureWidth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

dblPictureWidth Double. A number between 0 and 100 that determines the picture width.

PieType Property
Specifies the constraints of the angle included between the StartAngle and EndAngle properties.

Syntax
object.PieType [= Integer]

Properties
The PieType property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Integer The type of pie to display.

Settings
The settings for Integer are:

Value Description

1 The included angle is <= 180. (The pie is a wedge). (Default)

2 The included angle is > 180. (The pie is a cut out).

326
IFIX Automation Reference

Value Description

3 There is no restriction on the included angle.

PlotOnChartRefresh Property
This property is unavailable. It is reserved for future use.

Syntax
object.PlotOnChartRefresh

Properties
The PlotOnChartRefresh property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

PlottingMethod Property
In an Enhanced Chart, this property sets the plotting method used to render the object's data.

Syntax
object.PlottingMethod [=enumGraphPlottingMethod]

Properties
The PlottingMethod property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To


list.

327
iFIX Automation Reference

Part Description

enumGraphPlottingMethod An enumeration that represents the data plotting method in the


Enhanced Chart:
Valid entries:
3 – Plot_Area
1 – Plot_Bar
10 – Plot_Histogram
0 – Plot_Line
2 – Plot_Point
17 – Plot_PointPlusLine
13 – Plot_PointsPlusBestFitCurve
14 – Plot_PointsPlusBestFitCurveGraphed
8 – Plot_PointsPlusBestFitLine
9 – Plot_PointsPlusBestFitLineGraphed
16 – Plot_PointsPlusSpline
15 – Plot_Spline

PointType Property
In an Enhanced Chart, sets the predefined point types for the HistoricalDataSet, RealTimeDataSet, or
RealTimeSPCDataSet object.

Syntax
object.PointType [=enumPointsType]

Properties
The PointType property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

328
IFIX Automation Reference

Part Description

enumPointsType An enumeration that represents the predefined point types in the Enhanced
Chart:
Valid entries:
1 – Point_Cross
6 – Point_Diamond
7 – Point_DiamondSolid
2 – Point_Dot
3 – Point_DotSolid
10 – Point_DownTriangle
11 – Point_DownTriangleSolid
0 – Point_Plus
4 – Point_Square
5 – Point_SquareSolid
8 – Point_UpTriangle
9 – Point_UpTriangleSolid

Previous Property
Returns the previous Window object.

Syntax
object.Previous

Properties
The Previous property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Previous is a read-only property of type Object.

PrimarySecPath Property
Returns the primary security file path for the specified document.

329
iFIX Automation Reference

Syntax
object.PrimarySecPath [= String]

Properties
The PrimarySecPath property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The backup security file path.

Remarks
PrimarySecPath is a read-only property of type String.

ProcedureDeclaration Property
Specifies the header line of the ScriptProcedure.

Syntax
object.ProcedureDeclaration [= String]

Properties
The ProcedureDeclaration property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The header line for the procedure.

Remarks
An example of a header line is: Private Sub MyObject_Click().

330
IFIX Automation Reference

ProcedureName Property
(Read-Only) The name of the procedure to be executed.

Syntax
object.ProcedureName [= ProcedureName]

Properties
The ProcedureName property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ProcedureName String. The new name of the procedure to execute.

Procedures Property
Returns the Procedures collection object.

Syntax
object.Procedures

Properties
The Procedures property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Procedures is a read-only property of type Object.

ProcedureStatement Property
Specifies the string to be used in the procedure statement for the specified ScriptLine object.

331
iFIX Automation Reference

Syntax
object.ProcedureStatement [= String]

Properties
The ProcedureStatement property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The procedure statement for the specified ScriptLine object.

ProgId Property
Returns the ProgID for the specified control.

Syntax
object.ProgId [= String]

Properties
The ProgId property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
ProgId is a read-only property of type String.

ProjectPath Property
Returns the path used for storing project files. If you intall iFIX to the default location, this path is
C:\Program Files\Proficy\Proficy iFIX.

Syntax
object.ProjectPath[=String]

332
IFIX Automation Reference

Properties
The ProjectPath property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The path of the project.

Property1 Property
A general purpose property which can contain any user value.

Syntax
object.Property1 [= Variant]

Properties
The Property1 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant A user defined value.

Remarks
Property1 is used internally to store information entered in the script authoring experts.

Property10 Property
A general purpose property which can contain any user value.

Syntax
object.Property10 [= Variant]

333
iFIX Automation Reference

Properties
The Property10 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant A user defined value.

Remarks
Property10 is used internally to store information entered in the script authoring experts.

Property2 Property
A general purpose property which can contain any user value.

Syntax
object.Property2 [= Variant]

Properties
The Property2 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant A user defined value.

Remarks
Property2 is used internally to store information entered in the script authoring experts.

Property3 Property
A general purpose property which can contain any user value.

334
IFIX Automation Reference

Syntax
object.Property3 [= Variant]

Properties
The Property3 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant A user defined value.

Remarks
Property3 is used internally to store information entered in the script authoring experts.

Property4 Property
A general purpose property which can contain any user value.

Syntax
object.Property4 [= Variant]

Properties
The Property4 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant A user defined value.

Remarks
Property4 is used internally to store information entered in the script authoring experts.

335
iFIX Automation Reference

Property5 Property
A general purpose property which can contain any user value.

Syntax
object.Property5 [= Variant]

Properties
The Property5 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant A user defined value.

Remarks
Property5 is used internally to store information entered in the script authoring experts.

Property6 Property
A general purpose property which can contain any user value.

Syntax
object.Property6 [= Variant]

Properties
The Property6 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant A user defined value.

336
IFIX Automation Reference

Remarks
Property6 is used internally to store information entered in the script authoring experts.

Property7 Property
A general purpose property which can contain any user value.

Syntax
object.Property7 [= Variant]

Properties
The Property7 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant A user defined value.

Remarks
Property7 is used internally to store information entered in the script authoring experts.

Property8 Property
A general purpose property which can contain any user value.

Syntax
object.Property8 [= Variant]

Properties
The Property8 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

337
iFIX Automation Reference

Part Description

Variant A user defined value.

Remarks
Property8 is used internally to store information entered in the script authoring experts.

Property9 Property
A general purpose property which can contain any user value.

Syntax
object.Property9 [= Variant]

Properties
The Property9 property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant A user defined value.

Remarks
Property9 is used internally to store information entered in the script authoring experts.

Q-R

Quality Property
Returns the quality of the OPC data source represented by this DataItem. The Quality property
becomes populated either from Read method of the DataItem or Group (DataSystem) object.

338
IFIX Automation Reference

Syntax
object.Quality

Properties
The Quality property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Quality is a read-only property of type Integer.

The Value and Timestamp properties are associated with the Quality.

QueueEvents Property
Specifies whether to allow multiple entries of the same event in the event queue.

Syntax
object.QueueEvents [= Boolean]

Properties
The QueueEvents property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to allow multiple entries in the queue.

Settings
The settings for Boolean are:

339
iFIX Automation Reference

Value Description

True Allow multiple entries in the queue.

False Prevent multiple entries in the queue.

Remarks
If a Timer event is configured to occur every 5 seconds and it takes longer than 5 seconds to execute
the event, the event will not be placed in the queue if QueueEvents is set to False. If QueueEvents is
True, the event handler will occur for each event fired once the first event is acknowledged.

QuickStyle Property
Allows you to apply a predefined chart style to an Enhanced Chart.

Syntax
object.QuickStyle [=enumQuickStyle]

Properties
The QuickStyle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumQuickStyle An enumeration that represents the predefined chart style in the Enhanced
Chart:
Valid entries:
9 – DarkInset
11 – DarkLine
12 – DarkNoBorder
10 – DarkShadow
1 – LightInset
3 – LightLine
4 – LightNoBorder
2 – LightShadow
5 – MediumInset
7 – MediumLine
8 – MediumShadow
6 – MediumNoBorder
0 – NoStyle

340
IFIX Automation Reference

Radius Property
Specifies the current radius for the specified Pie object.

Syntax
object.Radius [= Double]

Properties
The Radius property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The value of the radius of the Pie.

RandomSubsetsToGraph Property
In an Enhanced Chart, this property specifies the subset of data sources to be graphed. Each specified
data source is included in the subset. For example, if you have a chart with four data sources and you
specify data sources one and two as part of the subset, then both data sources will appear in all
visualizations of the chart. On the other hand, each of the other data sources of the chart will be only
graphed in one of the chart's visualizations. For this reason, the data sources specified in this property
are also referred to as "baseline" collectively. By specifying baseline and non-baseline data sources,
you can compare data sources in different visualizations.

The data sources are specified in the form of dataset indices, separated by a comma. For example, a
value of "0, 2" specifies that data sources one and three are to be graphed in all visualizations.

Syntax
object.RandomSubsetsToGraph [= String]

Properties
The RandomSubsetsToGraph property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

341
iFIX Automation Reference

String The subsets to be graphed for the HistogramChart, LineChart, SPCBarChart, or XYChart
Object.

RawFormat Property
Specifies whether the text is a string formatted for the C programming language.

Syntax
object.RawFormat

Properties
The RawFormat property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Settings
RawFormat is a read-only property of type boolean.

Value

True

False

RecalculateViewport Property
Specifies whether persisted ratios are used when calculating the size and viewport for a picture when
opening it in the same screen resolution in which it was saved.

Syntax
object.RecalculateViewport [= Boolean]

Properties
The RecalculateViewport property syntax has these parts:

342
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the persisted ratios used to determine the picture's viewport are applied upon
reopening the picture in the same resolution in which it was saved.

Settings
The settings for Boolean are:

Value Description

True The ratios used to determine the picture's viewport are recalculated upon opening,
regardless of screen resolution.

False The persisted ratios used to determine the picture's viewport are applied when
(Default) reopening the picture in the same resolution in which it was saved.

Remarks
If you set this property to True, test the picture to make sure it does not cause any unexpected behavior
before saving it. When using Fit Picture To Window, this property will automatically be set to False.

RefreshRate Property
Specifies the refresh rate of the Chart or ExpressionEditor.

Syntax
object.RefreshRate [= Single]

Properties
The RefreshRate property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Single The refresh rate.

343
iFIX Automation Reference

RemoveNonWindowsUsers Property
Sets or retrieves the boolean value that indicates whether or not iFIX security users who are not
configured to use Windows security will be deleted.

Syntax
object.RemoveNonWindowsUsers [= Boolean]

Properties
The RemoveNonWindowsUsers property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean The default value is False, which indicates that users who are not using Windows
security will not be deleted.
True indicates that iFIX users not using Windows security will be deleted.

Remarks
This property corresponds to the /R command line parameter of the Security Synchronizer application.

ResetPercentage Property
Specifies the percentage by which the Chart object's display is shifted when the Pen reaches the right
side of the display area when scrolling left to right.

Syntax
object.ResetPercentage [= Single]

Properties
The ResetPercentage property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Single The reset percentage.

344
IFIX Automation Reference

Resizable Property
Whether or not the specified document is able to be resized.

Syntax
object.Resizable [= Boolean]

Properties
The Resizable property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the document is resizable.

Settings
The settings for Boolean are:

Value Description

True The document is resizable.

False The document is not resizable.

ResolveSourceName Property
Returns the resolved tag name if the source is a tag group symbol.

Syntax
object.ResolvedSourceName

Properties
The ResolvedSourceName property syntax has this part:

345
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Read-only property

Revision Property
Returns the revision number for the specified Dynamo object. This property is read-only.

Syntax
DynamoObject.Revision

Properties
The Revision property syntax has this part:

Part Description

DynamoObject A Dynamo object.

Return Value
Long. This number represents the revision number that iFIX internally assigns to the Dynamo object.

RevisionNumber Property
Returns the revision number for the specified document.

Syntax
object.RevisionNumber

Properties
The RevisionNumber property syntax has this part:

346
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
RevisionNumber is a read-only property of type Long.

RevisionNumber property is incremented with each save of the document.

Right Property
Returns the value of the right edge of the shape's bounding rectangle.

Syntax
object.Right

Properties
The Right property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Right is a read-only property of type Double.

RightCenter Property
Returns the right center point of the shape's bounding rectangle.

Syntax
object.RightCenter

Properties
The RightCenter property syntax has this part:

347
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
RightCenter is a read-only property of type Object.

RotationAngle Property
Specifies the angle (in radians or degrees) by which to rotate the specified object.

Syntax
object.RotationAngle [= Double]

Properties
The RotationAngle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The angle to rotate the shape.

Remarks
In the Configuration environment, RotationAngle will not be set back to 0 until the object is de-
selected. Therefore, while selected, the object will contain it's current RotationAngle value of the
object when it was last selected. Once de-selected, the object's RotationAngle property will be reset
back to 0.

In the Run-time environment, the RotationAngle property displayes the object’s angle based on the
number of degrees the object had been rotated when it initially came off disk.

The units to be used when creating the angle is specified as either degrees or radians depending on the
value of the AngleUnits property.

RoundnessX Property
Specifies the horizontal roundness of a RoundRectangle.

348
IFIX Automation Reference

Syntax
object.RoundnessX [= Long]

Properties
The RoundnessX property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long A value from 0 to 100.

RoundnessY Property
Specifies the vertical roundness of a Round Rectangle.

Syntax
object.RoundnessY [= Long]

Properties
The RoundnessY property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long A value from 0 to 100.

RunIndicatorBlink Property
Specifies whether the Alarm Summary object’s run indicator blinks.

Syntax
object.RunIndicatorBlink [= Boolean]

349
iFIX Automation Reference

Properties
The RunIndicatorBlink property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the run indicator blinks.

Settings
The settings for Boolean are:

Value Description

True The run indicator blinks.

False The run indicator does not blink.

RunIndicatorColor Property
Specifies the color of the Alarm Summary object’s run indicator.

Syntax
object.RunIndicatorBlink [= Long]

Properties
The RunIndicatorBlink property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the run indicator color.

350
IFIX Automation Reference

RuntimeVisible Property
Whether or not the document is visible in the Run-time environment.

Syntax
object.RuntimeVisible [= Boolean]

Properties
The RuntimeVisible property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the document is visible.

Settings
The settings for Boolean are:

Value Description

True The document is visible in the Run-time environment. (Default)

False The document is not visible in the Run-time environment.

Remarks
To display a picture that was opened with the RuntimeVisible property set to False, you must set the
active window’s Active property to True.

The following is an example of code that will set the RuntimeVisible and Active properties:

Dim doc As Object

Set doc = Application.Documents.Open("C:\Program Files\Proficy\Proficy


iFIX\PIC\SAMPLE.GRF")

doc.ActiveWindow.Active = True

351
iFIX Automation Reference

Saved Property
Returns whether the specified document has been edited since the last time it was saved.

Syntax
object.Saved

Properties
The Saved property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Return Values
The Saved property return values are:

Value Description

True The document has not been edited since it was last saved.

False The document has been edited since it was last saved.

SaveThumbnail Property
Allows you to save a thumbnail image of an existing picture, so that you can view the image from the
system tree in the iFIX WorkSpace.

NOTE: You will not be able to view thumbnails if you are using Windows Vista and the Vista Basic
Theme for your display.

Syntax
object.SaveThumbnail [= Boolean]

352
IFIX Automation Reference

Properties
The SaveThumbnail property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether thumbnails are saved.

Settings
The settings for Boolean are:

Value Description

True
Thumbnail image is saved with the picture.

False Thumbnail image is not saved with the picture. (Default)

ScalesWidth Property
Specifies whether the user is allowed to change the width of the Text or Datalink object.

Syntax
object.ScalesWidth [= Boolean]

Properties
The ScalesWidth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the text width can be changed.

353
iFIX Automation Reference

Settings
The settings for Boolean are:

Value Description

True The object's width can be changed.

False The object's width cannot be changed. (There can be clipping of the text)

Remarks
The behavior of the object by changing the ScalesWidth property is dependent upon the Autosize
property. The following table illustrates the dependencies:

Autosize Value ScalesWidth Value Resulting Behavior

True True Bounding rectangle is recalculated to fit the text.

False True The FontSize is recalculated to fit the bounding rectangle.

True False Bounding rectangle is recalculated to fit the text.

False False The text is clipped.

SchedulePath Property
Returns the path used to store iFIX schedule files.

Syntax
object.SchedulePath

Properties
The SchedulePath property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

354
IFIX Automation Reference

Remarks
SchedulePath is a read-only property of type String.

ScreenHeight Property
Returns the screen resolution height in pixel units.

Syntax
object.ScreenHeight

Properties
The ScreenHeight property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
ScreenHeight is a read-only property of type Long.

ScreenWidth Property
Returns the screen resolution width in pixel units.

Syntax
object.ScreenWidth

Properties
The ScreenWidth property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

355
iFIX Automation Reference

Remarks
ScreenWidth is a read-only property of type Long.

ScrollDirection Property
Specifies the direction that the Chart will scroll.

Syntax
object.ScrollDirection [= enumScrollDirection]

Properties
The ScrollDirection property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrEventName String. The name of the event.

Settings
The settings for enumScrollDirection are:

Constant Value Description

RigthToLeft 0 Scroll from right to left.

LeftToRight 1 Scroll from left to right.

ScrollGrid Property
Specifies whether the Chart object's grid can be scrolled.

Syntax
object.ScrollGrid [= Boolean]

356
IFIX Automation Reference

Properties
The ScrollGrid property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the grid can be scrolled.

Settings
The settings for Boolean are:

Value Description

True The grid can be scrolled.

False The grid cannot be scrolled.

ScrollItems Property
Specifies whether to scroll the tick marks and their labels with the data displayed for the Time Axis.

Syntax
object.ScrollItems [= Boolean]

Properties
The ScrollItems property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to scroll the tick marks and labels.

Settings
The settings for Boolean are:

357
iFIX Automation Reference

Value Description

True Scroll the tick marks and labels with the data.

False Do not scroll the tick marks and labels with the data.

ScrollPercentage Property
Specifies the percentage to scroll the Chart.

Syntax
object.ScrollPercentage [= Single]

Properties
The ScrollPercentage property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Single The amount to scroll the Chart.

Remarks
This value is used to scroll the Chart by using the ScrollBack and ScrollForward methods.

SecondaryImageDisplayed Property
Specifies whether a Bitmap object's secondary image at the current index is being displayed as the
primary (or mouse-up) image.

Syntax
object.SecondaryImageDisplayed [= Boolean]

Properties
The SecondaryImageDisplayed property syntax has this part:

358
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Settings
The settings for Boolean are:

Value Description

True Display the secondary image.

False Do not display the secondary image.

Remarks
If SecondaryImageDisplayed is True, the primary image is displayed when the mouse is down. In all
other cases the primary image is displayed. If a secondary image is not loaded, the primary image is
displayed when the mouse is down.

SecurityArea Property
Specifies the Security Area for the specified document.

Syntax
object.SecurityArea [= String]

Properties
The SecurityArea property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The security area.

359
iFIX Automation Reference

SelectedDatasource Property
Returns the data source of the currently selected object.

Syntax
object.SelectedDatasource[=String]

Properties
The SelectedDatasource property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The data source.

SelectedFieldName Property
Returns the field name of the currently selected object.

Syntax
object.SelectedFieldName[=String]

Properties
The SelectedFieldName property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The field name.

SelectedNodeName Property
Returns the SCADA node from the currently selected object.

360
IFIX Automation Reference

Syntax
object.SelectedNodeName[=String]

Properties
The SelectedNodeName property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The node name.

SelectedShapes Property
Returns a collection of shapes currently selected within the specified Picture, DynamoSet or
UserGlobals document.

Syntax
object.SelectedShapes

Properties
The SelectedShapes property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
SelectedShapes is a read-only property of type Object.

SelectedTagName Property
Returns the tag name or OPC element (item) of the currently selected object.

Syntax
object.SelectedTagName[=String]

361
iFIX Automation Reference

Properties
The SelectedTagName property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The tag name or OPC item.

SelectionTimeout Property
Specifies the number of seconds an alarm stays selected once it is selected. The alarm becomes
deselected after the timeout period.

Syntax
object.SelectionTimeout [= Integer]

Properties
The SelectionTimeout property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Integer The number of seconds that an alarm stay selected once it is selected. The valid range is
3 - 120 seconds. The default is 10.

SendAlarmMessages Property
Sets or retrieves the boolean value that indicates whether or not the Audit Trail messages will be sent
to iFIX alarm destinations.

Syntax
object.SendAlarmMessages [= Boolean]

Properties
The SendAlarmMessages property syntax has these parts:

362
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean The default value is False, which indicates that alarm messages will not be sent to
alarm destinations.
True indicates that alarm messages will be sent to alarm destinations.

Remarks
This property corresponds to the /A command line parameter of the Security Synchronizer application.

ShadowColor Property
In an Enhanced Chart, specifies of the color of the drop shadow, if present.

Syntax
object.ShadowColor [= Long]

Properties
The ShadowColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean
Whole number representing the color of the drop shadow in the HistogramChart,
LineChart, SPCBarChart, or XYChart Object.

SharedTableName Property
Specifies the name of the shared Lookup table.

Syntax
object.SharedTableName [= String]

363
iFIX Automation Reference

Properties
The SharedTableName property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The name of the shared table.

Remarks
For ease of use the user is able to create shared threshold tables in the global pages for its Lookup
objects to use. The Lookup object will then redirect all its lookups to this table.

The syntax would be something like:

"User.SharedThresholdTable1".

If the user does specify a shared table, all of its own levels are destroyed. The shared table allows for
reuse of similar tables (color by value, for example) – making all objects consistent and allowing for
any necessary changes to be made in one place.

ShowAxis Property
Specifies whether or not to display the specified Time Axis or Value Axis.

Syntax
object.ShowAxis [= Boolean]

Properties
The ShowAxis property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to display the axis.

Settings
The settings for Boolean are:

364
IFIX Automation Reference

Value Description

True The axis is displayed.

False The axis is not displayed.

ShowDatabaseTab Property
Specifies whether to display the database tab in the Expression Builder dialog.

Syntax
object.ShowDatabaseTab [= Boolean]

Properties
The ShowDatabaseTab property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to display the database tab.

Settings
The settings for Boolean are:

Value Description

True The database tab is displayed. (Default)

False The database tab is not displayed.

ShowDataServersTab Property
Specifies whether to display the DataServers tab in the Expression Builder dialog.

365
iFIX Automation Reference

Syntax
object.ShowDataServersTab [= Boolean]

Properties
The ShowDataServersTab property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to display the data servers tab.

Settings
The settings for Boolean are:

Value Description

True The data servers tab is displayed. (Default)

False The data servers tab is not displayed.

ShowDate Property
Specifies whether or not to display the date on the Time Axis of the Chart.

Syntax
object.ShowDate [= Boolean]

Properties
The ShowDate property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to display the date.

366
IFIX Automation Reference

Settings
The settings for Boolean are:

Value Description

True The date is displayed.

False The date is not displayed.

ShowDSLegend Property
Sets whether the data source legends are visible or invisible in a HistogramChart, LineChart,
SPCBarChart, or XYChart Object.

Syntax
object.ShowDSLegend [= Boolean]

Properties
The ShowDSLegend property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the data source legends are visible or invisible in a HistogramChart,
LineChart, SPCBarChart, or XYChart Object.

Settings
The settings for Boolean are:

Value Description

True The data source legends are visible. (Default)

False The data source legends are invisible.

367
iFIX Automation Reference

ShowGaps Property
Specifies whether the Pen, HistoricalDataSet, RealTimeDataSet, or RealTimeSPCDataSet should
show gaps in the line indicating errors in the data sets.

Syntax
object.ShowGaps [= Boolean]

Properties
The ShowGaps property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to display gaps in the line.

Settings
The settings for Boolean are:

Value Description

True Data error gaps are displayed.

False Data error gaps are not displayed.

Remarks
Every data point has a value, timestamp, and a quality. If the quality code indicates a bad data sample,
for example, device off line or communication access error, this code indicates that the sampling
process could not get a valid reading at this point in time. With this field enabled, the Pen's data line
will show a gap in the data line that indicates that there is no valid data.

ShowGlobalsTab Property
Specifies whether to display the Globals tab in the Expression Builder dialog.

Syntax
object.ShowGlobalsTab [= Boolean]

368
IFIX Automation Reference

Properties
The ShowGlobalsTab property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to display the globals tab.

Settings
The settings for Boolean are:

Value Description

True The globals tab is displayed. (Default)

False The globals tab is not displayed.

ShowGridLines Property
Specifies whether gridlines are displayed for the Alarm Summary object.

Syntax
object.ShowGridLines [= Boolean]

Properties
The ShowGridLines property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether grid lines are displayed.

Settings
The settings for Boolean are:

369
iFIX Automation Reference

Value Description

True Grid lines are displayed. (Default)

False Grid lines are not displayed.

ShowHeaders Property
Specifies whether column headers are displayed for the Alarm Summary object.

Syntax
object.ShowHeaders [= Boolean]

Properties
The ShowHeaders property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether column headers are displayed.

Settings
The settings for Boolean are:

Value Description

True Column headers are displayed. (Default)

False Column headers are not displayed.

ShowHistoricalTab Property
Specifies whether to display the Historical tab in the Expression Builder dialog.

370
IFIX Automation Reference

Syntax
object.ShowHistoricalTab [= Boolean]

Properties
The ShowHistoricalTab property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to display the historical tab.

Settings
The settings for Boolean are:

Value Description

True The historical tab is displayed. (Default)

False The historical tab is not displayed.

ShowHorizontalGrid Property
Specifies whether to display the Chart object's horizontal grid lines.

Syntax
object.ShowHorizontalGrid [= Boolean]

Properties
The ShowHorizontalGrid property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to display the horizontal grid lines.

371
iFIX Automation Reference

Settings
The settings for Boolean are:

Value Description

True The horizontal grid lines are displayed.

False The horizontal grid lines are not displayed.

ShowLegend Property
Specifies whether the Chart, HistogramChart, LineChart, or SPCBarChart object's Legend is
displayed.

Syntax
object.ShowLegend [= Boolean]

Properties
The ShowLegend property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the legend is displayed.

Settings
The settings for Boolean are:

Value Description

True The legend is displayed.

False The legend is not displayed.

372
IFIX Automation Reference

ShowLine Property
Specifies whether the Pen should display the line representing its data points.

Syntax
object.ShowLine [= Boolean]

Properties
The ShowLine property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to display the line.

Settings
The settings for Boolean are:

Value Description

True The line is displayed.

False The line is not displayed.

ShowPicturesTab Property
Specifies whether to display the Pictures tab in the Expression Builder dialog.

Syntax
object.ShowPicturesTab [= Boolean]

Properties
The ShowPicturesTab property syntax has these parts:

373
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to display the pictures tab.

Settings
The settings for Boolean are:

Value Description

True The pictures tab is displayed. (Default)

False The pictures tab is not displayed.

ShowRowNumbers Property
Specifies whether to display row numbers for the Alarm Summary object.

Syntax
object.ShowRowNumbers [= Boolean]

Properties
The ShowRowNumbers property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the row numbers are displayed.

Settings
The settings for Boolean are:

374
IFIX Automation Reference

Value Description

True The row numbers are displayed.

False The row numbers are not displayed. (Default)

ShowScrollBars Property
Specifies whether the Alarm Summary object displays both horizontal and vertical scroll bars.

Syntax
object.ShowScrollBars [= Boolean]

Properties
The ShowScrollBars property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether scroll bars are displayed.

Settings
The settings for Boolean are:

Value Description

True The horizontal and vertical scroll bars are displayed. (Default)

False No scroll bars are displayed.

ShowStatusBar Property
Specifies whether the status bar is displayed for the Alarm Summary object.

375
iFIX Automation Reference

Syntax
object.ShowStatusBar [= Boolean]

Properties
The ShowStatusBar property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the status bar is displayed.

Settings
The settings for Boolean are:

Value Description

True The status bar is displayed. (Default)

False The status bar is not displayed.

ShowTimeAxis Property
Specifies whether the Time Axis is displayed for the specified Chart.

Syntax
object.ShowTimeAxis [= Boolean]

Properties
The ShowTimeAxis property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the Time Axis is displayed.

376
IFIX Automation Reference

Settings
The settings for Boolean are:

Value Description

True The Time Axis is displayed. (Default)

False The Time Axis is not displayed.

ShowTimeAxisTitle Property
Specifies whether the title of the Time Axis is displayed for the specified Chart.

Syntax
object.ShowTimeAxisTitle [= Boolean]

Properties
ShowTimeAxisTitle

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the Time Axis title is displayed.

Settings
The settings for Boolean are:

Value Description

True The Time Axis title is displayed. (Default)

False The Time Axis title is not displayed.

377
iFIX Automation Reference

ShowTimeCursor Property
Specifies whether or not to show the time cursor for the Chart, HistogramChart, LineChart, or
SPCBarChart.

Syntax
object.ShowTimeCursor [= Boolean]

Properties
The ShowTimeCursor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the time cursor is displayed.

Settings
The settings for Boolean are:

Value Description

True The time cursor is displayed. (Default)

False The time cursor is not displayed.

ShowTimeCursorToolTips Property
Displays or hides the time cursor’s data tool tips.

Syntax
object.ShowTimeCursorToolTips [= Boolean]

Properties
The ShowTimeCursorToolTips property syntax has these parts:

378
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the time cursor's tool tips are displayed.

Settings
The settings for Boolean are:

Value Description

True The time cursor's tooltips are displayed.

False The time cursor's tooltips are not displayed.

ShowTitle Property
Sets whether or not to show the title of the specified Time Axis or Value Axis.

Syntax
object.ShowTitle [= Boolean]

Properties
The ShowTitle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the axis' title is displayed.

Settings
The settings for Boolean are:

379
iFIX Automation Reference

Value Description

True The axis' title is displayed.

False The axis' title is not displayed.

ShowValueAxis Property
Specifies whether the Value Axis is displayed for the specified Chart.

Syntax
object.ShowValueAxis [= Boolean]

Properties
The ShowValueAxis property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the Value Axis is displayed.

Settings
The settings for Boolean are:

Value Description

True The Value Axis is displayed.

False The Value Axis is not displayed.

ShowValueAxisTitle Property
Specifies whether the title of the Value Axis is displayed for the specified Chart.

380
IFIX Automation Reference

Syntax
object.ShowValueAxisTitle [= Boolean]

Properties
The ShowValueAxisTitle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the Value Axis title is displayed.

Settings
The settings for Boolean are:

Value Description

True The Value Axis title is displayed.

False The Value Axis title is not displayed.

ShowVerticalGrid Property
Specifies whether to display the Chart object’s vertical grid lines.

Syntax
object.ShowVerticalGrid [= Boolean]

Properties
The ShowVerticalGrid property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the vertical grid lines are displayed.

381
iFIX Automation Reference

Settings
The settings for Boolean are:

Value Description

True The vertical grid is displayed.

False The vertical grid is not displayed.

SmoothingMode Property
Determines how the pipe will be drawn, either using high quality or high speed. Pipes drawn with the
high quality setting use antialiasing; their edges do not appear jagged. Pipes that use high speed do not
use antialiasing and their edges are jagged. However, their demand on system resources is not as great
as that of pipes that use high quality. If you have a large number of animated pipes, you may want to
consider using pipes with the quality high speed, to limit their use of your system resources.

Syntax
object.SmoothingMode [= enumSmoothingMode]

Properties
The SmoothingMode property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumSmoothingMode An enumeration that represents whether a pipe is drawn using high speed
or high quality.
Valid entries:
0 – High Quality.
1 – High Speed.

SnapToGrid Property
Specifies whether to snap objects to the grid points.

Syntax
object.SnapToGrid [= Boolean]

382
IFIX Automation Reference

Properties
The SnapToGrid property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to snap objects to grid points.

Settings
The settings for Boolean are:

Value Description

True Snap the objects to the grid points.

False Do not snap the objects to the grid points.

SortColumnName Property
Specifies the column heading of the column currently being used for sorting in the Alarm Summary
object.

Syntax
object.SortColumnName [= String]

Properties
The SortColumnName property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

383
iFIX Automation Reference

Part Description

String
The name of the column to be used for sorting.
Valid entries are:
Time In
Block Type
Tagname
Priority
Node
Ack/Time
Ack/Priority

SortOrderAscending Property
Specifies whether the sort order for the Alarm Summary object is ascending or descending.

Syntax
object.SortOrderAscending [= Boolean]

Properties
The SortOrderAscending property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean
Whether the sort is ascending or descending.

Settings
The settings for Boolean are:

Value Description

True The sort order is ascending.

False The sort order is descending. (Default)

384
IFIX Automation Reference

Source Property
Specifies the source string for an animation. This field specifies where the data should be retrieved
from to drive this animation, that is, the input data source. The syntax can be either a fully qualified
string, or, when using intelligent defaults for the server, node, and field names, the valid syntax for the
FIX data server could be as simple as “AI1”.

A fully qualified string is the server name and OPC string separated by a period. For example,
FIX32.Scada1.AI1.F_CV.

Syntax
object.Source [= String]

Properties
The Source property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String A valid data source string.

Remarks
This property internally builds a connection (Connect) between the input value property of the
animation and the data source specified by this property.

Sources Property
Returns the Sources collection for the specified ScriptProcedure object.

Syntax
object.Sources

Properties
The Sources property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

385
iFIX Automation Reference

Remarks
Sources is a read-only property of type Object.

SourceValidated Property
Specifies whether the source property has a valid data source connection.

Syntax
object.SourceValidated [= Boolean]

Properties
The SourceValidated property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the source is valid.

Settings
The settings for Boolean are:

Value Description

True The source property is valid.

False The source property is not valid.

SPCChartType Property
Specifies the type of SPC bar chart: R-Bar, X-Bar, or S-Bar.

Syntax
object.SPCChartType [= enumSPCChartType]

386
IFIX Automation Reference

Properties
The SPCChartType property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumSPCChartType An enumeration that represents the type of SPCBarChart:


Valid entries:
1 – XBar
2 – RBar
3 – SBar

SPCInterval Property
Sets the SPC interval for the RealTimeSPCDataSet object.

Syntax
object.SPCInterval [= Double]

Properties
The SPCInterval property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The SPC interval.

SPCType Property
A read-only property that determines how control limits should be set, depending on the SPC chart
type. For example, if you add a RealTimeSPCDataSet to an X-Bar Chart, the SPCType data set is also
specified as X-bar.

Syntax
object.SPCType [= enumSPCType]

387
iFIX Automation Reference

Properties
The SPCType property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumSPCType An enumeration that represents the upper control limits in the Enhanced Chart:
Valid entries:
1 – StatBlock_XBar
2 – StatBlock_RBar
3 – StatBlock_SBar
4 – HS_Block

Remarks
SPCType is a read-only property.

StartAngle Property
Specifies which portion of the object is visible.

Syntax
object.StartAngle [= Double]

Properties
The StartAngle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The number of units to display the radial segment specifying the start of the angle.

Remarks
The Pie is merely a visible piece of an oval. The StartAngle and EndAngle properties specify which
portions of that oval will be visible. These properties define radial segments from the center of the oval
between which the Pie is formed.

• A StartAngle of 0 units will define a horizontal radial from the center of the oval to the right.

388
IFIX Automation Reference

• A StartAngle of 90 units will define a vertical radial from the center of the oval to the top of
the screen.
• A StartAngle of 180 units will define a horizontal radial from the center of the oval to the left
side of the screen.
• A StartAngle of 270 units will define a vertical radial from the center of the oval to the
bottom of the screen.

The units to be used when creating the angle is specified as either degrees or radians depending on the
value of the AngleUnits property.

Changing the StartAngle property will change the StartPoint property.

StartCap Property
Specifies the start cap to apply to the selected pipe object.

Syntax
object.StartCap [= enumStartCap]

Properties
The StartCap property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Settings
The settings for StartCap are:

Value Description

0 StartCapRound

1 StartCapSquare

2 StartCapHorizontalDiagonal

3 StartCapVerticalDiagonal

389
iFIX Automation Reference

StartDateMode Property
Specifies the HistoricalDataSet, Lookup Object, Line, Formatted Object, or Chart object's initial
starting date operational mode as either fixed or relative.

Syntax
object.StartDateMode [= enumStartMode]

Properties
The StartDateMode property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

EnumStartMode The starting date operational mode.

Settings
The settings for enumStartMode are:

Constant Value Description

Relative 0 Relative - Uses the DaysBeforeNow setting.

Fixed 1 Fixed - Uses the FixedDate setting.

Remarks
StartDateMode is a one-shot property.

This property is not impacted by any Global Time Control property settings.

StartDateType Property
Specifies the Pen object's starting date operational mode as either fixed or relative .

Syntax
object.StartDateType [= enumStartMode]

390
IFIX Automation Reference

Properties
The StartDateType property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumStartMode The pen's starting date operational mode.

Settings
The settings for enumStartMode are:

Constant Value Description

Relative 0 Relative.

Fixed 1 Fixed.

Remarks
Use this field to configure either a fixed starting date or a relative date. Configuring a relative start date
means that the pen will use the DaysBeforeNow property for determining the start date.

StartPoint Property
Specifies the starting point of the object.

Syntax
object.StartPoint [= Object]

Properties
The StartPoint property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

391
iFIX Automation Reference

Part Description

Object A point of type FixFloatPoint.

Remarks
The StartPoint property specifies a point object which contains an x and y double value which are
logical coordinate values equivalent to the StartX and StartY properties.

The StartPoint for the Pie also defines the end points of the line segments which define the
StartAngle and EndAngle of the object.

The StartPoint for the each object is the point located at index 0.

StartTime Property
Specifies the HistoricalDataSet, Chart, Lookup Object, Line, Formatted Object, and/or Timer
object's start time.

Chart Syntax
object.StartTime [= Date]

Properties
The StartTime property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Date The start time for the Chart or HistoricalDataSet.

Timer Syntax
object.StartTime [= Variant]

The StartTime property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

392
IFIX Automation Reference

Variant The start time for the Timer.

Remarks
This property is not impacted by any Global Time Control property settings.

StartTimeMode Property
Specifies the HistoricalDataSet, Lookup Object, Line, Formatted Object, or Chart object's initial
starting time operational mode to either fixed or relative time-based.

Syntax
object.StartTimeMode [= enumStartMode]

Properties
The StartTimeMode property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumStartMode The starting time operational mode for the Chart or HistoricalDataSet.

Settings
The settings for enumStartMode are:

Constant Value Description

Relative 0 Relative - Uses TimeBeforeNow setting.

Fixed 1 Fixed - Uses the FixedTime setting.

Remarks
StartTimeMode is a one-shot property.

393
iFIX Automation Reference

StartTimeType Property
Specifies the Pen object's starting time operational mode to either fixed or relative time-based.

Syntax
object.StartTimeType [= enumStartMode]

Properties
The StartTimeType property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumStartMode The starting time operational mode for the Pen.

Settings
The settings for enumStartMode are:

Constant Value Description

Relative 0 Relative.

Fixed 1 Fixed.

Remarks
Use this field to configure either a fixed start time or a relative start time. Configuring a relative start
time mean that the pen will use the TimeBeforeNow property for determining the start time.

StartX Property
Specifies the X coordinate of the object's start point.

Syntax
object.StartX [= Double]

394
IFIX Automation Reference

Properties
The StartX property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The logical coordinate value of the X coordinate of the start point.

StartY Property
Specifies the Y coordinate of the object's start point.

Syntax
object.StartY [= Double]

Properties
The StartY property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The logical coordinate value of the Y coordinate of the start point.

Status Property
Returns whether the Timer and/or Event is running or stopped.

Syntax
object.Status [=Boolean]

Properties
The Status property syntax has these parts:

395
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the Timer and/or Event is running or stopped.

Return Values
The Status property return values are:

Value Description

True The Timer or Event is running.

False The Timer or Event is stopped.

StatusBar Property
Specifies the text displayed in the status bar of the WorkSpace.

Syntax
object.StatusBar [= String]

Properties
The StatusBar property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The text displayed in the status bar.

StatusFontSize Property
Specifies the size of the font displayed for the Alarm Summary object.

396
IFIX Automation Reference

Syntax
object.StatusFontSize [= Integer]

Properties
The StatusFontSize property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Integer The font size.

SteppedTrend Property
Specifies whether the data points are written with each Chart refresh.

Syntax
object.SteppedTrend [= Boolean]

Properties
The SteppedTrend property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean
Whether data points are written with each refresh.

Settings
The settings for Boolean are:

Value Description

True Data points are written with each refresh of the Chart, displaying a flat line.

397
iFIX Automation Reference

Value Description

False Only the actual datapoints are connected.

StrikeThrough Property
Specifies whether the text has a strike through it.

Syntax
object.StrikeThrough [= Boolean]

Properties
The StrikeThrough property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the text has a strike through it.

Settings
The settings for Boolean are:

Value Description

True The text is stricken.

False There is no strikethrough.

SubTitle Property
Allows you to enter a subtitle for your Enhanced Chart.

Syntax
object.SubTitle [= String]

398
IFIX Automation Reference

Properties
The SubTitle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String Text that appears as the subtitle in the HistogramChart, LineChart, SPCBarChart, or
XYChart Object.

SubTitleBold Property
Displays the subtitle for the Enhanced Chart in bold.

Syntax
object.SubTitleBold [= Boolean]

Properties
The SubTitleBold property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the subtitle in a HistogramChart, LineChart, SPCBarChart, or XYChart


Object displays in bold.

Settings
The settings for Boolean are:

Value Description

True The subtitle displays in bold.

False The subtitle does not display in bold. (Default)

399
iFIX Automation Reference

SubTitleFont Property
Specifies the font face of the subtitle for the Enhanced Chart.

Syntax
object.SubTitleFont [= String]

Properties
The SubTitleFont property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The name of the font. By default, the font face is "Times New Roman."

SubTitleItalic Property
In an Enhanced Chart, specifies whether the subtitle displays in italics.

Syntax
object.SubTitleItalic [= Boolean]

Properties
The SubTitleItalic property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the subtitle in a HistogramChart, LineChart, SPCBarChart, orXYChart Object


displays in italics.

Settings
The settings for Boolean are:

400
IFIX Automation Reference

Value Description

True The subtitle displays in italics. (Default)

False The subtitle does not display in italics.

SubTitleUnderline Property
In an Enhanced Chart, specifies whether the subtitle appears underlined.

Syntax
object.SubTitleUnderline [= Boolean]

Properties
The SubTitleUnderline property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the subtitle in a HistogramChart, LineChart, SPCBarChart, or XYChart


Object appears underlined.

Settings
The settings for Boolean are:

Value Description

True The subtitle appears underlined.

False The subtitle does not appear underlined. (Default)

System Property
Returns the dispatch pointer to the System object.

401
iFIX Automation Reference

Syntax
object.System

Properties
The System property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
System is a read-only property of type Object.

SystemMenu Property
Specifies whether the System Menu is enabled.

Syntax
object.SystemMenu [= Boolean]

Properties
The SystemMenu property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the system menu is enabled.

Settings
The settings for Boolean are:

Value Description

True The system menu is enabled.

402
IFIX Automation Reference

False The system menu is not enabled.

TableBackColor Property
For an Enhanced Chart, specifies the background color of the table, if displayed.

Syntax
object.TableBackColor [= Long]

Properties
The TableBackColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long An whole number representing the color.

TableFont Property
For an Enhanced Chart, specifies the font of the table, if displayed.

Syntax
object.TableFont [= String]

Properties
The TableFont property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The name of the font. By default, the font face is "Arial."

403
iFIX Automation Reference

TableForeColor Property
For an Enhanced Chart, specifies the foreground color of the table, if displayed.

Syntax
object.TableForeColor [= Long]

Properties
The TableForeColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long A whole number representing the color.

TextColor Property
Sets the color used as the text color for the object's titles and labels in an Enhanced Chart.

Syntax
object.TextColor [= Long]

Properties
The TextColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long A whole number representing the color.

Thickness Property
Specifies the thickness, in pixels, of the selected pipe object.

404
IFIX Automation Reference

Syntax
object.Thickness [=Integer]

Properties
The Thickness property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Integer The pipe thickness, in pixels.

ThicknessType Property
Specifies whether the thickness type for pipes can be stretched or is fixed.

Syntax
object.ThicknessType [= enumThicknessType]

Properties
The ThicknessType property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumThicknessType An enumeration that represents whether a pipe's thickness can be stretched


or is fixed.
Valid entries:
0 – The pipe's thickness is always what is specified in the Thickness
property.
1 – The pipe's thickness can be stretched to accommodate picture scaling.

TimeAxis Property
Returns the Pen object's Time Axis.

405
iFIX Automation Reference

Syntax
object.TimeAxis

Properties
The TimeAxis property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
TimeAxis is a read-only property of type Object.

Use this object to access Time Axis properties, which include AxisColor, AxisTitle, AxisLength,
NumLabels, NumTicks, ShowAxis, and ShowTitle.

TimeAxisNumLabels Property
Specifies the number of labels on the Time Axis.

Syntax
object.TimeAxisNumLabels [= Integer]

Properties
The TimeAxisNumLabels property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Integer The number of labels on the Time Axis.

TimeAxisNumTicks Property
Specifies the number of tick marks on the Time Axis.

406
IFIX Automation Reference

Syntax
object.TimeAxisNumTicks [= Integer]

Properties
The TimeAxisNumTicks property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Integer The number of ticks on the Time Axis.

Remarks
The number of tick marks includes the left and right edge markers. The first tick is the left edge,
followed by the right edge, then the middle ticks.

TimeAxisTitle Property
Specifies the title of the specified Chart object's Time Axis.

Syntax
object.TimeAxisTitle [= String]

Properties
The TimeAxisTitle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The title of the Time Axis.

TimeBeforeNow Property
Specifies the initial start time for a HistoricalDataSet, Chart, Line, Lookup Object, Formatted Object,
or Pen relative to the time the parent Picture is opened.

407
iFIX Automation Reference

Syntax
object.TimeBeforeNow [= Long]

Properties
The TimeBeforeNow property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The time in seconds.

Remarks
This property is not impacted by any Global Time Control property settings.

TimeCursorColor Property
Specifies the color of the Chart object's Time Cursor.

Syntax
object.TimeCursorColor [= Long]

Properties
The TimeCursorColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the time cursor's color.

TimeCursorPos Property
Specifies the horizontal position of the Chart object's time cursor in logical units relative to the side of
the document frame (document relative not chart relative).

408
IFIX Automation Reference

Syntax
object.TimeCursorPos [= Double]

Properties
The TimeCursorPos property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The logical horizontal screen relative coordinate.

TimeCursorTooltipColor Property
Specifies the color to display as the background for the specified Pen object's time cursor tooltips.

Syntax
object.TimeCursorTooltipColor [= Long]

Properties
The TimeCursorTooltipColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the time cursor's color.

Timeout Property
Specifies the maximum amount of time the Chart may be paused (see Pause) before it will
automatically resume (see Resume).

Syntax
object.Timeout [= Long]

409
iFIX Automation Reference

Properties
The Timeout property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The maximum amount of time.

Remarks
If the Timeout property is set to zero (0), the chart will pause and not update until the Resume method
is called.

TimerEnabled Property
Specifies the run-time operation of the Timer object.

Syntax
object.TimerEnabled [= Boolean]

Properties
The TimerEnabled property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean The run-time operation of the Timer object.

Settings
The settings for Boolean are:

Value Description

True If set in the Configuration environment, the Timer is started when the WorkSpace is
switched to the Run-time environment. If set from False in the Run-time environment,
nothing will happen, the user must call StartTimer.

410
IFIX Automation Reference

Value Description

False If set in the Configuration environment, the Timer will not be started when the
WorkSpace is switched to the Run-time environment. If set in the Run-time
environment, the timer will be stopped.

Timestamp Property
Returns the timestamp of the OPC data source represented by this DataItem. The Timestamp
property becomes populated either from Read method of the DataItem or Group (DataSystem)
object.

Syntax
object.Timestamp

Properties
The Timestamp property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Timestamp is a read-only property of type Date.

The Quality and Value properties are associated with the Timestamp.

TimeZoneBiasExplicit Property
Specifies the TimeZoneBiasExplicit.

Syntax
object.TimeZoneBiasExplicit [=enumTimeZoneBiasExplicit ]

Properties
The TimeZoneBiasExplicit property syntax has these parts:

411
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To


list.

enum The explicit time zone for a chart or pen.


TimeZoneBiasExplicit

Remarks
The TimeZoneBiasExplicit property is only used when the TimeZoneBiasRelative property is set to
explicit time zone.

TimeZoneBiasRelative Property
Specifies the TimeZoneBiasRelative.

Syntax
object.TimeZoneBiasRelative [=enumTimeZoneBiasRelative ]

Properties
The TimeZoneBiasRelative property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To


list.

enum
TimeZoneBiasExplicit The relative time zone for a historical data set, chart, or pen.

Settings

Constant Value Description

ClientTimeZone 0 Uses client time zone settings.

ServerTimeZone 1 Uses server time zone settings.

412
IFIX Automation Reference

Constant Value Description

TagTimeZone 2 Uses the tag time zone settings.

ExplicitTImeZone 3 Uses the explicit time zone settings.

Remarks
If the value is explicit, it uses whatever the TimeZoneExplicitBias is.

Titlebar Property
Specifies whether the window's title bar is visible or not.

Syntax
object.Titlebar [= Boolean]

Properties
The Titlebar property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the title bar is visible.

Settings
The settings for Boolean are:

Value Description

True The title bar is visible.

False The title bar is not visible.

413
iFIX Automation Reference

ToggleRate Property
Specifies the rate at which the output of the Lookup object toggles between output1 and output2. For
example, in a color table, this property is the blink rate.

Syntax
object.ToggleRate [= Single]

Properties
The ToggleRate property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Single The toggle rate in seconds.

ToggleSource Property
Specifies the data source or expression used to determine if the output of the Lookup object should
toggle between output1 and output2.

Syntax
object.ToggleSource [= String]

Properties
The ToggleSource property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The data source or expression.

Remarks
The ToggleSource property stores and exposes the fully qualified name.

414
IFIX Automation Reference

Tolerance Property
Specifies the tolerance for exact match Lookup tables.

Syntax
object.Tolerance [= Single]

Properties
The Tolerance property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Single The tolerance value.

Remarks
The tolerance will work just like in an expression. If the value is within +/- tolerance, the value will
pass the condition imposed – in this case equality.

For example, the user sets up an exact match table such that an object is green when the value is 0 and
red when the value is 1. Most likely the value will end up being 0.0000009, and therefore the object
may never be green. Tolerance will prevent this.

ToolbarManager Property
Holds information describing the iFIX picture toolbars.

Syntax
object.ToolbarManager

Properties
The ToolbarManager property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

415
iFIX Automation Reference

Remarks
ToolbarManager is a read-only property of type Object.

ToolbarPath Property
Returns the path used for storing toolbar files.

Syntax
object.ToolbarPath

Properties
The ToolbarPath property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
ToolbarPath is a read-only property of type String.

Top Property
Specifies the distance, in screen percentage, between the top edge of the physical screen and the
WorkSpace in which it is contained, or Specifies the position of the top edge of the Window object.

Syntax
object.Top [= Double]

Properties
The Top property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The distance in screen percentage.

416
IFIX Automation Reference

TopCenter Property
Returns the value of the top center point of the shape's bounding rectangle as a FixFloatPoint.

Syntax
object.TopCenter

Properties
The TopCenter property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
TopCenter is a read-only property of type Object.

TopLeft Property
Returns the top left point of the shape's bounding rectangle as a FixFloatPoint.

Syntax
object.TopLeft

Properties
The TopLeft property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
TopLeft is a read-only property of type Object.

417
iFIX Automation Reference

TopRight Property
Returns the top right point of the shape's bounding rectangle as a FixFloatPoint.

Syntax
object.TopRight

Properties
The TopRight property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
TopRight is a read-only property of type Object.

TopVisibleRow Property
Specifies the first visible row in the Alarm Summary object’s spreadsheet.

Syntax
object.TopVisibleRow

Properties
The TopVisibleRow property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
You can use the value of TopVisibleRow to compute the visible page size.

418
IFIX Automation Reference

TotalFilteredAlarms Property
Displays the total number of alarms that match the current filter. This is the same as the number
displayed in the left corner of the status bar.

Syntax
object.TotalFilteredAlarms

Properties
The TotalFilteredAlarms property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

TranslateOnOpen Property
Specifies whether or not to switch the language of the selected picture when it is opened in run mode.

Syntax
object.TranslateOnOpen [= Boolean]

Properties
The TranslateOnOpen property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the picture's language is switched when opened in run mode.

Settings
The settings for Boolean are:

419
iFIX Automation Reference

Value Description

True The language is switched when the picture is opened in run mode.

False The language is not switched when the picture is opened in run mode.

Transparency Property
Specifies whether or not the Bitmap supports the transparent color.

Syntax
object.Transparency [= Boolean]

Properties
The Transparency property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the bitmap supports the transparent color.

Settings
The settings for Boolean are:

Value Description

True The bitmap supports transparency.

False The bitmap does not support transparency.

Remarks
This property enables a Bitmap to have a transparent color (TransparentColor). When enabled,
bitmaps can effectively have a bleed-through area that can be used for animation and visualization.

420
IFIX Automation Reference

Transparent Property
Specifies whether or not the Chart is transparent.

Syntax
object.Transparent [= Boolean]

Properties
The Transparent property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the Chart is transparent.

Settings
The settings for Boolean are:

Value Description

True The Chart is transparent.

False The Chart is opaque.

Remarks
Setting the Transparent property to True allows the user to see what is displayed behind the Chart.

TransparentColor Property
Specifies the Bitmap object's transparent color. If transparency is enabled, this color is the see-through
color. Any pixels with this color display the screen’s background image.

Syntax
object.TransparentColor [= Long]

421
iFIX Automation Reference

Properties
The TransparentColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the transparent color.

TreatSinglePointsAsLines Property
In an Enhanced Chart, specifies whether to draw a straight horizontal line if only one point.

Syntax
object.TreatSinglePointsAsLines [= Boolean]

Properties
The TreatSinglePointsAsLines property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to draw a straight horizontal line if only one point exists in an Enhanced
Chart.

Settings
The settings for Boolean are:

Value Description

True Draws a straight horizontal line if only one point exists in an Enhanced Chart.

False Does not draw a straight horizontal line if only one point exists in an Enhanced
Chart.(Default)

422
IFIX Automation Reference

TriggerType Property
Specifies when the timer’s OnTimeOut event is retriggered.

Syntax
object.TriggerType [= Long]

Properties
The TriggerType property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long When the OnTimeOut event is triggered.

Settings
The settings for Long are:

Value Description

0 One-shot.

1 Continuous.

2 Daily.

3 Monthly.

Remarks
One-Shot The Timer triggers at the start time, then disables itself.

Continuous The Timer triggers at the start time then re-schedules the timer based on the current time
plus the configured interval.

Daily The Timer triggers at the start time for those days that have been enabled (see DaysOfWeek). If
the user has enabled end time then the timer is retriggered using the interval until the time exceeds the
configured end time.

Monthly The Timer triggers at the start time for every day the user has enabled (see DaysOfMonth).

423
iFIX Automation Reference

If the user has enabled end time then the timer is retriggered using the interval until the time exceeds
the configured end time.

TrimMaxLength Property
Specifies the maximum pixel length of the line to be trimmed. If the pixel length is greater than this
number, the line will not be trimmed.

Syntax
object.TrimMaxLength [=Integer]

Properties
The TrimMaxLength property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Integer The maximum number of pixels allowed for the line to be trimmed.

TrimType Property
Specifies the trim option to apply to all line objects.

Syntax
object.TrimType [=enumTrimType]

Properties
The TrimType property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumTrimType When to trim a line at the intersection point.

424
IFIX Automation Reference

Settings
The settings for enumTrimType are:

Constant Value Description

Always 0 Always trim lines.

ShorterThanSpecified 1 Trim only when the trimmed area is shorter than the
specified pixels.

Type Property
Returns the type of document that is displayed by the specified Document object.

Syntax
object.Type

Properties
The Type property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Type is a read-only property of type Object.

This property identifies what kind of Page is opened for this document. The WorkSpace can open and
manage any OLE Active Document object. The Type property contains the OLE document type
ProgID field as found in the registry for this class. iFIX uses Fix.Picture and
FixSchedule.FixSchedulerServer.1.

U-V

UCL Property
Sets the upper control limits (UCL) for the RealTimeSPCDataSet object.

425
iFIX Automation Reference

Syntax
object.UCL [= Double]

Properties
The UCL property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The upper control limits (UCL) for the RealTimeSPCDataSet Object.

UnacknowledgedAlarmColor Property
Specifies the color in which all unacknowledged alarms will be displayed in the Alarm Summary
object if the UseUnacknowledgedAlarmColor property is True.

Syntax
object.UnacknowledgedAlarmColor [= Long]

Properties
The UnacknowledgedAlarmColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the unacknowledged alarms.

Underline Property
Specifies whether the text in the Text or Datalink object is underlined.

Syntax
object.Underline [= Boolean]

426
IFIX Automation Reference

Properties
The Underline property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the text is underlined.

Settings
The settings for Boolean are:

Value Description

True The text is underlined.

False The text is not underlined.

UniformScale Property
Specifies whether a shape scales horizontally and vertically by the same amount.

Syntax
object.UniformScale [= Boolean]

Properties
The UniformScale property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the object scales uniformly.

Settings
The settings for Boolean are:

427
iFIX Automation Reference

Value Description

True The shapes scale both horizontally and vertically by the same percentage.

False The shapes will horizontally and vertically scale independently. (Default)

Remarks
Vertical and horizontal scaling can either be performed independently of one another, or uniformly
using the same percentages. Uniform scaling is also used when the user holds the control key down
while scaling the object with the mouse.

Setting this flag to True before rubber band creation allows you to create a square from the Rectangle
object and a circle from the Oval object.

Units Property
Specifies the units descriptor field for a Pen.

Syntax
object.Units [= String]

Properties
The Units property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String Data value units descriptor.

UpdateOnPropChange Property
Specifies whether changes to properties in the Alarm Summary object take effect immediately. Set
this property to False if you are changing multiple properties and you want the changes to take effect
simultaneously.

Syntax
object.UpdateOnPropChange [= Boolean]

428
IFIX Automation Reference

Properties
The UpdateOnPropChange property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether property changes take immediate effect.

Settings
The settings for Boolean are:

Value Description

True Changes made to properties take immediate effect. (Default)

False Changes do not take immediate effect.

UpdateRate Property
Allows you to specify how quickly a chart updates the data plot in run mode. This value is not used for
Histogram and SPC charts, as these charts update at the rate of their data sources.

Syntax
object.UpdateRate [= Long]

Properties
The UpdateRate property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long Specifies, in Milliseconds, how quickly a chart updates the data plot in run mode.

429
iFIX Automation Reference

UseDelta Property
Specifies whether to use the absolute or relative value to set the output value.

Syntax
object.UseDelta [= Boolean]

Properties
The UseDelta property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to use the absolute or relative value to set the output value.

Settings
The settings for Boolean are:

Value Description

True The target current value is added to the calculated output value before the output value
is written to its target. (Default)

False The output value is written to its target with no current value added in.

Remarks
This property controls whether the output value of the animation is written as calculated (absolute) to
the property or if this value is used as a delta or offset from the property's initial setting (relative). This
property should be enabled if the animation is relative to the current location of the object. If the object
has a fixed screen location for animation (even if the object is moved in the Configuration
environment) then disable this property. For most position animations this property should be enabled.

If the user sets up a connection to the HorizontalPosition property and set UseDelta to True, the base
position of the object will be added to to the output value when the linear object evaluates. For
example, the input range for the object is 0 to 100, the output range is 0 to 200, and the initial position
of the object is 15. If the value of 50 comes in from the data system and UseDelta is True, the value of
115 is written to the HorizontalPosition of the object. If UseDelta is False, the value written would be
100.

430
IFIX Automation Reference

UseDomainSecurity Property
Sets or retrieves the Boolean value that indicates whether or not Windows domain security is to be
used in the security synchronization process.

Syntax
object.UseDomainSecurity [= Boolean]

Properties
The UseDomainSecurity property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean The default value is False, which indicates that Windows domain security should not
be used. True indicates that Windows domain security should be used.

Remarks
When the UseDomainSecurity property is equal to True, you must supply a valid domain name in the
Domain property.

This property corresponds to the /D command line parameter of the Security Synchronizer application.

UseLocalSecurity Property
Sets or retrieves the boolean value that indicates whether or not Windows local security is to be used in
the security synchronization process.

Syntax
object.UseLocalSecurity [= Boolean]

Properties
The UseLocalSecurity property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

431
iFIX Automation Reference

Part Description

Boolean The default value is False, which indicates that Windows local security should not be
used. True indicates that Windows local security should be used.

Remarks
This property corresponds to the /L command line parameter of the Security Synchronizer application.

UseMarker Property
Specifies whether to display markers on trend lines for the specified Pen.

Syntax
object.UseMarker [= Boolean]

Properties
The UseMarker property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether to display markers.

Settings
The settings for Boolean are:

Value Description

True Display markers on trend lines.

False Do not display markers on trend lines.

Remarks
Markers are useful for identifying lines on a black and white printer.

432
IFIX Automation Reference

UserDef1ColumnName Property
Specifies the text displayed in the header of the Alarm Summary object’s User Defined Field1
column.

Syntax
object.UserDef1ColumnName [= String]

Properties
The UserDef1ColumnName property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The text to display in the header of the User Defined Field1 column.

Remarks
The text you specify cannot match the text of any existing column header, including the text used in
the User Defined Field2 column.

UserDef2ColumnName Property
Specifies the text displayed in the header of the Alarm Summary object’s User Defined Field2
column.

Syntax
object.UserDef2ColumnName [= String]

Properties
The UserDef2ColumnName property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The text to display in the header of the User Defined Field2 column.

433
iFIX Automation Reference

Remarks
The text you specify cannot match the text of any existing column header, including the text used in
the User Defined Field1 column.

UserPreferences Property
Holds information describing the iFIX user preferences.

Syntax
object.UserPreferences

Properties
The UserPreferences property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
UserPreferences is a read-only property of type Object.

UseUnacknowledgedAlarmColor Property
Specifies whether the foreground color of unacknowledged alarms is set to the color identified by the
UnacknowledgedAlarmColor property.

Syntax
object.UseUnacknowledgedAlarmColor [= Boolean]

Properties
The UseUnacknowledgedAlarmColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

434
IFIX Automation Reference

Part Description

Boolean Whether the foreground color of unacknowledged alarms is set to the color in the
UnacknowledgedAlarmColor property.

Settings
The settings for Boolean are:

Value Description

True The foreground color of all unacknowledged alarms is set to the color set in the
UnacknowledgedAlarmColor property.

False The foreground color of all unacknowledged alarms is not set to the color set in the
UnacknowledgedAlarmColor property. (Default)

UWL Property
Sets the upper warning limits (UWL) for the RealTimeSPCDataSet object.

Syntax
object.UWL [= Double]

Properties
The UWL property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The upper warning limits (UWL) for the RealTimeSPCDataSet Object.

Value Property
Returns the value of the OPC data source represented by this DataItem. The Value property becomes
populated either from Read method of the DataItem or Group (DataSystem) object.

435
iFIX Automation Reference

Syntax
object.Value

Properties
The Value property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Value is a read-only property of type Object.

The Quality and Timestamp properties are associated with the Value.

ValueAxis Property
Returns the Pen object's ValueAxis.

Syntax
object.ValueAxis

Properties
The ValueAxis property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
ValueAxis is a read-only property of type Object.

ValueAxisNumLabels Property
Specifies the number of labels on the ValueAxis.

436
IFIX Automation Reference

Syntax
object.ValueAxisNumLabels [= Integer]

Properties
The ValueAxisNumLabels property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Integer The number of labels on the Value Axis.

ValueAxisNumTicks Property
Specifies the number of tick marks displayed on the Value Axis. Tick marks are evenly spaced.

Syntax
object.ValueAxisNumTicks [= Integer]

Properties
The ValueAxisNumTicks property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Integer The number of ticks on the Value Axis.

ValueAxisTitle Property
Specifies the title of the Value Axis.

Syntax
object.ValueAxisTitle [= String]

437
iFIX Automation Reference

Properties
The ValueAxisTitle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The title of the Value Axis.

VariableType Property
Specifies the Variable object’s data type for the data it stores. Data retrieved from a data source via
connections to its CurrentValue property will attempt to be coerced to the defined VariableType.

Syntax
object.VariableType [= enumFixVariableType]

Properties
The VariableType property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumFixVariableType The data type.

Settings
The settings for enumFixVariableType are:

Constant Value Description

tShort 2 Short

tLong 3 Long

tFloat 4 Float

438
IFIX Automation Reference

Constant Value Description

tDouble 5 Double

tString 8 String

tBoolean 11 Boolean

Version Property
Returns the version number of the object.

Syntax
object.Version

Properties
The Version property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Version is a read-only property of type Integer.

Version is initialized to 1 when a “page” (picture, schedule, toolbar, dynamo set, global page) is
created.

VerticalFillDirection Property
Specifies a value representing the direction of a shape's vertical fill.

Syntax
object.VerticalFillDirection [= enumVerticalDirection]

Properties
The VerticalFillDirection property syntax has these parts:

439
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumVerticalDirection The direction of the shape's vertical fill.

Settings
The settings for enumVerticalDirection are:

Constant Value Description

VerticalFromTop 0 Fill from the top

VerticalFromBottom 1 Fill from the bottom

VerticalFromCenter 2 Fill outward from the center.

VerticalFillPercentage Property
Specifies the percentage of a shape's vertical fill.

Syntax
object.VerticalFillPercentage [= Double]

Properties
The VerticalFillPercentage property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The percentage to fill the shape.

Remarks
Animating this property performs a dynamic vertical fill.

440
IFIX Automation Reference

VerticalGridColor Property
Specifies the color of the vertical grid lines displayed in the Chart.

Syntax
object.VerticalGridColor [= Long]

Properties
The VerticalGridColor property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The COLORREF used to set the vertical grid color.

VerticalGridStyle Property
Specifies the style of the vertical grid lines displayed in the Chart.

Syntax
object.VerticalGridStyle [= enumEdgeStyle]

Properties
The VerticalGridStyle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumEdgeStyle The style of the vertical grid lines.

Settings
The settings for enumEdgeStyle are:

441
iFIX Automation Reference

Constant Value Description

EdgeStyleSolid 0 Solid.

EdgeStyleDash 1 Dash.

EdgeStyleDot 2 Dot.

EdgeStyleDashDot 3 Dash-Dot.

EdgeStyleDashDotDot 4 Dash-Dot-Dot.

EdgeStyleNone 5 No border.

EdgeStyleInsideFrame 6 Inside Frame.

VerticalPosition Property
Specifies a shape's distance, in logical units, from the top of the Picture.

Syntax
object.VerticalPosition [= Double]

Properties
The VerticalPosition property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The shape's vertical position.

Remarks
For shapes, the units are in logical units defined by the Picture document size. This logical coordinate
system allows pictures to be developed and saved independently of screen resolution. It also supports
panning and zooming. Mapping logical to device units is based on the window location.

442
IFIX Automation Reference

VerticalScaleDirection Property
Specifies if the direction in which the specified shape will expand or contract when the
VerticalScalePercentage property is changed.

Syntax
object.VerticalScaleDirection [= enumVerticalDirection]

Properties
The VerticalScaleDirection property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumVerticalDirection The direction to scale.

Settings
The settings for enumVerticalDirection are:

Constant Value Description

VerticalFromTop 0 Fill from the top

VerticalFromBottom 1 Fill from the bottom

VerticalFromCenter 2 Fill outward from the center

Remarks
Scaling from center can be used to create the illusion that an object is moving towards or away from
the user.

VerticalScalePercentage Property
Specifies the scale percentage to apply to a shape's height.

443
iFIX Automation Reference

Syntax
object.VerticalScalePercentage [= Double]

Properties
The VerticalScalePercentage property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The percentage to scale the shape vertically.

Remarks
In the Configuration environment, VerticalScalePercentage will not be set back to 100 until the
object is de-selected. Therefore, while selected, the object will contain it's current percentage value
relative to the size of the object when it was last selected. Once de-selected, the object's
VerticalScalePercentage property will be reset back to 100.

In the Run-time environment, animating the VerticalScalePercentage property modifies the object’s
height based on the size of the object when it initially came off disk.

An object’s scale percentage can be negative. This causes the object to flip over its bottom axis. This
effect is useful for creating differential bar graphs by using an expression in the data source that takes
the value and subtracts a setpoint. The resulting difference from the setpoint can be used to by the
VerticalScalePercentage property. For example, you could animate a color table to change color
based on the sign of a result.

ViewingStyle Property
In an Enhanced Chart, specifies the viewing style: Color, Monochrome, or Monochrome and Symbols.

Syntax
object.ViewingStyle [= enumViewingStyle]

Properties
The ViewingStyle property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

444
IFIX Automation Reference

Part Description

enumViewingStyle An enumeration that represents the viewing style in the Enhanced Chart:
Valid entries:
0 – ViewColor
1 – ViewMono
2 – ViewMonoWithSymbols

ViewportHeight Property
Specifies the available vertical viewing area of the document.

Syntax
object.ViewportHeight [= Double]

Properties
The ViewportHeight property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The available vertical viewing area.

Remarks
ViewportHeight is a logical unit constrained to the logical document height.

NOTE: If you resize a picture, then modify the ViewportHeight property, the picture's logical
coordinate system will be remapped. If this happens, objects in your pictures may appear skewed when
resizing or autoscaling. To avoid this problem, we recommend that you do not modify the
ViewportHeight property once you have resized a picture.

ViewportLeft Property
Specifies the leftmost origin of the available viewing area of the document.

Syntax
object.ViewportLeft [= Double]

445
iFIX Automation Reference

Properties
The ViewportLeft property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The leftmost origin of the available viewing area.

Remarks
ViewportLeft is a logical unit constrained to the logical document width.

ViewportTop Property
Specifies the topmost origin of the available viewing area of the document.

Syntax
object.ViewportTop [= Double]

Properties
The ViewportTop property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The topmost origin of the available viewing area.

Remarks
ViewportTop is a logical unit constrained to the logical document height.

ViewportWidth Property
Specifies the available horizontal viewing area of the document.

446
IFIX Automation Reference

Syntax
object.ViewportWidth [= Double]

Properties
The ViewportWidth property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The available horizontal viewing area.

Remarks
ViewportWidth is a logical unit constrained to the logical document width.

NOTE: If you resize a picture, then modify the ViewportWidth property, the picture's logical
coordinate system will be remapped. If this happens, objects in your pictures may appear skewed when
resizing or autoscaling. To avoid this problem, we recommend that you do not modify the
ViewportWidth property once you have resized a picture.

Visible Property
Specifies whether the shape or the dataset appear on screen.

Syntax
object.Visible [= Boolean]

Properties
The Visible property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the object or dataset is visible.

447
iFIX Automation Reference

Settings
The settings for Boolean are:

Value Description

True The object or dataset is visible.

False The object or dataset is not visible.

Remarks
For the RealTimeSPCDataSet Object this property is always set to TRUE, irrespective of the value to
which you set it.

VisibleUnacknowledgedAlarms Property
Displays the number of unacknowledged alarms in the currently displayed portion of the alarm
summary object. This number is not affected by the alarm summary being partially off screen; it is the
number of alarms in the scrolled region of the object.

Syntax
object.VisibleUnacknowledgedAlarms

Properties
The VisibleUnacknowledgedAlarms property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

W-Z

WholeDigits Property
Specifies the number of digits to be displayed before the decimal point.

Syntax
object.WholeDigits [=Integer]

448
IFIX Automation Reference

Properties
The WholeDigits property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Integer The number of digits.

Width Property
Specifies the width, in logical units, of the specified object.

Syntax
object.Width [= Double]

Properties
The Width property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The width of the object.

Remarks
For shapes, the units are in logical units defined by the Picture document size. This logical coordinate
system allows pictures to be developed and saved independently of screen resolution. It also supports
panning and zooming. Mapping logical to device units is based on the window location.

WindowHeightPercentage Property
Specifies the percentage of the vertical screen that the window extends to.

Syntax
object.WindowHeightPercentage [= Double]

449
iFIX Automation Reference

Properties
The WindowHeightPercentage property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The percentage of vertical screen.

Remarks
WindowHeightPercentage is applied to the client area of the WorkSpace for window position.

The value specified in WindowHeightPercentage is saved to disk.

WindowLeftPercentage Property
Specifies the percentage of the horizontal screen that the window originates.

Syntax
object.WindowLeftPercentage [= Double]

Properties
The WindowLeftPercentage property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The percentage of the horizontal screen.

Remarks
WindowLeftPercentage is applied to the client area of the WorkSpace for window position.

The value specified in WindowLeftPercentage is saved to disk.

450
IFIX Automation Reference

WindowName Property
Specifies the name of the Window object.

Syntax
object.WindowName [= String]

Properties
The WindowName property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The name of the window.

Remarks
This property stores the string representing the window name which is different than the document
name. Window names are useful for managing multiple screens. For example, if you have a main
window area and a navigation bar area, and the scripts behind the navigation bar replace whatever
picture is in the main window with a specific document, you can use the WindowName property to
store the string “main”. This allows all scripts to find the window named main and perform the
necessary replace Picture.

WindowState Property
Specifies the state of the application window of the WorkSpace.

Syntax
object.WindowState [= WinState]

Properties
The WindowState property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

451
iFIX Automation Reference

Part Description

state The state of the window.

Settings
The settings for WinState are:

Constant Value Description

Normal 1 The window is in the normal state.

Minimized 2 The window is minimized to an icon.

Maximized 3 The window is maximized.

WindowTopPercentage Property
Specifies the percentage of the vertical screen that the window originates.

Syntax
object.WindowTopPercentage [= Double]

Properties
The WindowTopPercentage property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The percentage of the vertical screen.

Remarks
WindowTopPercentage is applied to the client area of the WorkSpace for window position.

The value specified in WindowTopPercentage is saved to disk.

452
IFIX Automation Reference

WindowWidthPercentage Property
Specifies the percentage of the horizontal screen that the window extends to.

Syntax
object.WindowWidthPercentage [= Double]

Properties
The WindowWidthPercentage property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The percentage of horizontal screen.

Remarks
WindowWidthPercentage is applied to the client area of the WorkSpace for window position.

The value specified in WindowWidthPercentage is saved to disk.

WizardName Property
Specifies the name of the script configured for the specified event.

Syntax
object.WizardName [= Variant]

Properties
The WizardName property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Variant The name of the script.

453
iFIX Automation Reference

Remarks
WizardName gets set when a script authoring expert is run, however, the user can enter any name that
describes the function of the script for this object.

WorkSpaceStartupMode Property
Specifies the iFIX startup mode.

Syntax
object.WorkSpaceStartupMode [=bWorkSpaceStartupMode]

Properties
The WorkSpaceStartupMode property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bWorkSpaceStartupMode Boolean. Specifies whether to start the WorkSpace in the


Configuration environment or the Runtime environment.
Valid Entries:
0 - AppConfigurePicturePreferences
1 - AppRunPicturePreferences

WritePictureFormatType Property
Determines the default format type for the WritePictureToImageFile method.

Syntax
object.WritePictureFormatType [=enumWritePictureFormatType]

Properties
The WritePictureFormatType property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies


To list.

454
IFIX Automation Reference

Part Description

enumWritePictureFormatType An enumeration that represents the image file format for the
picture:
0 – .BMP file format
1 – .JPG file format

WritePictureOutLocation Property
Determines the default output location for the WritePictureToImageFile method.

Syntax
object.WritePictureOutLocation [=String]

Properties
The WritePictureOutLocation property syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String The full path of the picture file output location.

WritePictureScalePercentage Property
Determines the default scale percentage for the WritePictureToImageFile method. Currently, this
property is unavailable for use in iFIX. It is reserved for future use.

Syntax
object.WritePictureScalePercentage [=Long]

Properties
The WritePictureScalePercentage property syntax has this part:

455
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Long The default scale percentage.

X Property
The horizontal coordinate that corresponds to the given point.

Syntax
object.X [= Double]

Properties
The X property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The horizontal coordinate.

XAxisDatasetPosition Property
Allows you to retrieve or change the position of a X-Axis data set in an XY chart. When changed, it
will use the data set in the specified position as the data source for the X axis. This property only
applies to XY Enhanced Charts.

Syntax
object.XAxisDatasetPosition [= Long]

Properties
The XAxisDatasetPosition property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

456
IFIX Automation Reference

Part Description

Long Whole number representing the position of the data set.

Remarks
XAxisDatasetPosition is a read-only property.

XAxisLabel Property
In an Enhanced Chart, specifies the x-axis label.

Syntax
object.XAxisLabel [= String]

Properties
The XAxisLabel property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String Text that appears as the x-axis label in the HistogramChart, LineChart, SPCBarChart, or
XYChart Object.

XAxisScaleControl Property
In the XY Chart, sets the grid scale used for the X-axis: Normal or Log. This property only applies to
XY Enhanced Charts.

Syntax
object.XAxisScaleControl [= enumScaleControl]

Properties
The XAxisScaleControl property syntax has these parts:

457
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumScaleControl An enumeration that represents the grid scale used for the X-axis in the
Enhanced Chart:
Valid entries:
1 – ScaleNormal
2 – ScaleLog

XAxisType Property
In an Enhanced Chart, specifies the type of x-axis the chart will display: time, point numbers, or point
values.

Syntax
object.XAxisType [= enumViewingStyle]

Properties
The XAxisType property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumViewingStyle An enumeration that describes the type of x-axis the chart will display in the
Enhanced Chart:
Valid entries:
0 – XAxisType_Time
1 – XAxisType_PointNumbers
2 – XAxisType_PointValues

Remarks
XAxisType is a read-only property.

Y Property
The vertical coordinate that corresponds to the given point.

458
IFIX Automation Reference

Syntax
object.Y [= Double]

Properties
The Y property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The vertical coordinate.

YAxisLabel Property
In an Enhanced Chart, specifies the y-axis label.

Syntax
object.YAxisLabel [= String]

Properties
The YAxisLabel property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String Text that appears as the y-axis label in the HistogramChart, LineChart, SPCBarChart, or
XYChart Object.

YAxisLongTicks Property
In an Enhanced Chart, use this property to extend/reset the length of minor grid tick marks.

Syntax
object.YAxisLongTicks [= Boolean]

459
iFIX Automation Reference

Properties
The YAxisLongTicks property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Boolean Whether the length of minor grid tick marks are extended or reset.

Settings
The settings for Boolean are:

Value Description

True The length of minor grid tick marks are extended or reset.

False The length of minor grid tick marks are not extended or reset. (Default)

YAxisScaleControl Property
In an Enhanced Chart, sets the grid scale used for the y-axis: Normal or Log.

Syntax
object.YAxisScaleControl [= enumScaleControl]

Properties
The YAxisScaleControl property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumScaleControl An enumeration that represents the grid scale used for the y-axis in the
Enhanced Chart:
Valid entries:
1 – ScaleNormal
2 – ScaleLog

460
IFIX Automation Reference

Zoom Property
Specifies the current zoom percentage of the specified object.

Syntax
object.Zoom [= Double]

Properties
The Zoom property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Double The percentage to zoom.

ZoomDirection Property
Specifies the direction to zoom in on.

Syntax
object.ZoomDirection [= enumZoomDirection]

Properties
The ZoomDirection property syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enumZoomDirection The direction to zoom.

Settings
The settings for enumZoomDirection are:

461
iFIX Automation Reference

Constant Value Description

ZoomBoth 0 Zoom both horizontally and vertically (default).

ZoomVertical 1 Zoom vertically.

ZoomHorizontal 2 Zoom horizontally.

462
Methods

Method Summary
The following list contains the iFIX object methods that are available to the Automation Interface. For
information on non-iFIX methods, refer to the appropriate help system.

A
AboutBox

AckAlarm

AckAlarmPage

AckAlarmPageEx

AckAllAlarms

ActivateWorkspaceUI

Add

AddDataSet

AddEventHandler

AddImage

AddKeyMacro

AddLegendItem

AddLevel

AddObject

AddPen

AddPictureToStartupList

AddPoint

AddProcedure

463
iFIX Automation Reference

Align

ApplyProperty

AutoScaleDisplayLimits

B
BringToFront

BuildObject

C
CanConstruct

CheckAccountExpiration

CheckforDuplicateKeyMacros

CheckSecurityEnabled

CheckSyntax

CheckUserApplicationAccess

CheckUserAreaAccess

Clear

ClearUndo

Close

Commit

Connect

ConnectDataSet

ConnectedPropertyCount

Construct

Convert_A_Group_To_A_Dynamo_By_Name

Convert_A_Group_To_A_Dynamo_By_Ref

ConvertPipe

464
IFIX Automation Reference

ConvertSecurityAreaNameToNumber

ConvertSecurityAreaNumberToName

Copy

CopyAsBitmap

CopytoClipboard

Coupled_Activate_Workspace_UI

Coupled_DeActivate_Workspace_UI

CreateDynamoByGrouping

CreateFromDialog

CreateFromProgID

CreateWithMouse

Cut

D
DeActivateWorkspaceUI

DefaultView

DelAlarm

DeleteAllAlarms

DeleteAllDataSets

DeleteDataSet

DeleteImage

DeletePen

DeletePoint

DeleteSelectedObjects

DemandFire

DeselectObject

DestroyObject

465
iFIX Automation Reference

DisableNonSelectionEvents

Disconnect

DisplaysControlPoints

DoesPropertyHaveTargets

DoExtendLines

DoLinesToPolyline

DoMenuCommand

DoTrimLines

DumpProperties

Duplicate

E
EditPicture

Enable

Enumerate_All_Dynamos

Enumerate_All_Groups

Enumerate_Top_Level_Dynamos

Enumerate_Top_Level_Groups

ExchangePenPositions

Execute

ExecuteKeyMacro

ExportData

ExportImage

ExportLanguageFile

F
FindAndReplaceDialog

466
IFIX Automation Reference

FindInString

FindObject

FindReplaceInObject

FindReplaceInString

FitDocumentToWindow

FitWindowToDocument

FixCheckApplicationAccess

FixCheckApplicationAccessQuiet

FixCheckAreaAccess

FixCheckAreaAccessQuiet

FixCheckSecurityEnabled

FixGetManualAlmDeleteEnabled

FixGetUserInfo

FixLogin

FixLogout

FontProperties

FullView

G-H
Get_Last_Prompt_Value

Get_Last_Result_String

GetBoundRect

GetChartEndTime

GetChartStartTime

GetColHeadings

GetColumnInfo

GetConnectionInformation

467
iFIX Automation Reference

GetConnectionParameters

GetContinuousUser

GetCurrentDataSet

GetCurrentValue

GetCurrentValueWithQuality

GetDataSetByPosition

GetDeviceRect

GetDuration

GetErrorString

GetEventHandlerIndex

GetFullname

GetGlobalDuration

GetGlobalHistoricalUpdateRate

GetIndirectionInfo

GetInterval

GetKeyMacro

GetKeyMacroIndex

GetLevel

GetNumberOfDataSets

GetObjectInfo

GetPenDataArray

GetPenDataArrayEx

GetPointAt

GetPriorityColor

GetProcedureIndex

GetProperty

GetPropertyAttributes

468
IFIX Automation Reference

GetPropertyTargets

GetRibbonView

GetSelectedAlmExt

GetSelectedNodeTag

GetSelectedRow

GetSelectedUserDefFields

GetSignature

GetSignatureAndWriteValue

GetStatusColor

GetStatusFont

GetTimeBeforeNow

GetTimeCursorInfo

GetUserID

GetWindowLocation

GlobalScrollBackFast

GlobalScrollBackSlow

GlobalScrollForwardFast

GlobalScrollForwardSlow

GlobalTimerApply

Group

HiLoDisplay

I-K
ImportToolbar

Initialize

InitializeList

InsertPoint

469
iFIX Automation Reference

InteractiveExport

IsColorSelectionVisible

IsConnected

IsEmpty

IsKeyMacroDefined

IsNodeSignEnabled

IsSignatureRequired

IsSignatureRequiredForList

Item

L
ListEvents

ListMethods

ListProperties

ListWindowsGroupNames

Load_TS_List

LoadImage

LoadTagGroupFile

LogicalToPercentage

LogicalToUserFormPoint

M-N
MakeLinesHorizontal

MakeLinesVertical

MakeSameSize

Modify

ModifyColumnLength

470
IFIX Automation Reference

Move

O
Open

Open_QT_Pic

Open_QT_Pic_Ex

Open_TCP_Pic

Open_TCP_Pic_Ex

Open_TS_Pic

Open_TS_Pic_Ex

Open_TS_Pic_Type

Open_TS_Pic_Type_Ex

P
ParseConnectionSource

Paste

PasteFromClipboard

PasteSpecial

Pause

PauseAlarmRead

PercentageToLogical

PercentageToPixel

PixelToPercentage

PrintChart

PrintOut

PromptToChangePassword

471
iFIX Automation Reference

Q
Quit

R
Read

Refresh

RefreshChartData

Remove

RemoveAll

RemoveAllLevels

RemoveItem

RemoveKeyMacro

RemoveLegendItem

RemoveLevel

RemoveObject

RemovePictureFromStartupList

ReplaceDocument

ReplaceInString

Replace_QT_Pic

Replace_TCP_Pic

Replace_TS_Pic

Replace_TS_Pic_Type

ResetChartData

ResetObjectStats

ResetStats

ResetZoom

ResolveTagGroupFile

472
IFIX Automation Reference

Resume

ResumeAlarmRead

RetrieveDefinition

RetrieveTagGroupVariables

Rotate

RunObject

S
Save

Save_TS_List

SaveAsSVG

SaveToHistoryList

ScrollBack

ScrollForward

ScrollTimeBack

ScrollTimeForward

Select

SelectAlarmRow

SelectAll

SelectObject

SendOperatorMessage

SendSignedOperatorMessage

SendToBack

SetContinuousUser

SetCurrentValue

SetDispatch

SetDispid

473
iFIX Automation Reference

SetDuration

SetFocusToComboBox

SetGlobalDuration

SetGlobalEndTimeToCurrent

SetGlobalHistoricalUpdateRate

SetGlobalMovingEndTimeToCurrent

SetIndirectionInfo

SetInterval

SetKeyCombination

SetLegendMask

SetNumericFormat

SetPenDataArray

SetPointAt

SetPriorityColor

SetProperty

SetScriptWindow

SetSource

SetStatusColor

SetStatusFont

SetStringFormat

SetTabSelection

SetTimeBeforeNow

SetTimeCursorTime

SetWindowLocation

ShowAnimations

ShowBrowseDialog

ShowColorBox

474
IFIX Automation Reference

ShowColorSelection

ShowCustomPages

ShowPipePreviewDialog

ShowTaskWizard

ShowVBAProcedure

ShowVisualBasicEditor

SilenceAlarmHorn

SnapObjectsToGrid

SpaceEvenly

StartEvent

StartTimer

StickToCursor

StopEvent

StopTimer

Stretch

SwitchLanguage

SwitchMode

SynchronizeSecurity

T
TagGroupSubstitution

TagGroupValue

U
UIActivate

UIDeActivate

Undo

475
iFIX Automation Reference

UndoTransaction

UndoZoom Method

UnGroup

UnloadTagGroupFile

Update_A_Dynamo_By_Name

Update_A_Dynamo_By_Name2

Update_A_Dynamo_By_Ref

Update_A_Dynamo_By_Ref2

UpdateBackgroundObject

UpdateConnectionParameters

UpdateDefinition

UserFormPointToLogical

V-W
ValidateSignature

ValidateSignatureAndWriteValue

ValidateSource

ValueTimeFromXY

Write

WritePictureToImageFile

X-Y
XYFromValueTime

XYHitTest

Z
Zoom

476
IFIX Automation Reference

A-B

AboutBox Method
Opens the Help About Box for the Alarm Summary, Color Button, or ExpressionEditor object.

Syntax
object.AboutBox

Properties
The AboutBox method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

AckAlarm Method
Acknowledges the alarm for the specified node and tag.

Syntax
object.AckAlarm(sNode, sTag)

Properties
The AckAlarm method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

sNode String. The nodename specifying which alarm is to be acknowledged.

477
iFIX Automation Reference

Part Description

sTag String. The tagname specifying which alarm is to be acknowledged.

Return Value
Integer. The status of the alarm acknowledgement. Return value of 0 signifies success, non-zero on
failure.

AckAlarmPage Method
Acknowledges the currently displayed page of alarms.

Syntax
object.AckAlarmPage()

Properties
The AckAlarmPage method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Return Value
Integer. The status of the alarm acknowledgement. Return value of 0 signifies success, non-zero on
failure when at least one alarm was not acknowledged.

AckAlarmPageEx Method
Acknowledges the currently displayed page of alarms and displays the Electronic Signature dialog box
if any of the tags on that page require Electronic Signatures.

Syntax
object.AckAlarmPageEx()

Properties
The AckAlarmPageEx method syntax has this part:

478
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Return Value
Integer. The status of the alarm acknowledgement. Return value of 0 signifies success, non-zero on
failure when at least one alarm was not acknowledged.

AckAllAlarms Method
Acknowledges all alarms that match the current filter.

Syntax
object.AckAllAlarms()

Properties
The AckAllAlarms method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

NOTE: If you are using the AckAllAlarms method on an Alarm Summary OCX, this method checks to
ensure that the Allow Acknowledge All Alarms property is enabled. If the property is disabled, no
alarms associated with that Alarm Summary OCX are acknowledged.

Return Value
Integer. The status of the alarm acknowledgement. Return value of 0 signifies success, non-zero on
failure when at least one alarm was not acknowledged.

ActivateWorkspaceUI Method
Activates the WorkSpace UI after a DeActivateWorkSpaceUI method call in the Configuration
environment.

Syntax
object.ActivateWorkspaceUI

479
iFIX Automation Reference

Properties
The ActivateWorkspaceUI method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
This method must be called when the DeActivateWorkSpaceUI method has been called in VBA
scripts that do not involve user forms.

Add Method
Adds a new:

• Document in the WorkSpace.


• Event handler to the Procedures collection.
• Line to the Lines collection of the Procedures collection.
• DataItem to the DataItems collection.
• Group (DataSystem) to the Groups collection.
• Key macro to the collection, copying the definition from the passed Key macro object.

Documents Collection Syntax


object.Add([Filename], [DisplayOption])

Properties
The Add method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Filename String. (Optional) The ProgID for the document type. The default is
“FIX.Picture”.

480
IFIX Automation Reference

Part Description

DisplayOption Long. (Optional) Specifies how the document is displayed.

Valid entries:
1 – Load only.
2 – Load and activate the document in a hidden window.
3 – Load and display the document normally. (default)

Document Type ProgID

Fix Picture Fix.Picture

Fix Dynamo Set FixDynamoSetServer.FixDynamoSetServer

Fix Schedule FixSchedule.FixSchedulerServer

Microsoft Word Document Word.Document

Microsoft Excel Worksheet Excel.Sheet

Microsoft Excel Chart Excel.Chart

Return Value
Object. The dispatch pointer to the added document.

Remarks
Add adds new document to the WorkSpace’s application object’s documents collection. It is
equivalent to selecting New from the File menu.

Procedures Collection Syntax


object.Add lType, bstrProcDecl

Properties
The Add method syntax has these parts:

481
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

lType Long. Reserved.

bstrProcDecl String. The header string for the procedure.

Lines Collection Syntax


object.Add bstrNewLine, lLineNumber

Properties
The Add method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrNewLine String. The new line of code to be added.

lLineNumber Long. The line number to place the code within the event handler.

DataItems and Groups Collection Syntax


object.Add (bstrName)

Properties
The Add method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrName String. The name of the member to add.

Return Value
Object. The dispatch pointer of the item added to the collection.

482
IFIX Automation Reference

AddDataSet Method
Allows you to add a data source to a Line Chart, Histogram Chart, or SPC Bar Chart.

Syntax
object.AddDataSet bstrSourceName [bUseAnyway]

Properties
The AddDataSet method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrSourceName String. The data source tag that you want to add to the chart as the dataset.

bUseAnyway Variant. (Optional) Allows you to set an undefined object as the data source.
The value should be True or False. True indicates a UseAnyway condition. If
the data source does not exist and bUseAnyway is set to False, the AddDataSet
method generates an error.
The default for the bUseAnyway parameter is False.

Return Value
Object – the dispatch pointer of the Dataset added to the chart.

AddEventHandler Method
Adds a new event handler to the Procedures collection.

Syntax
object.AddEventHandler bstrEventName, bstrLinesOfCode, pIndex

Properties
The AddEventHandler method syntax has these parts:

483
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrEventName String. The name of the event.

bstrLinesOfCode String. The code to be written to the event in the form of strings.

pIndex Long. Numerical index of the procedures position in the existing collection.
Note: This index is transient, it will change as procedures are added or deleted.

AddImage Method
Loads the specified image and adds it to the end of the list. This image is always the primary image.

Syntax
object.AddImage bstrFileName

Properties
The AddImage method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrFileName String. The file name of the image to load.

AddKeyMacro Method
Adds a new KeyMacroObject.

Syntax
AddKeyMacro (ComboKey, KeyCode)

Properties
The AddKeyMacro method syntax has these parts:

484
IFIX Automation Reference

Part Description

ComboKey enumCombinationKey. The control shift part of the key combination.

KeyCode Integer. The ASCII value of the main key of the key combination.

AddLegendItem Method
Adds an item to the Legend of the Chart at the specified location displaying the specified number of
characters.

Syntax
object.AddLegendItem szItem, iColumn, iNumChars

Properties
The AddLegendItem method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

485
iFIX Automation Reference

Part Description

szItem String. The name of the item to be added.

Valid entries:
Source - Data Source name
Description - Data Source’s descriptor property
Value - Current Value at the time cursor
Units - EGU units name
Mode - Historical or real time
High Limit - High display limit
Low Limit - Low display limit
Interval - Data point interval
High Over - Highest value over the duration
Low Over - Lowest value over the duration
Avg Over - Average value over the duration
USER1 - User defined field
USER2 - User defined field
USER3 - User defined field
USER4 - User defined field
USER5 - User defined field
USER6 - User defined field
USER7 - User defined field
USER8 - User defined field
USER9 - User defined field
USER10 - User defined field

iColumn Integer. 1-based column index representing where to position the legend item.
Column 1 is furthest to the left. Maximum is 22.

iNumChars Integer. Defines the size of the display width of the column specified by iColumn.
The width is calculated by taking the average size character of the font selected
multiplied by the number of characters specified by iNumChars. Maximum is 80.

AddLevel Method
Adds a new level to the table (Lookup object).

Syntax
object.AddLevel pInput1, pOutput1, [pInput2], [pOutput2]

Properties
The AddLevel method syntax has these parts:

486
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

pInput1 Variant. The first input parameter. Used as the lookup value when performing exact
match lookups, and the minimum value for range comparison lookups.

pOutput1 Variant. The primary output value.

pInput2 Variant. (Optional) The second input parameter. Used as maximum value for a range
lookup comparison.

pOutput2 Variant. (Optional) The secondary output value for this level. This value is used by
the lookup object as the “blink to” value at this level.

AddObject Method
Adds an object to a Group.

Syntax
object.AddObject dispObject

Properties
The AddObject method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

pdispObject Object. The object that you want to add to the group. When an object is added to a
group it is put at the top of the group's stacking order (drawing order).

Remarks
We recommend that you build groups either by using the BuildObject method on the group object, or
using the Group method on the Picture object to group the selected objects.

487
iFIX Automation Reference

AddPen Method
Adds a new Pen to the Chart object's Pens collection.

Syntax
object.AddPen(szSource, [vaUseAnyway])

Properties
The AddPen method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

szSource String. The data source tag or expression to use to fill in the data for the Pen. Any
valid historical or real-time data source expression is supported. The only
restriction is that Historical tags must not be used in an expression.

aUseAnyway Variant. (Optional) It is used to determine whether to use the data source if the
source does not exist. Values should be True or False. If source does not exist and
vaUseAnyway is False, AddPen will generate an error. The default for the
parameter is False.

Return Value
Object. The dispatch pointer of the Pen added to the Chart.

RefreshChartData must be called after changing the definition of a Pen.

AddPictureToStartupList Method
Adds pictures to the Proficy iFIX WorkSpace's startup lists. The startup lists determine the pictures
that will be opened automatically when the WorkSpace starts.

Syntax
object.AddPictureToStartupList bstrPictureName, bMode

Properties
The AddPictureToStartupList method syntax has these parts:

488
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrPictureName String. Name of the picture to be added to the startup list. You must include
the file path and extension

bMode Boolean. Specifies whether to open the picture when the WorkSpace starts in
the Configuration environment or in the Runtime environment.
Valid entries:
0 – AppConfigurePicturePreferences
1 – AppRunPicturePreferences

pIndex Long. Numerical index of the procedures position in the existing collection.
Note: This index is transient, it will change as procedures are added or deleted.

AddPoint Method
Adds a new data point to the object.

Syntax
object.AddPoint pdispPoint

Properties
The AddPoint method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

pdispPoint Object. An OLE object specifying a point object to add to the list of existing data
points. The point object has an (x,y) pair that contains the logical coordinate of the
data point (see FixFloatPoint).

Remarks
A point is an OLE object specifying a point object to add to the list of existing data points. The point
object has an (x,y) pair that contains the logical coordinates of the data point.

489
iFIX Automation Reference

AddProcedure Method
Adds a new Procedure to the Procedures collection.

Syntax
object.AddProcedure bstrProcName, bstrParamList, bstrLinesOfCode, pIndex

Properties
The AddProcedure method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrProcName String. The name of the Procedure to be added.

bstrParamList String. The parameter list of the added Procedure.

bstrLinesOfCode String. The lines of code to be added to the Procedure.

pIndex Long. The index within the Procedures collection that the new Procedure
occupies.

Align Method
Aligns the selected objects.

Syntax
object.Align type

Properties
The Align method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

490
IFIX Automation Reference

Part Description

type Integer. Specifies the align method type.


Valid entries:
0 – Left
1 – Vertical Center
2 – Right
3 – Top
4 – Horizontal Center
5 – Bottom

Remarks
Align is a Configuration environment method only.

ApplyProperty Method
Reserved for internal purposes.

AutoScaleDisplayLimits Method
Changes the display limits configured for the Pen based on the range of the data currently in the pen’s
data array. If called on the Chart object, this method changes the display limits for all pens.

Syntax
object.AutoScaleDisplayLimits

Properties
The AutoScaleDisplayLimits method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
This method is useful for automatically zooming in or out on a data set to get a full EGU span of the
currently displayed data, particularly when the data source's value range varies widely and manual
display limit adjustments are not practical for the operator.

491
iFIX Automation Reference

BringToFront Method
Moves the selected object to the front of the display stacking order, making it the top object in the
stack. It is equivalent to selecting Bring To Front from the Format menu.

Syntax
object.BringToFront

Properties
The BringToFront method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
BringToFront is a Configuration environment method only.

If you select several objects and call BringToFront, the selected objects are placed at the top of the
stack, however, they keep their positions relative to one other. The BringToFront method is useful for
creating complex shapes and using stacking or masking techniques.

BuildObject Method
Adds a new iFIX object to the system. All iFIX objects, pictures, schedules, groups, and shapes can
contain other objects. Typically, when creating objects, you would call BuildObject on the currently
active page object (Application.ActiveDocument.Page). BuildObject adds shapes to a graphic, events
to a schedule and animations to a shape.

Syntax
object.BuildObject(bstrClassName)

Properties
The BuildObject method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

492
IFIX Automation Reference

Part Description

bstrClassName String. The class name of the object to build.

Valid entries:
Arc, Bitmap, Chart, Chord, Datalink, Fixevent, Format, Group, Line, Linear,
Lookup, OleObject, Oval, Pen, Pie, Polyline, Polygon, Rect, RoundRect, Text,
Fixtimer, Variable

Return Value
Object. The dispatch pointer of the object that was created.

Remarks
BuildObject inserts the desired object into the ContainedObjects collection of the object for which
BuildObject was called.

BuildObject is a Configuration and Run-mode environment method.

NOTE: The objects that are created in Run-mode (via scripting) are discarded (not persisted) when
the picture is switched back to configure mode.

CanConstruct Method
Checks a data source reference for valid syntax.

Syntax
object.CanConstruct bstrObjectName, bCanConstruct

Properties
The CanConstruct method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

493
iFIX Automation Reference

Part Description

bstrObjectName String. The fully qualified data source reference. For example,
Fix32.SCADA1.AI1

bCanConstruct Boolean. Returns True if data source reference is valid, False otherwise.

Remarks
This method will always return False for datasystems external to the Fix32 datasystem.

The bCanConstruct parameter is returned indicating if the bstrObjectName reference can be


constructed (QuickAdd). If True, you can safely call Construct to display the appropriate user
interface to add the reference in the associated data system.

Currently, you need the FIX 6.15 Integration toolkit to create blocks directly without the Database
Manager dialog boxes.

CheckAccountExpiration Method
Checks a Windows user account and returns account password expiration information.

Syntax
object.CheckAccountExpiration(bstrUsername, pbExpired, pbCanChangePassword, pnDaysLeft)

Properties
The CheckAccountExpiration method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To


list.

String. Specifies the Windows user name.


bstrUserName

Boolean. Returns True if the Windows user account password is


pbExpired expired, and False if it is not.

Boolean. Returns True if the user is allowed to change their


pbCanChangePassword password, and False if he is not.

494
IFIX Automation Reference

Part Description

Long. Returns the number of days left until the account password
pnDaysLeft expires.

Return Value
This method returns HRESULT. If the HRESULT is a value other than S_OK, VBA generates an
error. You can handle this error using the On Error Statement. You can find out more information
about the error by using Err Object.

CheckforDuplicateKeyMacros Method
Checks the passed collection of key macros for duplicates.

Syntax
object.CheckforDuplicateKeyMacros (KeyMacrosToBeChecked, DuplicateKeyMacros)

Properties
The CheckforDuplicateKeyMacros method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

KeyMacrosToBeChecked FixKeyMacroCollection. Collection of KeyMacro objects to be


checked against this object.

DuplicateKeyMacros FixKeyMacroCollection. Collection of the Duplicate KeyMacro


objects found.

CheckSecurityEnabled Method
Checks if iFIX security is enabled on the local node.

Syntax
object.CheckSecurityEnabled(pbSecurityEnabled)

495
iFIX Automation Reference

Properties
The CheckSecurityEnabled method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

pbEnabled Boolean. Returns True if security is enabled, False if it is not.

Return Value
This method returns HRESULT. If the HRESULT is a value other than S_OK, VBA generates an
error. You can handle this error using the On Error Statement. You can find out more information
about the error by using Err Object.

CheckSyntax Method
Tests the syntax of an expression in the Expression Builder.

Syntax
object.CheckSyntax szExpression

Properties
The CheckSyntax method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

szExpression String. The expression string to check.

Return Value
Boolean. Returns True if the syntax check was successful.

CheckUserApplicationAccess Method
Checks the user’s access to an application feature.

496
IFIX Automation Reference

Syntax
object.CheckUserApplicationAccess(bstrUserID, nApplicationID, pbAccess, [bQuiet])

Properties
The CheckUserApplicationAccess method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

String. The user ID for the user.


bstrUserID

Long. Numeric identifier associated with the application feature. For a list of
nApplicationID application IDs, refer to the FIXcheckApplicationAccess method.

Boolean. Returns True if the user has access to the specified application
pbAccess feature, or False if the user does not have access.

Boolean. (Optional). If set to True, you prevent security violation messages


bQuiet from being sent to the alarm system when this access check fails. If set to
False, iFIX sends a security violation message. The default value is False.

CheckUserAreaAccess Method
Checks a user’s access to a security area.

Syntax
object.CheckUserAreaAcess(bstrUserID, bstrSecurityArea, pbAccess, [bQuiet])

Properties
The CheckUserAreaAccess method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

497
iFIX Automation Reference

Part Description

String. The user ID for the user.


bstrUserID

String. Name of the security area to check.


bstrSecurityArea

Boolean. Returns True if the user has access to the specified security area,
pbAccess or False if the user does not have access.

Boolean. (Optional). When set to True, you prevent security violation


bQuiet messages from being sent to the alarm system when this access check fails.
When set to False, iFIX sends a security violation message. False is the
default value.

Return Value
This method returns HRESULT. If the HRESULT is a value other than S_OK, VBA generates an
error. You can handle this error using the On Error Statement. You can find out more information
about the error by using Err Object.

Clear Method
Removes all items out of the collection.

Syntax
object.Clear

Properties
The Clear method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ClearUndo Method
Removes all currently registered undo transactions from the undo stack.

498
IFIX Automation Reference

Syntax
object.ClearUndo

Properties
The ClearUndo method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
ClearUndo is a Configuration environment method only.

Close Method
Closes the Document or Window. When called off the Documents collection, this method closes all
open documents in the Proficy iFIX WorkSpace. When used with the Document object, this method
closes the Document object. This is equivalent to selecting Close from the File menu.

Documents Collection Syntax


object.Close [SaveChanges], [CloseOptions]

Properties
The Close method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

SaveChanges Long. (Optional)


Valid entries:
1 – Saves the changes without prompting. (default)
2 – Does not save the changes.
3 – Prompts the user to save changes.

499
iFIX Automation Reference

Part Description

CloseOptions Long. (Optional)


Valid entries:
1 – Closes all files. (default)
2 – Only closes the files that are not hidden.
3 – Only closes the hidden files.

Remarks
This method removes the document(s) from the Documents Collection.

Note that if the Close method is called for newly created pictures with a SaveChanges option of 1 or 3,
the user is prompted to save changes regardless. This is because pictures cannot be saved as their
default name (e.g. “Untitled#”).

Document Object Syntax


object.Close [SaveChanges], [CloseOptions]

The Close method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

SaveChanges Long. (Optional)


Valid entries:
1 – Saves the changes without prompting. (default)
2 – Does not save the changes.
3 – Prompts the user to save changes.

CloseOptions Long. (Optional)


Valid entries:
1 – Close file. (default)
2 – Close file, only if it is visible.
3 – Close file, only if hidden.

Remarks
If possible, always make this call the last line in your script. Note that when the Close method is used,
and the document being closed is the document that contains the script, the call must be the last line in
the script. Otherwise, you may experience unexpected behavior when executing the script.

If the Close method is not called from picture being closed and is not the last line in your script, be

500
IFIX Automation Reference

certain that the operation is complete before the rest of the script continues to execute. Immediately
after making the call, you must relinquish the CPU by calling DoEvents. For example, the following
sample script closes all open non-hidden documents, saving changes without prompting the user, and
then open the picture TestPicture, displaying it normally.

Dim iDoc As Object

Application.Documents.Close 1, 2

DoEvents

Set iDoc=Application.Documents.Open("C:\Program Files\Proficy\Proficy


iFIX\Pic\TestPicture.grf",3)

Commit Method
Commits changes made from the object’s initialization into the object. This method is usually called
after the BuildObject method.

Syntax
object.Commit

Properties
The Commit method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Connect Method
Connects two object’s properties together including connecting to an external data source. Once the
connection is successfully made, changes in the source’s data are automatically transferred to the
connected property. Use Connect to make animation connections to data source tags. Connect
supports expressions as the definition of a source.

Syntax
object.Connect bstrPropertyName, bstrSource, iStatus, [fTolerance], [iFlags], [fDeadband],
[fUpdateRate]

Properties
The Connect method syntax has the following parts:

501
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrPropertyName String. The name of the object’s property to animate.

bstrSource String. The data source reference definition.

iStatus Long. Returns the error value.


Return values are:
0 – OK
1 – Syntax error
2 – Data Undefined
3 – Data type mismatch

fTolerance Variant. (Optional) Used to evaluate the definition of equal in an expression.

Variant. (Optional) Reserved.


Iflags

Variant. (Optional) Used to determine how much the source needs to change
fdeadband before the exception is transferred to the connected property.

Variant. (Optional) The requested maximum update rate for this connection
fUpdateRate in seconds. This property is used as a hint to the data system for a poll rate to
the OPC server.

ConnectDataSet Method
This method is currently unavailable for use in iFIX. It is reserved for future use.

Syntax
object.ConnectDataSet ()

Properties
The ConnectDataSet method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

502
IFIX Automation Reference

ConnectedPropertyCount Method
Returns the number of properties that have connections configured.

Syntax
object.ConnectedPropertyCount iConnectedPropertyCount

Properties
The ConnectedPropertyCount method syntax has the following parts:

Part Description

object An object expression that evaluates to an object in the Applies To


list.

IConnectedPropertyCount Long. Returns the number of properties that have connections.

Construct Method
Creates an external data source object (tag reference). It displays the QuickAdd user interface that
prompts the user for the information needed to create the tag.

Syntax
object.Construct bstrObjectName, iStatus

Properties
The Construct method syntax has the following parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrObjectName String. The fully qualified data source reference. For example,
Fix32.SCADA1.AI1

503
iFIX Automation Reference

Part Description

iStatus Long. Returns the error value.

Return values are:


0 – OK
1 – Syntax error
2 – Data Undefined
3 – Data type mismatch

Convert_A_Group_To_A_Dynamo_By_Name Method
Converts an old Dynamo Instance (Group object) to a new Dynamo object. If you want a converted
Dynamo object to become a Master Dynamo, you must also select the “Make Master” option.

NOTE: If you want to be able to use the Dynamo Updater with a converted Dynamo object, you need
to call the Update_A_Dynamo_By_Name method after the
Convert_A_Group_To_A_Dynamo_By_Name method. Through this process, the Dynamo object
obtains the Dynamo_ID and Revision matched with the provided Master Dynamo.

Syntax
object.Convert_A_Group_To_A_Dynamo_By_Name (bstrGroupName, nOptions,
bstrChoiceDialogTitle, pnResultCode)

Properties
The Convert_A_Group_To_A_Dynamo_By_Name method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrGroupName String. The name of the iFIX group object.

504
IFIX Automation Reference

Part Description

nOptions Long. The specified options as a bitmask:


UPDATE_OPTION_ON_MISMATCH_UPDATE_DYNAMO
(0x00000001) – When a mismatch is encountered, use the Update /
Do not update options. This setting is unused when iFIX finds no
mismatches.
UPDATE_OPTION_ON_MISMATCH_APPLY_DATA_SOURCES
(0x00000002) – When a mismatch is encountered, use the Apply
Data Sources / Do not apply data sources options. This setting is
unused when iFIX finds no mismatches.
UPDATE_OPTION_ON_MISMATCH_PROMT_FOR_CHOICE
(0x00000004) – When a mismatch is encountered, ask the user what
to do.
UPDATE_OPTION_RESIZE_INSTANCE (0x00000008) – Set to True
to resize the Dynamo instance to match the Master Dynamo
dimensions. Equivalent setting in iFIX 4.5 is always True.
UPDATE_OPTION_SAVE_CAPTIONS (0x00000010) – Set to True to
save the captions on text objects and button objects.
UPDATE_OPTION_UPDATE_ON_CONVERSION (0x00000020) –
Set to True to ignore the Dynamo_ID and Revision checking when
updating.
CONVERT_OPTION_MAKE_MASTER (0x00010000) – Dynamo
Converter Options. Convert a group to a Master Dynamo.

bstrChoiceDialogTitle String. Currently not used, but available in case a future version of iFIX
needs to display a choice within a dialog box during the conversion.

505
iFIX Automation Reference

Part Description

pnResultCode The result code as a bitmask:


UPDATER_RESULT_SUCCESS_BIT (0x00000001) – Returns 1 on
success, or 0 on failure.
UPDATER_RESULT_ALL_DATA_SOURCES_IGNORED_BIT
(0x00000002) – Encoded status bit.
UPDATER_RESULT_SOME_DATA_SOURCES_IGNORED_BIT
(0x00000004) – Encoded status bit.
UPDATER_RESULT_NOT_ENOUGH_DATA_SOURCES_BIT
(0x00000008) – Encoded status bit.
UPDATER_RESULT_DYNAMO_NOT_UPDATED_BIT
(0x00000010) – Encoded status bit.
UPDATER_RESULT_USER_CANCELLED_BIT (0x00000020) –
Spare entry, use as needed.
UPDATER_RESULT_INVALID_ARG_DYNAMO_INSTANCE_BIT
(0x00000040) – Spare entry, use as needed.
UPDATER_RESULT_INVALID_ARG_MASTER_DYNAMO_BIT
(0x00000080) – Spare entry, use as needed.
UPDATER_RESULT_INVALID_ARG_MISTMATCH_OPTION_BIT
(0x00000100) – Spare entry, use as needed.
UPDATER_RESULT_INVALID_POINTER_BIT (0x00000200) –
Spare entry, use as needed.
UPDATER_RESULT_INSTANCE_DOESNT_MATCH_MASTER_BIT
(0x00000400)– Spare entry, use as needed.
UPDATER_RESULT_INVALID_ARG_OWNER_BIT (0x00000800) –
Spare entry, use as needed.
UPDATER_RESULT_TEXT_CAPTIONS_UPDATED_BIT
(0x00001000) – Returns 1 if any text captions were updated, or 0 if
none were updated.
UPDATER_RESULT_TEXT_CAPTIONS_ALL_UPDATED_BIT
(0x00002000) – Returns 1 if all captions were updated, or 0 if some
(or none) were updated. This field must be 0 if the
UPDATER_RESULT_TEXT_CAPTIONS_UPDATED_BIT is also
0.
UPDATER_RESULT_INVALID_ARG_GROUP_BIT (0x00004000) –
Invaid argument for Convert_A_Group_To_A_Dynamo property.

Convert_A_Group_To_A_Dynamo_By_Ref Method
Converts an old Dynamo Instance (Group object) to a new Dynamo object. If you want a converted
Dynamo object to become a Master Dynamo, you must also select the “Make Master” option.

506
IFIX Automation Reference

NOTE: If you want to be able to use the Dynamo Updater with a converted Dynamo object, you need
to call the Update_A_Dynamo_By_Name method after the
Convert_A_Group_To_A_Dynamo_By_Name method. Through this process, the Dynamo object
obtains the Dynamo_ID and Revision matched with the provided Master Dynamo.

Syntax
object.Convert_A_Group_To_A_Dynamo_By_Ref (pIGroupDynamo, nOptions,
bstrChoiceDialogTitle, pnResultCode)

Properties
The Convert_A_Group_To_A_Dynamo_By_Ref method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

pIGroupDynamo Object. The name of the iFIX Dynamo group object.

nOptions Long. The specified options as a bitmask:


UPDATE_OPTION_ON_MISMATCH_UPDATE_DYNAMO
(0x00000001) – When a mismatch is encountered, use the Update /
Do not update options. This setting is unused when iFIX finds no
mismatches.
UPDATE_OPTION_ON_MISMATCH_APPLY_DATA_SOURCES
(0x00000002) – When a mismatch is encountered, use the Apply
Data Sources / Do not apply data sources options. This setting is
unused when iFIX finds no mismatches.
UPDATE_OPTION_ON_MISMATCH_PROMT_FOR_CHOICE
(0x00000004) – When a mismatch is encountered, ask the user what
to do.
UPDATE_OPTION_RESIZE_INSTANCE (0x00000008) – Set to True
to resize the Dynamo instance to match the Master Dynamo
dimensions. Equivalent setting in iFIX 4.5 is always True.
UPDATE_OPTION_SAVE_CAPTIONS (0x00000010) – Set to True to
save the captions on text objects and button objects.
UPDATE_OPTION_UPDATE_ON_CONVERSION (0x00000020) –
Set to True to ignore the Dynamo_ID and Revision checking when
updating.
CONVERT_OPTION_MAKE_MASTER (0x00010000) – Dynamo
Converter Options. Convert a group to a Master Dynamo.

507
iFIX Automation Reference

Part Description

bstrChoiceDialogTitle String. Currently not used, but available in case a future version of iFIX
needs to display a choice within a dialog box during the conversion.

pnResultCode The result code as a bitmask:


UPDATER_RESULT_SUCCESS_BIT (0x00000001) – Returns 1 on
success, or 0 on failure.
UPDATER_RESULT_ALL_DATA_SOURCES_IGNORED_BIT
(0x00000002) – Encoded status bit.
UPDATER_RESULT_SOME_DATA_SOURCES_IGNORED_BIT
(0x00000004) – Encoded status bit.
UPDATER_RESULT_NOT_ENOUGH_DATA_SOURCES_BIT
(0x00000008) – Encoded status bit.
UPDATER_RESULT_DYNAMO_NOT_UPDATED_BIT
(0x00000010) – Encoded status bit.
UPDATER_RESULT_USER_CANCELLED_BIT (0x00000020) –
Spare entry, use as needed.
UPDATER_RESULT_INVALID_ARG_DYNAMO_INSTANCE_BIT
(0x00000040) – Spare entry, use as needed.
UPDATER_RESULT_INVALID_ARG_MASTER_DYNAMO_BIT
(0x00000080) – Spare entry, use as needed.
UPDATER_RESULT_INVALID_ARG_MISTMATCH_OPTION_BIT
(0x00000100) – Spare entry, use as needed.
UPDATER_RESULT_INVALID_POINTER_BIT (0x00000200) –
Spare entry, use as needed.
UPDATER_RESULT_INSTANCE_DOESNT_MATCH_MASTER_BIT
(0x00000400)– Spare entry, use as needed.
UPDATER_RESULT_INVALID_ARG_OWNER_BIT (0x00000800) –
Spare entry, use as needed.
UPDATER_RESULT_TEXT_CAPTIONS_UPDATED_BIT
(0x00001000) – Returns 1 if any text captions were updated, or 0 if
none were updated.
UPDATER_RESULT_TEXT_CAPTIONS_ALL_UPDATED_BIT
(0x00002000) – Returns 1 if all captions were updated, or 0 if some
(or none) were updated. This field must be 0 if the
UPDATER_RESULT_TEXT_CAPTIONS_UPDATED_BIT is also
0.
UPDATER_RESULT_INVALID_ARG_GROUP_BIT (0x00004000) –
Invaid argument for Convert_A_Group_To_A_Dynamo property.

508
IFIX Automation Reference

ConvertPipe Method
Converts the selected lines and/or polylines to pipes.

Syntax
object.ConvertPipe

Properties
The ConvertPipe method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
ConvertPipe is a Configuration environment method only.

ConvertSecurityAreaNameToNumber Method
Converts the specified security area name to its corresponding area number.

Syntax
object.ConvertSecurityAreaNameToNumber(AreaName)

Properties
The ConvertSecurityAreaNameToNumber method syntax has the following parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

AreaName String. The area name to be converted.

Return Value
Integer. The security area number.

509
iFIX Automation Reference

ConvertSecurityAreaNumberToName Method
Converts the specified security area number to its corresponding area name.

Syntax
object.ConvertSecurityAreaNumberToName(iAreaID)

Properties
The ConvertSecurityAreaNumberToName method syntax has the following parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

iAreaID Integer. The area number to be converted.

Return Value
String. The security area name.

Copy Method
Copies the selected objects to the Clipboard in iFIX internal format.

Syntax
object.Copy

Properties
The Copy method syntax has the following part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Copy is a Configuration environment method only.

510
IFIX Automation Reference

CopyAsBitmap Method
Copies the selected objects to the Clipboard in a bitmap format.

Syntax
object.CopyAsBitmap

Properties
The CopyAsBitmap method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
CopyAsBitmap is a Configuration environment method only.

CopytoClipboard Method
Copies the collection of key macros to the Clipboard.

Syntax
object.CopytoClipboard ()

Properties
The CopytoClipboard method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Coupled_Activate_Workspace_UI Method
Activates the WorkSpace UI after a Coupled_DeActivate_Workspace_UI method call in the
Configuration environment.

511
iFIX Automation Reference

Syntax
object.Coupled_Activate_Workspace_UI(bForce)

Properties
The Coupled_Activate_Workspace_UI method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bForce Boolean. If True, objects can be selected and moved in the currently active document.
The right mouse menu and double click events are disabled. In addition, the active
document cannot be moved, closed, maximized, or minimized. If False, objects cannot
be selected or moved in the currently active document.

Remarks
This method must be called when the Coupled_DeActivate_Workspace_UI method has been called
in VBA scripts that do not involve user forms.

Coupled_DeActivate_Workspace_UI Method
Determines whether or not a form is modeless in the Configuration environment.

Syntax
object.Coupled_DeActivate_Workspace_UI bLeaveActiveDocActive

Properties
The Coupled_DeActivate_Workspace_UI method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bLeaveActiveDocActive Boolean. If True, objects can be selected and moved in the currently
active document. The right mouse menu and double click events are
disabled. In addition, the active document cannot be moved, closed,
maximized, or minimized. If False, objects cannot be selected or
moved in the currently active document.

512
IFIX Automation Reference

Remarks
User forms are modal by default. To make a form modeless, make the following call on form
initialization (in the form’s Activate event):

Application.Coupled_Activate_Workspace_UI True

This call must be made from a form that is activated by a toolbar script.

CreateDynamoByGrouping Method
Creates a Dynamo object using the currently selected objects.

Syntax
object.CreateDynamoByGrouping

Properties
The CreateDynamoByGrouping method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

CreateFromDialog Method
Opens the Insert Object dialog box to allow the user to select which ActiveX control to create.

Syntax
object.CreateFromDialog

Properties
The CreateFromDialog method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

513
iFIX Automation Reference

Remarks
Although CreateFromDialog applies to many objects in IFIX, it is only intended to be used for the
ControlContainer object.

CreateFromProgID Method
Creates an ActiveX control using its specified ProgID.

Syntax
object.CreateFromProgID bstrProgId

Properties
The CreateFromProgID method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrEventName String. The name of the event.

Remarks
CreateFromProgID allows the user to create ActiveX controls without requiring any user interface.
The ProgIDs can be found in the Insert Object dialog box that can be opened in the WorkSpace by
choosing OLE Object off of the Insert menu or by calling the CreateFromDialog method.

Although this method applies to many objects in iFIX, it is only intended to be used for the
ControlContainer object.

CreateWithMouse Method
Allows the user to create the object by using the mouse to set its size and position in the Configuration
environment.

Syntax
object.CreateWithMouse

Properties
The CreateWithMouse method syntax has this part:

514
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Cut Method
Removes the selected objects out of the container and puts them on the Clipboard. This is equivalent to
selecting Cut from the Edit menu.

Syntax
object.Cut

Properties
The Cut method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Cut is a Configuration environment method that only works when cutting objects in another document.

D-E

DeActivateWorkspaceUI Method
Determines whether or not a form is modeless in the Configuration environment.

Syntax
object.DeActivateWorkspaceUI bLeaveActiveDocActive

Properties
The DeActivateWorkspaceUI method syntax has these parts:

515
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

bLeaveActiveDocActive Boolean. If True, objects can be selected and moved in the currently
active document. The right mouse menu and double click events are
disabled. In addition, the active document cannot be moved, closed,
maximized, or minimized. If False, objects cannot be selected or
moved in the currently active document.

Remarks
User forms are modal by default. To make a form modeless, make the following call on form
initialization (in the form’s Activate event):

Application.DeActivateWorkspaceUI True

This call must be made from a form that is activated by a toolbar script.

DefaultView Method
Restores a document to its default configuration.

Syntax
object.DefaultView bRedraw

Properties
The DefaultView method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bRedraw Boolean. (Optional) If True, repaint the document. (Default) If False, make the
changes but don't repaint the document.

DelAlarm Method
Deletes the alarm for the requested node and tag.

516
IFIX Automation Reference

Syntax
object.DelAlarm(sNode, sTag)

Properties
The DelAlarm method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

sNode String. The nodename specifying which alarm is to be deleted.

sTag String. The tagname specifying which alarm is to be deleted.

Return Value
Integer. The status of the alarm deletion. Return value of 0 signifies success, non-zero on failure.

DeleteAllAlarms Method
Deletes all alarms that match the current filter.

Syntax
object.DeleteAllAlarms()

Properties
The DeleteAllAlarms method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Return Value
Integer. The status of the alarm deletion. Return value of 0 signifies success, non-zero on failure when
at least one alarm was not deleted.

517
iFIX Automation Reference

DeleteAllDataSets Method
Deletes all data sets from the Enhanced Chart.

Syntax
object.DeleteAllDataSets ()

Properties
The DeleteAllDataSets method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

DeleteDataSet Method
Deletes a specified data set from an Enhanced Chart.

Syntax
object.DeleteDataSet nDSPosition

Properties
The DeleteDataSet method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

nDSPosition Long. The position of the data set within chart that you want to delete from chart
object. Position is 0 based.

DeleteImage Method
Deletes both the primary and secondary images loaded at the specified index.

Syntax
object.DeleteImage nIndex

518
IFIX Automation Reference

Properties
The DeleteImage method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

nIndex Integer. The index of the image to delete. This is a one-based index.

DeletePen Method
Deletes a Pen from the Chart.

Syntax
object.DeletePen uiIndex

Properties
The DeletePen method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

uiIndex Integer. Index of the pen to be deleted in the Pens collection.

DeletePoint Method
Deletes the point at the given index.

Syntax
object.DeletePoint lIndex

Properties
The DeletePoint method syntax has these parts:

519
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

lIndex Long. The position of the point to delete.

DeleteSelectedObjects Method
Deletes the objects in the SelectedShapes collection.

Syntax
object.DeleteSelectedObjects

Properties
The DeleteSelectedObjects method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
DeleteSelectedObjects is a Configuration environment method that only works when deleting objects
in another document.

DemandFire Method
Forces the object to fire its main event.

Scheduler Object Syntax


object.DemandFire bstrObjectName

Properties
The DemandFire method syntax has these parts:

520
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrObjectName String. The name of the object in the schedule for which you want to fire an
event.

Timer and Event Object Syntax


object.DemandFire

Properties
The DemandFire method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
For the Scheduler object, DemandFire triggers the event associated with the name of the object in the
Scheduler. For the Timer object, DemandFire fires the OnTimeOut event. For the Event object, the
event that the user has configured in the user interface fires. This can be OnTrue, OnFalse,
WhileTrue, WhileFalse, or DataChange.

You can use this method to force the action to trigger, which is useful for debugging or for complex
scheduling strategies.

DeselectObject Method
Deselects the object.

Syntax
object.DeselectObject bDeselectAll

Properties
The DeselectObject method syntax has these parts:

521
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

bDeselectAll Boolean. If True, all items that were selected are deselected. If False, deselects the
last selected object.

Remarks
Removes this object in its parent object's ContainedSelections collection as well as from the picture's
SelectedShapes collection.

DestroyObject Method
Deletes the object.

Syntax
object.DestroyObject

Properties
The DestroyObject method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

DisableNonSelectionEvents Method
Reserved for internal purposes.

Disconnect Method
Removes a property connection that was built using Connect.

Syntax
object.Disconnect bstrPropertyName

522
IFIX Automation Reference

Properties
The Disconnect method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrPropertyName String. The name of the property that has the connection.

Remarks
If more that one connection is built for a single property, this method deletes all of the connections.

DisplaysControlPoints Method
Determines whether or not a shape displays its control points for selecting, resizing, and rotating, etc.

Syntax
object.DisplaysControlPoints bDisplaysControlPoints

Properties
The DisplaysControlPoints method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bDisplaysControlPoints Boolean. If True, the shape displays control points. If False, the shape
does not display control points.

DoesPropertyHaveTargets Method
Determines if a property has a target object connection. That is, if the local property changes, will this
change be sent to any other objects in the system. This list of subscribed connections are called targets.

Syntax
object.DoesPropertyHaveTargets bstrPropertyName, bHasTargets, iNumberOfTargets, iStatus,
iIndex

523
iFIX Automation Reference

Properties
The DoesPropertyHaveTargets method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrPropertyName String. The name of the local property to check for targets.

bHasTargets Boolean. Returns True if any targets are configured for the property name.

iNumberOfTargets Long. Returns the number of target objects.

iStatus Long. Returns the error value.


Return values are:
0 – OK
1 – Syntax error
2 – Data Undefined
3 – Data type mismatch

iIndex Long. Returns the handle for the passed in property that you can pass to the
GetPropertyTargets method to obtain the list of targets associated with this
property.

DoExtendLines Method
Extends the selected lines to the intersection point(s) of another selected line.

Syntax
object.DoExtendLines

Properties
The DoExtendLines method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

524
IFIX Automation Reference

DoLinesToPolyline Method
Converts the selected lines to a polyline.

Syntax
object.DoLinesToPolyline

Properties
The DoLinesToPolyline method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

DoMenuCommand Method
Executes the specified menu command.

Syntax
object.DoMenuCommand iMenuCommand

Properties
The DoMenuCommand method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

525
iFIX Automation Reference

Part Description

iMenuCommand Enumeration. The menu command you wish to perform.


Valid entries:
SchSearchReplace
SchAboutHelp
SchCut
SchCopy
SchPaste
SchDelete
SchProperties
SchNewTimer
SchNewEvent
scHREFreshView

DoTrimLines Method
Trims the selected lines to each intersection point.

Syntax
object.DoTrimLines

Properties
The DoTrimLines method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

DumpProperties Method
Writes the property names and the corresponding values of an object's properties to an ASCII file.

Syntax
object.DumpProperties pbstrDumpFilename, bDumpChildren, bstrDumpProperty, bstrDumpValue

Properties
The DumpProperties method syntax has these parts:

526
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

pbstrDumpFilename String. The name of the file in which to store the output.

bDumpChildren Boolean. If True, the dump file will contain the object’s children’s
properties.

bstrDumpProperty String. Reserved.

bstrDumpValue String. Reserved.

Duplicate Method
Copies the selected objects in the container. This is equivalent to selecting Duplicate from the Edit
menu.

Syntax
object.Duplicate

Properties
The Duplicate method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
The Duplicate method is a configure-time method. Duplicate copies any object currently selected.
Furthermore, a duplicated object also duplicates its children (contained objects). New names are
generated for each new object and all inter-object relationships (connections, containment, internal
script object references) are changed to use the new names of the duplicated objects.

EditPicture Method
Opens the Picture’s configuration dialog box.

527
iFIX Automation Reference

Syntax
object.EditPicture

Properties
The EditPicture method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
EditPicture is a Configuration environment method only.

Enable Method
Enables or disables a Color Button.

Syntax
object.Enable bEnable

Properties
The Enable method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bEnable Boolean. If True, the Color Button is enabled. If False, the Color Button is disabled.

Enumerate_All_Dynamos Method
Returns a list (collection) of Dynamo objects, including those in groups, for a specified collection. The
specified collection is usually in picture's contained object collection or that of a Dynamo Set.

Syntax
object.Enumerate_All_Dynamos (pdispObjCollectionToSearch, ppdispObjCollectionOfDynamos)

528
IFIX Automation Reference

Properties
The Enumerate_All_Dynamos method syntax has these parts:

Part Description

object A FixGeometryHelper object.

pdispObjCollectionToSearch A collection of objects that you want to search for Dynamo


objects.

ppdispObjCollectionOfDynamos The collection of Dynamo objects that were found in the


search.

Enumerate_All_Groups Method
Enumerates the Groups in the supplied list.

Syntax
object.Enumerate_All_Groups (pdispObjCollectionToSearch, ppdispObjCollectionOfDynamos )

Properties
The Enumerate_All_Groups method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies


To list.

pdispObjCollectionToSearch A collection of objects that you want to search for group


objects.

ppdispObjCollectionOfDynamos The collection of group objects that were found in the search.

Enumerate_Top_Level_Dynamos Method
Returns a list (collection) of Dynamo objects, not including Dynamos found within groups, for a
specified collection.

529
iFIX Automation Reference

Syntax
object.Enumerate_Top_Level_Dynamos (pdispObjCollectionToSearch,
ppdispObjCollectionOfDynamos)

Properties
The Enumerate_Top_Level_Dynamos method syntax has these parts:

Part Description

object A FixGeometryHelper object.

pdispObjCollectionToSearch A collection of objects that you want to search for Dynamo


objects.

ppdispObjCollectionOfDynamos
The collection of Dynamo objects that were found in the
search.

Enumerate_Top_Level_Groups Method
Enumerates the top level groups in the supplied list.

Syntax
object.Enumerate_Top_Level_Groups (pdispObjCollectionToSearch,
ppdispObjCollectionOfDynamos)

Properties
The Enumerate_Top_Level_Groups method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies


To list.

pdispObjCollectionToSearch A collection of objects that you want to search for group


objects.

ppdispObjCollectionOfDynamos The collection of group objects that were found in the search.

530
IFIX Automation Reference

Remarks
We recommend that you build groups either by using the BuildObject method on the group object, or
using the Group method on the Picture object to group the selected objects.

ExchangePenPositions Method
Sets the location of a Pen within the Pens collection.

Syntax
object.ExchangePenPositions iNewPos, iOldPos

Properties
The ExchangePenPositions method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

iNewPos Integer. The new location of the pen.

iOldPos Integer. The current location of the pen.

Remarks
Note that when this method is called for a Pen, all pens starting at that index in the collection are
shifted down one (for example, their index is incremented by one).

Execute Method
Used to force execution of the KeyMacro’s associated procedure.

Syntax
object.Execute()

Properties
The Execute method syntax has this part:

531
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Return Value

Return Type Description

Boolean Indication whether or not the key was processed

ExecuteKeyMacro Method
Searches the collection of the passed key combination, if a matching key macro object is found the
script associated with that key macro object is executed.

Syntax
object.ExecuteKeyMacro (ComboKey, KeyCode)

Properties
The ExecuteKeyMacro method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ComboKey enumCombinationKey. The control shift part of the key combination.

KeyCode Integer. The ASCII value of the main key of the key combination.

ExportData Method
Exports the data in the Enhanced Chart in text format to the clipboard or to a file.

Syntax
object.ExportData bstrDest, enuExportStyle, [blnIncludingLabels], [blnUseMaximumPrecision]]

532
IFIX Automation Reference

Properties
The ExportData method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrDest String. Empty for the system clipboard. To export to a file, use the full
path.

533
iFIX Automation Reference

Part Description

enuExportstyle Enum/Long. Specifies various styles with which the data is exported.
It can be either of type enumDataExportStyle or a corresponding
numerical value, as follows:
DataExportStyle_CommaSeparatedList (0): a comma separated list of
data.
DataExportStyle_TabSeparatedList (1): a tab separated list of data.
DataExportStyle_HorizontalTable (2): a table in which each row has
data for one dataset.
DataExportStyle_VerticalTable (3): a table in which each column has
data for one dataset.
NOTE: In order to use the enumImageFormat enumerations, you
must add the type library file for object to the references of the VBA
project. If the type library file is not included in the references, then
only numerical values are accepted. The type libraries for objects in
the Applied To list are as follows:

Object Reference Type Library File Name

HistogramChart iFix 2D Fix2DHistogramChartDll.tlb


Histogram
Chart
Object v1.0
Type
Library

LineChart iFix 2D Fix2DLineChartDll.tlb


Line Chart
Object v1.0
Type
Library

SPCBarChart iFix 2D Fix2DSPCBarChartDll.tlb


SPC Bar
Chart
Object v1.0
Type
Library

XYChart iFix 2D XY Fix2DXYChartDll.tlb


Chart
Object v1.0
Type
Library

534
IFIX Automation Reference

Part Description

blnIncludingLabels Boolean. Specifies whether X-axis and Y-axis labels will be exported
along with data. Defaults to True if unspecified.

blnUseMaximumPrecision Boolean. Specifies whether the maximum precision or the current


precision should be used. Defaults to False (current precision) if
unspecified.

ExportImage Method
Takes a snapshot of the specified Enhanced Chart object and exports the resultant image to a file or the
system clipboard. You can specify the file format for the exported image.

Syntax
object.ExportImage bstrDest, enuFormat, enuSizeUnits, dblWidth, dblHeight, [lngDPI],
[blnLargeFont]

Properties
The ExportImage method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrDest String. Leave empty for the system clipboard. To export to a file, use the full
path.

535
iFIX Automation Reference

Part Description

enuFormat Enum/Long. Specifies the desired image format. It can be either of type
enumImageFormat or a corresponding numerical value, as follows:
ImageFormat_WMF (0): WMF format
ImageFormat_BMP (1): BMP format
ImageFormat_JPG (2): JPG format
ImageFormat_PNG (3): PNG format
ImageFormat_EMF (5): EMF format
NOTE: In order to use the enumImageFormat enumerations, you must add the
type library file for object to the references of the VBA project. If the type library
file is not included in the references, then only numerical values are accepted.
The type libraries for objects in the Applied To list are as follows:

Object Reference Type Library File Name

HistogramChart iFix 2D Histogram Fix2DHistogramChartDll.tlb


Chart Object v1.0
Type Library

LineChart iFix 2D Line Chart Fix2DLineChartDll.tlb


Object v1.0 Type
Library

SPCBarChart iFix 2D SPC Bar Chart Fix2DSPCBarChartDll.tlb


Object v1.0 Type
Library

XYChart iFix 2D XY Chart Fix2DXYChartDll.tlb


Object v1.0 Type
Library

536
IFIX Automation Reference

Part Description

enuSizeUnits Enum/Long. Specifies in what units the image size is specified with dblWidth and
dblHeight. It can be either of type enumSizeUnits or a corresponding numerical
value, as follows:
NOTE: Not all the formats support all the units.

Numerical Value Format Comments

SizeUnits_Pixels (0): in BMP, This is the only supported


pixels. JPG, unit for these formats.
PNG

SizeUnits_NoSpecificSize WMF Specifies that the WMF will


(0) use the maximum size (8
inches for the longer
dimension and 1200 DPI)
and dblWidth and dblHeight
only determine the aspect
ratio of the image. In such
cases, dblWidth and
dblHeight should fall
between 1 and 10000
inclusively.

SizeUnits_Millimeters (1): WMF, Dimensions must be between


in millimeters. EMF 25 and 432 millimeters.

SizeUnits_Inches (2): in WMF, Dimensions must be between


inches. EMF 1 and 17 inches.

SizeUnits_Points (3): in WMF, Dimensions must be between


Postscript points (1/72 EMF 72 and 1224 points.
inches).

NOTE: In order to use the enumSizeUnits enumerations, you must add the type
library file for object to the references of the VBA project. If the type library file
is not included in the references, then only numerical values are accepted. The
type libraries for objects in the Applied To list are as follows:

Object Reference Type Library File Name

HistogramChart iFix 2D Histogram Fix2DHistogramChartDll.tlb


Chart Object v1.0
Type Library

LineChart iFix 2D Line Chart Fix2DLineChartDll.tlb


Object v1.0 Type
Library
537
SPCBarChart iFix 2D SPC Bar Chart Fix2DSPCBarChartDll.tlb
Object v1.0 Type
Library
iFIX Automation Reference

Part Description

dblWidth Double. Specifies the width of the image, in the units specified in enuSizeUnits.

dblHeight Specifies the heigth of the image, in the units specified in enuSizeUnits.

lngDPI Long. Specifies the dot density of the image, in dots per inch. Defaults to 300 if
left unspecified. It must fall between 50 and 600; otherwise it will be ignored.
This parameter does not apply to WMF format if enuSizeUnits is set to
SizeUnits_NoSpecificSize.

blnLargeFont Boolean. Specifies whether large font should be used in the chart image. Defaults
to False if left unspecified.

Remarks
Regardless of format and dimension, the aspect ratio must be between 0.1 and 10.

ExportLanguageFile Method
Exports the language file for the specified picture or pictures. You can specify the language for an
individual picture, or you can specify the language for all pictures.

The method Object.ExportLanguageFile, uses the LanguageDesired property to export language files.

The method Object.ExportLanguageFile (xxxx), uses the specified language (xxxx) to export language
files.

Syntax
object.ExportLanguageFile [LanguageDesired as Long]

Properties
The ExportLanguageFile method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies


To list.

538
IFIX Automation Reference

Part Description

LanguageDesired Long Default


(Optional) CA_Catalan
CS_Czech
DA_Danish
DE_German
EL_Greek
EN_English
ES_Spanish
FI_Finnish
HU_Hungarian
IT_Italian
JA_Japanese
KO_Korean
NL_Dutch
NO_Norwegian
PL_Polish
RU_Russian
SR_Cyrillic
HR_Croatian
SK_Slovak
SV_Swedish
TH_Thai
TR_Turkish
IN_Indonesian
SL_Slovenian
EU_Basque
ZHTW_Chinese - Taiwan
FR_French
PTBR_Brazilian Portuguese
PT_Portuguese
ZHCH_Chinese PRC
FRCA_French Canadian

FindAndReplaceDialog Method
Opens the WorkSpace’s Find And Replace dialog box.

Syntax
object.FindAndReplaceDialog

539
iFIX Automation Reference

Properties
The FindAndReplaceDialog method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
FindAndReplaceDialog is a Configuration environment method only.

For non-UI find and replace substitutions, see the FindReplace object.

FindInString Method
Finds the first occurrence of one string within another.

Syntax
object.FindInString bstrTargetString, lStartChar, bstrFindString, lFlags, pbstrMarkedMatchString,
plFirstChar, plCharCount, pbFound

Properties
The FindInString method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrTargetString String. String to be searched.

lStartChar Long. One-based index of character in target string at which to start


the search.

bstrFindString String. String to search for.

540
IFIX Automation Reference

Part Description

lFlags Long. Search modifiers.


Valid entries:
0-15 in any of the following combinations:
0 - No modifiers
1 - Match Case
2 - Whole Word Only
4 - Data Source Only
8 - Include Scripts

pbstrMarkedMatchString String. Returns sub-string extracted from target string with marker
characters inserted.

plFirstChar Long. Returns a one-based index of first character in the target string
which is involved in the match with the find string.

plCharCount Long. Returns the number of characters in the target string which
were involved in the match of the find string.

pbFound Boolean. Returns True if a match was found, False otherwise. If


False, the pbstrMarkedMatchString is set to null.

Remarks
The pbstrMarkedMatchString, plFirstChar, and plCharCount parameters provide the user with the
information needed to perform a subsequent ReplaceInString operation.

FindObject Method
Locates an object in the system or in the specified object's ContainedObjects collection.

Syntax
system.FindObject(bstrFullyQualifiedName)

Properties
The FindObject method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

541
iFIX Automation Reference

Part Description

bstrFullyQualifiedName String. The name of the object you want to find.

Return Value
Object. The dispatch pointer of the object.

Remarks
FindObject must be called off the System object when searching for data items. FindObject off any
other object looks for the specified object within scope of that object. That is, FindObject off a Group
will only look for the object within that Group.

FindReplaceInObject Method
Finds all occurrences of a string in the specified object and replaces them with another string.

Syntax
object.FindReplaceInObject pdispObject, lFlags, bstrFindString, bstrReplacementString, pbSuccess

Properties
The FindReplaceInObject method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

pdispObject Object. Object to be searched.

lFlags Long. Search modifiers.


Valid entries:
0-15 in any of the following combinations:
0 - No modifiers
1 - Match Case
2 - Whole Word Only
4 - Data Source Only
8 - Include Scripts

bstrFindString String. String to be searched for.

542
IFIX Automation Reference

Part Description

bstrReplacementString String. String to be substituted for all occurrences of bstrFindString.

pbSuccess Boolean. Returns True if the operation succeeded, False otherwise.

FindReplaceInString Method
Finds the first occurrence of a string within a specified string and replaces it with another.

Syntax
object.FindReplaceInString pbstrTargetString, lStartChar, bstrFindString, bstrReplacementString,
lFlags, plFirstChar, plCharCount, pbstrResultString, pbSuccess

Properties
The FindReplaceInString method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

pbstrTargetString String. The name of the event.

lStartChar String. The code to be written to the event in the form of strings.

bstrFindString String. The string to search for.

bstrReplacementString String. The string to be substituted for the first occurrence of the find
string.

lFlags Long. Search modifiers.


Valid entries:
0-15 in any of the following combinations:
0 - No modifiers
1 - Match Case
2 - Whole Word Only
4 - Data Source Only
8 - Include Scripts

543
iFIX Automation Reference

Part Description

plFirstChar Long. Returns a one-based index of the first character in the target string
which was involved in the match with the find string.

plCharCount Long. Returns the number of characters in the target string which were
involved in the match of the find string.

pbstrResultString String. Returns the new string with the specified replacement.

pbSuccess Boolean. Returns True if the operation succeeded, False otherwise.

FitDocumentToWindow Method
Changes the size of the document so that the entire document can be seen in the window. In instances
where the document is bigger than the window and scrollbars are present, the document is shrunk so
that it fits within the window.

Syntax
object.FitDocumentToWindow [bRedraw]

Properties
The FitDocumentToWindow method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bRedraw Boolean. (Optional) If True, repaint the document. (Default) If False, make the
changes but don't repaint the document.

FitWindowToDocument Method
Changes the size of the window (within the limits of the WorkSpace client area) to fit the size of the
document.

Syntax
object.FitWindowToDocument [bRedraw]

544
IFIX Automation Reference

Properties
The FitWindowToDocument method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bRedraw Boolean. (Optional) If True, repaint the document. (Default) If False, make the
changes but don't repaint the document.

FixCheckApplicationAccess Method
Checks to see if the user has access to the specified application.

Syntax
object.FixCheckApplicationAccess(ApplicationID)

Properties
The FixCheckApplicationAccess method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ApplicationID Integer Enumeration. The ID that corresponds to the application the user is
interested in.

Return Value
Long. Returns 1 if the user has access to the specified application, 0 otherwise.

FixCheckApplicationAccessQuiet Method
Checks to see if the user has access to the specified application. The
FixCheckApplicationAccessQuiet method refrains from sending a security violation message if the
user does not have access.

545
iFIX Automation Reference

Syntax
object.FixCheckApplicationAccessQuiet(ApplicationID)

Properties
The FixCheckApplicationAccessQuiet method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ApplicationID Integer Enumeration. The ID that corresponds to the application the user is
interested in.

Return Value
Long. Returns 1 if the user has access to the specified application, 0 otherwise.

FixCheckAreaAccess Method
Checks to see if the user has access to the specified area.

Syntax
object.FixCheckAreaAccess(Area)

Properties
The FixCheckAreaAccess method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Area Integer. The area that the user is trying to access.

Return Value
Long. Returns 1 if the user has access to the specified area, 0 otherwise.

546
IFIX Automation Reference

Remarks
The mapping of area number to area name can be seen in the Security Configurator under area
configuration.

FixCheckAreaAccessQuiet Method
Checks to see if the user has access to the specified area. The FixCheckAreaAccessQuiet method
refrains from sending a security violation message if the user does not have access.

Syntax
object.FixCheckAreaAccessQuiet(Area)

Properties
The FixCheckAreaAccessQuiet method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Area Integer. The area that the user is trying to access.

Return Value
Long. Returns 1 if the user has access to the specified area, 0 otherwise.

Remarks
The mapping of area number to area name can be seen in the Security Configurator under area
configuration.

FixCheckSecurityEnabled Method
Checks to see if security is enabled.

Syntax
object.FixCheckSecurityEnabled()

Properties
The FixCheckSecurityEnabled method syntax has these parts:

547
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Return Value
Long. Returns 1 if the security is enabled, 0 otherwise.

FixGetManualAlmDeleteEnabled Method
Returns information about whether the manual alarm deletion feature is enabled in the System
Configuration Utility (SCU).

Syntax
object.FixGetManualAlmDeleteEnabled

Properties
The FixGetManualAlmDeleteEnabled method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

FixGetUserInfo Method
Returns information about the currently logged in user, including the user name and group name.

Syntax
object.FixGetUserInfo UserID, UserName, GroupName

Properties
The FixGetUserInfo method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

548
IFIX Automation Reference

Part Description

UserID String. Returns the current user ID.

UserName String. Returns the current user name.

GroupName String. Returns the first group to which the user belongs.

FixLogin Method
Logs in the user using the specified user ID and password.

Syntax
object.FixLogin UserID, Password

Properties
The FixLogin method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

UserID String. The users ID.

Password String. The users password.

FixLogout Method
Logs out the user.

Syntax
object.FixLogout

Properties
The FixLogout method syntax has this part:

549
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

FontProperties Method
Displays the Font dialog box.

Syntax
object.FontProperties

Properties
The FontProperties method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

FullView Method
Resize the document to take up the entire screen.

Syntax
object.FullView [bRedraw]

Properties
The FullView method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bRedraw Boolean. (Optional) If True, repaint the document. (Default) If False, make the
changes but don't repaint the document.

550
IFIX Automation Reference

G-H

Get_Last_Prompt_Value Method
Mostly for internal use. Returns the value of the last prompt for choice in the dialog selection. This
value is set only during a Dynamo Update process. Advanced users developing their own tools instead
of using the Dynamo Updater Wizard or Quick Dynamo Updater may find this method useful.

Syntax
object.Get_Last_Prompt_Value

Properties
The Get_Last_Prompt_Value method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Return Value
Integer. Returns the result string of the last operation. The following table lists the possible values.

Value Description

0 Selection dialog box prompt not displayed.

1 Perform update. Do not apply Data Sources. Apply to selected.

2 Perform update. Do not apply Data Sources. Apply to all.

3 Perform update. Attempt to match single Data Source. Apply to selected.

4 Perform update. Attempt to match Data Source. Apply to all.

5 Do not update. Apply to selected.

6 Do not update. Apply to all.

7 Cancel button clicked.

551
iFIX Automation Reference

This string is only set during a Dynamo Updater process.

Get_Last_Result_String Method
Retrieves the last prompt text string for the specified Dynamo object.

Syntax
object.Get_Last_Result_String

Properties
The Get_Last_Result_String method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Return Value
String. Returns the last prompt text string for the Dynamo prompt.

GetBoundRect Method
Returns the shape's current bounding rectangle.

Syntax
object.GetBoundRect pfTop, pfLeft, pfBottom, pfRight

Properties
The GetBoundRect method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

pfTop Double. Returns the top position of the bounding rectangle.

pfLeft Double. Returns the left position of the bounding rectangle.

552
IFIX Automation Reference

Part Description

pfBottom Double. Returns the bottom position of the bounding rectangle.

pfRight Double. Returns the right position of the bounding rectangle.

Remarks
The bounding rectangle is represented in logical coordinates relative to the picture's upper left hand
corner.

GetChartEndTime Method
Returns the end time for the enhanced XY chart.

Syntax
object.GetChartEndTime [= Date]

Properties
The GetChartEndTime method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Date The ending time for the chart. This takes the regional setting format.

GetChartStartTime Method
Returns the start time for the enhanced XY chart.

Syntax
object.GetChartStartTime [= Date]

Properties
The GetChartStartTime method syntax has these parts:

553
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Date The starting time for the chart. This takes the regional setting format.

GetColHeadings Method
Returns the names of all column headings in the Alarm Summary object.

Syntax
object.GetColHeadings bstrColHeadings

Properties
The GetColHeadings method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrColHeadings String. Returns a string containing the column headings of the Alarm
Summary object.

Remarks
The GetColHeadings method returns the Alarm Summary object's column headings in order,
separated by a semicolon.

GetColumnInfo Method
Returns a specific column’s name and size information.

Syntax
object.GetColumnInfo iColumn, szItemName, iNumChars

Properties
The GetColumnInfo method syntax has these parts:

554
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

iColumn Integer. Index to the column you want to access.

szItemName String. Returns the column name.

iNumChars Integer. Returns the number of characters used to determine the column size.

GetConnectionInformation Method
Fetches a property connection information set.

Syntax
object.GetConnectionInformation iIndex, bstrProperyName, bstrSource, bstrFullyQualifiedSource,
vtSourceObjects, [fTolerance], [fDeadband], [fUpdateRate]

Properties
The GetConnectionInformation method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

iIndex Long. The connection index as returned by IsConnected.

bstrProperyName String. Returns the name of property for this connection index.

bstrSource String. Returns the data source object name.

bstrFullyQualifiedSource String. Returns the fully qualified data source name.

tSourceObjects Variant. Returns the array of tokenized expression parameters.

fTolerance Variant. (Optional) Returns the equivalency determination factor.

fDeadband Variant. (Optional) Returns the data change deadband.

555
iFIX Automation Reference

Part Description

fUpdateRate Variant. (Optional) Returns the refresh rate in seconds for this
connection.

GetConnectionParameters Method
Returns the UpdateRate, Deadband and Tolerance for the specified property connection.

Syntax
object.GetConnectionParameters bstrPropertyName, [pvaUpdateRate], [pvaDeadband],
[pvaTolerance], [pvaConnectionFlags]

Properties
The GetConnectionParameters method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrPropertyName String. The name of the connected property.

pvaUpdateRate Variant. (Optional) Returns the refresh rate in seconds for this connection.

pvaDeadband Variant. (Optional) Returns the data change deadband.

pvaTolerance Variant. (Optional) Returns the equivalency determination factor.

pvaConnectionFlags Variant. Reserved.

GetContinuousUser Method
Retrieves the user name of the continuous user.

Syntax
object.GetContinuousUser(bstrUserName, lcount)

556
IFIX Automation Reference

Properties
The GetContinuousUser method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrUserName String. The user name of the continuous user.

lcount Long. Returns the value of the continuous user counter. Use the counter to
determine if the continuous user has been modified since a previous call to the
GetContinuousUser method.

Return Value
This method returns HRESULT. If the HRESULT is a value other than S_OK, VBA generates an
error. You can handle this error using the On Error Statement. You can find out more information
about the error by using Err Object.

GetCurrentDataSet Method
Retrieves an object reference to the current data set for the Enhanced Chart.

Syntax
object.GetCurrentDataSet

Properties
The GetCurrentDataSet method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Return Value
Object – the Dataset object retrieved.

557
iFIX Automation Reference

GetCurrentValue Method
Returns the value, time stamp, and quality information of the current data associated with the pen
object.

Syntax
object.GetCurrentValue CurrentValue, dt, lQual

Properties
The GetCurrentValue method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

CurrentValue Single. Returns the current value of the pen’s data source.

dt Date. Returns the associated time stamp of the value.

lQual Integer. Returns the OPC quality codes representing the quality of the data being
sent.

GetCurrentValueWithQuality Method
Returns the current value, time stamp, and quality information of the dataset.

Syntax
object.GetCurrentValueWithQuality CurrentValue, dt, lQual

Properties
The GetCurrentValueWithQuality method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

CurrentValue Double. Returns the current value of the dataset.

558
IFIX Automation Reference

Part Description

dt Variant. Returns the associated time stamp of the value if the dataset's X axis is
time. Returns a Double for any other data type.

lQual
Long. Returns the OPC quality code representing the quality of the data being
retrieved.

GetDataSetByPosition Method
Retrieves the Dataset object by position.

Syntax
object.GetDataSetByPosition nDSPosition

Properties
The GetDataSetByPosition method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

nDSPosition Long. The position of the data set that you want to retrieve from the chart object.
Position is 0 based.

Return Value
Object – the dispatch pointer of the Dataset object retrieved by position.

GetDeviceRect Method
Returns the shape's current bounding rectangle in device coordinates.

Syntax
object.GetDeviceRect plTop, plLeft, plBottom, plRight

559
iFIX Automation Reference

Properties
The GetDeviceRect method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

plTop Long. Returns the top position of the bounding rectangle.

plLeft Long. Returns the left position of the bounding rectangle.

plBottom
Long. Returns the bottom position of the bounding rectangle.

plRight
Long. Returns the right position of the bounding rectangle.

GetDuration Method
Returns the duration for the current object.

Syntax
object.GetDuration days, hours, minutes, seconds

Properties
The GetDuration method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

days Long. Returns the days portion of the duration time.

hours Long. Returns the hours portion of the duration time.

minutes Long. Returns the minutes portion of the duration time.

seconds Long. Returns the seconds portion of the duration time.

560
IFIX Automation Reference

GetGlobalDuration Method
Returns the duration for the current object.

Syntax
object.GetGlobalDuration days, hours, minutes, seconds

Properties
The GetGlobalDuration method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

days Long. Returns the days portion of the duration time.

hours Long. Returns the hours portion of the duration time.

minutes Long. Returns the minutes portion of the duration time.

seconds Long. Returns the seconds portion of the duration time.

GetErrorString Method
Returns the error string that corresponds to the specified error number.

Syntax
object.GetErrorString(errcode)

Properties
The GetErrorString method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

errcode Long. Returns the error code generated from a method call and/or property setting.

561
iFIX Automation Reference

Return Value
String. The text string associated with the specified error code.

GetEventHandlerIndex Method
Returns the index of the Event member in the Procedures collection.

Syntax
object.GetEventHandlerIndex bstrEventName, pIndex, pFound

Properties
The GetEventHandlerIndex method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrEventName String. The name of the event.

pIndex Long. Numerical index of the procedures position in the existing collection.
Note: This index is transient, it will change as procedures are added or deleted.

pFound Long. Returns 1 if an event procedure is present, 0 if no event procedure is


present.

GetFullname Method
Returns the full name of a user.

Syntax
object.GetFullname(bstrUsername, bstrFullname)

Properties
The GetFullname method syntax has these parts:

562
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrUserName String. The user name of the user in Windows security or the login name of the
user in iFIX Security.

bstrFullname String. Returns the full name of the user.

Return Value
This method returns HRESULT. If the HRESULT is a value other than S_OK, VBA generates an
error. You can handle this error using the On Error Statement. You can find out more information
about the error by using Err Object.

GetGlobalHistoricalUpdateRate Method
Returns the update rate for historical data sources in run mode.

Syntax
object.GetGlobalHistoricalUpdateRate hrs, mins, secs

Properties
The GetGlobalHistoricalUpdateRate method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

hrs Long. Returns the hours portion of the update rate.

mins Long. Returns the minutes portion of the update rate.

secs Long. Returns the seconds portion of the update rate.

GetIndirectionInfo Method
Reserved for internal use.

563
iFIX Automation Reference

GetInterval Method
Returns the interval for the current object.

Syntax
object.GetInterval days, hours, minutes, seconds

Properties
The GetInterval method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

days Long. Returns the days portion of the interval time.

hours Long. Returns the hours portion of the interval time.

minutes Long. Returns the minutes portion of the interval time.

seconds Long. Returns the seconds portion of the interval time.

GetKeyMacro Method
Returns a key macro object defined by key combination, if one exists.

Syntax
object.GetKeyMacro (ComboKey, KeyCode )

Properties
The GetKeyMacro method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ComboKey enumCombinationKey. The control shift part of the key combination.

564
IFIX Automation Reference

Part Description

KeyCode Integer. The ASCII value of the main key of the key combination.

GetKeyMacroIndex Method
Returns the index of the key macro specified by the key combination.

Syntax
object.GetKeyMacroIndex (ComboKey, KeyCode, Index, Found )

Properties
The GetKeyMacroIndex method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ComboKey enumCombinationKey. The control shift part of the key combination.

KeyCode Integer. The ASCII value of the main key of the key combination.

Index Long. Index of KeyMacro, (-1, if not found).

Found Boolean (optional). True, if found. False if not found.

GetLevel Method
Gets the level properties for the specified level index of the lookup object.

Syntax
object.GetLevel iIndex, pInput1, pOutput1, [pInput2], [pOutput2]

Properties
The GetLevel method syntax has these parts:

565
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

iIndex Long. 1-based index into the array of levels.

pInput1 Variant. Returns the first input parameter. Used as the lookup value for exact
match lookups, and the minimum value for range comparison lookups.

pOutput1 Variant. Returns the primary output value at this level.

Variant. (Optional) Returns the second input parameter. Used as the maximum
pInput2 value for range comparison lookups.

Variant. (Optional) Returns the secondary output value for this level. Used by the
pOutput2 lookup object as the “blink to” value at this level.

GetNumberOfDataSets Method
Retrieves the number of data sets in an Enhanced Chart.

Syntax
object.GetNumberOfDataSets ()

Properties
The GetNumberOfDataSets method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Return Value
Long – the number of data sets in the chart.

566
IFIX Automation Reference

GetObjectInfo Method
Returns a two-dimensional array containing the property values for the specified objects.

Syntax
object.GetObjectInfo(bstrObjectNames, bstrProperties)

Properties
The GetObjectInfo method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrObjectNames String Array. An array of object names the user wants values for.

bstrProperties String Array. An array of property names the user wants values for.

Return Value
Variant Array. A two-dimensional array consisting of the property values corresponding to the
specified property names for the specified objects.

Remarks
GetObjectInfo will return a value of EMPTY if the user has specified an invalid object and/or
property name.

GetPenDataArray Method
Fetches the data array for the specified Pen

Syntax
object.GetPenDataArray pNumPts, pVal, ppsa, pQual

Properties
The GetPenDataArray method syntax has these parts:

567
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

pNumPts Long. Number of array points.

pVal Array of variants. An array of values for each point in the pen.

ppsa Array of variants. An array of times for each point in the pen.

pQual Array of variants. An array of qualities for each point in the pen.

Remarks
The Pen data array is a set of three arrays containing the value, time stamp, and quality information for
each point. The array is ordered as drawn left to right, with the most recent data elements at the end of
the array.

GetPenDataArrayEx Method
Fetches the data array for the specified Pen

Syntax
object.GetPenDataArrayEx pNumPts, pVal, ppsa, pQual, pMilliseconds

Properties
The GetPenDataArrayEx method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

pNumPts Long. Number of array points.

pVal Array of variants. An array of values for each point in the pen.

ppsa Array of variants. An array of times for each point in the pen.

pQual Array of variants. An array of qualities for each point in the pen.

568
IFIX Automation Reference

Part Description

PMilliseconds Array of variants. An array containing the millisecond component of the


timestamp for each point in the pen.

Remarks
The Pen data array is a set of four arrays containing the value, time stamp (excluding milliseconds),
quality, and millisecond component of the timestamp information for each point. The array is ordered
as drawn left to right, with the most recent data elements at the end of the array.

GetPointAt Method
Returns the point at the given index.

Syntax
object.GetPointAt(lIndex)

Properties
The GetPointAt method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

lIndex Long. The index of the point you want returned.

Return Value
Object. An object of class FixFloatPoint, which contains the x and y logical coordinates.

Remarks
This function allows users to iterate through the data point array. The maximum index is determined
by the number of data points in the object.

GetPriorityColor Method
Returns the row background color configured for the specified alarm priority.

569
iFIX Automation Reference

Syntax
object.GetPriorityColor(PriorityId)

Properties
The GetPriorityColor method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

PriorityId Integer. The ID corresponding to the alarm priority.


Valid entries for iFIX 3.5 and earlier:
0 - High
1 - Medium
2 - Low
Valid entries for iFIX 4.0 and later:
3 - CRITICAL
4 - HIHI
5 - HIGH
6 - MEDIUM
7 - LOW
8 - LOLO
9 - INFO (INFORMATIONAL)

Return Value
OLE_COLOR. The row background color configured for the specified alarm priority.

GetProcedureIndex Method
Returns the index of the Procedure member in the Procedures collection.

Syntax
object.GetProcedureIndex bstrProcName, pIndex, pFound

Properties
The GetProcedureIndex method syntax has these parts:

570
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrProcName String. The name of the procedure.

pIndex Long. Numerical index of the procedures position in the existing collection.
Note: This index is transient, it will change as procedures are added or deleted.

pFound Long. Returns 1 if a procedure is present, 0 if no procedure is present.

GetProperty Method
Returns the value of the specified property name.

Syntax
object.GetProperty bstrPropertyName, vaValue

Properties
The GetProperty method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrPropertyName String. The name of the property.

aValue Variant. Returns the value of the property.

Remarks
The GetProperty and SetProperty methods are useful for creating table driven property operations.
Generic import and export functions can be written given a list of property names to access (also see
ListProperties).

GetPropertyAttributes Method
Fetches a list of property attributes. For a tag reference, these are properties such as new alarm status
and property range information (EGU limits, list of strings alarm strings (HIHI, LOLO, etc)). Each
property queried may have a different set of attributes.

571
iFIX Automation Reference

Syntax
object.GetPropertyAttributes bstrFullyQualifiedName, spAttribute, vtResults, vtAttributeNames,
iStatus

Properties
The GetPropertyAttributes method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrFullyQualifiedName String. The fully specified object reference. For example,


(FIX32.SCADA1.AI1.F_CV).

spAttribute Integer Enumeration. The attribute of the property that you are
interested in.

Valid entries:
0 - CurrentValue
1 - Description
2 - Range
3 - LowEGU
4 - HighEGU
5 - CurrentAlarm
6 - AlarmAcknowledge
7 - AlarmLatched

tResults Variant array. Returns property attribute information. All attribute


information except for the range request performs a database read to
fetch the information from the process database. For the range
attribute, the results vary depending on the qualified name passed. If
the qualified name ends in A_LAALM or A_CUALM then the results
property would return a variant array of strings with the possible alarm
strings (“HI”, “HIHI”, “LO”, “LOLO”, etc.). For the all other field
names (F_CV, A_DESC, etc.) a range request will return the low and
high EGU limits of the block that the field specifies.

Variant array of strings. This is a return value that is used to help map
tAttributesNames one fully qualified name to another. For example, if
Fix32.SCADA1.AI1.F_CV is entered, and the script needs to also fetch
the current alarm status for this tag, calling GetPropertyAttributes
with an attribute type of CurrentAlarm returns the fully qualified name
Fix32.SCADA1.AI1.A_CUALM. This can then be fetched in
conjunction with the first item parsing the string, since different OPC
servers may map alarm status into different fields.

572
IFIX Automation Reference

Part Description

Long. Returns the error status value.


iStatus
Return values are:
0 – OK
1 – Syntax error
2 – Data Undefined
3 – Data type mismatch

GetPropertyTargets Method
Returns a list of object names that have built connections (subscribed) to a property. The targets are the
objects that are sent data when the property's value changes.

Syntax
object.GetPropertyTargets iIndex, bstrPropertyName, vtTargets

Properties
The GetPropertyTargets method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

iIndex Long. The index of the connected property list.

bstrPropertyName String. Returns the property name for the specified connection index.

tTargets Variant. Returns an array of fully qualified names containing connections to


this property.

Remarks
This method can be used to see all objects that are connected to a property. For example, to determine
which objects are connected to a specific tag reference, call this method on the tag reference.

The returned targets variant is an array of fully qualified names of objects that have connections to this
tag. This list is only valid for those connections currently in memory. (Only for currently loaded
objects; not valid for pictures on disk).

573
iFIX Automation Reference

GetRibbonView Method
Returns if the iFIX WorkSpace ribbon is enabled.

Syntax
object.GetRibbonView

Properties
The GetRibbonView method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Return Value
Boolean. True indicates that the iFIX WorkSpace ribbon is enabled. False indicates it is not.

GetSelectedAlmExt Method
Returns the alarm extension fields (A_ALMEXT1, A_ALMEXT2) for the tag in the currently selected
alarm.

Syntax
object.GetSelectedAlmExt(AlmExt1, AlmExt2)

Properties
The GetSelectedAlmExt method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

AlmExt1 String. Returns the string configured in the alarm's first extension field.

AlmExt2 String. Returns the string configured in the alarm's first extension field.

574
IFIX Automation Reference

Return Value
Boolean. True if an alarm is selected, False if no alarm is selected.

Remarks
If no alarm is selected, AlmExt1 and AlmExt2 are set to EMPTY.

GetSelectedNodeTag Method
Returns the node and tag name corresponding to the currently selected alarm.

Syntax
object.GetSelectedNodeTag(sNode, sTag)

Properties
The GetSelectedNodeTag method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

sNode String. Returns the node name corresponding to the currently selected alarm.

sTag String. Returns the tag name corresponding to the currently selected alarm.

Return Value
Boolean. True if an alarm is selected, False if no alarm is selected.

Remarks
If no alarm is selected, sNode and sTag are set to EMPTY.

GetSelectedRow Method
Returns the information for the selected alarm in the Alarm Summary object. Note that even if a
column is not displayed, all information is still returned.

575
iFIX Automation Reference

Syntax
object.GetSelectedRow(bAcknowledged, Handle, Area, DateIn, DateLast, TimeIn, TimeLast, Node,
TagName, Priority, Status, Description, Value, ExtField1, ExtField2, UserDefField1, UserDefField2)

Properties
The GetSelectedRow method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bAcknowledged Boolean. Returns True if the alarm has been acknowledged, False otherwise.

Handle String. Returns the unique identifier for the alarm. Specifically
<type><ipn><nodename>.

Area String. Returns the alarm area(s) for the alarm.

DateIn String. Returns the date when the block first generated the alarm.

DateLast String. Returns the date when the block last generated the alarm.

TimeIn String. Returns the time when the block first generated the alarm.

TimeLast String. Returns the time when the block last generated the alarm.

Node String. Returns the name of the Scada server that generated the alarm.

TagName String. Returns the tagname for the alarm.

Priority String. Returns the priority for the alarm.

Status String. Returns the latched alarm for the block that is in alarm.

Description String. Returns the description field for the block in alarm.

Value String. Returns the current value of the block in alarm.

ExtField1 String. Returns the first extension field for the block in alarm.

ExtField2 String. Returns the second extension field for the block in alarm.

576
IFIX Automation Reference

Part Description

UserDefField1 String. Returns the current value of the first "A_" field configured for this
column.

UserDefField2 String. Returns the current value of the second "A_" field configured for this
column.

Return Value
Boolean. True if an alarm is selected, False if no alarm is selected.

Remarks
If no alarm is selected, all parameters are set to EMPTY.

GetSelectedUserDefFields Method
Returns the current values in the user defined columns configured for the Alarm Summary object.

Syntax
object.GetSelectedUserDefFields(UserDefField1, UserDefField2)

Properties
The GetSelectedUserDefFields method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

UserDefField1 String. Returns the string configured in the alarm's first extension field.

UserDefField2 String. Returns the string configured in the alarm's first extension field.

Return Value
Boolean. True if an alarm is selected, False if no alarm is selected.

577
iFIX Automation Reference

Remarks
If no alarm is selected and/or there are no user defined columns, UserDefField1 and UserDefField2 are
set to EMPTY.

GetSignature Method
Displays the Electronic Signature dialog box based on the values passed in. The dialog box validates
the signing, but does not send a write request to the database or a signed operator message.

If verification is not required, only the Performed By section of the dialog box displays. If verification
is required, both the Performed By and Verified By sections display. If the tag is configured to allow
continuous use, the continuous user name appears in the Performed By user name edit box. Default
comments display based on the threshold table names passed in. If no threshold table names are passed
in, the threshold table names set in the WorkSpace User Preferences, if any, are used to display the
comment pick lists in the dialog box.

Syntax
object.GetSignature(bstrDescription, bVerify, bAllowContinuousUse, pbValidSig, bstrPerformUser,
bstrPerformUserID, bstrPerformComment, [bstrVerifyUser], [bstrVerifyUserID],
[bstrVerifyComment], [bCheckTag], [applicationId], [bstrPerformCommentTb]l,
[bstrVerifyCommentTbl], [pSecAreas], [bstrDialogCaption])

Properties
The GetSignature method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrDescription String. Displays a message in the Electronic Signature dialog box that
describes the action needing a signature.

bVerify Boolean. Indicates whether or not verification is required.

bAllowContinuousUse Boolean. Indicates whether or not the Performed By user name should
default to the name of the continuous user.

bValidSig Boolean. Returns True if a valid signature was captured, or False if


not.

bstrPerformUser String. Returns the user name of the Performed By user.

578
IFIX Automation Reference

Part Description

bstrPerformUserID String. Returns the user ID (short name) of the Performed By user.
This ID is used when sending a signed operator message.

bstrPerformComment String. Returns the comment entered by the Performed By user.

bstrVerifyUser String. (Optional). Returns the user name of the Verified By signature.

bstrVerifyUserID String. (Optional). Returns the user ID (short name) of the Verified By
user. This ID is used when sending a signed operator message.

bstrVerifyComment String. (Optional). Returns the comment entered by the Verified By


user.

bCheckTag Boolean. (Optional). Indicates whether the user access to security


areas assigned to the tag should be checked. The default value is
False. If this is set to True, you must call the Initialize method prior
to calling this method. If you do not call Initialize() or the tag is not a
FIX32 data source, an error is returned when the signature is entered.

applicationId Integer. (Optional). Contains additional application feature to be


checked. Normally, the system checks only the Performed By and
Verified By application features during signature validation. For a list
of application IDs, refer to the FIXCheckApplicationAccess method.
To skip this check, set the value to -1.

bstrPerformCommentTbl String. (Optional). Contains the name of the comment threshold table
to display in the Performed By comment pick list.

bstrVerifyCommentTbl String. (Optional). Contains the name of the comment threshold table
to display in the Verified By comment pick list.

pSecAreas Variant Array. (Optional). Contains a list of security areas to check


when validating the signature.

bstrDialogCaption String. (Optional). Contains the caption that will display in the
Electronic Signature dialog box title bar in place of the default caption
“Electronic Signature.”

Return Value
This method returns HRESULT. If the HRESULT is a value other than S_OK, VBA generates an
error. You can handle this error using the On Error Statement. You can find out more information
about the error by using Err Object.

579
iFIX Automation Reference

GetSignatureAndWriteValue Method
Displays the Electronic Signature dialog box based on the values of the properties set in the ESignature
object by a prior call to the Initialize(), InitalizeList(), IsSignatureRequired(), or
IsSignatureRequiredForList(). Typically, you use this method when performing an electronic signature
for FIX32 data sources. The dialog box validates the signing, sends a write request to the database, and
then sends a signed operator message to the alarm system.

If verification is not required, only the Performed By section of the Electronic Signature dialog box
displays. If verification is required, both the Performed By and Verified By sections display. If the tag
is configured to allow continuous use, the continuous user name appears in the Performed By user
name edit box. Predefined comments display based on the threshold table names passed in. If no
threshold table names are passed in, the threshold table names set in the WorkSpace User Preferences,
if any, are used to display the comment pick lists in the dialog box.

Syntax
object.GetSignatureAndWriteValue(nAction, pValue, [bReadLabels], [bstrZeroLabel],
[bstrNonZeroLabel], [bstrDescription], [bstrPerformCommentTbl], [bstrVerifyCommentTbl],
[pbValidSig], [bstrDialogCaption])

Properties
The GetSignatureAndWriteValue method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

nAction Integer. Indicates the type of action to be performed. Valid entries for
nAction include:
0 – (WRITE_VAL). After validating the signature(s), the value passed
in pValue is written to the database and a signed operator message is
sent to the alarm system logging the action.
3 – (ACK_OR_REMOVE). After validating the signature(s), the
alarm is acknowledged and a signed operator message is sent to the
alarm system logging the action.
4 – (ACK_OR_REMOVE_LIST). After validating the signature(s),
the alarms in the list are acknowledged and a signed operator message
is sent to the alarm system for each alarm that was successfully
acknowledged. For a list requiring both perform and verify signatures,
if a perform signature fails the security area check for any alarm in the
list, the signature fails for the whole list of alarms and no alarms are
acknowledged. An error is generated.

pValue Variant. Contains the value to be written to the database.

580
IFIX Automation Reference

Part Description

bReadLabels Boolean. (Optional). Indicates whether the zero and nonzero


description labels should be read from the database. These labels
format the message string that displays in the Electronic Signature
dialog box and describe the action that is being signed for. Defaults to
True.

bstrZeroLabel String. (Optional). The zero description label to be used when


formatting the message string. The message string displays in the
Electronic Signature dialog box and describes the action that is being
signed for.

bstrNonZeroLabel String. (Optional). The non-zero description label for the message
string. The message string displays in the Electronic Signature dialog
box and describes the action that you sign for.

bstrDescription String. (Optional). Message string that displays in the Electronic


Signature dialog box and describes the action that you sign for. This is
appended to any description that created by the object based on the
nAction parameter.

bstrPerformCommentTbl String. (Optional). Name of the Performed By comment threshold


table to use to display default comments.

bstrVerifyCommentTbl String. (Optional). Name of the Verified By comment threshold table


to use to display default comments.

Boolean. (Optional). Returns True if a valid signature was captured,


pbValidSig False if not.

String. (Optional). Contains the caption that will display in the


bstrDialogCaption Electronic Signature dialog box title bar in place of the default caption
“Electronic Signature.”

Return Value
This method returns HRESULT. If the HRESULT is a value other than S_OK, VBA generates an
error. You can handle this error using the On Error Statement. You can find out more information
about the error by using Err Object.

GetStatusColor Method
Returns the row foreground color configured for alarms with the specified status.

581
iFIX Automation Reference

Syntax
object.GetStatusColor(StatusId)

Properties
The GetStatusColor method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

StatusId Integer. The ID corresponding to the alarm status.


Valid entries:
0 - OK
1 - LOLO
2 - HIHI
3 - LO
4 - HI
5 - RATE
6 - COS
7 - CFN
8 - DEV
9 - FLT
10 - DSAB
11 - ERROR
12 - ANY
13 - NEW
14 - TIME
15 - IOF
16 - OCD
17 - UNDER
18 - OVER
19 - RANGE
20 - COMM
21 - DEVICE
22 - STATION
23 - ACCESS
24 - SQL LOGIN
25 - SQL CMD
26 - DAT MATCH
27 - FLD READ
28 - FLD WRITE
29 - NO DATA
30 - NO XDATA

Return Value
OLE_COLOR. The row foreground color configured for the specified alarm status.

582
IFIX Automation Reference

GetStatusFont Method
Returns the row font for alarms that have the specified status.

Syntax
object.GetStatusFont(nStatusID, lpbStrikeout, lpbUnderline, lpbBold, lpbItalic, lpnSize)

Properties
The GetStatusFont method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

nStatusID Integer. The ID corresponding to the alarm status.


Valid entries:
0 - OK
1 - LOLO
2 - HIHI
3 - LO
4 - HI
5 - RATE
6 - COS
7 - CFN
8 - DEV
9 - FLT
10 - DSAB
11 - ERROR
12 - ANY
13 - NEW
14 - TIME
15 - IOF
16 - OCD
17 - UNDER
18 - OVER
19 - RANGE
20 - COMM
21 - DEVICE
22 - STATION
23 - ACCESS
24 - SQL LOGIN
25 - SQL CMD
26 - DAT MATCH
27 - FLD READ
28 - FLD WRITE
29 - NO DATA
30 - NO XDATA

583
iFIX Automation Reference

Part Description

lpbStrikeout Boolean. Returns whether the text appears with a strikeout through it.

lpbUnderline Boolean. Returns whether the text is underlined.

lpbBold Boolean. Returns whether the text is bold or not.

lpbItalic Boolean. Returns whether the text is italic or not.

lpnSize Integer. Returns the font size of the text.

Return Value
String. The font name of the text for the specified status.

GetTimeBeforeNow Method
Returns the initial relative start time for the current object.

Syntax
object.GetTimeBeforeNow hours, minutes, seconds

Properties
The GetTimeBeforeNow method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

hours Long. Returns the hours portion of the start time.

minutes Long. Returns the minutes portion of the start time.

seconds Long. Returns the seconds portion of the start time.

584
IFIX Automation Reference

GetTimeCursorInfo Method
Returns a set of Pen information (time, value, quality) of the trend at the time where the Pen crosses
the time cursor.

Syntax
object.GetTimeCursorInfo lPenNum, pDt, pfVal, pQuality

Properties
The GetTimeCursorInfo method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

lPenNum Integer. The index for the pen for which you want the time cursor information for.

pDt Date. Returns the date represented when the pen crosses the time cursor.

pfVal Double. Returns the value represented when the pen crosses the time cursor.

pQuality Long. Returns the quality of the data represented when the pen crosses the time
cursor.

GetUserID Method
Returns the user ID (short name) from iFIX security for the given user name and password. This ID is
used when sending a signed operator message.

Syntax
object.GetUserID(bstrUserName, bstrPassword, bstrUserID)

Properties
The GetUserID method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

585
iFIX Automation Reference

Part Description

bstrUserName String. The name of the event.

bstrPassword String. The code to be written to the event in the form of strings.

bstrUserID String. Returns the user ID (short name) of the user in iFIX security.

Return Value
This method returns HRESULT. If the HRESULT is a value other than S_OK, VBA generates an
error. You can handle this error using the On Error Statement. You can find out more information
about the error by using Err Object.

GetWindowLocation Method
Retrieves the specified window’s size and location in terms of percentage of the screen.

Syntax
object.GetWindowLocation plfTopPct, plfLeftPct, plfHeight, plfWidth

Properties
The GetWindowLocation method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

plfTopPct Double. Returns the top percentage of the window relative to the WorkSpace client
area.

plfLeftPct Double. Returns the left percentage of the window relative to the WorkSpace
client area.

plfHeightPct Double. Returns the percentage of horizontal screen space.

plfWidthPct Double. Returns the percentage of vertical screen space.

586
IFIX Automation Reference

GlobalScrollBackFast Method
Scrolls the Global Time Control time frame forward by the factor specified in the object's
GlobalFastScrollRate property. This method applies to historical data sources in run mode. When this
method is executed on the Global Time Control in run mode, the time frame specified in the Global
Time Control will move forward by the specified slow scroll rate.

Syntax
object.GlobalScrollBackFast

Properties
The GlobalScrollBackFast method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

GlobalScrollBackSlow Method
Scrolls the Global Time Control time frame forward by the factor specified in the object's
GlobalSlowScrollRate property. This method applies to historical data sources in run mode. When this
method is executed on the Global Time Control in run mode, the time frame specified in the Global
Time Control will move forward by the specified slow scroll rate.

Syntax
object.GlobalScrollBackSlow

Properties
The GlobalScrollBackSlow method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

GlobalScrollForwardFast Method
Scrolls the Global Time Control time frame forward by the factor specified in the object's
GlobalFastScrollRate property. This method applies to historical data sources in run mode. When this
method is executed on the Global Time Control in run mode, the time frame specified in the Global

587
iFIX Automation Reference

Time Control will move forward by the specified slow scroll rate.

Syntax
object.GlobalScrollForwardFast

Properties
The GlobalScrollForwardFast method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

GlobalScrollForwardSlow Method
Scrolls the Global Time Control time frame forward by the factor specified in the object's
GlobalSlowScrollRate property. This method applies to historical data sources in run mode. When this
method is executed on the Global Time Control in run mode, the time frame specified in the Global
Time Control will move forward by the specified slow scroll rate.

Syntax
object.GlobalScrollForwardSlow

Properties
The GlobalScrollForwardSlow method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

GlobalTimerApply Method
Applies the configured global time control settings to historical data sources in all open pictures in run
mode.

Syntax
object.GlobalTimerApply

588
IFIX Automation Reference

Properties
The GlobalTimerApply method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Group Method
Forms a Group consisting of the currently selected objects. This is equivalent to selecting Group from
the Format menu.

Syntax
object.Group

Properties
The Group method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Group is a Configuration environment method only.

The Group method assumes that the objects selected are at the top most level. That is, grouping
objects that are selected in drill down mode groups the top-most group containing the selected object.

HiLoDisplay Method
Sets the HiDisplay and LoDisplay properties for the Time Axis of a Chart.

Syntax
object.HiLoDisplay HiDisplay, LoDisplay

Properties
The HiLoDisplay method syntax has these parts:

589
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

HiDisplay Date. The date to set the HiDisplay property.

LoDisplay Date. The date to set the LoDisplay property.

I-L

ImportToolbar Method
Imports an iFIX toolbar.

Syntax
object.ImportToolbar bstrToolbarName, bstrToolbarOwner

Properties
The ImportToolbar method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrToolbarName String. Name of the toolbar file to be imported.

BstrToolbarOwner String. Name of the newly imported toolbar's owner (WorkSpace, Picture, or
Scheduler)

Initialize Method
Sets the object’s data variables based on the value of the bstrDataSource parameters. If the method
encounters an error (such as bad syntax), a corresponding error code is stored in a member variable of
the object for later checking.

If the data source is FIX32 it reads electronic signature fields from the tag, and sets the associated
variables in the object with the data that was read from the tag. If an error occurs reading the settings

590
IFIX Automation Reference

from the tag, a corresponding error code is stored in a member variable of the object for later checking.

Syntax
object.Initialize(bstrDataSource)

Properties
The Initialize method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrDataSource String. The fully qualified name of the data source. For example,
FIX32.NODE1.do1.F_CV or, section.node.tag.field format for FIX32 data
sources.

Return Value
This method returns an HRESULT, indicating the success or failure of the method call: S_OK for a
success or an error code for a failure.

InitializeList Method
Evaluates the data source names in the pDataSourceList parameters and determines if they represent
FIX32 data. If all data sources are FIX32, it reads the signature settings from the database for each data
source in the list and sets corresponding variables in the object.

If an error occurs reading the settings from the database, a corresponding error code is stored in a
member variable of the object for later checking.

Syntax
object.InitializeList(pDataSourceList)

Properties
The InitializeList method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

591
iFIX Automation Reference

Part Description

pDataSourceList Variant array. The fully qualified names of the data sources.

Return Value
This method returns HRESULT. If the HRESULT is a value other than S_OK, VBA generates an
error. You can handle this error using the On Error Statement. You can find out more information
about the error by using Err Object.

InsertPoint Method
Inserts a new point at the given index.

Syntax
object.InsertPoint lIndex, pdispPoint

Properties
The InsertPoint method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

lIndex Long. The position at which to insert a point.

pdispPoint Object. FixFloatPoint object containing x,y values.

InteractiveExport Method
Launches the Export dialog box for the Enhanced Chart, even if the chart is non-modifiable at run
time.

Syntax
object.InteractiveExport

Properties
The InteractiveExport method syntax has this part:

592
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

IsColorSelectionVisible Method
Determines if the WorkSpace’s Color Selection dialog box is open.

Syntax
object.IsColorSelectionVisible

Properties
The IsColorSelectionVisible method syntax has this part::

Part Description

object An object expression that evaluates to an object in the Applies To list.

Return Value
Boolean. True if the Color Selection dialog box is open, False if it is not.

Remarks
IsColorSelectionVisible is a Configuration environment method only.

IsConnected Method
Determines if the specified property has an assigned animation connection.

Syntax
object.IsConnected bstrPropertyName, bHasConnection, iIndex, iStatus

Properties
The IsConnected method syntax has these parts:

593
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrPropertyName String. The name of property.

bHasConnection Boolean. Returns True if the property has a connection, otherwise False.

iIndex Long. Returns the index for the property connection (useful for
GetConnectionInformation).

iStatus Long. Returns the error value.


Return values are:
0 – OK
1 – Syntax error
2 – Data Undefined
3 – Data type mismatch
4 – Invalid use of property for this type of object
5 - Unexpected Expression Returned

IsEmpty Method
Determines if the Lookup object contains any levels.

Syntax
object.IsEmpty pbRefVal

Properties
The IsEmpty method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrEventName Boolean. Returns True if the Lookup object doesn't contain any levels, False if
it does.

IsKeyMacroDefined Method
Returns whether or not a key macro defined by the key combination exits.

594
IFIX Automation Reference

Syntax
object.IsKeyMacroDefined (ComboKey, KeyCode )

Properties
The IsKeyMacroDefined method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ComboKey enumCombinationKey. The control shift part of the key combination.

KeyCode Integer. The ASCII value of the main key of the key combination.

IsNodeSignEnabled Method
Checks to see if the node is enabled for electronic signature by determining if the Electronic Signature
option is enabled on the node’s hardware key, if iFIX security is enabled on the node, and whether
bypass signature is in effect. Bypass signature applies when the currently logged in iFIX user has the
Electronic Signature-Bypass application feature assigned.

Syntax
object.IsNodeSignEnabled(pbEnabled)

Properties
The IsNodeSignEnabled method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

pbEnabled Boolean. Returns True if signature is enabled on the local node, False if it is not.

Return Value
This method returns HRESULT. If the HRESULT is a value other than S_OK, VBA generates an
error. You can handle this error using the On Error Statement. You can find out more information
about the error by using Err Object.

595
iFIX Automation Reference

IsSignatureRequired Method
Evaluates the variables set by the Initialize method and the value of the nAction parameter to
determine whether the signature is required for the data source.

Syntax
object.IsSignatureRequired(nAction, bSignaturedRequired, [pInfo], [bVerify],
[bAllowContinuousUse])

Properties
The IsSignatureRequired method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

nAction Integer. Indicates the type of action associated with this signature. Valid
entries for nAction include:
0 – (WRITE_VAL). Writes a value to a single data source.
1 – (ACK). Acknowledges a single alarm.
3 – (ACK_OR_REMOVE). Acknowledges or manually deletes a single
alarm.

bSignatureRequired Boolean. Returns True if signature is required for the data source, False
if it is not.

pInfo Integer. (Optional). Returns information about why signature is not


required for the data source. The return values include:
2– (NO_SIGN). Data source does not require signature.
3– (NO_ACK). Signature is required for writes but not for alarm
acknowledgement.
4– (NON_FIX). Data source is not FIX32.
5– (NO_KEY). Electronic Signature option is not enabled on the
hardware key on the local or SCADA node.
6– (SEC_NOT_ENAB). Security is not enabled on the local node.
7– (BAD_SYNTAX). Syntax of data source name is bad.
8– (READ_FAIL). Error reading settings from the tag.
NOTE: You must reference the Electronic Signature type library in VBA
to use these enumerations.

596
IFIX Automation Reference

Part Description

bVerify Boolean. (Optional). Returns True if verification is required for the tag,
and False if it is not.

bAllowContinuousUse
Boolean. (Optional). Returns True if continuous use is allowed for
the tag, and False it is not.

Return Value
This method returns HRESULT. If the HRESULT is a value other than S_OK, VBA generates an
error. You can handle this error using the On Error Statement. You can find out more information
about the error by using Err Object.

IsSignatureRequiredForList Method
Evaluates the variables set by the InitializeList() method and the value of the nAction parameter to
determine whether a signature is required for the list of data sources.

Syntax
object.IsSignatureRequiredForList(nAction, bSignatureRequired, [pInfo], [bVerify],
[bAllowContinuousUse])

Properties
The IsSignatureRequiredForList method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

nAction Action Type. Indicates the type of action associated with this signature.
Valid entries for nAction include:
ACK_LIST – Acknowledges multiple alarms.
ACK_OR_REMOVE_LIST – Acknowledges or manually deletes
multiple alarms.

bSignatureRequired Boolean. Returns True if signature is required for the list of data
sources, and False if it is not. If one tag requires signature all are
considered to require signature.

597
iFIX Automation Reference

Part Description

pInfo Integer. (Optional). Returns information about why signature is not


required for the data sources. The return values include:
2 – (NO_SIGN). Data source does not require signature.
3 – (NO_ACK). Signature is required for writes but not for alarm
acknowledgement.
4 – (NON_FIX). Data source is not FIX32.
5 – (NO_KEY). Electronic Signature option is not enabled on the
hardware key on the local or SCADA node.
6 – (SEC_NOT_ENAB). Security is not enabled on the local node.
7 – (BAD_SYNTAX). Syntax of data source name is bad.
8 – (READ_FAIL). Error reading settings from the tag.
NOTE: You must reference the Electronic Signature type library in VBA
to use these enumerations.

bVerify Boolean. (Optional). Returns True if verification is required for the data
source list, False if it is not. If one tag requires verification, all require
verification.

bAllowContinuousUse Boolean. (Optional). Returns True if continuous use is allowed for the
data source list, False if it is not. If one tag disallows continuous use, all
are considered to disallow continuous use.

Return Value
This method returns HRESULT. If the HRESULT is a value other than S_OK, VBA generates an
error. You can handle this error using the On Error Statement. You can find out more information
about the error by using Err Object.

Item Method
Returns the indicated event member in the Procedures collection, Lines collection. and/or Sources
collection.

Syntax
object.Item (lIndex)

Properties
The Item method syntax has these parts:

598
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

lIndex Long. An expression that specifies the position of a member of the Procedures
collection. The index must be a number from 1 to the value of the Collection's Count
property.

Return Value
Object. The dispatch pointer to the item object in the collection.

Remarks
If the specified member does not exist, Item returns EMPTY.

ListEvents Method
Return a complete list of events for the specified object.

Syntax
object.ListEvents pvEvents, piNumEvents

Properties
The ListEvents method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

pvEvents Variant table of strings. Returns a list of event names that have been configured in
VBA.

piNumEvents Integer. Returns the number of configured events.

ListMethods Method
Return a complete list of methods for the specified object.

599
iFIX Automation Reference

Syntax
object.ListMethods pvMethods, piNumMethods

Properties
The ListMethods method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

pvMethods Variant table of strings. Returns a list of method names that have been
configured in VBA.

piNumMethods Integer. Returns the number of methods returned in the Methods array.

ListProperties Method
Return a complete list of properties and their associated data types for the specified object.

Syntax
object.ListProperties pvProperties, pvDataTypes, piNumProperties

Properties
The ListProperties method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

pvProperties Variant array. Returns an array of property names for this object.

pvDataTypes Variant array. Returns an array of associated property types for the properties.

piNumProperties Integer. Returns the number of properties in the properties array.

Remarks
ListProperties can be used to get a list of the object’s properties, which you can use to call the

600
IFIX Automation Reference

GetProperty method to extract the contents of the object. Generic import and export functions can be
built with these functions.

ListWindowsGroupNames Method
Returns a string array of Windows group names that map to iFIX security privileges.

Syntax
object.ListWindowsGroupNames bNT4NamesOnly

Properties
The ListWindowsGroupNames method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bNT4NamesOnly Boolean. When False, returns an array of strings that contains all valid
Windows group names.
When True, returns only Windows group names that do not exceed twenty
characters. This satisfies the group name requirements of Windows NT 4.0.

Remarks
ListWindowsGroupNames reads the current iFIX security configuration to generate these names.
This method is used primarily by the CreateWindowsGroups.exe tool.

Load_TS_List Method
Loads a tag status list into the active Tag Control Panel Picture. The Tag Control Panel Picture can be
viewed when there are multiple tags associated with the selected object(s).

Syntax
object.Load_TS_List TagList

Properties
The Load_TS_List method syntax has these parts:

601
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

TagList An array of strings to be loaded into the tag control panel picture.

LoadImage Method
Loads the primary or secondary image at the specified index.

Syntax
object.LoadImage bPrimary, nIndex, bstrFileName

Properties
The LoadImage method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bPrimary Boolean. If True, the primary image at the specified index is loaded. If False, the
secondary image is loaded.

nIndex Integer. The index of the image to load. This index is one-based.

bstrFileName String. The path and file name of the image to load.

LoadTagGroupFile Method
Loads a tag group file into the picture.

Syntax
object.LoadTagGroupFile bstrTagGroupFileName

Properties
The LoadTagGroupFile method syntax has these parts:

602
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrTagGroupFileName String. The name of the tag group file to load into the picture.

Remarks
If there is already a tag group file associated with the picture, performs an unload. The unload of the
tag group would perform any clean up necessary. If the picture has not been resolved against the
passed tag group file it peforms a Resolve action – performing substitutions and establishing
connections; otherwise, it loads the correct stream from the tag group storage which will contain the
data system blob and substituted string information. The load will establish connections between the
picture tag group objects and the data source objects. It loops through the contained string list, reads
the substitution string from the tag group file and writes the value to the objects properties.

The load will validate the picture version and tag group file version. If either does not match the
current versions a re-resolve will occur. It also sends the messages informing linear and pen objects to
reset their EGU information and sends the message informing any pen objects to recheck their
historical data status.

LogicalToPercentage Method
Converts coordinates in logical units and converts them to percentage of screen space available. This is
useful if the user wishes to position a picture (whose window location is measured in screen
percentages) next to a shape (whose position is measured in logical units).

Syntax
object.LogicalToPercentage plfTop, plfLeft, [plfHeight], [plfWidth]

Properties
The LogicalToPercentage method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

plfTop Double. Specifies the logical top coordinate and returns the converted screen
percentage coordinate.

plfLeft String. The code to be written to the event in the form of strings.

603
iFIX Automation Reference

Part Description

plfHeight Double. Specifies the logical left coordinate and returns the converted screen
percentage coordinate.

plfWidth Double. (Optional) Specifies the width of the page in logical coordinates and returns
the width in screen percentage.

LogicalToUserFormPoint Method
Converts coordinates in logical units and converts them to “UserForm Point” coordinate, which is the
measure for position VBA user forms on screen.

Syntax
object.LogicalToUserFormPoint plfTop, plfLeft

Properties
The LogicalToUserFormPoint method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

plfTop Double. Specifies the logical top coordinate and returns the converted UserForm point
coordinate.

plfLeft Double. Specifies the logical left coordinate and returns the converted userform point
coordinate.

Remarks
Prior to performing the conversion, the StartUpPosition property of the form should be changed from
CenterOwner to either Manual or WindowsDefault. A setting of CenterOwner will result in the form
being popped up in the middle of the picture window.

604
IFIX Automation Reference

M-P

MakeLinesHorizontal Method
Makes the selected lines horizontal.

Syntax
object.MakeLinesHorizontal

Properties
The MakeLinesHorizontal method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

MakeLinesVertical Method
Makes the selected lines vertical.

Syntax
object.MakeLinesVertical

Properties
The MakeLinesVertical method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

MakeSameSize Method
Makes the currently selected object's specified dimensions the same size. It is the equivalent to
selecting MakeSameSize from the Format menu.

605
iFIX Automation Reference

Syntax
object.MakeSameSize type

Properties
The MakeSameSize method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

type Integer. The dimension to be used.


Valid entries:
0 – Height
1 – Width
2 – Both

Remarks
MakeSameSize is a Configuration environment method only.

Modify Method
Displays the Modify Block dialog box for the specified block.

Syntax
object.Modify bstrFullyQualifiedName, bReadOnly, iStatus

Properties
The Modify method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrFullyQualifiedName String. The fully qualified name of the block you want to modify.

bReadOnly Boolean. True if the block can only be showed, False if the block can
be modified.

606
IFIX Automation Reference

Part Description

Istatus
Long. Returns the error status value.
Return values are:
0 – OK
1 – Syntax error
2 – Data Undefined
3 – Data type mismatch

ModifyColumnLength Method
Modifies the specified column in the Legend to display the number of characters specified.

Syntax
object.ModifyColumnLength iColumn, iNumChars

Properties
The ModifyColumnLength method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

iColumn Integer. The column to modify.

iNumChars Integer. The number of characters to display in the column.

Move Method
Moves the object to a new position determined by the X and Y offsets.

Syntax
object.Move fXOffset, fYOffset

Properties
The Move method syntax has these parts:

607
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

fXOffset Double. The offset to move the shape in the horizontal direction in logical units.

fYOffset Double. The offset to move the shape in the vertical direction in logical units.

Open Method
Opens a Document in the WorkSpace. This is equivalent to selecting Open from the File menu.

Syntax
object.Open(Filename, [DisplayOption])

Properties
The Open method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Filename String. The name of the file to open. The file name includes the full path and
extension. If a file name is not specified, the user is prompted to enter one.

DisplayOption Long. (Optional)


Valid entries:
1 – Load only.
2 – Load and activate the document in a hidden window. This flag is a run-time
only option.
3 – (default) Load and display the document normally.

Return Value
Object. The dispatch pointer to the opened Document.

Open_QT_Pic Method
Opens a Quick Trend Picture for the selected object(s) with a set of pens based on the first eight (8)
valid tags.

608
IFIX Automation Reference

NOTE: To allow a user to open multiple instances of the Quick Trend Picture, use the
Open_QT_Pic_Ex Method.

Syntax
object.Open_QT_Pic

Properties
The Open_QT_Pic method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Open_QT_Pic_Ex Method
Opens a Quick Trend Picture for the selected object(s) with a set of pens based on the first eight (8)
valid tags. This method allows you to do the same as the Open_QT_Pic Method, but allows for
multiple instances.

Syntax
object.Open_QT_Pic_Ex (OpenMultipleInstances)

Properties
The Open_QT_Pic_Ex method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

OpenMultipleInstances Integer. If set to 1 (true) another instance of the picture is opened. If set
to 0 (false), no additional instances of this picture are opened.

Open_TCP_Pic Method
Opens a Tag Control Panel Picture that displays up to 20 of the valid tags associated with the currently
selected object.

NOTE: To allow a user to open multiple instances of the Tag Control Panel Picture, use the
Open_TCP_Pic_Ex Method.

609
iFIX Automation Reference

Syntax
object.Open_TCP_Pic

Properties
The Open_TCP_Pic method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Open_TCP_Pic_Ex Method
Opens a Tag Control Panel Picture that displays up to 20 of the valid tags associated with the currently
selected object. This method allows you to do the same as the Open_TCP_Pic Method, but allows for
multiple instances.

Syntax
object.Open_TCP_Pic_Ex (OpenMultipleInstances)

Properties
The Open_TCP_Pic_Ex method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

OpenMultipleInstances Integer. If set to 1 (true) another instance of the picture is opened. If set
to 0 (false), no additional instances of this picture are opened.

Open_TS_Pic Method
Opens the Tag Status Picture for first found tag for the selected object(s).

NOTE: To allow a user to open multiple instances of the Tag Status Picture, use the Open_TS_Pic_Ex
Method.

Syntax
object.Open_TS_Pic

610
IFIX Automation Reference

Properties
The Open_TS_Pic method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Open_TS_Pic_Ex Method
Opens the Tag Status Picture for first found tag for the selected object(s). This method allows you to
do the same as the Open_TS_Pic Method, but allows for multiple instances.

Syntax
object.Open_TS_Pic_Ex (OpenMultipleInstances)

Properties
The Open_TS_Pic_Ex method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

OpenMultipleInstances Integer. If set to 1 (true) another instance of the picture is opened. If set
to 0 (false), no additional instances of this picture are opened.

Open_TS_Pic_Type Method
Specifies the type of Tag Status picture to open.

NOTE: To allow a user to open multiple instances of a Tag Status picture, use the
Open_TS_Pic_Type_Ex Method.

Syntax
object.Open_TS_Pic_Type (TSPicType, [TagList])

Properties
The Open_TS_Pic_Type method syntax has these parts:

611
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

TSPicType TS_PIC_TYPE (Optional) The type of Tag Status picture to open:

0 – Single Tag Status picture


1 – Quick Trend picture
2 – Tag Control Panel picture

TagList Variant. (Optional) An array of strings to be used in the tag status picture.

Open_TS_Pic_Type_Ex Method
Specifies the type of Tag Status picture to open. This method allows you to do the same as the
Open_TS_Pic_Type Method, but allows for multiple instances.

Syntax
object.Open_TS_Pic_Type (TSPicType, [TagList], OpenMultipleInstances)

Properties
The Open_TS_Pic_Type_Ex method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

TSPicType TS_PIC_TYPE (Optional) The type of Tag Status picture to open:

0 – Single Tag Status picture


1 – Quick Trend picture
2 – Tag Control Panel picture

TagList Variant. (Optional) An array of strings to be used in the tag status


picture.

OpenMultipleInstances Integer. If set to 1 (true) another instance of the picture is opened. If set
to 0 (false), no additional instances of the picture are opened.

612
IFIX Automation Reference

ParseConnectionSource Method
Parses the specified Data Source to determine if it is a valid connection.

Syntax
object.ParseConnectionSource bstrPropertyName, bstrSource, iStatus, pvaValidObjects,
pvaUndefinedObjects, bstrFullyQualifiedSource

Properties
The ParseConnectionSource method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrPropertyName String. The name of the property being animated.

bstrSource String. The Data Source. This can be either a Data System data source
or a shape's property.

iStatus
Long. Returns the status of the connection.
Return values are:
0 – OK
1 – Invalid Syntax (Data Source could never exist
2 – Undefined Object (Data Source does not exist, could be added)
3 – Data Type Mismatch

pvaValidObjects Variant. Returns an array of objects that are identified as part of the
Data Source and are currently valid and used in the system.

pvaUndefinedObjects Variant. Returns an array of objects that are identified as part of the
Data Source but are not yet defined (Use Anyway objects).

bstrFullyQualifiedSource
Variant. Returns an array of objects that are identified as part of the
Data Source but are not yet defined (Use Anyway objects).

Remarks
The object that you apply this method to has a property that may be animated by another object.
Parsing checks to see the status of the Data Source and also checks to see if each object that is part of
the source is defined or undefined.

613
iFIX Automation Reference

ParseConnectionSource also checks complex expressions and returns individual sources. For
example, when used on AI1+AI2, the method will return AI1 and AI2 in the Valid or Undefined object
array.

Paste Method
Pastes the contents of the Clipboard into the document.

Syntax
object.Paste

Properties
The Paste method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Paste is a Configuration environment method only.

PasteFromClipboard Method
Paste KeyMacros from the clipboard into the key macro collection

Syntax
object.PasteFromClipboard (Overwrite)

Properties
The PasteFromClipboard method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

614
IFIX Automation Reference

Part Description

Overwrite Boolean (optional). Indicates whether the to add the key macro objects from the
clipboard, or to remove all the existing key macro objects before adding the new key
macro objects.
False will simply add the new key macro objects to the collection, while True will
first clear the collection before adding the new key macro objects.
Note: While appending any key combinations found in the existing collection will be
overwritten by the key macro object from the clipboard. A prompt appears to state
that duplicates were found and asks whether you want to abort or continue.

PasteSpecial Method
Opens the Paste Special dialog box.

Syntax
object.PasteSpecial

Properties
The PasteSpecial method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
PasteSpecial is a Configuration environment method only.

Pause Method
Pauses the Chart.

Syntax
object.Pause

Properties
The Pause method syntax has this part:

615
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
A paused Chart can resume displaying data by calling the Resume method. If Resume is not called,
the Chart will automatically resume after the time interval specified in the Timeout property.

PauseAlarmRead Method
Temporarily disables the alarm refresh rate and instructs the Alarm Summary object to stop updating
its spreadsheet.

Syntax
object.PauseAlarmRead

Properties
The PauseAlarmRead method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Use the ResumeAlarmRead method to resume refreshing the Alarm Summary object.

PercentageToLogical Method
Converts coordinates in percentage of screen space available to logical units. This is useful if the user
wishes to position a picture (whose window location is measured in screen percentages) next to a shape
(whose position is measured in logical units).

Syntax
object.PercentageToLogical plfTop, plfLeft, [plfHeight], [plfWidth]

616
IFIX Automation Reference

Properties
The PercentageToLogical method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

plfTop Double. Specifies the top screen percentage coordinate and returns the converted
logical coordinate.

plfLeft Double. Specifies the left screen percentage coordinate and returns the converted
logical coordinate.

plfHeight
Double. (Optional) Specifies the height of the page in screen percentage and
returns the height in logical coordinates.

plfWidth
Double. (Optional) Specifies the width of the page in screen percentage and returns
the width in logical coordinates.

PercentageToPixel Method
Converts a screen percentage (i.e., a window location) to pixel coordinates that are relative to the
picture’s coordinate system. This is useful if the user is working with an ActiveX control which
requires inputs in the form of pixels.

Syntax
object.PercentageToPixel plfTop, plfLeft, [plfHeight], [plfWidth]

Properties
The PercentageToPixel method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

plfTop Double. Specifies the top screen percentage coordinate and returns the converted pixel
coordinate.

617
iFIX Automation Reference

Part Description

plfLeft Double. Specifies the left screen percentage coordinate and returns the converted
pixel coordinate.

plfHeight Double. (Optional) Specifies the height of the page in screen percentage and returns
the height in pixel coordinates.

plfWidth Double. (Optional) Specifies the width of the page in screen percentage and returns
the width in pixel coordinates.

PixelToPercentage Method
Converts pixel coordinates that are relative to the picture’s coordinate system to a screen percentage
(i.e., a window location).

Syntax
object.PixelToPercentage plfTop, plfLeft, [plfHeight], [plfWidth]

Properties
The PixelToPercentage method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

plfTop Double. Specifies the pixel top coordinate and returns the converted screen percentage
coordinate.

plfLeft Double. Specifies the pixel left coordinate and returns the converted screen
percentage coordinate.

plfHeight Double. (Optional) Specifies the height of the page in pixel coordinates and returns
the height in screen percentage.

plfWidth Double. (Optional) Specifies the width of the page in pixel coordinates and returns the
width in screen percentage.

618
IFIX Automation Reference

PrintChart Method
Sends the Enhanced Chart to the printer for output. Causes the Printer Setup dialog box to display.

Syntax
object.PrintChart enuSizeUnits, [dblWidth], [dblHeight]

Properties
The PrintChart method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

enuSizeUnits Enum/Long. Specifies in what units the image size is specified with dblWidth and
dblHeight. It can be either of type enumSizeUnits or a corresponding numerical
value, as follows:
SizeUnits_FullPage (0). Prints to the full page.
SizeUnits_Millimeters (1): in millimeters.
SizeUnits_Inches (2): in inches.
SizeUnits_Points (3): in Postscript points (1/72 inches).
NOTE: In order to use the enumSizeUnits enumerations, you must add the type
library file for object to the references of the VBA project. If the type library file is
not included in the references, then only numerical values are accepted. The type
libraries for objects in the Applied To list are as follows:

Object Reference Type Library File Name

HistogramChart iFix 2D Histogram Fix2DHistogramChartDll.tlb


Chart Object v1.0 Type
Library

LineChart iFix 2D Line Chart Fix2DLineChartDll.tlb


Object v1.0 Type
Library

SPCBarChart iFix 2D SPC Bar Chart Fix2DSPCBarChartDll.tlb


Object v1.0 Type
Library

XYChart iFix 2D XY Chart Fix2DXYChartDll.tlb


Object v1.0 Type
Library

619
iFIX Automation Reference

Part Description

dblWidth Double. Specifies the width of the printed image, in the units specified in
enuSizeUnits. This parameter is optional and ignored when SizeUnits_FullPage is
specified.

dblHeight Double. Specifies the height of the printed image, in the units specified in
enuSizeUnits. This parameter is optional and ignored when SizeUnits_FullPage is
specified.

Remarks
The aspect ratio must be between 0.1 and 10.

PrintOut Method
Prints the Document object.

Syntax
object.PrintOut()

Properties
The PrintOut method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Return Value
Boolean. True if printing was successful; False otherwise.

PromptToChangePassword Method
Displays the Change Password dialog box and allows the user to change his password.

Syntax
object.PromptToChangePassword(bstrUsername, [bstrDomain])

620
IFIX Automation Reference

Properties
The PromptToChangePassword method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrUserName String. Name of the user (Windows user name).

bstrDomain String. (Optional). The Windows domain name where the user account is
located. For a local user account, omit or pass an empty string.

Return Value
This method returns HRESULT. If the HRESULT is a value other than S_OK, VBA generates an
error. You can handle this error using the On Error Statement. You can find out more information
about the error by using Err Object.

Q-R

Quit Method
Shuts down the WorkSpace, closing all documents and saving them, if specified.

Syntax
object.Quit [SaveChanges]

Properties
The Quit method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

621
iFIX Automation Reference

Part Description

SaveChanges Long. (optional)


Valid entries:
1 – Save changes; do not prompt. (default)
2 – Do not save changes.
3 – Prompt before saving changes.

Read Method
Reads in the Value, Timestamp, and Quality of the data source represented by the DataItem.

Syntax
object.Read

Properties
The Read method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Refresh Method
Repaints an object.

Syntax
object.Refresh

Properties
The Refresh method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

622
IFIX Automation Reference

RefreshChartData Method
Refetches and replots data in an Enhanced Chart (HistogramChart, LineChart, SPCBarChart, or
XYChart Object. object).

Syntax
object.RefreshChartData

Properties
The RefreshChartData method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remove Method
Removes a member from the specified collection.

Syntax
object.Remove lIndex

Properties
The Remove method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

lIndex Long. An expression that specifies the position of a member of the collection. If a
numeric expression, index must be a number from 1 to the value of the Collection's
Count property.

DataItems and Groups Collection Syntax


object.Remove vtIndex

623
iFIX Automation Reference

Properties
The Remove method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

tIndex Variant. An expression that specifies the position of a member of the collection. If a
numeric expression, index must be a number from 1 to the value of the Collection's
Count property. If a string expression, the index is the object name.

RemoveAll Method
Removes all members from a Lines collection.

Syntax
object.RemoveAll

Properties
The RemoveAll method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

RemoveAllLevels Method
Removes all levels from the Lookup table.

Syntax
object.RemoveAllLevels

Properties
The RemoveAllLevels method syntax has this part:

624
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

RemoveItem Method
Removes the specified column from the Legend.

Syntax
object.RemoveItem iColumn

Properties
The RemoveItem method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

iColumn Integer. The index of the column to remove.

RemoveKeyMacro Method
Deletes the key macro object defined by key combination, if one exists.

Syntax
object.RemoveKeyMacro (variant )

Properties
The RemoveKeyMacro method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

variant Location or DisplayName of the key macro to be removed.

625
iFIX Automation Reference

RemoveLegendItem Method
Removes the specified Legend item.

Syntax
object.RemoveLegendItem szItem

Properties
The RemoveLegendItem method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

szItem String. The name of the item to be removed.


Valid entries:
Source – Data Source name
Description - Data Source’s descriptor property
Value – Current Value at the time cursor
Units – EGU units name
Mode – Historical or real time
High Limit – High display limit
Low Limit – Low display limit
Interval – Data point interval
High Over – Highest value over the duration
Low Over – Lowest value over the duration
Avg Over – Average value over the duration
USER1 – User defined field
USER2 – User defined field
USER3 – User defined field
USER4 – User defined field
USER5 – User defined field
USER6 – User defined field
USER7 – User defined field
USER8 – User defined field
USER9 – User defined field
USER10 – User defined field

RemoveLevel Method
Removes a level based on the index.

Syntax
object.RemoveLevel iIndex

626
IFIX Automation Reference

Properties
The RemoveLevel method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

iIndex Long. The index of the level to remove.

RemoveObject Method
Removes the specified object from a schedule.

Syntax
object.RemoveObject bstrObjectName

Properties
The RemoveObject method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrObjectName String. The name of object to be removed.

Remarks
It is necessary to call the DoMenuCommand method for the schedule with the scHREFreshView
parameter in order for the object to appear as removed from the Schedule.

RemovePictureFromStartupList Method
Removes pictures from the Proficy iFIX WorkSpace's startup lists. The startup lists determine the
pictures that will be opened automatically when the WorkSpace starts.

Syntax
object.RemovePictureFromStartupList bstrPictureName, bMode

627
iFIX Automation Reference

Properties
The RemovePictureFromStartupList method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrPictureName String. Name of the picture to be removed from the startup list. You must
include the file path and extension

bMode Boolean. Specifies whether to remove the picture when the WorkSpace starts
in the Configuration environment or in the Runtime environment.
Valid entries:
0 – AppConfigurePicturePreferences
1 – AppRunPicturePreferences

ReplaceDocument Method
Replaces the existing document with a new Document in the existing document's window.

Syntax
object.ReplaceDocument(FileName)

Properties
The ReplaceDocument method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

FileName String. The name of the new document to open.

Return Value
Object. The dispatch pointer to the new Document.

Remarks
If possible, always make this call the last line in your script. Note that when the ReplaceDocument
method is used, and the document being replaced is the document that contains the script, the call must
be the last line in the script. Otherwise, you may experience unexpected behavior when executing the

628
IFIX Automation Reference

script.

If the ReplaceDocument method is not called from the picture being replaced and is not the last line in
your script, be certain that the operation is complete before the rest of the script continues to execute.
Immediately after making the call, you must relinquish the CPU by calling DoEvents. For example, the
following sample script replaces the active Document with the picture TestPicture, and then saves it
without prompting.

Dim iDoc As Object

set iDoc = Application.ActiveWindow.ReplaceDocument("D:\Program


Files\Proficy\Proficy iFIX\Pic\TestPicture.grf")

DoEvents

iDoc.Save “TestPicture.grf”, False

ReplaceInString Method
Replaces a match occurrence in one string with another string.

Syntax
object.ReplaceInString pbstrTargetString, bstrReplacementString, bstrMarkedMatchString,
lFirstChar, lCharCount, lFlags, pbstrResultString, pbSuccess

Properties
The ReplaceInString method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

pbstrTargetString String. Target string to which the replacement is to be made.

bstrReplacementString String. String to be substituted for the sub-string identified by


lFirstChar and lCharCount in the target string.

bstrMarkedMatchString String. String returned from a previous FindInString method call.

lFirstChar Long. One-based index of the first character to be replaced in the target
string returned from a previous FindInString method call.

lCharCount Long. Number of characters to be replaced in the target string returned


from a previous FindInString method call.

629
iFIX Automation Reference

Part Description

lFlags Long. Search modifiers.


Valid entries:
0-15 in any of the following combinations:
0 – No modifiers
1 – Match Case
2 – Whole Word Only
4 – Data Source Only
8 – Include Scripts

pbstrResultString String. Returns the new string with the specified replacement.

pbSuccess Boolean. Returns True if the operation succeeded, False otherwise.

Remarks
Calling ReplaceInString after calling FindInString produces the same result as calling the
FindReplaceInString method.

Replace_QT_Pic Method
Replaces the current picture with a Quick Trend picture.

Syntax
object.Replace_QT_Pic

Properties
The Replace_QT_Pic method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Replace_TCP_Pic Method
Replaces the current picture with a Tag Control Panel picture.

630
IFIX Automation Reference

Syntax
object.Replace_TCP_Pic

Properties
The Replace_TCP_Pic method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Replace_TS_Pic Method
Replaces the current picture with a Tag Status picture.

Syntax
object.Replace_TS_Pic

Properties
The Replace_TS_Pic method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Replace_TS_Pic_Type Method
Replaces the current picture with the specified Tag Status picture type.

Syntax
object.Replace_TS_Pic_Type TSPicType; [TagList]

Properties
The Replace_TS_Pic_Type method syntax has these parts:

631
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

TSPicType TS_PIC_TYPE The type of Tag Status picture to open:


0 – Single Tag Status picture
1 – Quick Trend picture
2 – Tag Control Panel picture

TagList Variant. (Optional) An array of strings to be used in the tag status picture.

ResetChartData Method
Resets the data displayed in a Chart.

Syntax
object.ResetChartData

Properties
The ResetChartData method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ResetObjectStats Method
Resets the statistics for the specified objects.

Syntax
object.ResetObjectStats vObjectNames

Properties
The ResetObjectStats method syntax has these parts:

632
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

ObjectNames Variant. The object(s) for which you want to reset statistics.
Valid entries:
0 – All Objects
1 – All Timer Objects
2 – All Event Objects
A string containing the name of the object to reset.
A list of objects to reset.

ResetStats Method
Resets the statistics of the Timer or Event object to zero, including the number of times fired, and the
time stamp of the last time fired.

Syntax
object.ResetStats

Properties
The ResetStats method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ResetZoom Method
Resets the Chart to its default viewing area.

Syntax
object.ResetZoom

Properties
The ResetZoom method syntax has this part:

633
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
ResetZoom is used to reset the Chart to its default state after calling the Zoom method.

ResolveTagGroupFile Method
Resolves the picture against the passed tag group file.

Syntax
object.ResolveTagGroupFile bstrTagGroupFileName

Properties
The ResolveTagGroupFile method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrTagGroupFileName String. The name of the tag group file to resolve the picture against.

Remarks
This method loops through the list of tag group objects in the picture, performs the necessary
substitutions based on the definitions in the tag group file, and establishes connections with these data
sources. It then persists identifying information of the picture and tag group file, a list of the complete
strings after substitution, and the connection information into a unique stream in the tag group storage.
Once this is saved, all the connections between the tag group objects and data sources will be broken.

Resume Method
Resumes the Chart after it has been paused.

Syntax
object.Resume

634
IFIX Automation Reference

Properties
The Resume method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Resume is used to resume the chart after calling the Pause method.

ResumeAlarmRead Method
Resumes updating the Alarm Summary object after it has been paused.

Syntax
object.ResumeAlarmRead

Properties
The ResumeAlarmRead method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Use the ResumeAlarmRead method after calling the PauseAlarmRead method.

RetrieveDefinition Method
Retrieves the definitions contained in a tag group file.

Syntax
object.RetrieveDefinition TagGroupName, Count, TokenList, ReplacementList, DescriptionList

635
iFIX Automation Reference

Properties

Part Description

object An object expression that evaluates to an object in the Applies To list.

TagGroupName String. The name of the tag group file in the Picture path to open.

Count Short. The number of symbols in the tag group file.

TokenList Variant. The array of symbols. The array index ranges from 0 to Count-1.

ReplacementList Variant. The array of substitutions. The array index ranges from 0 to Count-1.

DescriptionList Variant. The array of descriptions associated with each substitution. The array
index ranges from 0 to Count-1.

RetrieveTagGroupVariables Method
Retrieves a list of all tag group references in the picture, including connections, string substitutions,
and scripts.

Syntax
object.RetrieveTagGroupVariables intCountOfVars, varTagGroupVars

Properties
The RetrieveTagGroupVariables method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

intCountOfVars Integer. The number of tag group symbols.

arTagGroupVars Variant. List of all tag group symbols in the picture.

Remarks
The tag group reference list will only contain the tag group symbols, not the full syntax of partial
substitutions. The list will have a single entry per tag group symbol regardless of the number of uses.

636
IFIX Automation Reference

Rotate Method
Rotates the shape according to the angle, specified in either degrees or radians.

Syntax
object.Rotate fAngle, bInRadians

Properties
The Rotate method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

fAngle Double. The amount of angle to rotate the shape.

bInRadians Boolean. If True, rotate the object by the specified angle in radians. If False, rotate
the object by the specified angle in degrees.

RunObject Method
Starts or stops the Timer and/or Event from running.

Syntax
object.RunObject vObjectNames, bRunStatus

Properties
The RunObject method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

637
iFIX Automation Reference

Part Description

ObjectNames Variant. The object(s) for which you want to reset statistics.

Valid entries:
0 - All Objects
1 - All Timer Objects
2 - All Event Objects
A string containing the name of the object to reset.
A list of objects to reset.

bRunStatus Boolean. If True, the event is running. If False, the event is stopped.

Remarks
To stop an event that is running, pass in False for bRunStatus.

Save Method
Saves the Document to disk. When called off the Documents Collection, this method saves all open
documents in the Proficy iFIX WorkSpace. This is equivalent to selecting SaveAll from the File menu.
When used with the Document object, this method saves the Document object with the optionally
specified file name.

DocumentsCollection Object Syntax


object.Save [Prompt]

Properties
The Save method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Prompt Boolean. (Optional) If True, prompt the user to save changes. If False, do not prompt
the user. (default)

638
IFIX Automation Reference

Remarks
Note that if the Save method for the Documents Collection is called for newly created pictures, the
user is prompted to save changes regardless of the value specified in bPrompt. This is because pictures
cannot be saved as their default name (e.g. “Untitled#”).

Document Object Syntax


object.Save [Filename], [PromptToSave]

Properties
The Save method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

FileName String. (Optional) The file name.

PromptToSave Boolean. (Optional) If True, prompt the user before saving. (default)

Remarks
If the Save method for the Document object is called for newly created pictures, the user is prompted
to save changes regardless of the value specified in PromptToSave. This is because pictures cannot be
saved as their default name (e.g. “Untitled#”). The user must also specify the appropriate extension for
the document type in the filename. The following table contains the extensions and their document
types.

Extension Document Type

.fxg Fix Picture

.fds Fix Dynamo Set

.evs Fix Schedule

.doc Microsoft Word Document

.xls Microsoft Excel Worksheet

.xls Microsoft Excel Chart

639
iFIX Automation Reference

If the Save method for the Document object is called for an existing file, the file is overwritten. You
may want to check for file existence before calling the Save method.

Note that if the Save method is called using the Save [Filename] syntax, a Save As operation is
performed.

Save_TS_List Method
Saves the tag status list to the Tag Status subdirectory of the PIC folder in your iFIX installation
location. The tag status list is saved as a ".tags" file.

Syntax
object.Save_TS_List

Properties
The Save_TS_List method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

SaveAsSVG Method
Saves pictures as Scalable Vector Graphics, with a .svg extension.

NOTE: Proficy Portal uses the SVG format for importing picture files.

Syntax
object.SaveAsSVG

Properties
The SaveAsSVG method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

640
IFIX Automation Reference

SaveToHistoryList Method
Places the specified string in the history list of the animation expression control. It will subsequently
appear in the history drop-down combo box of the animation dialogs, VBA forms which contain an
expression control (such as the animation experts) and chart pen configuration.

Syntax
object.SaveToHistoryList szHistoryItem

Properties
The SaveToHistoryList method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

szHistoryItem String. The item to save to the history list.

Return Value
Integer. Returns 1 if the operation was successful.

ScrollBack Method
Scrolls back in the Chart by the factor specified in the chart’s ScrollPercentage property.

Syntax
object.ScrollBack

Properties
The ScrollBack method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

641
iFIX Automation Reference

ScrollForward Method
Scrolls forward in the Chart by the factor specified in the chart’s ScrollPercentage property.

Syntax
object.ScrollForward

Properties
The ScrollForward method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ScrollTimeBack Method
Scrolls time back in the specified Pen by the factor specified in the pen’s ScrollPercentage property.

Syntax
object.ScrollTimeBack

Properties
The ScrollTimeBack method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ScrollTimeForward Method
Scrolls time forward in the specified Pen by the factor specified in the pen’s ScrollPercentage
property.

Syntax
object.ScrollTimeForward

642
IFIX Automation Reference

Properties
The ScrollTimeForward method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Select Method
Selects the specified object.

Syntax
object.Select

Properties
The Select method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

SelectAlarmRow Method
Selects a row in the Alarm Summary object.

Syntax
object.SelectAlarmRow(RowNum As Integer, bSelect As Boolean) As Integer

Properties
The SelectAlarmRow method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

643
iFIX Automation Reference

Part Description

RowNum Integer. The row in the Alarm Summary object’s spreadsheet you want to select.
Row numbers start at 1 and you can specify any row even if it is not visible on the
screen.

bSelect Boolean. When True, the row is selected. When False, the row is not selected.

Return Value
Zero. Reserved for future use.

Remarks
Selecting a row that is not displayed on the screen does not cause the spreadsheet to scroll to the
selected row.

If you select a row that is not visible, you will not receive the Acknowledgement status, the Latched
Alarm status, the Value, and the User Defined Columns when calling the GetSelectedRow or
GetSelectedUserDefFields methods. You can work around this by reading these values after calling
the GetSelectedRow method.

SelectAll Method
Selects all objects in the document.

Syntax
object.SelectAll

Properties
The SelectAll method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

SelectObject Method
Selects the specified object and/or group of objects.

644
IFIX Automation Reference

Syntax
object.SelectObject bSingleSelect

Properties
The SelectObject method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bSingleSelect Boolean. If True, the user is only allowed to do single object selection. If False,
the user is allowed to select multiple objects.

Remarks
When bSingleSelect is False, the SelectObject method performs object selection as if the user is
holding the CTRL key when clicking on objects to select them.

SendOperatorMessage Method
Sends an event message to the specified node. If no node is specified, it the message is sent to the local
node This message is sent to all of the typers including the alarm history window.

Syntax
object.SendOperatorMessage Text, [NodeName]

Properties
The SendOperatorMessage method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Text String. The message to send.

NodeName String. (Optional) The fully qualified datasource name.

645
iFIX Automation Reference

SendSignedOperatorMessage Method
Sends the signed operator message to the alarm system.

Syntax
object.SendSignedOperatorMessage(bstrMessageText, bstrNodeName, bstrTagName,
bstrPerformedByUserID, [bstrPerformComment], [bstrVerifiedByUserID], [bstrVerifyComment])

Properties
The SendSignedOperatorMessage method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrMessageText String. Text of the signed operator message.

bstrNodeName String. Name of the SCADA node the you made the change on.

bstrTagName String. Name of the tag that has been changed (may be empty string).

bstrPerformedByUserID String. Performed By user ID.

bstrPerformComment String. (Optional). Performed By comment.

bstrVerifiedByUserID String. (Optional). Verified By user ID.

bstrVerifyComment String. (Optional). Verified By comment.

Return Value
This method returns HRESULT. If the HRESULT is a value other than S_OK, VBA generates an
error. You can handle this error using the On Error Statement. You can find out more information
about the error by using Err Object.

SendToBack Method
Moves the selected object to the back of the stack of objects, making it the bottom object in the stack.
It is equivalent to selecting Send To Back from the Format menu.

646
IFIX Automation Reference

Syntax
object.SendToBack

Properties
The SendToBack method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
SendToBack is a Configuration environment method only.

If you select several objects and call SendToBack, the selected objects are placed at the bottom of the
stack, however, they keep their positions relative to one other. The SendToBack method is useful for
creating complex shapes and using stacking or masking techniques.

SetContinuousUser Method
Sets the continuous user.

Syntax
object.SetContinuousUse(bstrUserName)

Properties
The SetContinuousUser method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrUserName String. Name of the continuous user.

Return Value
This method returns HRESULT. If the HRESULT is a value other than S_OK, VBA generates an
error. You can handle this error using the On Error Statement. You can find out more information
about the error by using Err Object.

647
iFIX Automation Reference

SetCurrrentValue Method
Sets the current value, time and quality for a Pen.

Syntax
object.SetCurrentValue cValue, dt, lQual

Properties
The SetCurrentValue method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

cValue Double. The value to set for the Pen.

dt Date. The date at which to set the value for the Pen.

lQual Long. The quality at which to set the value for the Pen.

SetDispatch Method
Reserved for internal purposes.

SetDispid Method
Reserved for internal purposes.

SetDuration Method
Sets the length of time to display the Chart.

Syntax
object.SetDuration days, hours, minutes, seconds

Properties
The SetDuration method syntax has these parts:

648
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

days Long. The number of days to display the Chart.

hours Long. The number of hours to display the Chart.

minutes Long. The number of minutes to display the Chart.

seconds Long. The number of seconds to display the Chart.

SetGlobalDuration Method
Sets the GlobalDuration property of the the Global Time Control.

Syntax
object.SetGlobalDuration days, hours, minutes, seconds

Properties
The SetGlobalDuration method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

days Long. The number of days to display the object.

hours Long. The number of hours to display the object.

minutes Long. The number of minutes to display the object.

seconds Long. The number of seconds to display the object.

SetGlobalHistoricalUpdateRate Method
Sets the historical update rate for the historical data sources in run mode.

649
iFIX Automation Reference

Syntax
object.SetGlobalHistoricalUpdateRate hrs, mins, secs

Properties
The SetGlobalHistoricalUpdateRate method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

hrs Long. The number of hours at which to set the duration.

mins Long. The number of minutes at which to set the duration.

secs Long. The number of seconds at which to set the duration.

SetGlobalMovingEndTimeToCurrent Method
Sets the end time of the Global Time Control to the current time.

Syntax
object.SetGlobalMovingEndTimeToCurrent

Properties
The SetGlobalMovingEndTimeToCurrent method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

SetFocusToComboBox Method
Sets focus to the ComboBox field of the ExpressionEditor.

Syntax
object.SetFocusToComboBox

650
IFIX Automation Reference

Properties
The SetFocusToComboBox method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

SetIndirectionInfo Method
Reserved for internal purposes.

SetInterval Method
Sets the interval of time to elapse between data points in a Chart.

Syntax
object.SetInterval days, hours, minutes, seconds

Properties
The SetInterval method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

days Long. The number of days between data points.

hours Long. The number of hours between data points.

minutes Long. The number of minutes between data points.

seconds Long. The number of seconds between data points.

SetKeyCombination Method
Used to set both the KeyCode and CombinationKey simultaneously.

651
iFIX Automation Reference

Syntax
object.SetKeyCombination (ComboKey, KeyCode)

Properties
The SetKeyCombination method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ComboKey enumCombinationKey. The control shift part of the key combination.

KeyCode Integer. The ASCII value of the main key of the key combination.

SetLegendMask Method
Indicates which legend items to show in the HistoricalDataSet, RealTimeDataSet, or
RealTimeSPCDataSet object.

Syntax
object.SetLegendMasklngMask

Properties
The SetLegendMask method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

652
IFIX Automation Reference

Part Description

lngMask A value that represents the Legend items to show in the data set:
LegendMaskSourceName (1)
LegendMaskDescription (2)
LegendMaskCurrentValue(4)
LegendMaskLowLimit (8)
LegendMaskHighLimit (16)
LegendMaskAvgOverRange (32)
LegendMaskLowOverRange (64)
LegendMaskHighOverRange (128)
LegendMaskQuality (256)
NOTE: In order to use the lngMask enumerations, you must add the type library file for
object to the references of the VBA project. If the type library file is not included in the
references, then only numerical values are accepted. The type libraries for objects in the
Applied To list are as follows:

Object Reference Type Library File Name

HistoricalDataSet iFix FixHistoricalDataSetDll.tlb


HistoricalDataSet
Object v1.0 Type
Library

RealTimeDataSet iFix FixRealTimeDataSetDll.tlb


RealTimeDataSet
Object v1.0 Type
Library

RealTimeSPCDataSet iFix FixSPCRealTimeDataSetDll.tlb


SPCRealTimeDataSet
Object v1.0 Type
Library

Remarks
Calling this method is functionally equivalent to setting the LegendMask property. However, if the
type library is included in the project references, VBA's IntelliSense will display a user-friendly list of
legend mask symbols while you are typing in the VBA Code Window, and there is no need to
memorize or look up for numerical values of the legend mask.

For example, if you are combining multiple mask values using the bitwise OR operation, such as

object.SetLegendMask LegendMask HighLimit | LegendMask LowLimit

and you want VBA IntelliSens to display the list repeatedly, you need only to type the vertical bar (the
OR operator) before the first mask value, move the cursor before it, and invoke the menu item by
pressing Ctrl + Shit + J.

653
iFIX Automation Reference

SetNumericFormat Method
Sets the format of a numeric value.

Syntax
object.SetNumericFormat [vaWholeDigits], [vaDecimalDigits], [vaJustify]

Properties
The SetNumericFormat method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

aWholeDigits Variant. (Optional) The number of whole digits to display.

aDecimalDigits Variant. (Optional) The number of decimal digits to display.

aJustify Variant. (Optional) The justification of the numeric value.


Valid entries:
0 – Left
1 – Center
2 – Right

SetPenDataArray Method
Creates a static Pen in a Chart with the specified data. Used to add pens from other data sources.

Syntax
object.SetPenDataArray lNumPoints, pValue, pTime, pQuality

Properties
The SetPenDataArray method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

654
IFIX Automation Reference

Part Description

lNumPoints Long. Number of points in the Pen.

pValue Double array. An array of values for the points in the Pen.

pTime Date array. An array of times for the points in the Pen.

pQuality Long array. An array of qualities for the points in the Pen. Use OPC quality values.

SetPointAt Method
Modifies the location of the point at the given index to location specified.

Syntax
object.SetPointAt lIndex, pdispPoint

Properties
The SetPointAt method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

lIndex Long. The position of the point to modify.

pdispPoint Object. The position to which to move the point.

Remarks
A point is an OLE object specifying a point object to add to the list of existing data points. The point
object has an (x, y) pair that contains the logical coordinate of the data point (see FixFloatPoint.)

SetPriorityColor Method
Sets the row background color to display for the alarms with the specified alarm priority.

655
iFIX Automation Reference

Syntax
object.SetPriorityColor PriorityId, PriorityColor

Properties
The SetPriorityColor method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

PriorityId Integer. The ID corresponding to the alarm priority.


Valid entries for iFIX 3.5 and earlier:
0 - High
1 - Medium
2 - Low
Valid entries for iFIX 4.0 and later:
3 - CRITICAL
4 - HIHI
5 - HIGH
6 - MEDIUM
7 - LOW
8 - LOLO
9 - INFO (INFORMATIONAL)

PriorityColor OLE_COLOR. The row background color to display for the alarms with the
alarm priority.

SetProperty Method
Sets the specified property to the specified value for the given object.

Syntax
object.SetProperty bstrPropertyName, vaValue

Properties
The SetProperty method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

656
IFIX Automation Reference

Part Description

bstrPropertyName String. The name of the property to set.

aValue Variant. The value to which to set the property.

Remarks
Calling iOval.SetProperty “ForegroundColor”, 255 is equivalent to executing iOval.ForegroundColor
= 255.

SetScriptWindow Method
Instantiates the Visual Basic Editor for the specified event for the currently selected object.

Syntax
object.SetScriptWindow bCreateIfEmpty,bstrEventName

Properties
The SetScriptWindow method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bCreateIfEmpty Boolean. If True, the default event procedure should be prototyped in VBA if
there are no procedures present for this object.

bstrEventName String. The name of the event procedure to display in the code window.

Remarks
SetScriptWindow is a Configuration environment method only.

SetSource Method
Sets up the source connection properties for the animation object. This method is used instead of
directly setting the animation object’s source property if additional properties have to be specified for
the connection.

657
iFIX Automation Reference

Syntax
object.SetSource bstrExpression, [bUseAnyway], [vaUpdateRate], [vaDeadband], [vaTolerance],
[vaConnectionFlags]

Properties
The SetSource method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrExpression String. The expression representing the source.

bUseAnyway Boolean. (Optional) Specifies whether to use a connection if the source


doesn’t exist. Default = False.

aUpdateRate Float. (Optional) The value at which to set the update rate for the connection.

aDeadband Float. (Optional) The value at which to set the deadband for the connection.

aTolerance Float. (Optional) The value at which to set the tolerance for the connection.

aConnectionFlags Long. (Optional) Reserved Word.

Remarks
The vaTolerance parameter only applies in expressions and exact match tables.

SetStatusColor Method
Sets the row foreground color to display for the alarms with the specified status.

Syntax
object.SetStatusColor StatusId, StatusColor

Properties
The SetStatusColor method syntax has these parts:

658
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

StatusId Integer. The ID corresponding to the alarm status.


Valid entries:
0 – OK
1 – LOLO
2 – HIHI
3 – LO
4 – HI
5 – RATE
6 – COS
7 – CFN
8 – DEV
9 – FLT
10 – DSAB
11 – ERROR
12 – ANY
13 – NEW
14 – TIME
15 – IOF
16 – OCD
17 – UNDER
18 – OVER
19 – RANGE
20 – COMM
21 – DEVICE
22 – STATION
23 – ACCESS
24 – SQL LOGIN
25 – SQL CMD
26 – DAT MATCH
27 – FLD READ
28 – FLD WRITE
29 – NO DATA
30 – NO XDATA

StatusColor OLE_COLOR. The color to display for the alarm status.

SetStatusFont Method
Sets the font for alarms with the specified status.

Syntax
object.SetStatusFont nStatusID, lpszFaceName, bStrikeout, bUnderline, bBold, bItalic

659
iFIX Automation Reference

Properties
The SetStatusFont method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

nStatusID Integer. The status of the alarm.


Valid values are:
0 – OK
1 – LOLO
2 – HIHI
3 – LO
4 – HI
5 – RATE
6 – COS
7 – CFN
8 – DEV
9 – FLT
10 – DSAB
11 – ERROR
12 – ANY
13 – NEW
14 – TIME
15 – IOF
16 – OCD
17 – UNDER
18 – OVER
19 – RANGE
20 – COMM
21 – DEVICE
22 – STATION
23 – ACCESS
24 – SQL LOGIN
25 – CMD
26 – DAT MATCH
27 – FLD READ
28 – FLD WRITE
29 – NO DATA
30 – NO XDATA

lpszFaceName String. The font name to be displayed.

bStrikeout Boolean. Specifies the Strikeout option for the text. If True, the text appears
with a line through it.

bUnderline String. The name of the event.

660
IFIX Automation Reference

Part Description

bBold Boolean. Specifies whether the text is bold or not.

bItalic Boolean. Specifies whether the text is italic or not.

Remarks
SetStatusFont is a Configuration environment method only.

SetStringFormat Method
Sets the raw formatting for a string value.

Syntax
object.SetStringFormat [pFormat]

Properties
The SetStringFormat method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

pFormat String. The string to be used when formatting the object.

SetTabSelection Method
Specifies which tabs of the expression editor dialog are displayed.

Syntax
object.SetTabSelection(TabIndex)

Properties
The SetTabSelection method syntax has these parts:

661
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

TabIndex Integer. The value that corresponds to which tabs are displayed.

Return Value
Boolean. Returns True if the operation was successful, False otherwise.

SetTimeBeforeNow Method
Sets the time for a Chart based on a value that is some time before the current time.

Syntax
object.SetTimeBeforeNow hours, minutes, seconds

Properties
The SetTimeBeforeNow method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

hours Long. The number of hours before now to set the Chart to.

minutes Long. The number of minutes before now to set the Chart to.

seconds Long. The number of seconds before now to set the Chart to.

Remarks
Calling the SetTimeBeforeNow method with an hours parameter of 2, minutes parameter of 0 and
seconds parameter of 0 causes the Chart to display data that occurred 2 hours before the current time.
This eliminates the need to calculate the Chart time based on the current time.

SetTimeCursorTime Method
Sets the time for the Time Cursor position. The time of the Time Cursor is specified relative to a Pen,

662
IFIX Automation Reference

since pens can have different times on the same Chart.

Syntax
object.SetTimeCursorTime dt, lPenNum

Properties
The SetTimeCursorTime method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

dt Date. The time at which to set the Time Cursor.

lPenNum Long. The index of the pen in the pen array for which you want to set the Time
Cursor.

Remarks
The time of the Time Cursor is specified relative to a Pen, since pens can have different times on the
same Chart.

SetWindowLocation Method
Sets the window’s size and location in terms of percentage of the screen.

Syntax
object.SetWindowLocation lfTopPct, lfLeftPct, lfHeightPct, lfWidthPct, [bRedraw],
[bDesiredLocation], [bClampWindow]

Properties
The SetWindowLocation method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

LfTopPct Double. The top percentage of the window relative to the WorkSpace client
area.

663
iFIX Automation Reference

Part Description

LfLeftPct Double. The left percentage of the window relative to the WorkSpace client
area.

LfHeightPct Double. The percentage of horizontal screen space.

LfWidthPct Double. The percentage of vertical screen space.

bRedraw Boolean. (Optional)


True – Redraw the document. (default)
False – Set the position without redrawing the document.

bDesiredLocation Boolean. (Optional)


True – Location is written to disk.
False – Location is not written to disk. (default)

bClampWindow Boolean. (Optional)


True – Sizes the document to the size of the viewport.
False – Does not resize the document. (default)

Remarks
The lfTopPct parameter sets the window’s location relative to the WorkSpace’s MDI Client area origin
and the lfLeftPct parameter sets the window’s location relative to the absolute screen resolution’s
origin.

Calling the SetWindowLocation will not alter the location of the document that is saved to disk. To
alter the window location that is saved to disk, set the WindowHeightPercentage,
WindowLeftPercentage, WindowTopPercentage, and WindowWidthPercentage properties.

ShowAnimations Method
Opens the Animation dialog box for the currently selected object.

Syntax
object.ShowAnimations

Properties
The ShowAnimations method syntax has this part:

664
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

ShowBrowseDialog Method
Opens the ExpressionEditor dialog box.

Syntax
object.ShowBrowseDialog

Properties
The ShowBrowseDialog method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ShowColorBox Method
Opens the color dialog box for the Color Button object.

Syntax
object.ShowColorBox

Properties
The ShowColorBox method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ShowColorSelection Method
Opens or closes the color selection dialog box for the currently selected object.

665
iFIX Automation Reference

Syntax
object.ShowColorSelection bShow

Properties
The ShowColorSelection method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bShow Boolean.
True – Opens the dialog box.
False – Closes the dialog box.

Remarks
ShowColorSelection is a Configuration environment method only.

ShowCustomPages Method
Displays custom pages associated with the object.

Syntax
object.ShowCustomPages

Properties
The ShowCustomPages method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ShowPipePreviewDialog Method
Displays the Modify Pipe Characteristics dialog box for the selected pipe object.

666
IFIX Automation Reference

Syntax
object.ShowPipePreviewDialog

Properties
The ShowPipePreviewDialog method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ShowTaskWizard Method
Opens the WorkSpace’s Task Wizard dialog box.

Syntax
object.ShowTaskWizard

Properties
The ShowTaskWizard method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ShowVBAProcedure Method
Creates a procedure to receive the focus in the code window by concatenating the script name of the
object with the procedure name.

Syntax
object.ShowVBAProcedure (bstrProcName, [objObject])

Properties
The ShowVBAProcedure method syntax has these parts:

667
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrProcName String. The name of the procedure or event to be located in the VBA code
window.

Object Object. The name of the object to which the procedure or event is associated.

Remarks
If the object is omitted, the procedure name is used by itself. If the procedure is not found, the focus
will be set to the top of the script window. For example, to set the code window to Rect2’s Mouse
Down event, you would make the following call:

ShowVBAProcedure("MouseDown", Rect2)

To find any subroutine within the picture’s project, you would make the following call:

ShowVBAProcedure("MySubProcedure")

ShowVisualBasicEditor Method
Opens the WorkSpace’s Visual Basic Editor.

Syntax
object.ShowVisualBasicEditor

Properties
The ShowVisualBasicEditor method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

SilenceAlarmHorn Method
Silences the alarm horn.

668
IFIX Automation Reference

Syntax
AlarmHornSilence ([intErrorMode])

Properties
The SilenceAlarmHorn method syntax has this part:

Part Description

intErrMode Integer. (Optional). The error mode.


0 (default) = Errors are displayed in the form of a message box.
1 = Errors are not handled so that they can be handled in the calling routine.
2 = Errors are dispatched to the alarm typers using SendOperatorMessage.

Remarks
The alarm horn must be enabled for this method to work. If you call this method and the alarm horn is
disabled, no error will be reported.

SnapObjectsToGrid Method
Snaps the currently selected object to the grid. It is equivalent to selecting SnapObjectsToGrid from
the Format menu.

Syntax
object.SnapObjectsToGrid

Properties
The SnapObjectsToGrid method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
SnapObjectsToGrid is a Configuration environment method only.

This method only works when the GridEnabled property of the Picture or Dynamo Set is set to
True.

669
iFIX Automation Reference

SpaceEvenly Method
Positions a group of selected objects so that the amount of horizontal or vertical space between them is
equal.

Syntax
object.SpaceEvenly type

Properties
The SpaceEvenly method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

type Integer.
Valid entries:
0 – Horizontal
1 – Vertical

Remarks
SpaceEvenly is a Configuration environment method only.

StartEvent Method
Enables the Event object to fire its events when data changes.

Syntax
object.StartEvent

Properties
The StartEvent method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

670
IFIX Automation Reference

StartTimer Method
Starts the Timer object.

Syntax
object.StartTimer

Properties
The StartTimer method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
StartTimer is a Run-time environment only method that will only start the Timer if its
TimerEnabled property is set to True.

StickToCursor Method
Causes a shape object to stick to the cursor upon creation.

Syntax
object.StickToCursor

Properties
The StickToCursor method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
StickToCursor is a Configuration environment method only. It allows the user to have functionality
for all shapes similar to that which occurs when the user selects CurrentTime from the Insert menu.

671
iFIX Automation Reference

StopEvent Method
Disables the Event object from firing its events when data changes.

Syntax
object.StopEvent

Properties
The StopEvent method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

StopTimer Method
Stops the Timer.

Syntax
object.StopTimer

Properties
The StopTimer method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Stretch Method
Scales the shape according to the percentage of scale entered for the shape's Height and Width.

Syntax
object.Stretch fXPercentage, fYPercentage

672
IFIX Automation Reference

Properties
The Stretch method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

fXPercentage Double. The scale percentage to apply to the width.

fYPercentage Double. The scale percentage to apply to the height.

SwitchLanguage Method
Changes the displayed text strings of the specified picture from one language to another.

The method Object.SwitchLanguage, uses the LanguageDesired property to switch languages.

The method Object.SwitchLanguage (xxxx), uses the specified language to switch language.

Syntax
object.SwitchLanguage [LanguageDesired as Long]

Properties
The SwitchLanguage method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

673
iFIX Automation Reference

Part Description

LanguageDesired Long
(Optional) Default
CA_Catalan
CS_Czech
DA_Danish
DE_German
EL_Greek
EN_English
ES_Spanish
FI_Finnish
HU_Hungarian
IT_Italian
JA_Japanese
KO_Korean
NL_Dutch
NO_Norwegian
PL_Polish
RU_Russian
SR_Cyrillic
HR_Croatian
SK_Slovak
SV_Swedish
TH_Thai
TR_Turkish
IN_Indonesian
SL_Slovenian
EU_Basque
ZHTW_Chinese - Taiwan
FR_French
PTBR_Brazilian Portuguese
PT_Portuguese
ZHCH_Chinese PRC
FRCA_French Canadian

SwitchMode Method
Sets the mode of the WorkSpace.

Syntax
object.SwitchMode bMode

Properties
The SwitchMode method syntax has these parts:

674
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

bMode Long. The mode to set the WorkSpace to.


Valid entries:
1 – Configure
4 – Run

Remarks
If possible, always make this call the last line in your script. Note that when the SwitchMode method
is used from anywhere other than a toolbar, the call must be the last line in the script. Otherwise, you
may experience unexpected behavior when executing the script. Otherwise, you may experience
unexpected behavior when executing the script.

If the SwitchMode method is made from a toolbar and is not the last line in your script, be certain that
the operation is complete before the rest of the script continues to execute. Immediately after making
the call, you must relinquish the CPU by calling DoEvents. For example, the following sample script
sets the mode of the WorkSpace to run mode, then opens the picture TestPicture:

Dim iDoc As Object

Application.SwitchMode 4

DoEvents

Set iDoc = Application.Documents.open("C:\Program Files\Proficy\Proficy


iFIX\Pic\TestPicture.grf")

SynchronizeSecurity Method
Performs the entire security synchronization process based on the property values set before this
method is called. This method returns no values.

Syntax
object.SynchronizeSecurity

Properties
The SynchronizeSecurity method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

675
iFIX Automation Reference

Remarks
The actions performed during the synchronization process include the following:

• Checking that iFIX is running.


• Validating user rights to run SecuritySynchronizer, either through the System Autologin user
or the user currently logged in.
• Querying Windows security.
• Modifying the iFIX security configuration, if needed.
• Writing result values to the iFIX database at time of completions, if configured this way.

Depending on the size of your Windows and iFIX security configurations, this method may take longer
to complete because it performs a great amount of work.

TagGroupSubstitution Method
Returns the substitution string supplied by the user in the tag group file.

Syntax
object.TagGroupSubstitution bstrTagGroupSymbol

Properties
The TagGroupSubstitution method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrTagGroupSymbol String. The name of the tag group symbol.

Remarks
This method returns the tag group substitution associated with the passed tag group symbol, or an
empty string if not found.

676
IFIX Automation Reference

TagGroupValue Method
Returns the value of the tag group substitution string of the passed tag group symbol.

Syntax
object.TagGroupValue bstrTagGroupSymbol

Properties
The TagGroupValue method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrTagGroupValue String. The name of the tag group symbol.

Remarks
This method returns a variant containing the value of the item in the substitution string. The variant
will be empty if the method fails.

U-Z

UIActivate Method
Sets the object in its custom active mode.

Syntax
object.UIActivate

Properties
The UIActivate method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

677
iFIX Automation Reference

UIDeActivate Method
Sets the object in its custom inactive mode.

Syntax
object.UIDeActivate

Properties
The UIDeActivate method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Undo Method
Reverses the last action completed in a picture. It is the equivalent of selecting Undo on the Edit menu.

Syntax
object.Undo

Properties
The Undo method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
Undo is a Configuration environment method only.

UndoTransaction Method
Allows a user to start an undo transaction (a series of nested undoable operations )

678
IFIX Automation Reference

Syntax
object.UndoTransaction evUndoTransactionFlag

Properties
The UndoTransaction method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

EvUndoTransactionFlag Enumeration. peTransactionFlags.

Settings
The settings for peTransactionFlags are:

Constant Value Description

pUndoTransactionStart 1 Start the transaction.

PUndoTransactionEnd 2 End the transaction.

UndoZoom Method
Reverses all of the zooming that the user has done in run mode and reverts the Enhanced Chart to its
default coordinates. It is the equivalent of selecting Undo Zoom on the Chart Options right-mouse
menu in run mode.

Syntax
object.UndoZoom

Properties
The UndoZoom method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

679
iFIX Automation Reference

Remarks
UndoZoom can be used whether the chart is Modifiable or not.

UnGroup Method
Disbands the currently selected Group object. It is the equivalent of selecting Ungroup on the Format
menu.

Syntax
object.UnGroup

Properties
The UnGroup method syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
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 remain black.

UnloadTagGroupFile Method
Unloads a tag group file from the picture.

Syntax
object.UnloadTagGroupFile

Properties
The UnloadTagGroupFile method syntax has this part:

680
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
If a tag group file is currently loaded, disconnects all tag group objects from their data sources and
sends a message to release historical pens.

Update_A_Dynamo_By_Name Method
Updates a Dynamo by using the fully qualified name of the Master Dynamo and its instance.

Syntax
object.Update_A_Dynamo_By_Name (bstrMasterDynamoName, bstrDynamoInstanceName,
nDataSourceMismatchOption, bstrChoiceDialogTitle, pnResultCode)

Properties
The Update_A_Dynamo_By_Name method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To


list.

bstrMasterDynamoName String. The fully qualified name of the Master Dynamo.

bstrDynamoInstanceName String. The fully qualified name of the Dynamo instance.

nDataSourceMismatchOption Integer. The Dynamo mismatch option code:


0 – Update, but do not apply data sources
1 – Update and attempt to match data sources
2 – Do not update
3 – Prompt for choice

bstrChoiceDialogTitle String. If Prompt for choice (3) is entered for the


nDataSourceMismatchOption and a mismatch occurs, the
bstrChoiceDialogTitle is the caption in the title bar of the Prompt
for choice dialog box.

681
iFIX Automation Reference

Part Description

pnResultCode The result code:


0 – Success
1 – All data sources ignored
2 – Some data sources ignored
3 – Not enough data sources
101 – Dynamo not updated
201 – Cancelled
202 – Failure
203 – Invalid argument Dynamo Instance
204 – Invalid argument Dynamo Master
205 – Invalid mismatch option argument
206 – Invalid Pointer
207 – Instance does not match Master
208 – An owner of either the Instance or Master is NULL

Update_A_Dynamo_By_Name2 Method
Updates a Dynamo by using the fully qualified name of the Master Dynamo and its instance.

Syntax
object.Update_A_Dynamo_By_Name2 (bstrMasterDynamoName, bstrDynamoInstanceName,
nDataSourceMismatchOption, bstrChoiceDialogTitle, pnResultCode)

Properties
The Update_A_Dynamo_By_Name2 method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrMasterDynamoName String. The fully qualified name of the Master Dynamo.

bstrDynamoInstanceName String. The fully qualified name of the Dynamo instance.

682
IFIX Automation Reference

Part Description

nDataSourceMismatchOption Integer. The Dynamo mismatch option as a bitmask:


UPDATE_OPTION_ON_MISMATCH_UPDATE_DYNAMO
(0x00000001) – When a mismatch is encountered, use the Update /
Do not update options. This setting is unused when iFIX finds no
mismatches.
UPDATE_OPTION_ON_MISMATCH_APPLY_DATA_SOURCES
(0x00000002) – When a mismatch is encountered, use the Apply
Data Sources / Do not apply data sources options. This setting is
unused when iFIX finds no mismatches.
UPDATE_OPTION_ON_MISMATCH_PROMT_FOR_CHOICE
(0x00000004) – When a mismatch is encountered, ask the user what
to do.
UPDATE_OPTION_RESIZE_INSTANCE (0x00000008) – Set to True
to resize the Dynamo instance to match the Master Dynamo
dimensions. Equivalent setting in iFIX 4.5 is always True.
UPDATE_OPTION_SAVE_CAPTIONS (0x00000010) – Set to True to
save the captions on text objects and button objects.
UPDATE_OPTION_UPDATE_ON_CONVERSION (0x00000020) –
Set to True to ignore the Dynamo_ID and Revision checking when
updating.
NOTE: You can add options like
UPDATE_OPTION_ON_MISMATCH_UPDATE_DYNAMO +
UPDATE_OPTION_ON_MISMATCH_APPLY_DATA_SOURCES +
UPDATE_OPTION_RESIZE_INSTANCE +
UPDATE_OPTION_SAVE_CAPTIONS, like this: 0x00000001 +
0x00000002 + 0x00000008 + 0x00000010. Option values express bit by
hex, so a decimal expression will be 1 + 2 + 8 + 16.

bstrChoiceDialogTitle String. If Prompt for choice (0x00000004) is entered for the


nDataSourceMismatchOption and a mismatch occurs, the
bstrChoiceDialogTitle is the caption in the title bar of the Prompt for
choice dialog box.

683
iFIX Automation Reference

Part Description

pnResultCode The result code as a bitmask:


UPDATER_RESULT_SUCCESS_BIT (0x00000001) – Returns 1 on
success, or 0 on failure.
UPDATER_RESULT_ALL_DATA_SOURCES_IGNORED_BIT
(0x00000002) – Encoded status bit.
UPDATER_RESULT_SOME_DATA_SOURCES_IGNORED_BIT
(0x00000004) – Encoded status bit.
UPDATER_RESULT_NOT_ENOUGH_DATA_SOURCES_BIT
(0x00000008) – Encoded status bit.
UPDATER_RESULT_DYNAMO_NOT_UPDATED_BIT
(0x00000010) – Encoded status bit.
UPDATER_RESULT_USER_CANCELLED_BIT (0x00000020) –
Spare entry, use as needed.
UPDATER_RESULT_INVALID_ARG_DYNAMO_INSTANCE_BIT
(0x00000040) – Spare entry, use as needed.
UPDATER_RESULT_INVALID_ARG_MASTER_DYNAMO_BIT
(0x00000080) – Spare entry, use as needed.
UPDATER_RESULT_INVALID_ARG_MISTMATCH_OPTION_BIT
(0x00000100) – Spare entry, use as needed.
UPDATER_RESULT_INVALID_POINTER_BIT (0x00000200) –
Spare entry, use as needed.
UPDATER_RESULT_INSTANCE_DOESNT_MATCH_MASTER_BIT
(0x00000400)– Spare entry, use as needed.
UPDATER_RESULT_INVALID_ARG_OWNER_BIT (0x00000800) –
Spare entry, use as needed.
UPDATER_RESULT_TEXT_CAPTIONS_UPDATED_BIT
(0x00001000) – Returns 1 if any text captions were updated, or 0 if
none were updated.
UPDATER_RESULT_TEXT_CAPTIONS_ALL_UPDATED_BIT
(0x00002000) – Returns 1 if all captions were updated, or 0 if some
(or none) were updated. This field must be 0 if the
UPDATER_RESULT_TEXT_CAPTIONS_UPDATED_BIT is also
0.

Update_A_Dynamo_By_Ref Method
Updates a Dynamo by using a reference from the Master Dynamo and its instance.

Syntax
object.Update_A_Dynamo_By_Ref (pIMasterDynamo, pIDynamoInstance,

684
IFIX Automation Reference

nDataSourceMismatchOption, bstrChoiceDialogTitle, pnResultCode)

Properties
The Update_A_Dynamo_By_Ref method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies


To list.

pIMasterDynamo String. The fully qualified name of the Master Dynamo.

pIDynamoInstance String. The fully qualified name of the Dynamo instance.

Integer. The Dynamo mismatch option code:


nDataSourceMismatchOption
0 – Update, but do not apply data sources
1 – Update and attempt to match data sources
2 – Do not update
3 – Prompt for choice

bstrChoiceDialogTitle String. If Prompt for choice (3) is entered for the


nDataSourceMismatchOption and a mismatch occurs, the
bstrChoiceDialogTitle is the caption in the title bar of the
Prompt for choice dialog box.

The result code:


pnResultCode
0 – Success
1 – All data sources ignored
2 – Some data sources ignored
3 – Not enough data sources
101 – Dynamo not updated
201 – Cancelled
202 – Failure
203 – Invalid argument Dynamo Instance
204 – Invalid argument Dynamo Master
205 – Invalid mismatch option argument
206 – Invalid Pointer
207 – Instance does not match Master
208 – An owner of either the Instance or Master is NULL

Update_A_Dynamo_By_Ref2 Method
Updates a Dynamo by using a reference from the Master Dynamo and its instance.

685
iFIX Automation Reference

Syntax
object.Update_A_Dynamo_By_Ref2 (pIMasterDynamo, pIDynamoInstance,
nDataSourceMismatchOption, bstrChoiceDialogTitle, pnResultCode)

Properties
The Update_A_Dynamo_By_Ref2 method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

pIMasterDynamo String. The fully qualified name of the Master Dynamo.

pIDynamoInstance String. The fully qualified name of the Dynamo instance.

Integer. The Dynamo mismatch option as a bitmask:


nDataSourceMismatchOption
UPDATE_OPTION_ON_MISMATCH_UPDATE_DYNAMO
(0x00000001) – When a mismatch is encountered, use the Update /
Do not update options. This setting is unused when iFIX finds no
mismatches.
UPDATE_OPTION_ON_MISMATCH_APPLY_DATA_SOURCES
(0x00000002) – When a mismatch is encountered, use the Apply
Data Sources / Do not apply data sources options. This setting is
unused when iFIX finds no mismatches.
UPDATE_OPTION_ON_MISMATCH_PROMT_FOR_CHOICE
(0x00000004) – When a mismatch is encountered, ask the user what
to do.
UPDATE_OPTION_RESIZE_INSTANCE (0x00000008) – Set to True
to resize the Dynamo instance to match the Master Dynamo
dimensions. Equivalent setting in iFIX 4.5 is always True.
UPDATE_OPTION_SAVE_CAPTIONS (0x00000010) – Set to True to
save the captions on text objects and button objects.
UPDATE_OPTION_UPDATE_ON_CONVERSION (0x00000020) –
Set to True to ignore the Dynamo_ID and Revision checking when
updating.
NOTE: You can add options like
UPDATE_OPTION_ON_MISMATCH_UPDATE_DYNAMO +
UPDATE_OPTION_ON_MISMATCH_APPLY_DATA_SOURCES +
UPDATE_OPTION_RESIZE_INSTANCE +
UPDATE_OPTION_SAVE_CAPTIONS, like this: 0x00000001 +
0x00000002 + 0x00000008 + 0x00000010. Option values express bit by
hex, so a decimal expression will be 1 + 2 + 8 + 16.

686
IFIX Automation Reference

Part Description

bstrChoiceDialogTitle String. If Prompt for choice (0x00000004) is entered for the


nDataSourceMismatchOption and a mismatch occurs, the
bstrChoiceDialogTitle is the caption in the title bar of the Prompt for
choice dialog box.

The result code as a bitmask:


pnResultCode
UPDATER_RESULT_SUCCESS_BIT (0x00000001) – Returns 1 on
success, or 0 on failure.
UPDATER_RESULT_ALL_DATA_SOURCES_IGNORED_BIT
(0x00000002) – Encoded status bit.
UPDATER_RESULT_SOME_DATA_SOURCES_IGNORED_BIT
(0x00000004) – Encoded status bit.
UPDATER_RESULT_NOT_ENOUGH_DATA_SOURCES_BIT
(0x00000008) – Encoded status bit.
UPDATER_RESULT_DYNAMO_NOT_UPDATED_BIT
(0x00000010) – Encoded status bit.
UPDATER_RESULT_USER_CANCELLED_BIT (0x00000020) –
Spare entry, use as needed.
UPDATER_RESULT_INVALID_ARG_DYNAMO_INSTANCE_BIT
(0x00000040) – Spare entry, use as needed.
UPDATER_RESULT_INVALID_ARG_MASTER_DYNAMO_BIT
(0x00000080) – Spare entry, use as needed.
UPDATER_RESULT_INVALID_ARG_MISTMATCH_OPTION_BIT
(0x00000100) – Spare entry, use as needed.
UPDATER_RESULT_INVALID_POINTER_BIT (0x00000200) –
Spare entry, use as needed.
UPDATER_RESULT_INSTANCE_DOESNT_MATCH_MASTER_BIT
(0x00000400)– Spare entry, use as needed.
UPDATER_RESULT_INVALID_ARG_OWNER_BIT (0x00000800) –
Spare entry, use as needed.
UPDATER_RESULT_TEXT_CAPTIONS_UPDATED_BIT
(0x00001000) – Returns 1 if any text captions were updated, or 0 if
none were updated.
UPDATER_RESULT_TEXT_CAPTIONS_ALL_UPDATED_BIT
(0x00002000) – Returns 1 if all captions were updated, or 0 if some
(or none) were updated. This field must be 0 if the
UPDATER_RESULT_TEXT_CAPTIONS_UPDATED_BIT is also
0.

687
iFIX Automation Reference

UpdateBackgroundObject Method
Forces changes made to an object in the foreground to be transferred to a Schedule running in the
background FixBackgroundServer application.

Syntax
object.UpdateBackgroundObject bstrObjectName, [iUpdateMode], [iRunMode]

Properties
The UpdateBackgroundObject method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrObjectName String. The name of the object in the schedule to be updated in the background
task.

iUpdateMode Long.
Valid entries:
1 – Add (default)
2 – Modify
3 – Delete

iRunMode Long.
Valid entries:
1 – Run (default)
2 – Stop

UpdateConnectionParameters Method
Updates the refresh rate, deadband, and tolerance for an object’s connection.

Syntax
object.UpdateConnectionParameters bstrPropertyName, [vaUpdateRate], [vaDeadband],
[vaTolerance], [vaConnectionFlags]

Properties
The UpdateConnectionParameters method syntax has these parts:

688
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

BstrPropertyName String. The name of the connected property.

aUpdateRate Variant. (Optional) The value at which to set the refresh rate for the
connection.

aDeadband Variant. (Optional) The value at which to set the deadband for the
connection.

aTolerance Variant. (Optional) The value at which to set the tolerance for the
connection.

aConnectionFlags Variant. (Optional) Reserved Word.

Remarks
Use this method with object to object connections only.

UpdateDefinition Method
Modifies existing definitions, appends new definitions to a tag group file, or creates new tag group
files. Before using this method, use RetrieveDefinition method to read in the definitions you want to
modify or append to.

You should not delete definitions by omitting them from an update. Instead, to delete a tag group
definition, you delete the tag group file and then add all the definitions you want to keep.

Syntax
object.UpdateDefinition TagGroupName, Count, TokenList, ReplacementList, DescriptionList

Properties
The UpdateDefinition method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

TagGroupName String. The name of the tag group file in the Picture path to update.

689
iFIX Automation Reference

Part Description

Count Short. The number of symbols in the tag group file.

TokenList Variant. The array of symbols. The array index ranges from 0 to Count-1.

ReplacementList Variant. The array of substitutions. The array index ranges from 0 to Count-1.

DescriptionList Variant. The array of descriptions associated with each substitution. The array
index ranges from 0 to Count-1.

Remarks
Use the string Trim methods to ensure that there is no whitespace in either the TokenList entries or the
Replacement list entries in the UpdateDefinition Tag Group File.

Make sure that Count correctly indicates the size of the array you pass into UpdateDefinition. If it is
not correct, you can lose substitutions or you can get a crash.

UserFormPointToLogical Method
Converts “UserForm Point” coordinates to coordinates in logical units. “UserForm Point” coordinates
are the measure for position VBA user forms on screen.

Syntax
object.UserFormPointToLogical plfTop, plfLeft

Properties
The UserFormPointToLogical method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

plfTop Double. Specifies the userform point top coordinate and returns the converted logical
coordinate.

plfLeft Double. Specifies the userform point left coordinate and returns the converted logical
coordinate.

690
IFIX Automation Reference

Remarks
Prior to performing the conversion, the StartUpPosition property of the form should be changed from
CenterOwner to either Manual or WindowsDefault. A setting of CenterOwner will result in the form
being popped up in the middle of the picture window.

ValidateSignature Method
Performs validation of a user name and password. Typically, you call this method when you want to
gather signature information through your application, but still use the ESignature object to validate
the signature and perform security checks.

Syntax
object.ValidateSignature(bstrUsername, bstrPassword, nSigType, pbValidSig, bstrUserID,
[bCheckTag])

Properties
The ValidateSignature method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrUsername String. User name to be validated.

bstrPassword String. Password to be validated.

nSigType Integer. Indicates the type of signature to be validated. Valid values include:
1. – (PERFORM). Signature is for an action being performed.
2. – (VERIFY). Signature is for an action being verified.

pbValidSig Boolean. Returns True if signature is valid, False if not.

bstrUserID String. Returns the user ID of the user. This ID is used when sending a signed
operator message.

bCheckTag
Boolean. (Optional). Indicates whether the user has access to security assigned
to the tag. The default value is False. If this parameter is True, you must call
the Initialize() method prior to calling this method. If you do not call
Initialize(), or the tag is not a FIX32 data source, the method fails and an error
generates.

691
iFIX Automation Reference

Return Value
This method returns HRESULT. If the HRESULT is a value other than S_OK, VBA generates an
error. You can handle this error using the On Error Statement. You can find out more information
about the error by using Err Object.

ValidateSignatureAndWriteValue Method
Performs validation of both the Performed By and Verified By user names and passwords. Based on
the value of the nAction parameter, the ValidateSignatureAndWriteValue method writes the value
passed in to the tag or acknowledges the alarm or list of alarms, and sends a signed operator message
to the alarm system. This method can only write to FIX32 data sources.

Typically, you call this method when you want to gather signature information through the application,
but still want to use the ESignature object to perform signature validation, write to FIX32 data
source(s), and send the signed operator message.

You must call the Initialize() method prior to calling this method if you are writing values to the
database or acknowledging alarms, otherwise the function fails and an error is returned.

Syntax
object.ValidateSignatureAndWriteValue(nAction, pValue, bstrPerformUsername,
bstrPerformPassword, [bstrPerformComment], [bstrVerifyUsername], [bstrVerifyPassword],
[bstrVerifyComment])

Properties
The ValidateSignatureAndWriteValue method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

nAction Integer. Indicates the type of action associated with this signature. Valid
entries include:
0 – (WRITE_VAL). Writes a value to a single data source.
3 – (ACK_OR_REMOVE). Acknowledges a single alarm.
4 – (ACK_OR_REMOVE_LIST). Acknowledges multiple alarms.

pValue Variant. Value to be written to the database.

bstrPerformUsername String. Performed By user name to be validated.

692
IFIX Automation Reference

Part Description

bstrPerformPassword String. Performed By password to be validated.

bstrPerformComment String. (Optional). The performed by comment to be sent with the signed
operator message.

bstrVerifyUsername String. (Optional). Verified By user name to be validated.

bstrVerifyPassword String. (Optional). Verified By password to be validated.

bstrVerifyComment String. (Optional). Verified By comment to be sent with the signed


operator message.

Return Value
This method returns HRESULT. If the HRESULT is a value other than S_OK, VBA generates an
error. You can handle this error using the On Error Statement. You can find out more information
about the error by using Err Object.

ValidateSource Method
Validates the specified data source.

Syntax
object.ValidateSource bstrObject, iStatus, ppdispObject, bstrPropertyName

Properties
The ValidateSource method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

bstrObject String. The string containing the source to validate.

693
iFIX Automation Reference

Part Description

iStatus Long. Returns the status for the validity of the source.
Return values are:
0 – OK
1 – Syntax error
2 – Data Undefined
3 – Data type mismatch

ppdispObject Object. Returns the dispatch pointer to the source object if it exists.

bstrPropertyName String. Returns the name of the actual property of the data source.

ValueTimeFromXY Method
Gets information for a Pen based on the X and Y coordinates specified.

Syntax
object.ValueTimeFromXY x, y, pfVal, pdt, bReal

Properties
The ValueTimeFromXY method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

x Double. The x coordinate.

y Double. The y coordinate.

pfVal Double. Returns the value for the Pen at the specified x and y coordinates.

pdt Date. Returns the time information for the Pen at the specified x and y coordinates.

bReal Boolean. Returns True if the (x,y) point was on a real point and False if the (x,y) point
was on an interpolated point.

694
IFIX Automation Reference

Write Method
Writes a value to the data source represented by the DataItem or Group (DataSystem).

DataItem Object Syntax


object.Write Value

Properties
The Write method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Value Value to be written to the data system.

Group (DataSystem) Object Syntax


object.Write

Properties
The Write method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

WritePictureToImageFile Method
Writes a specified picture to an image file.

Syntax
object.WritePictureToImageFile ([bstrFileName], [bstrOutFileName], [bLeavePictureInOpenState],
[iScaleFactor])

Properties
The WritePictureToImageFile method syntax has these parts:

695
iFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To


list.

bstrFileName String. The name of the iFIX picture file, with or without full path.
If the path is set to “” or omitted, then the active picture is used.

bstrOutFileName String. The name you want to give the image file that you create,
with or without the full path. If the path is set to “” or omitted, then
take bstrFileName as the out file name. If bstOutFileName is
omitted, then take the picture name with no extension. If the path is
not specified, use the path from the WritePictureOutLocation
property. If the file extension is not specified, use the
WritePictureFormatType property to determine the output format
(currently, .jpg or .bmp).

bLeavePictureInOpenState Boolean. Indicates whether the iFIX picture remains open after you
write the picture to an image file. If this value is set to TRUE, the
picture remains open. The default is FALSE.

iScaleFactor Long. Not currently available for use. The percentage by which you
want to scale the picture for the image file. By default, this value is
set to 100 percent.

XYFromValueTime Method
Gets the X and Y coordinates for a Pen based on the time and value specified.

Syntax
object.XYFromValueTime fVal, dt, px, py

Properties
The XYFromValueTime method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

fVal Double. The value for the Pen.

696
IFIX Automation Reference

Part Description

dt Date. The time for the Pen.

px Double. Returns the x coordinate.

py Double. Returns the y coordinate.

XYHitTest Method
Returns information for a Pen based on the specified coordinates. Typically used with the MouseUp
and MouseDown events.

Syntax
object.XYHitTest lfX, lfY, pDt, pfV, pszPenName, ppPen, lPenNum, pbReal

Properties
The XYHitTest method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

x Double. The X coordinate where the mouse is clicked.

y Double. The Y coordinate where the mouse is clicked.

pDt Date. Returns the date for the Pen that corresponds to the specified X and Y
coordinates.

pfV Double. Returns the value for the Pen that corresponds to the specified X and Y
coordinates.

pszPenName String. Returns the name of the Pen that corresponds to the specified X and Y
coordinates.

ppPen Object. Returns the Pen object that corresponds to the specified X and Y
coordinates.

697
iFIX Automation Reference

Part Description

lPenNum Long. Returns the index in the Pens collection for the Pen that corresponds to the
specified X and Y coordinates.

pbReal Boolean. Returns True if the hit test was on a real point and False if it was on an
interpolated point.

Remarks
This method is useful for performing operations based on Pen selection, or for creating data
annotations. It returns the time and date of the clicked point, the value on the line, the pen's data
source, a pointer to the Pen, the pen number, and whether the user clicked on a real or interpolated data
point.

Zoom Method
Zooms in on an exact position.

Syntax
object.Zoom fYHi, fYLo, fXHi, fXLo

Properties
The Zoom method syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

fYHi Single. The High vertical percentage value.

fYLo Single. The Low vertical percentage value.

fXHi Single. The High horizontal percentage value.

fXLo Single. The Low horizontal percentage value.

698
Events

Event Summary
The following list contains the iFIX object events that are available to the Automation Interface. For
information on non iFIX events, refer to the appropriate help system.

A-B
Activated

AfterKillFocus

AlarmAck

AlarmAcknowledged

AlarmListChanged

C
Click

Close

ColorChanged

D
DataChange

DblClick

DeActivated

E-H
Edit

EditChange

699
iFIX Automation Reference

I-J
Initialize

InitializeConfigure

K
KeyDown

KeyUp

L
LMouseClick

LoadedTagGroup

M-N
MouseDown

MouseMove

MouseUp

MouseUpOffObject

NewAlarm

O
OnChange

OnChartFull

OnChartRefresh

OnFalse

OnPenSelect

OnTimeOut

OnTrue

700
IFIX Automation Reference

P-R
RMouseClick

S-V
SelectionChanged

SeverityIncreased

UIDeactivate

W-Z
WhileFalse

WhileTrue

A-D

Activated Event
Occurs when a window gets the user focus. This is defined as the moment when the user’s keyboard
and mouse focus are directed to that window. The user can tell this is happening by looking at the
titlebar (if the document has one).

Syntax
object_Activated( )

Properties
The Activated event syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

701
iFIX Automation Reference

AfterKillFocus Event
Occurs when focus is taken away from the specified ExpressionEditor control.

Syntax
object_AfterKillFocus( )

Properties
The AfterKillFocus event syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

AlarmAck Event
Occurs when an alarm is acknowledged.

Syntax
object_AlarmAck( )

Properties
The AlarmAck event syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

AlarmAcknowledged Event
Occurs when an alarm is acknowledged by double-clicking an alarm or calling the AckAlarm,
AckAlarmPage, or the AckAllAlarms methods. Unlike the AlarmAck event, the
AlarmAcknowledged event returns the name of the node, tag, and field that was acknowledged.

Syntax
object_AlarmAcknowledged(strNode As String, strTag As String, strField As String)

702
IFIX Automation Reference

Properties
The AlarmAcknowledged event syntax has these parts:

Part Description

Object An object expression that evaluates to an object in the Applies To list.

strNode String. The name of the node on which the alarm was acknowledged.

StrTag String. The name of the tag whose alarm was acknowledged.

StrField String. The name of the field whose alarm was acknowledged.

Remarks
If you acknowledge a page of alarms, you receive one event for each alarm. If you acknowledge all
alarms, the event does not occur.

AlarmListChanged Event
Occurs when the contents or order of information in the Alarm Summary object changes. By default,
this event does not fire. To trigger the event when information in the Alarm Summary object changes,
set the CheckForAlarmListChanged property to TRUE.

Syntax
object_AlarmListChanged()

Properties
The AlarmListChanged event syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
This event occurs on the initial receipt of alarms by the Alarm Summary object. The event occurs
subsequently whenever the contents or order of alarms displayed by the Alarm Summary object
changes. For example, the event may also occur when you change the alarm filter if the modified filter
changes the content of the object’s spreadsheet (for example, if it filters out alarms or adds alarms from
another alarm area). The event occurs even if the change in content happens off screen. The following

703
iFIX Automation Reference

actions may also cause the AlarmListChanged event to fire but only if the action changes the content
of the object’s spreadsheet:

• Changing the sort order.


• Detecting/receiving a new alarm.

You can disable the AlarmListChanged event by setting the CheckForAlarmListChanged property
to FALSE.

Click Event
Occurs when the user releases the left mouse key in the Run-time environment.

Syntax
object_Click( )

Properties
The Click event syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
This event is the common event used to initiate an operator action. It is also the default event used by
the script authoring wizards.

The sequence of mouse-related events is:

• MouseDown
• MouseUp
• Click
• DblClick

Close Event
Occurs when a page container is shut down or closed in the Run-time environment.

Syntax
object_Close( )

704
IFIX Automation Reference

Properties
The Close event syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ColorChanged Event
Occurs when a new color is selected in the Run-time environment.

Syntax
object_ColorChanged(ByVal Color As Long)

Properties
The ColorChanged event syntax has these parts:

Part Description

Object An object expression that evaluates to an object in the Applies To list.

Color The newly selected color.

DataChange Event
Occurs when a data source’s value changes by more than the deadband limit or if the quality or error
information associated with the data source changes.

The DataChange event occurs at the end of data change processing, therefore, the animation or event
object’s internal state (properties) will reflect this change. The previous value is not stored in the
object.

If the same events occur while the script is executing, the system queues one and only one event for
this situation. That is, if multiple data changes occur, the next event firing reflects the newest
information.

Syntax
object_DataChange(ByVal DataValue As Variant, ByVal TimeStamp as Date, ByVal Transition As
Long, ByVal Reserved As Variant)

705
iFIX Automation Reference

Properties
The DataChange event syntax has these parts:

Part Description

Object An object expression that evaluates to an object in the Applies To list.

DataValue The new data value.

TimeStamp The time that this data arrived in the system.

Transition Specifies whether the value changed from non-zero to zero or vice versa.

Reserved Reserved.

Event Firing Definition

Value Transition Fire Event Sequence

Uninitialized to True DataChange, WhileTrue

True to False DataChange, OnFalse, WhileFalse

False to True DataChange, OnTrue, WhileTrue

False to Error DataChange

True to Error DataChange

Error to True DataChange, WhileTrue

Error to False DataChange, WhileFalse

Uninitialized to Error DataChange

Uninitialized to False DataChange, WhileFalse

When data changes from an unknown state to a known state, the DataChange event triggers. Therefore,
actions such as switching from the Configuration environment to the Run-time environment while an
iFIX schedule is open will cause the DataChange event to trigger accordingly.

706
IFIX Automation Reference

Using the DataChange Event in a Datalink


If you are attempting to use the DataChange Event in a data link, you cannot create the VBA object by
selecting Edit Script from the right-click menu.

To create your own object:


1. Create a data link.
2. Open the VBA editor.
3. Enter the Private Sub object_DataChange(ByVal DataValue As Variant, ByVal TimeStamp as
Date, ByVal Transition As Long, ByVal Reserved As Variant) string and press Enter.
4. Enter any desired code.
5. Enter End Sub at the end of the subroutine.

DblClick Event
Occurs when the user double-clicks the mouse.

Syntax
object_DblClick( )

Properties
The DblClick event syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
The DblClick event occurs when multiple left mouse clicks are received in the object.

The sequence of mouse-related events is:

• MouseDown
• MouseUp
• Click
• DblClick

707
iFIX Automation Reference

Alarm Summary Syntax


object_DblClick(ByVal Col As Long, ByVal Row As Long)

Properties
The DblClick event syntax has these parts:

Part Description

Object An object expression that evaluates to an object in the Applies To list.

Col The column in which the user double clicked.

Row The row in which the user double clicked.

DeActivated Event
Occurs when a window loses the focus. This is fired when another document receives the focus.

Syntax
object_DeActivated( )

Properties
The DeActivated event syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
When a picture is closed, the DeActivated event does not fire.

708
IFIX Automation Reference

E-N

Edit Event
Occurs when:

• The user double clicks an object in the Configuration environment.


• The user pastes an object into a page from a DynamoSet.

Syntax
object_Edit( )

Properties
The Edit event syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
This method is the primary mechanism for creating a custom property page for an object that is in the
form of a VBA custom form, which is useful for creating Dynamo objects. When an object is
modified, the order of execution is:

1. If the object has an edit event, it is fired.


2. If the object has a custom property page (ocxes, chart objects, alarm summary objects), it is
fired.
3. Otherwise, the animation dialog box is displayed.

TIP: Put all substitution logic in the Edit event and pass all object context into a shared or global
form. Object names are automatically modified on a duplicate if the reference is in the event handler.
Hard-coded object references in user forms are not modified when an object is duplicated.

EditChange Event
Occurs when the text in the edit box portion of the ExpressionEditor is changed.

Syntax
object_EditChange(ByVal bSourceEmpty As Boolean)

709
iFIX Automation Reference

Properties
The EditChange event syntax has these parts:

Part Description

Object An object expression that evaluates to an object in the Applies To list.

bSourceEmpty Whether the edit box is empty or not. If True, the edit box is empty. If False, the
edit box is not empty.

Initialize Event
Occurs when a document is opened in the Run-time environment.

Syntax
object_Initialize( )

Properties
The Initialize event syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

InitializeConfigure Event
Occurs when a document is opened in the Configuration environment, or when the user switches to the
Configuration environment.

Syntax
object_InitializeConfigure( )

Properties
The InitializeConfigure event syntax has this part:

710
IFIX Automation Reference

Part Description

object An object expression that evaluates to an object in the Applies To list.

KeyDown Event
Occurs when the user presses a key on the keyboard.

Syntax
object_KeyDown(ByVal KeyCode As Long, ByVal Shift As Long, ContinueProcessing As Boolean)

Properties
The KeyDown event syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

KeyCode An integer that represents the key code of the key that was pressed or released.

Shift The state of the SHIFT, CTRL, and ALT keys.

Settings
The settings for Shift are:

Value Description

1 SHIFT was pressed.

2 CTRL was pressed.

4 ALT was pressed.

Remarks
Key events are sent to the selected object first. If there is no script tied to the event, the key event is
sent to the contained object (group or page). If you have common key events across a set of pictures, it
is recommended that you use shared subroutines in the user global page that are called from the

711
iFIX Automation Reference

picture’s key events.

The ContinueProcessing As Boolean parameter is related to the Key Macro scheme. Since key macros
can be tied to objects, there is a certain hierarchy. For example, you can have the same key macro run
different scripts on an object and in the picture. The processing starts in the object, and the
ContinueProcessing parameter prevents the processing from being passed up to the next level. For
example, if F10 runs MacroA on a rectangle, and F10 also runs MacroB in the picture, a false value
would keep the picture's macro from firing.

KeyUp Event
Occurs when the user presses a key on the keyboard.

The object placeholder represents an object expression that evaluates to an object in the Applies To
list.

Syntax
object_KeyUp(ByVal KeyCode As Long, ByVal Shift As Long, ContinueProcessing As Boolean)

Properties
The KeyUp event syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

KeyCode An integer that represents the key code of the key that was pressed or released.

Shift The state of the SHIFT, CTRL, and ALT keys.

Settings
The settings for Shift are:

Value Description

1 SHIFT was pressed.

2 CTRL was pressed.

4 ALT was pressed.

712
IFIX Automation Reference

Remarks
Key events are sent to the selected object first. If there is no script tied to the event, the key event is
sent to the contained object (group or page). If you have common key events across a set of pictures, it
is recommended that you use shared subroutines in the user global page that are called from the
picture’s key events.

The ContinueProcessing As Boolean parameter is related to the Key Macro scheme. Since key macros
can be tied to objects, there is a certain hierarchy. For example, you can have the same key macro run
different scripts on an object and in the picture. The processing starts in the object, and the
ContinueProcessing parameter prevents the processing from being passed up to the next level. For
example, if F10 runs MacroA on a rectangle, and F10 also runs MacroB in the picture, a false value
would keep the picture's macro from firing.

LMouseClick Event
Occurs when the user clicks the left mouse button on the Alarm Summary object in either the
Configuration or Run-time environment.

Syntax
object_LMouseClick(ByVal Col As Long, ByVal Row As Long)

Properties
The LMouseClick event syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Col The column the user clicked on.

Row The row the user clicked on.

LoadedTagGroup Event
Occurs when the user loads a tag group in the runtime environment.

Syntax
object_LoadedTagGroup(TagGroupName As String)

713
iFIX Automation Reference

Properties
The LoadedTagGroup event syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

TagGroupName String. The name of the tag group.

MouseDown Event
Occurs when the user presses a mouse button.

Syntax
object_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Double, byVal
Y As Double)

Properties
The MouseDown event syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Button An integer value that identifies which mouse button was pressed.

Shift The state of the SHIFT, CTRL, and ALT keys.

X The horizontal position, in logical coordinates, from the left or top edge of the page
where the mouse was pressed.

Y The vertical position, in logical coordinates, from the left or top edge of the page where
the mouse was pressed.

Settings
The settings for Button are:

714
IFIX Automation Reference

Value Description

1 The left button was pressed.

2 The right button was pressed.

4 The middle button was pressed.

The settings for Shift are:

Value Description

1 SHIFT was pressed.

2 CTRL was pressed.

3 SHIFT and CTRL were pressed.

4 ALT was pressed.

5 ALT and SHIFT were pressed.

6 ALT and CTRL were pressed.

7 ALT, SHIFT, and CTRL were pressed.

Remarks
The sequence of mouse-related events is:

• MouseDown
• MouseUp
• Click
• DblClick

MouseDown or MouseUp event procedures specify actions that occur when a mouse button is pressed
or released. They enable you to distinguish between the left, right, and middle mouse buttons. You can
also write code for mouse-keyboard combinations that use the SHIFT, CTRL, and ALT keyboard
modifiers.

Use the Shift argument to identify the state of the SHIFT, CTRL, and ALT keys when the
MouseDown or MouseUp event occurred. For example, if both CTRL and ALT are pressed, the value
of Shift is 6.

715
iFIX Automation Reference

Mouse events are sent to the selected object first. If there is no event script tied to the selected object,
then the event is sent to the object’s container (group or page).

MouseMove Event
Occurs when the user moves the mouse over an object.

Syntax
object_MouseMove(ByVal Button As Integer, ByVal Shift As Long, ByVal X As Double, ByVal Y
As Double)

Properties
The MouseMove event syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Button An integer value that identifies which mouse button was pressed.

Shift The state of the SHIFT, CTRL, and ALT keys.

X The horizontal position, in logical coordinates, from the left or top edge of the page
where the mouse was pressed.

Y The vertical position, in logical coordinates, from the left or top edge of the page where
the mouse was pressed.

Settings
The settings for Button are:

Value Description

1 The left button was pressed.

2 The right button was pressed.

4 The middle button was pressed.

716
IFIX Automation Reference

The settings for Shift are:

Value Description

1 SHIFT was pressed.

2 CTRL was pressed.

3 SHIFT and CTRL were pressed.

4 ALT was pressed.

5 ALT and SHIFT were pressed.

6 ALT and CTRL were pressed.

7 ALT, SHIFT, and CTRL were pressed.

Remarks
Mouse events are sent to the selected object first. If there is no event script tied to the selected object,
then the event is sent to the object’s container (group or page).

MouseUp Event
Occurs when the user releases any of the mouse keys.

Syntax
object_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Double, ByVal Y
As Double)

Properties
The MouseUp event syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Button An integer value that identifies which mouse button was pressed.

717
iFIX Automation Reference

Part Description

Shift The state of the SHIFT, CTRL, and ALT keys.

X The horizontal position, in logical coordinates, from the left or top edge of the page
where the mouse was pressed.

Y The vertical position, in logical coordinates, from the left or top edge of the page where
the mouse was pressed.

Settings
The settings for Button are:

Value Description

1 The left button was pressed.

2 The right button was pressed.

4 The middle button was pressed.

The settings for Shift are:

Value Description

1 SHIFT was pressed.

2 CTRL was pressed.

3 SHIFT and CTRL were pressed.

4 ALT was pressed.

5 ALT and SHIFT were pressed.

6 ALT and CTRL were pressed.

7 ALT, SHIFT, and CTRL were pressed.

718
IFIX Automation Reference

Remarks
The sequence of mouse-related events is:

• MouseDown
• MouseUp
• Click
• DblClick

MouseDown or MouseUp event procedures specify actions that occur when a mouse button is pressed
or released. They enable you to distinguish between the left, right, and middle mouse buttons. You can
also write code for mouse-keyboard combinations that use the SHIFT, CTRL, and ALT keyboard
modifiers.

Use the Shift argument to identify the state of the SHIFT, CTRL, and ALT keys when the
MouseDown or MouseUp event occurred. For example, if both CTRL and ALT are pressed, the value
of Shift is 6.

Mouse events are sent to the selected object first. If there is no event script tied to the selected object,
then the event is sent to the object’s container (group or page).

MouseUpOffObject Event
Occurs when the left mouse button is pressed on an object, the mouse cursor is moved off the object
and then released to the UP position.

Syntax
object_MouseUpOffObject()

Properties
The MouseUpOffObject event syntax has one part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
The MouseUpOffObject event is only used with the left mouse button. This event will not apply to
the right mouse button.

The MouseUpOffObject event can be enabled or disabled by the setting of the


AllowMouseUpOffObjectEvent entry in the [AppRunPreferences] section of the
FixUserPreferences.ini file. The values of the setting can be 1 for TRUE and 0 for FALSE. The default
value is 1 (TRUE).

719
iFIX Automation Reference

If the MouseUpOffObject event is enabled and there is MouseUpOffObject event script created for
the object, then the MouseUpOffObject event is processed and the script in the event is executed. If
MouseUpOffObject event is NOT enabled, then the MouseUp event is sent to the object’s container
(group or page).

NewAlarm Event
Occurs when a new alarm is detected after the initial receipt of alarms by the Alarm Summary object.
By default, this event does not fire. To trigger the event when information in the Alarm Summary
object changes, set the CheckForNewAlarms property to TRUE. The event occurs even if the change
in content happens off screen.

For example, in run mode, if a tag goes into a HI alarm and then changes to HIHI, the NewAlarm
event fires once, unless the previous HI alarm is acknowledged. The NewAlarm event detects if an
alarm is new, not a new severity. If you want to detect a change in severity, use the
CheckForSeverityIncrease property and SeverityIncreased event.

Syntax
object_NewAlarm(strNode As String, strTag As String)

Properties
The NewAlarm event syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

strNode String. A list of nodes with new alarms. Example of parsing the list

StrTag String. A list of tags with new alarms. Example of parsing the list

Remarks
Whenever you change the filter or sort configuration, the Alarm Summary object updates its list of
alarm. However, this change does not cause the NewAlarm event to occur.

If a tag is in alarm and another alarm occurs for this tag, the NewAlarm event does not trigger again.
For example, if a tag is in HI alarm and it goes to HIHI alarm the NewAlarm event fires only once. In
order for the event to trigger twice, the HI alarm would have to be acknowledged and return to an OK
alarm state prior to the tag going into a HIHI alarm.

720
IFIX Automation Reference

O-Z

OnChange Event
Occurs when the CurrentValue of the specified Variable object is changed.

Syntax
object_OnChange( )

Properties
The OnChange event syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

OnChartFull Event
Occurs when the data for a Chart object scrolls all the way to the right and hits the edge. This event
can only occur if the ScrollDirection property of the Chart is set to LeftToRight.

Syntax
object_OnChartFull( )

Properties
The OnChartFull event syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
This event is useful for handling the appropriate UI action when the data fills up the Chart. Possible
options are to clear the data and change the start time to now, effectively wiping out the Chart, or to
scroll the Chart over 50%.

721
iFIX Automation Reference

OnChartRefresh Event
Occurs when the Chart object's data automatically scrolls. The event occurs at an interval defined by
the RefreshRate property.

Syntax
object_OnChartRefresh( )

Properties
The OnChartRefresh event syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

OnFalse Event
Occurs when an expression in an Event object changes from True to False (non-zero to zero).

Syntax
object_OnFalse( )

Properties
The OnFalse event syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
When using an expression such as AI1 > 55.0, the value of this expression is 0 when AI1 is less than or
equal to 55.0. When AI1 exceeds 55.0 the value of the expression is 1. The OnFalse event is triggered
when the value of the expression changes from 1 to 0. If the expression is a single tag, then the value
of the tag is evaluated as either 0.0 or non-zero to determine whether to fire the event.

See the complete event firing event transition described in the DataChange event.

722
IFIX Automation Reference

OnPenSelect Event
Occurs when the user changes the currently active Pen by selecting another Pen.

Syntax
object_OnPenSelect(ByVal IPenNum As Long)

Properties
The OnPenSelect event syntax has these parts:

Part Description

Object An object expression that evaluates to an object in the Applies To list.

IPenNum The index in the Pens collection that defines the selected Pen.

OnTimeOut Event
Occurs depending on the TriggerType of the Timer:

OneShot - The event is fired at the StartTime.

Continuous - The event is fired at the StartTime and then at the interval specified for the
Interval property.

Daily - The event is fired at the StartTime for those days that have been configured (see
DaysOfWeek).

Monthly - The event is fired at the StartTime for every day that has been configured (see
DaysOfMonth).

Syntax
object_OnTimeOut(ByVal lTimerId As Long)

Properties
The OnTimeOut event syntax has these parts:

Part Description

Object An object expression that evaluates to an object in the Applies To list.

723
iFIX Automation Reference

Part Description

lTimerId Reserved.

OnTrue Event
Occurs when an expression in an Event object changes from False to True (zero to non-zero).

Syntax
object_OnTrue( )

Properties
The OnTrue event syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
When using an expression such as AI1 > 55.0, the value of this expression is 0 when AI1 is less than or
equal to 55.0. When AI1 exceeds 55.0 the value of the expression is 1. The OnTrue event is triggered
when the value of the expression changes from 0 to 1. If the expression is a single tag, then the value
of the tag is evaluated as either 0.0 or non-zero to determine whether to fire the event.

See the complete event firing event transition described in the DataChange event.

RMouseClick Event
Occurs when the user clicks the right mouse button on the Alarm Summary object in either the
Configuration or Run-time environment.

Syntax
object_RMouseClick(ByVal Col As Long, ByVal Row As Long, ByVal x As Long, ByVal y As
Long)

724
IFIX Automation Reference

Properties
The RMouseClick event syntax has these parts:

Part Description

Object An object expression that evaluates to an object in the Applies To list.

Col The column the user clicked on.

Row The row the user clicked on.

X The horizontal location of the click in device coordinates.

Y The vertical location of the click in device coordinates.

SelectionChanged Event
Reserved for internal purposes.

SeverityIncreased Event
Occurs when an alarm’s status increases in severity. The CheckForSeverityIncrease property must set
to TRUE to allow this event to be triggered. The CheckForSeverityIncrease property must be set in
run mode. The value you enter here is not persisted. In other words, when you switch from run mode to
configure mode, the value changes back to FALSE (0), which is the default. If you enter TRUE (1) in
configure mode, it switches back to FALSE (0) when you enter run mode. You must set this value in
run mode.

Syntax
object_SeverityIncreased( )

Properties
The SeverityIncreased event syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

725
iFIX Automation Reference

UIDeactivate Event
Reserved for internal purposes.

WhileFalse Event
Occurs in the Event object, while the value is zero. This event is continually called back at an interval
specified by the Interval property of the Event object.

Syntax
object_WhileFalse( )

Properties
The WhileFalse event syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Remarks
See the complete event firing event transition described in the DataChange event.

WhileTrue Event
Occurs in the Event object, while the value is non-zero. This event is continually called back at an
interval specified by the Interval property of the Event object.

Syntax
object_WhileTrue( )

Properties
The WhileTrue event syntax has this part:

Part Description

object An object expression that evaluates to an object in the Applies To list.

726
IFIX Automation Reference

Remarks
See the complete event firing event transition described in the DataChange event.

727
Subroutines

Subroutine Summary
The following list contains the iFIX subroutines that are available to the Automation Interface. For
information on non iFIX objects, refer to the appropriate help system.

A-B
AcknowledgeAllAlarms

AcknowledgeAnAlarm

AlarmHornEnabled

AlarmHornEnabledToggle

AlarmHornSilence

C
CloseDigitalPoint

ClosePicture

D
DisableAlarm

E
EnableAlarm

F-K
FetchLimits

FindDataSource

729
iFIX Automation Reference

FindLocalObject

GeneratePicture

GetAllConnections

GetDecimalSeparator

GetFormDynamoColor

GetFormNumeric

GetFormPushbutton

GetFormRamp

GetFormSlider

GetLocaleInfoA

GetUserDefaultLCID

HandleError

IsUserFxg

L-N
LocateObject

LogIn

O
OffScan

OnScan

OpenDigitalPoint

OpenPicture

OpenTGDPicture

P-Q
PictureAlias

730
IFIX Automation Reference

PrintReport

QuickAdd

R
RampValue

ReadValue

RegCloseKey

RegOpenKeyEx

ReplacePicture

ReplaceTGDPicture

S
SetAuto

SetManual

ShellExecute

T
ToggleDigitalPoint

ToggleManual

ToggleScan

U-Z
WriteValue

731
iFIX Automation Reference

A-F

AcknowledgeAllAlarms Subroutine
Acknowledges alarms for all tags in the specified Picture. If any of the alarms in the picture require an
electronic signature, acknowledgement depends on the setting of the Unsigned Writes options in each
alarm’s block:

Accept Enabled – The subroutine will also acknowledge the alarm associated with this block.

Reject Enabled – The subroutine will acknowledge other alarms, but not the alarm associated
with this block.

Syntax
AcknowledgeAllAlarms [Picture], [intErrorMode]

Properties
The AcknowledgeAllAlarms subroutine syntax has these parts:

Part Description

Picture String. (Optional) The file name of the Picture for which you want to
acknowledge all alarms. If no picture is specified, the current picture is used.

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

Remarks
If the only object in a picture is an Alarm Summary object that has Allow Acknowledge All Alarms
disabled, this subroutine will not acknowledge any alarms. The order of logic in the subroutine is as
follows:

1. Look for an Alarm Summary Object in the picture.

732
IFIX Automation Reference

2. Check for whether the Allow Acknowledge All Alarms option is enabled.

• If enabled, run the AckAllAlarms method.

• If disabled, go to next step.

3. Check the other objects in the picture.

If you are using the AcknowledgeAllAlarms subroutine on an Alarm Summary OCX, this subroutine
checks to ensure that the Allow Acknowledge All Alarms property is enabled. If the property is
disabled, no alarms associated with that Alarm Summary OCX are acknowledged.

AcknowledgeAnAlarm Subroutine
Acknowledges new alarms for the specified block.

Syntax
AcknowledgeAnAlarm [DataPoint], [intErrorMode]

Properties
The AcknowledgeAnAlarm subroutine syntax has these parts:

Part Description

DataPoint String. (Optional) The name of the database block for which you want to
acknowledge alarms. If no block is specified, alarms for the database block
associated with the selected object are acknowledged.

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

AlarmHornEnabled Subroutine
Gets or sets the alarm horn enabled status.

733
iFIX Automation Reference

Syntax
AlarmHornEnabled ([blnNewValue], [intErrorMode])

Properties
The AlarmHornEnabled subroutine syntax has these parts:

Part Description

blnNewValue Boolean. (Optional). The value to which you want to set the alarm horn enable
property.

intErrorMode Integer. (Optional). The error mode.


0 (default) – Errors are displayed in the form of a message box.
1 – Errors are not handled so that they can be handled in the calling routine.
2 – Errors are dispatched to the alarm destinations using SendOperatorMessage.

Return Value
Boolean. The status of the AlarmHornEnable after the call is completed.

True = The horn will sound on any new alarm.

False = The horn will not sound for any new alarms.

AlarmHornEnabledToggle Subroutine
Toggles the system’s AlarmHornEnabled status.

Syntax
AlarmHornEnabledToggle ([intErrorMode])

Properties
The AlarmHornEnabledToggle subroutine syntax has this part:

734
IFIX Automation Reference

Part Description

intErrorMode Integer. (Optional). The error mode.


0 (default) – Errors are displayed in the form of a message box.
1 – Errors are not handled so that they can be handled in the calling routine.
2 – Errors are dispatched to the alarm destinations using SendOperatorMessage.

Return Value
Boolean. The status of the AlarmHornEnable after the call is completed.

True = The status was toggled to True. The horn will sound on any new alarm.

False = The status was toggled to False. The horn will not sound for any new alarms.

AlarmHornSilence Subroutine
Silences the alarm horn.

Syntax
AlarmHornSilence ([intErrorMode])

Properties
The AlarmHornSilence subroutine syntax has this part:

Part Description

intErrorMode Integer. (Optional). The error mode.


0 (default) – Errors are displayed in the form of a message box.
1 – Errors are not handled so that they can be handled in the calling routine.
2 – Errors are dispatched to the alarm destinations using SendOperatorMessage.

Remarks
The alarm horn must be enabled for this to work. If you call this routine and the alarm horn is disabled,
no error will be reported.

If a new alarm comes in after this routine is called, the alarm horn will sound again. When alarms
come in at a rapid rate, it may seem as though the AlarmHornSilence subroutine is not working
because the new alarms keep retriggering the horn.

735
iFIX Automation Reference

CloseDigitalPoint Subroutine
Closes, or sends a value of 1, to the specified digital block.

Syntax
CloseDigitalPoint [DigitalPoint], [intErrorMode]

Properties
The CloseDigitalPoint subroutine syntax has these parts:

Part Description

DigitalPoint String. (Optional). The name of the digital block that you want to close. If no
block is specified, it closes the digital point associated with the selected object.

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

Remarks
If no block is specified and the selected object does not have an associated digital point, an error
message appears informing the user that the write was not successful.

ClosePicture Subroutine
Closes the specified Picture. If there are multiple instances of a picture open, all instances of that
picture are closed. If a different alias is assigned to each instance, you can close one instance using an
alias.

Syntax
ClosePicture [Picture], [intErrorMode]

Properties
The ClosePicture subroutine syntax has these parts:

736
IFIX Automation Reference

Part Description

Picture String. (Optional). The file name or alias of the picture you want to close. If no
file name is specified, the currently active picture is closed.

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.

Remarks
If possible, always make this call the last line in your script. Note that when the ClosePicture
subroutine is used, and the document being closed is the document that contains the script, the call
must be the last line in the script. Otherwise, you may experience unexpected behavior when executing
the script.

If the ClosePicture subroutine is not called from the picture being closed and is not the last line in
your script, be certain that the operation is complete before the rest of the script continues to execute.
Immediately after making the call, you must relinquish the CPU by calling DoEvents. For example, the
following sample scripts close a picture called TANK1 and opens a picture called TANK2:

Private Sub Rect1_Click()

ClosePicture “Tank1”

DoEvents

OpenPicture “Tank2”

End Sub

NOTE: You cannot call methods on pictures that you have closed.

DisableAlarm Subroutine
Disables alarm limit checking for the specified block.

Syntax
DisableAlarm [DataPoint], [intErrorMode]

Properties
The DisableAlarm subroutine syntax has these parts:

737
iFIX Automation Reference

Part Description

DataPoint String. (Optional) The name of the database block for which you want to disable
alarming. If no block is specified, alarming is disabled for the block associated
with the selected object.

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

EnableAlarm Subroutine
Enables alarm limit checking for the specified block.

Syntax
EnableAlarm [DataPoint], [intErrorMode]

Properties
The EnableAlarm subroutine syntax has these parts:

Part Description

DataPoint String. (Optional). The name of the database block for which you want to enable
alarming. If no block is specified, alarming is enabled for the database block
associated with the selected object.

intErrorMode Integer. (Optional). The error mode.


0 - (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

738
IFIX Automation Reference

FetchLimits Subroutine
Returns the High and Low EGUs of the specified data source.

Syntax
FetchLimits DataSource, HiLimit, LoLimit, ret, [intErrorMode]

Properties
The FetchLimits subroutine syntax has these parts:

Part Description

DataSource String. The string name for the data source. For example,
FIX32.MYNODE.AI1.F_CV

HiLimit Single. Returns the high EGU limit for the data source.

LoLimit Single. Returns the low EGU limit for the data source.

ret Integer. Returns the status of the call:


0 = Successful
1 = Syntax error
2 = Data source does not exist
3 = Data type mismatch

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
3 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

FindDataSource Subroutine
Returns the string name of the data source that is connected to a property of the specified object if the
data source is an iFIX database tag or animation object.

739
iFIX Automation Reference

Syntax
FindDataSource (Object, [strProperty])

Properties
The FindDataSource function syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

strProperty String. (Optional). The property connected to the data source. If no property is
specified, the function returns the connection to the first property if finds that is
connected to a data source.

Return Value
String. The string name of the data source object.

Remarks
This function does not return a value for items within groups. For example, if you have a group of data
links all connected to different data sources but, the group itself is not connected to a data source, this
function will return an empty string. It only returns the name of the data source that is connected to the
object you pass in for the Object parameter.

FindLocalObject Subroutine
Finds an object inside a group based on the object’s partial name. The group could be a Picture,
DynamoSet or a Group of shapes.

Syntax
FindLocalObject (StartObject, PartialName)

Properties
The FindLocalObject subroutine syntax has these parts:

Part Description

StartObject Object. The name of the Picture or Group where the object you are looking for is
contained.

740
IFIX Automation Reference

Part Description

PartialName String. A partial name for the object to be found. For example, if the object’s full
name is PipeColorAnim1, you can pass in “PipeColorA”, or “PipeC”.

Return Value
Object. The first object in the Group whose name contains what is entered for PartialName.

Remarks
For example, if, through scripting, you want to get an object inside a Group in order to animate that
particular object’s vertical fill, use FindLocalObject with the group’s name and just a partial name of
the object to fill.

FindLocalObject is typically used for Dynamo sets where a Dynamo objects share common names for
all of their contained objects - the only difference being the numeric ending. Forms and subroutines
that call this subroutine make use of the partial name to operate on all similar Dynamo objects so that
all similar Dynamo objects in a picture can use the same subroutines and forms. This assumes that user
creating the Dynamo objects uses a naming convention for the objects inside of the Dynamo object.

G-I

GeneratePicture Subroutine
Creates a new Picture.

Syntax
GeneratePicture (aPicInfo)

Properties
The GeneratePicture subroutine syntax has this part:

Part Description

aPicInfo The PictureInfo structure specifies the properties of the picture to be generated.

The members of the PictureInfo structure are as follows:

741
iFIX Automation Reference

Member Description

lfTopPct The preferred top window edge location of the picture being generated. The
location Unit, pixel or percent, is determined by bPixels. Type is Double.

lfLeftPct The preferred left window edge location of the picture being generated. The
location Unit, pixel or percent, is determined by bPixels. Type is Double.

lfHeightPct The preferred window height of the picture being generated. The dimension
Unit, pixel or percent, is determined by bPixels. Type is Double.

lfWidthPct The preferred window width of the picture being generated. The dimension
Unit, pixel or percent, is determined by bPixels. Type is Double.

lBkColor Color for background color of the picture. Type is Long.

szName The name of the picture. Type is String.

bPixels Determines whether the window location units are pixel or percent. Type is
Boolean.

bTitlebar Defines whether or not the picture window has a title bar. Type is Boolean.

bSystemMenu Defines whether or not the picture window has a system menu. Type is
Boolean.

bResizable Defines whether or not the picture window is resizable. Type is Boolean.

bAlwaysOnTop Defines whether or not the picture window is always on top of other picture
windows. Type is Boolean.

bRuntimeVisible Defines whether or not the picture is visible at run time. Type is Boolean.

GetAllConnections Subroutine
Retrieves all data blocks connected to objects in a Picture or in a Group.

Syntax
GetAllConnections (Obj)

742
IFIX Automation Reference

Properties
The GetAllConnections subroutine syntax has this part:

Part Description

Obj Object. Usually the page object that represents the Picture whose connections you want
to retrieve. This can also be a Group object.

Return Value
Collection. The Collection of all the fully qualified names of database items in the Picture. These
items can be either data links or data items that animate objects.

GetDecimalSeparator Subroutine
Reserved method used internally for Experts.

Syntax
GetDecimalSeparator ([intErrorMode])

Properties
The GetDecimalSeparator subroutine syntax has this part:

Part Description

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

GetFormDynamoColor Subroutine
Reserved method used internally for iFIX Dynamos.

743
iFIX Automation Reference

Syntax
GetFormDynamoColor DynColor

GetFormNumeric Subroutine
Reserved method used internally for Experts.

Syntax
GetFormNumeric ()

GetFormPushbutton Subroutine
Reserved method used internally for Experts.

Syntax
GetFormPushbutton ()

GetFormRamp Subroutine
Reserved method used internally for Experts.

Syntax
GetFormRamp ()

GetFormSlider Subroutine
Reserved method used internally for Experts.

Syntax
GetFormSlider ()

GetLocaleInfoA Subroutine
Retrieves information relating to a specific locale.

744
IFIX Automation Reference

Syntax
GetLocaleInfoA (Locale, LCType, lpLCData, cchData)

Properties
The GetLocaleInfoA subroutine syntax has these parts:

Part Description

Locale Long. The locale ID from where you want to get information.

LCType Long. The type of information to retrieve. Refer to the API32.TXT file for constants
with the LOCALE_ prefix.

lpLCData String. Buffer to load with the information. Make sure this string is initialized to the
appropriate length.

cchData Long. The length of the lpLCData buffer , or zero to get the buffer length.

Return Value
Long. The number of characters loaded into the buffer. Zero on error.

Remarks
GetLocaleInfoA is a Windows API call.

GetUserDefaultLCID Subroutine
Retrieves the default locale for the current user.

Syntax
GetUserDefaultLCID ()

Return Value
Long. The default locale ID for the current user.

Remarks
GetUserDefaultLCID is a Windows API call.

745
iFIX Automation Reference

HandleError Subroutine
The global error handler routine. It displays the error number and its description when an error occurs.

Syntax
HandleError([intErrorMode])

Properties
The HandleError subroutine syntax has this part:

Part Description

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

IsUserFxg Subroutine
Determines whether the active document is the User.fxg.

Syntax
IsUserFxg ()

Return Value
Boolean. True if the active picture is the User.fxg. False if it is not.

Remarks
This subroutine is useful when cycling through the collection of open Documents. Typically, a user
would not want to perform the same actions that you do on User.fxg that he/she would on a picture or
schedule. Thus, if IsUserFxg returns True, the user can write their code to skip User.fxg.

746
IFIX Automation Reference

L-R

LocateObject Subroutine
Searches a Picture for the specified object and selects the object.

Syntax
LocateObject LinkName, bRelative, [intErrorMode]

Properties
The LocateObject subroutine syntax has these parts:

Part Description

LinkName String. The name of the object for which you want to search.

bRelative Boolean. If True, the current picture is searched; if False, all open pictures are
searched.

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
2 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
3 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

LogIn Subroutine
The LogIn subroutine:

• Executes the standard Login program.


• Logs out the current user upon accepting a new login and saves the current user information
which is restored after the execution of a subsequent Login subroutine.
• Updates the user ID information so that all operator messages and SCADA node security
checking reflects the correct user.

747
iFIX Automation Reference

Syntax
LogIn([intErrorMode])([bPushCurrentUser As Boolean])

Properties
The LogIn subroutine syntax has these parts:

Part Description

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors
are displayed in the form of a message box. If no entry is made for the
intErrorMode parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines
are passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History
window destinations using SendOperatorMessage.

bPushCurrentUser Boolean. (Optional).


False (default) – By default, this feature is disabled.
True – Pushes the current user (UserA) to the stack when logging in a new
user (UserB). This parameter allows you to logout UserA after accepting the
UserB login but saves the UserA information. The saved information is
restored after the execution of a subsequent LogOut subroutine.

OffScan Subroutine
Places the specified block off scan.

Syntax
OffScan [DataPoint], [intErrorMode]

Properties
The OffScan subroutine syntax has these parts:

Part Description

DataPoint String. (Optional). The name of the database block that you want to turn off scan.
If no block is specified, the database block for the selected object is turned off
scan.

748
IFIX Automation Reference

Part Description

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

OnScan Subroutine
Places the specified block on scan.

Syntax
OnScan [DataPoint], [intErrorMode]

Properties
The OnScan subroutine syntax has these parts:

Part Description

DataPoint String. (Optional). The name of the database block that you want to put on scan.
If you do not specify a name, the database block for the selected object is put on
scan.

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

749
iFIX Automation Reference

OpenDigitalPoint Subroutine
Opens, or sends a value of 0, to the specified digital block.

Syntax
OpenDigitalPoint [DigitalPoint], [intErrorMode]

Properties
The OpenDigitalPoint subroutine syntax has these parts:

Part Description

DigitalPoint String. (Optional). The name of the digital block that you want to open. If no
block is specified, it opens the digital point associated with the selected object.

bstrEventName Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the
intErrorMode parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

Remarks
If no block is specified and the selected object does not have an associated digital point, an error
message will occur informing the user that the write was not successful.

OpenPicture Subroutine
Opens the specified Picture.

Syntax
OpenPicture [Picture], [PictureAlias], [TopPosition], [LeftPosition], [intErrorMode],
[CallingPicture], [TSPicType], [TagList], [bNewInstance]

Properties
The OpenPicture subroutine syntax has these parts:

750
IFIX Automation Reference

Part Description

Picture String. (Optional) The file name of the Picture you want to open. If no file name
is specified, the Open dialog is launched allowing the user to select a picture to
open.

PictureAlias String. (Optional) The alias that you want to assign to the Picture.

TopPosition Variant. (Optional) The position at which you want to place the top of the
Picture. Default = 0.

LeftPosition Variant. (Optional) The position at which you want to place the left side of the
Picture. Default = 0.

intErrorMode Integer. (Optional) The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

Calling Object. (Optional) The picture whose tag status functionality will be accessed.
Picture

TSPicType TS_PIC_TYPE (Optional) The type of Tag Status picture to open:


0 – Single Tag TS picture
1 – Quick Trend
2 – Tag Control Panel

TagList Variant. (Optional) An array of strings to be used in the tag status picture.

bNewInstance Boolean. (Optional) Describes whether the picture is a new instance. This field is
useful when opening multiple pictures.
True – Opens a new instance of the same picture.
False – Does not open a new instance of the picture. This is the default setting.

Remarks
The alias is a user-defined generic picture name. By using aliases, you can control the opening and
closing of multiple pictures without concern for the currently displayed picture.

751
iFIX Automation Reference

Tag status functionality is available only when no Picture string has been provided and if the
CallingPicture and TSPicType parameters are provided. If the CallingPicture parameter is not
provided, the call to OpenPicture is treated as a regular OpenPicture request. If the CallingPicture
parameter is provided, but the TSPicType parameter is not, the call to OpenPicture generates an error
message.

If a string has been provided via the Picture parameter, the standard OpenPicture functionality is
invoked. In this case, the CallingPicture, TSPicType, and TagList parameters are ignored.

In run mode, you can modify the VBA scripting in a new instance of a picture. However, modifications
to scripts in an instance of a picture will not be saved. Saving changes to scripts in run mode is not
allowed. To make changes to a script in the main picture, switch to configure mode and edit the script
in the main picture (not the instance).

OpenTGDPicture Subroutine
Opens the specified Picture with the specified tag group file.

Syntax
OpenTGDPicture [Picture], [PictureAlias], [TopPosition], [LeftPosition], [TagGroupName],
[intErrorMode], [bNewInstance]

Properties
The OpenTGDPicture subroutine syntax has these parts:

Part Description

Picture String. (Optional) The file name of the Picture you want to open. If no file
name is specified, the Open dialog is launched allowing the user to select a
picture to open.

PictureAlias String. (Optional) The alias that you want to assign to the Picture.

TopPosition Variant. (Optional) The position at which you want to place the top of the
Picture. Default = 0.

LeftPosition Variant. (Optional) The position at which you want to place the left side of the
Picture. Default = 0.

TagGroupName String (Optional) The tag group file name. Do not specify a path for this
parameter.

752
IFIX Automation Reference

Part Description

intErrorMode Integer. (Optional) The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the
intErrorMode parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

bNewInstance Boolean. (Optional) Describes whether the picture is a new instance. This field
is useful when opening multiple pictures.
True – Opens a new instance of the same picture.
False – Does not open a new instance of the picture. This is the default setting.

Remarks
The alias is a user-defined generic picture name. By using aliases, you can control the opening and
closing of multiple pictures without concern for the currently displayed picture.

In run mode, you can modify the VBA scripting in a new instance of a picture. However, modifications
to scripts in an instance of a picture will not be saved. Saving changes to scripts in run mode is not
allowed. To make changes to a script in the main picture, switch to configure mode and edit the script
in the main picture (not the instance).

PictureAlias Subroutine
Assigns an alias, or nickname, to the current Picture.

Syntax
PictureAlias PictureAlias, [intErrorMode]

Properties
The PictureAlias subroutine syntax has these parts:

Part Description

PictureAlias String. The alias that you want to assign to the current picture.

753
iFIX Automation Reference

Part Description

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

PrintReport Subroutine
Prints the specified Crystal Report.

Syntax
PrintReport Report, [Prompt],[Copies],[Coll],[StartNo],[EndNo], [intErrorMode]

Properties
The PrintReport subroutine syntax has these parts:

Part Description

Report String. The name of the report to print, including the file’s full path.

Prompt Boolean. (Optional) If True, the user is prompted with the open report dialog,
allowing the user to select the report to print. If False, the report specified is
printed. This option is ignored in Crystal XI.

Copies Long. (Optional) The number of copies to print. Default = 1. This option is
ignored in Crystal XI.

Coll Boolean. (Optional) If True, the reports are collated. If False, they are not. This
option is ignored in Crystal XI.

StartNo Long. (Optional) The first page of the report to print. This option is ignored in
Crystal XI.

EndNo Long. (Optional) The last page of the report to print. This option is ignored in
Crystal XI.

754
IFIX Automation Reference

Part Description

intErrorMode Integer. (Optional). The error mode. This option is ignored in Crystal XI.
0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 - Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

QuickAdd Subroutine
Launches the Quick Add dialog box for adding a data block.

Syntax
QuickAdd (DataSource, [intErrorMode])

Properties
The QuickAdd subroutine syntax has these parts:

Part Description

DataSource String. The name of the database block you want to add.

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

Return Value
Integer. The status of the database block.

0 = OK (data block already exists)

755
iFIX Automation Reference

1 = Invalid Syntax

2 = Undefined (Quick Add dialog is launched)

3 = Data Type Mismatch

4 = User chose Use Anyway

5 = User chose not to add the block

RampValue Subroutine
Manually ramps the specified database block by increasing or decreasing its current value by a
specified percentage of the engineering units (EGU) range.

Syntax
RampValue RampValue, ByPercent, [DataPoint], [intErrorMode]

Properties
The RampValue subroutine syntax has these parts:

Part Description

RampValue String. The value you want to use to ramp the database block.

ByPercent Boolean. If True, the block is ramped by the percentage of the EGU range. If
False, the data point is ramped by the RampValue.

DataPoint String. (Optional). The name of the database block that you want to ramp. If no
block is specified, the value of the data source associated with the selected object
is ramped.

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

756
IFIX Automation Reference

ReadValue Subroutine
Reads the value of the specified block.

Syntax
ReadValue [DataPoint], [intErrorMode]

Properties
The ReadValue subroutine syntax has these parts:

Part Description

DataPoint String. (Optional). The database block that you want to read. If no block is
specified, the data source associated with the selected object is read.

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

Return Value
ReadValue returns the value of the specified block.

RegCloseKey Subroutine
Closes a key in the system registry. FactoryGlobals provides the Declare statement in
GlobalSubroutines so you can use this Windows API call without declaring it in your procedures.

NOTE: For Crystal XI users, use the PrintReport subroutine instead of using the RegOpenKeyEx and
RegCloseKeyEx subroutines. The PrintReport subroutine will do all of the registry entries for you.

Syntax
RegCloseKey (hKey)

757
iFIX Automation Reference

Properties
The RegCloseKey subroutine syntax has this part:

Part Description

hKey Long. The key to close.

Return Value
Long. Zero on success. All other values indicate an error.

Remarks
RegCloseKey is a Windows API call.

RegOpenKeyEx Subroutine
Opens an existing registry key. FactoryGlobals provides the Declare statement in GlobalSubroutines so
you can use this Windows API call without declaring it in your procedures.

NOTE: For Crystal XI users, use the PrintReport subroutine instead of using the RegOpenKeyEx and
RegCloseKeyEx subroutines. The PrintReport subroutine will do all of the registry entries for you.

Syntax
RegOpenKeyEx (hKey, lpSubKey, ulOptions, samDesired, phkResult)

Properties
The RegOpenKeyEx subroutine syntax has these parts:

Part Description

hKey Long. Handle of an open key or one of the standard key names.
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_CURRENT_CONFIG
HKEY_DYN_DATA
Use the VB5.0 API Viewer to get the correct hex number for the key.

lpSubKey String. Name of the key to open.

758
IFIX Automation Reference

Part Description

ulOptions Long. Unused. Set to zero.

samDesired Long. One or more constants with the prefix KEY_ that describes which operation
are allowed for this key.

phkResult
Long. Variable to load with a handle to the open key.

Return Value
Long. Zero on success. All other values indicate an error.

Remarks
RegOpenKeyEx is a Windows API call.

ReplacePicture Subroutine
Closes a Picture and replaces it with another Picture. If a picture with a specified tag group file is
already open in the WorkSpace, another instance of that picture with the same tag group file opens in
the WorkSpace. The picture being opened will stretch or skew to fit the document height and width of
the picture being replaced. The DisableAutoScale setting does not affect this behavior.

Syntax
ReplacePicture NewPicture, [OldPicture], [TagGroupFileName], [intErrorMode],
[bShowPictureNotOpenErrors]; [CallingPicture]; [TSPicType]; [TagList]; [bNewInstance]

Properties
The ReplacePicture subroutine syntax has these parts:

Part Description

NewPicture String. The file name of the Picture you want to open.

OldPicture String. (Optional) The file name of the Picture you want to
replace. If no picture is specified, the currently active picture is
replaced.

759
iFIX Automation Reference

Part Description

String. (Optional) The file name of the Tag Group File you
TagGroupFileName want to load with the new picture.

Integer. (Optional) The error mode.


intErrorMode 0 (default) – Allows the subroutines to provide the error
messages. Errors are displayed in the form of a message box. If
no entry is made for the intErrorMode parameter, the default is
used.
1 – Allows the user to handle the error messages. Errors in the
subroutines are passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display.
Instead, the errors are written to all iFIX destinations,
including the Alarm History window destinations using
SendOperatorMessage.

Boolean. (Optional). If this value is set to TRUE, an error


bShowPictureNotOpenErrors displays when the picture to be replaced is not open and no
replace occurs. The default is FALSE.

Object. (Optional) The picture whose tag status functionality


CallingPicture will be accessed.

TS_PIC_TYPE (Optional) The type of Tag Status picture to


TSPicType open:
0 – Single Tag Status picture
1 – Quick Trend picture
2 – Tag Control Panel picture

Variant. (Optional) An array of strings to be used in the tag


TagList status picture.

Boolean. (Optional). Describes whether the picture is a new


bNewInstance instance. This field is useful when opening multiple pictures. If
the value is set to TRUE, a new instance of the same picture is
opened. If the value is set to FALSE, then a new instance of
the picture is not opened. The default is FALSE.

Remarks
Tag status functionality is available only when no NewPicture string has been provided and if the
CallingPicture and TSPicType parameters are provided. If the CallingPicture parameter is not
provided, the call to ReplacePicture is treated as an invalid ReplacePicture request. If the

760
IFIX Automation Reference

CallingPicture parameter is provided, but the TSPicType parameter is not, the call to ReplacePicture is
treated as an invalid ReplacePicture request.

If a string has been provided via the NewPicture parameter, the standard ReplacePicture functionality
is invoked. In this case the CallingPicture, TSPicType, and TagList parameters are ignored.

If possible, always make this call the last line in your script. Note that when the ReplacePicture
subroutine is used, and the document being replaced is the document that contains the script, the call
must be the last line in the script. Otherwise, you may experience unexpected behavior when executing
the script.

If the ReplacePicture subroutine is not in the picture being replaced and is not the last line in your
script, be certain that the operation is complete before the rest of the script continues to execute.
Immediately after making the call, you must relinquish the CPU by calling DoEvents. For example, the
following sample script replaces a picture called TANK1 with a picture called TANK2, then opens
another picture called TANK3:

Private Sub Rect1_Click()

ReplacePicture "Tank2", "Tank1"

DoEvents

OpenPicture "Tank3"

End Sub

ReplaceTGDPicture Subroutine
Closes a Picture and replaces it with another Picture with the specified tag group file. If a picture with
that specified tag group file is already open in the WorkSpace, another instance of that picture with the
same tag group file opens in the WorkSpace.

Syntax
ReplaceTGDPicture NewPicture, TagGroupName, [OldPicture], [bNewInstance]

Properties
The ReplaceTGDPicture subroutine syntax has these parts:

Part Description

NewPicture String. The file name of the Picture you want to open.

TagGroupName String. Tag group file name. Do not specify a path.

OldPicture String. (Optional) The file name of the Picture you want to replace. If no
picture is specified, the currently active picture is replaced.

761
iFIX Automation Reference

Part Description

bNewInstance Boolean. (Optional). Describes whether the picture is a new instance. This field
is useful when opening multiple pictures. If the value is set to TRUE, a new
instance of the same picture is opened. If the value is set to FALSE, then a new
instance of the picture is not opened. The default is FALSE.

Remarks
If possible, always make this call the last line in your script. Note that when the ReplaceTGDPicture
subroutine is used, and the document being replaced is the document that contains the script, the call
must be the last line in the script. Otherwise, you may experience unexpected behavior when executing
the script.

If the ReplaceTGDPicture subroutine is not in the picture being replaced and is not the last line in your
script, be certain that the operation is complete before the rest of the script continues to execute.
Immediately after making the call, you must relinquish the CPU by calling DoEvents.

S-Z

SetAuto Subroutine
Sets the specified block to automatic mode.

Syntax
SetAuto [DataPoint], [intErrorMode]

Properties
The SetAuto subroutine syntax has these parts:

Part Description

DataPoint String. (Optional) The name of the database block that you want to set to
automatic mode. If no block is specified, the database block associated with the
selected object is set to automatic mode.

762
IFIX Automation Reference

Part Description

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

SetManual Subroutine
Sets the specified block to manual mode.

Syntax
SetManual [DataPoint], [intErrorMode]

Properties
The SetManual subroutine syntax has these parts:

Part Description

DataPoint String. (Optional) The name of the database block that you want to set to manual
mode. If no block is specified, the database block associated with the selected
object is set to manual mode.

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

763
iFIX Automation Reference

ShellExecute Subroutine
Finds the file name of the program that is associated with a specified file and either runs the program
for the file or prints the file. FactoryGlobals provides the Declare statement in GlobalSubroutines so
you can use this Windows API call without declaring it in your procedures.

Syntax
ShellExecute (hwnd, lpOperation, lpFile, lpParameters, lpDirectory, nShowCmd)

Properties
The ShellExecute subroutine syntax has these parts:

Part Description

hwnd Long. A handle to a window.

lpOperation String. The string “Open” to open the lpFile document or “Print” to print it. You
can use vbNullString to default to “Open”.

lpFile String. A program name or the name of a file to print or open using the associated
program.

lpParameters String. A string with parameters to pass to the exe file if lpszFile is an executable
file. VbNullString if lpszFile refers to a document file or if on parameters are
used.

lpDirectory String. The full path of the default directory to use.

nShowCmd Long. A constant value specifying how to show the launched program.

Return Value
Long. The success of the ShellExecute call. A value greater than 32 signifies success.

Remarks
ShellExecute is a Windows API call.

ToggleDigitalPoint Subroutine
Toggles the current state of the digital block between open and closed.

764
IFIX Automation Reference

Syntax
ToggleDigitalPoint [DigitalPoint], [intErrorMode]

Properties
The ToggleDigitalPoint subroutine syntax has these parts:

Part Description

DigitalPoint String. (Optional). The name of the digital block that you want to toggle. If no
block is specified, it opens the digital point associated with the selected object.

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

ToggleManual Subroutine
Toggles the mode status of the specified block between manual and automatic modes.

Syntax
ToggleManual [DataPoint], [intErrorMode]

Properties
The ToggleManual subroutine syntax has these parts:

Part Description

DataPoint String. (Optional). The name of the database block whose state you want to
toggle. If no name is specified, the database block associated with the selected
object is toggled.

765
iFIX Automation Reference

Part Description

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

ToggleScan Subroutine
Toggles the scan status of the specified block.

Syntax
ToggleScan [DataPoint], [intErrorMode]

Properties
The ToggleScan subroutine syntax has these parts:

Part Description

DataPoint String. (Optional). The name of the database block whose scan status you want to
toggle. If you do not specify a name, the scan status of the database block
associated with the selected object is toggled.

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

766
IFIX Automation Reference

WriteValue Subroutine
Sets the value of the current value of the specified database block.

Syntax
WriteValue Value , [DataPoint], [intErrorMode]

Properties
The WriteValue subroutine syntax has these parts:

Part Description

Value String. The value that you want to write to the specified database block.

DataPoint String. (Optional). The database block to which you want to write the specified
value. If no block is specified, the data source associated with the selected object
is write.

intErrorMode Integer. (Optional). The error mode.


0 (default) – Allows the subroutines to provide the error messages. Errors are
displayed in the form of a message box. If no entry is made for the intErrorMode
parameter, the default is used.
1 – Allows the user to handle the error messages. Errors in the subroutines are
passed back to the calling routine for handling.
2 – Writes errors to all destinations. No error messages display. Instead, the
errors are written to all iFIX destinations, including the Alarm History window
destinations using SendOperatorMessage.

767
Database Functions

Database Functions Summary


The following list contains the iFIX Database Functions that are available to the Automation Interface.
For information on non iFIX objects, refer to the appropriate help system.

• eda_add_block
• eda_delete_block
• eda_get_pdb_name
• eda_reload_databse
• eda_save_database
• eda_type_to_index
• FixGetMyName
• NlsGetText

eda_add_block Function
Add a new block of the specified type on the specified node.

Syntax
Function eda_add_block(NodeName, TagName, BlkType)

Properties
The eda_add_block function syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

NodeName String. The node name on which to add the block.

TagName String. The name to identify the tag (maximum of 30 characters).

BlkType Integer. The block type index.

769
iFIX Automation Reference

Return Value
Integer. FE_OK if data is valid

Remarks
Note that the type is passed as an integer. A type string such as “AI” can be converted to a type index
by calling the eda_type_to_index function as listed below. The new tag will be initialized to the same
default values that appear when a new tag is created with DatabaseManager. These values can be
written using the various other functions mentioned here.

eda_delete_block Function
Deletes the specified database block from the database.

Syntax
Function eda_delete_block (NodeName, TagName)

Properties
The eda_delete_block function syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

NodeName String. The node name on which to delete the block.

TagName String. The name of the block to be deleted.

Return Value
FE_OK if successful; FE_XXX if error.

Remarks
Deletes the specified block from the database. If this block is part of a chain, then the previous and
next blocks of the chain will be reconnected. It is good practice to place the block OFFSCAN before
deleting it.

eda_get_pdb_name Function
Retrieves the PDB file name from the database.

770
IFIX Automation Reference

Syntax
Function eda_get_pdb_name As Integer (NodeName, DatabaseName, BufSize)

Properties
The eda_get_pdb_name function syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

NodeName String. The name of the node on which the database resides.

DatabaseName String. Returns the name of the database for NodeName.

BufSize Integer. The maximum size, in bytes, to return in DatabaseName.

Return Value
Integer. FE_OK if no error.

Remarks
This is the name of the current PDB file loaded by the system (for example, by the DBB RELOAD
function or by the eda_reload_database function). The name is returned without the path or extension.

The DatabaseName parameter must be declared either as fixed-length strings of 260 characters or as
variable-length strings that are initialized as 260 characters before calling eda_get_pdb_name. The
NodeName parameter must be declared either as fixed-length strings of 9 characters or as variable-
length strings that are initialized as 9 characters before calling eda_get_pdb_name. For example, you
could initialize the NodeName parameter in either of the following ways:

Dim NodeName As String * 9

or

Dim NodeName As String

NodeName = " "

eda_reload_database Function
Loads the specified PDB to a file into the specified node.

771
iFIX Automation Reference

Syntax
Function eda_reload_database (NodeName, DatabaseName)

Properties
The eda_reload_database function syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

NodeName String. The name of the node on which to re-load the database.

DatabaseName String. The name of the database file that is to be loaded into memory.

Return Value
Integer. FE_OK if no error

Remarks
This is equivalent to the DBB Reload... function. The name passed becomes the new name of the
database. The name should be passed without a path or extension.

NOTE: The previous database in memory is replaced. No check is made to see if the database has
been modified.

eda_save_database Function
Saves the current active database to a file.

Syntax
Function eda_save_database (NodeName, DatabaseName)

Properties
The eda_save_database function syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

772
IFIX Automation Reference

NodeName String. The name of the node whose database is to be saved.

DatabaseName String. The name of the file to which the current database is to be saved.

Return Value
Long. Some typical errors would be:

Value Description

FE_OK Successful.

FE_SEC_ACCESSS Unauthorized access attempted.

FE_BAD_FILENAME DatabaseName specified is bad.

FE_READ_ONLY Database is read only.

Remarks
This is equivalent to the DBB Save As... function. The name passed becomes the new name of the
database. The name should be passed without a path or extension.

NOTE: This file will only exist on the node whose database is being saved. This may be different than
the node that is making the eda_save_database call.

eda_type_to_index Function
Retrieves the type index for the specified string containing a block type.

Syntax
Function eda_type_to_index (NodeName, BlockType)

Properties
The eda_type_to_index function syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

773
iFIX Automation Reference

NodeName String. Name of node on which the block is located.

BlockType String. The block type whose block index is required.

Return Value
Integer. The database block type (a value between 1 and 150). Returns 0 if the type name is not
recognized.

Remarks
The block index returned by this function should be used when adding blocks to the database via the
eda_add_block function.

FixGetMyname Function
Get the node name of this node. This function works whether or not the FIX is running.

Syntax
Function FixGetMyname (Myname, MaxSize)

Properties
The FixGetMyname function syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

Myname String. Returns the name of the current node.

MaxSize Long. The maximum size, in bytes, to return in Myname.

Return Value
Long.

Value Description

FTK_OK Successful.

774
IFIX Automation Reference

FTK_BAD_LENGTH String length too small.

FTK_NODENAME_NOT_DEFINED No node name defined for this node.

FTK_BAD_MHANDLE Pointer to non-writable memory passed in.

FTK_NO_MESSAGE No message exists for error.

FTK_BAD_LENGTH String length too small.

Remarks
The maximum size for MyName (MaxSize) is NODE_NAME_SIZE.

The MyName parameter must be declared either as a fixed-length string of 9 characters before calling
FixGetMyName. For example, initialize the MyName parameter in the following way:

Dim Myname As String * 9 ‘init variable

Myname = " " ‘clear variable before usage

When the length of the Myname string (the node name) does not fill the maximum size (9 characters),
the returned string contains NULL. To remove the NULL from the VBA string, you can use the
following code snippet:

rtn = FixGetMyname(Myname, 9)

StrMyNode = ""

For i = 1 To Len(Myname)

rtn = Mid(Myname, i, 1)/p>

If Asc(rtn) >= 65 And (Asc(rtn) <= 95) Then ‘check if I’m Alpha

StrMyNode = StrMyNode & rtn

Else

If Asc(rtn) >= 48 And (Asc(rtn) <= 57) Then ‘Check if I’m numeric

StrMyNode = StrMyNode & rtn

End If

Next i

In addition, you may want to check for characters such as the underscore (_) and other valid characters
used in a node name. The previous example assumes that your node name only contains the characters
A to Z, or the numbers 1 to 9.

775
iFIX Automation Reference

NlsGetText Function
Translates an error number returned as a string.

Syntax
Function NlsGetText (ErrCode, MsgString, MaxLength)

Properties
The NlsGetText function syntax has these parts:

Part Description

object An object expression that evaluates to an object in the Applies To list.

ErrCode Integer. The error code returned from a previous eda function call.

MsgString String. The error message that corresponds to ErrCode.

MsgString Integer. The maximum size, in bytes, to return in MsgString.

Return Value
Long.

Part Description

FTK_OK Successful.

FTK_BAD_MHANDLE Pointer to non-writable memory passed in.

FTK_NO_MESSAGE No message exists for error.

FTK_BAD_LENGTH String length too small.

Remarks
The Error originates from iFIX. If the message is longer than specified in MaxLength, then string will
be truncated. If no message exists for Error, FTK_NO_MESSAGE will be returned.

The MsgString parameter must be declared as a fixed-length string of 255 characters before calling
NlsGetText. For example, you

776
IFIX Automation Reference

could initialize the MsgString parameter like so:

Dim MsgString As String * 255

777
Examples

Examples
The following list contains available examples. For information on non-iFIX methods, refer to the
appropriate help system.

A
AboutBox Method Example

AckAlarm Method Example

AckAlarmPage Method Example

AckAlarmPageEx Method Example

AckAllAlarms Method Example

AcknowledgeAllAlarms Subroutine Example

AcknowledgeAnAlarm Subroutine Example

ActivateWorkspaceUI Method Example

Add Method Example

AddDataSet Method Example

AddEventHandler Method Example

AddImage Method Example

AddLegendItem Method Example

AddLevel Method Example

AddObject Method Example

AddPen Method Example

AddPictureToStartupList Method Example

AddPoint Method Example

779
iFIX Automation Reference

AddProcedure Method Example

AlarmHornEnabled Subroutine Example

AlarmHornEnabledToggle Subroutine Example

AlarmHornSilence Subroutine Example

Align Method Example

ApplyProperty Method Example

AutoScaleDisplayLimits Method Example

B
BringToFront Method Example

BuildObject Method Example

C
CanConstruct Method Example

CheckAccountExpiration Method Example

CheckSecurityEnabled Method Example

CheckSyntax Method Example

CheckUserApplicationAccess Method Example

CheckUserAreaAcess Method Example

Clear Method Example

ClearUndo Method Example

Close Method Example

CloseDigitalPoint Subroutine Example

ClosePicture Subroutine Example

Commit Method Example

Connect Method Example

ConnectDataSet Method Example

780
IFIX Automation Reference

ConnectedPropertyCount Method Example

Construct Method Example

ConvertPipe Method Example

Convert_A_Group_To_A_Dynamo_By_Name Method Example

Convert_A_Group_To_A_Dynamo_By_Ref Method Example

ConvertPipe Method Example

ConvertSecurityAreaNameToNumber Method Example

ConvertSecurityAreaNumberToName Method Example

Copy Method Example

Coupled_Activate_Workspace_UI Method Example

Coupled_DeActivate_Workspace_UI Method Example

CopyAsBitmap Method Example

CreateDynamoByGrouping Method Example

CreateFromDialog Method Example

CreateFromProgID Method Example

CreateWithMouse Method Example

Cut Method Example

D
DeActivateWorkspaceUI Method Example

DefaultView Method Example

DelAlarm Method Example

DeleteAllAlarms Method Example

DeleteAllDataSets Method Example

DeleteDataSet Method Example

DeleteImage Method Example

DeletePen Method Example

781
iFIX Automation Reference

DeletePoint Method Example

DeleteSelectedObjects Method Example

DemandFire Method Example

DeselectObject Method Example

DestroyObject Method Example

DisableAlarm Subroutine Example

DisableNonSelectionEvents Method Example

Disconnect Method Example

DisplaysControlPoints Method Example

DoesPropertyHaveTargets Method Example

DoExtendLines Method Example

DoLinesToPolyline Method Example

DoMenuCommand Method Example

DoTrimLines Method Example

DumpProperties Method Example

Duplicate Method Example

E
EditPicture Method Example

Enable Method Example

EnableAlarm Subroutine Example

Enumerate_All_Dynamos Method Example

Enumerate_All_Groups Method Example

Enumerate_Top_Level_Dynamos Method Example

Enumerate_Top_Level_Groups Method Example

Esignature Object Example

ExchangePenPositions Method Example

782
IFIX Automation Reference

ExportData Method Example

ExportImage Method Example

ExportLanguageFile Method Example

F
FetchLimits Subroutine Example

FindAndReplaceDialog Method Example

FindDataSource Subroutine Example

FindInString Method Example

FindLocalObject Subroutine Example

FindObject Method Example

FindReplaceInObject Method Example

FindReplaceInString Method Example

FitDocumentToWindow Method Example

FitWindowToDocument Method Example

FixCheckApplicationAccess Method Example

FixCheckApplicationAccessQuiet Method Example

FixCheckAreaAccess Method Example

FixCheckAreaAccessQuiet Method Example

FixCheckSecurityEnabled Method Example

FixGetManualAlmDeleteEnabled Method Example

FixGetUserInfo Method Example

FixLogin Method Example

FixLogout Method Example

FontProperties Method Example

FullView Method Example

783
iFIX Automation Reference

G
GeneratePicture Subroutine Example

Get_AutoScale Method Example

Get_Last_Prompt_Value Method Example

Get_Last_Result_String Method Example

GetAllConnections Subroutine Example

GetBoundRect Method Example

GetChartEndTime Method Example

GetChartStartTime Method Example

GetColHeadings Method Example

GetColumnInfo Method Example

GetConnectionInformation Method Example

GetConnectionParameters Method Example

GetContinuousUser Method Example

GetCurrentDataSet Method Example

GetCurrentValue Method Example

GetCurrentValueWithQuality Method Example

GetDataSetByPosition Method Example

GetDecimalSeparator Subroutine Example

GetDeviceRect Method Example

GetDuration Method Example

GetErrorString Method Example

GetEventHandlerIndex Method Example

GetFormDynamoColor Subroutine Example

GetFormNumeric Subroutine Example

GetFormPushbutton Subroutine Example

GetFormRamp Subroutine Example

784
IFIX Automation Reference

GetFormSlider Subroutine Example

GetFullname Method Example

GetIndirectionInfo Method Example

GetInterval Method Example

GetNumberOfDataSets Method Example

GetLevel Method Example

GetLocaleInfoA Subroutine Example

GetObjectInfo Method Example

GetPenDataArray Method Example

GetPenDataArrayEx Method Example

GetPointAt Method Example

GetPriorityColor Method Example

GetProcedureIndex Method Example

GetProperty Method Example

GetPropertyAttributes Method Example

GetPropertyTargets Method Example

GetSelectedAlmExt Method Example

GetSelectedNodeTag Method Example

GetSelectedRow Method Example

GetSelectedUserDefFields Method Example

GetSignature Method Example

GetSignatureAndWriteValue Method Example

GetStatusColor Method Example

GetStatusFont Method Example

GetTimeBeforeNow Method Example

GetTimeCursorInfo Method Example

GetUserDefaultLCID Subroutine Example

785
iFIX Automation Reference

GetUserID Method Example

GetWindowLocation Method Example

GlobalScrollBackFast Method Example

GlobalScrollBackSlow Method Example

GlobalScrollForwardFast Method Example

GlobalScrollForwardSlow Method Example

GlobalTimerApply Method Example

Group Method Example

H
HandleError Subroutine Example

HiLoDisplay Method Example

I-K
ImportToolbar Method Example

Initialize Method Example

InitializeList Method Example

InsertPoint Method Example

InteractiveExport Method Example

IsColorSelectionVisible Method Example

IsConnected Method Example

IsEmpty Method Example

IsNodeSignEnabled Method Example

IsSignatureRequired Method Example

IsSignatureRequiredForList Method Example

IsUserFxg Subroutine Example

Item Method Example

786
IFIX Automation Reference

L
ListEvents Method Example

ListMethods Method Example

ListProperties Method Example

ListWindowsGroupNames Method Example

Load_TS_List Method Example

LoadImage Method Example

LoadTagGroupFile Method Example

LocateObject Subroutine Example

LogicalToPercentage Method Example

LogicalToUserFormPoint Method Example

LogIn Subroutine Example

M-N
MakeLinesHorizontal Method Example

MakeLinesVertical Method Example

MakeSameSize Method Example

Modify Method Example

ModifyColumnLength Method Example

Move Method Example

NewAlarm Event Example

O
OffScan Subroutine Example

OnScan Subroutine Example

Open Method Example

Open_QT_Pic Method Example

787
iFIX Automation Reference

Open_QT_Pic_Ex Method Example

Open_TCP_Pic Method Example

Open_TCP_Pic_Ex Method Example

Open_TS_Pic Method Example

Open_TS_Pic_Ex Method Example

Open_TS_Pic_Type Method Example

Open_TS_Pic_Type_Ex Method Example

OpenDigitalPoint Subroutine Example

OpenPicture Subroutine Example

OpenTGDPicture Subroutine Example

P-Q
ParseConnectionSource Method Example

Paste Method Example

PasteSpecial Method Example

Pause Method Example

PauseAlarmRead Example

PercentageToLogical Method Example

PercentageToPixel Method Example

PictureAlias Subroutine Example

PixelToPercentageMethod Example

PrintChart Method Example

PrintOut Method Example

PrintReport Subroutine Example

PromptToChangePassword Method Example

QuickAdd Subroutine Example

Quit Method Example

788
IFIX Automation Reference

R
RampValue Subroutine Example

Read Method Example

ReadValue Subroutine Example

Refresh Method Example

RefreshChartData Method Example

RegCloseKey Subroutine Example

RegOpenKeyEx Subroutine Example

Remove Method Example

RemoveAll Method Example

RemoveAllLevels Method Example

RemoveItem Method Example

RemoveLegendItem Method Example

RemoveLevel Method Example

RemoveObject Method Example

ReplacePicture Subroutine Example

RemovePictureFromStartupList Method Example

Replace_QT_Pic Method Example

Replace_TCP_Pic Method Example

Replace_TS_Pic_Type Method Example

Replace_TS_Pic Method Example

ReplaceDocument Method Example

ReplaceInString Method Example

ReplaceTGDPicture Subroutine Example

ResetChartData Method Example

ResetObjectStats Method Example

ResetStats Method Example

789
iFIX Automation Reference

ResetZoom Method Example

ResolveTagGroupFile Method Example

Resume Method Example

ResumeAlarmRead Method Example

RetrieveDefinition Method Example

RetrieveTagGroupVariables Method Example

Rotate Method Example

RunObject Method Example

S
Save Method Example

Save_TS_List Method Example

SaveAsSVG Method Example

SaveToHistoryList Method Example

ScrollBack Method Example

ScrollForward Method Example

ScrollTimeBack Method Example

ScrollTimeForward Method Example

Select Method Example

SelectAlarmRow Method Example

SelectAll Method Example

SelectObject Method Example

SendOperatorMessage Method Example

SendSignedOperatorMessage Method Example

SendToBack Method Example

SetAuto Subroutine Example

SetContinuousUser Method Example

790
IFIX Automation Reference

SetCurrentValue Method Example

SetDispatch Method Example

SetDispid Method Example

SetDuration Method Example

SetFocusToComboBox Method Example

SetGlobalMovingEndTimeToCurrent Method Example

SetIndirectionInfo Method Example

SetInterval Method Example

SetLegendMask Method Example

SetManual Subroutine Example

SetNumericFormat Method Example

SetPenDataArray Method Example

SetPointAt Method Example

SetPriorityColor Method Example

SetProperty Method Example

SetScriptWindow Method Example

SetSource Method Example

SetStatusColor Method Example

SetStatusFont Method Example

SetStringFormat Method Example

SetTabSelection Method Example

SetTimeBeforeNow Method Example

SetTimeCursorTime Method Example

SetWindowLocation Method Example

ShellExecute Subroutine Example

ShowAnimations Method Example

ShowBrowseDialog Method Example

791
iFIX Automation Reference

ShowColorBox Method Example

ShowColorSelection Method Example

ShowCustomPages Method Example

ShowPipePreviewDialog Method Example

ShowTaskWizard Method Example

ShowVBAProcedure Method Example

ShowVisualBasicEditor Method Example

SilenceAlarmHorn Method Example

SnapObjectsToGrid Method Example

SpaceEvenly Method Example

StartEvent Method Example

StartTimer Method Example

StickToCursor Method Example

StopEvent Method Example

StopTimer Method Example

Stretch Method Example

SwitchLanguage Method Examples

SwitchMode Method Example

SynchronizeSecurity Method Example

T
TagGroupSubstitution Method Example

TagGroupValue Method Example

ToggleDigitalPoint Subroutine Example

ToggleManual Subroutine Example

ToggleScan Subroutine Example

792
IFIX Automation Reference

U
UIActivate Method Example

UIDeActivate Method Example

Undo Method Example

UndoTransaction Method Example

UndoZoom Method Example

UnGroup Method Example

UnloadTagGroupFile Method Example

Update_A_Dynamo_By_Name Method Example

Update_A_Dynamo_By_Name2 Method Example

Update_A_Dynamo_By_Ref Method Example

Update_A_Dynamo_By_Ref2 Method Example

UpdateBackgroundObject Method Example

UpdateConnectionParameters Method Example

UpdateDefinition Method Example

UserFormPointToLogical Method Example

V-Z
ValidateSignature Method Example

ValidateSignatureAndWriteValue Method Example

ValidateSource Method Example

ValueTimeFromXY Method Example

WritePictureToImageFile Method Example

WriteValue Subroutine Example

Write Method Example

XYFromValueTime Method Example

XYHitTest Method Example

793
iFIX Automation Reference

Zoom Method Example

AboutBox Method Example


The following example opens the Help About Box for the Alarm Summary object
AlarmSummaryOCX1.

AlarmSummaryOCX1.AboutBox

AckAlarm Method Example


The following example acknowledges an alarm generated for the block titled AI1 on a node titled
NODE1 in the Alarm Summary object AlarmSummaryOCX1.

Dim iRVal as integer

iRVal = AlarmSummaryOCX1.AckAlarm ("NODE1", "AI1")

AckAlarmPage Method Example


The following example acknowledges the currently displayed page of alarms in the Alarm Summary
object AlarmSummaryOCX1.

Dim iRVal as integer

iRVal = AlarmSummaryOCX1.AckAlarmPage

AckAlarmPageEx Method Example


The following example acknowledges the currently displayed page of alarms in the Alarm Summary
object AlarmSummaryOCX1.

AlarmSummaryOCX1.AckAlarmPageEx

AckAllAlarms Method Example


The following example acknowledges all alarms in the Alarm Summary object AlarmSummaryOCX1.

Dim iRVal as integer

iRVal = AlarmSummaryOCX1.AckAllAlarms

794
IFIX Automation Reference

AcknowledgeAllAlarms Subroutine Example


The following example acknowledges alarms for all blocks for Picture TestPicture.

AcknowledgeAllAlarms "TestPicture"

AcknowledgeAnAlarm Subroutine Example


The following example acknowledges alarm for block AI1.

AcknowledgeAnAlarm "AI1"

ActivateWorkspaceUI Method Example


The following example activates the WorkSpace UI.

Application.ActivateWorkspaceUI

Add Method Example


The following example adds a picture to the WorkSpace by default.

Application.Documents.Add

The following example adds a Microsoft Word Document to the WorkSpace.

Application.Documents.Add "Word.Document"

The following example adds the subroutine MySub to Rect1's Procedures collection.

Rect1.Procedures.Add 1, "Private Sub MySub(x as integer, y as integer)"

The following example adds a line of code to the fifth line in Rect1's first event's event handler using
the Lines collection.

Rect1.Procedures.Item(1).Lines.Add "Msgbox 2", 5

The following example adds a data Group to the Groups of the FixDataSystem FDS.

FDS.Groups.Add ("DataGroup1")

AddDataSet Method Example


The following example adds a data set named MySource to an object named EnhancedChart1. An
undefined object can be accepted as the data source. (True indicates a UseAnyway condition.)

Dim objDS As Object

795
iFIX Automation Reference

Set objDS = LineChart1.AddDataSet("Fix32.Fix.AI1.F_CV")

AddEventHandler Method Example


The following example adds the event handler "OpenPicture" to the Click for the object
CurrentObject.

Dim lIndex As Long

CurrentObject.Procedures.AddEventHandler "Click", "OpenPicture", lIndex

The resulting procedure is as follows:

private sub CurrentObject_Click()


OpenPicture
end sub

AddImage Method Example


The following example adds the image CustomButton10 to the Bitmap object Bitmap1 and then
displays it by setting it to be the current image.

Bitmap1.AddImage "C:\Program Files\Proficy\Proficy


iFIX\Local\CustomButton10.bmp"

Bitmap1.CurrentImage = Bitmap1.ImageCount

AddLegendItem Method Example


The following example adds the legend item High Over Range in column 5 of the legend of Chart
object TestChart, displaying 10 characters.

TestChart.AddLegendItem "High Over", 5, 10

AddLevel Method Example


The following example adds a level to the Lookup object Lookup1, using a range comparison. This
level will have an output of 100 for any input value between 10 and 20.

Lookup1.AddLevel 10, 100, 20

The following example adds a level to the Lookup object Lookup1, using an exact match comparison.
For each input of 40, this level will display an output of 75.

Lookup1.AddLevel 40, 75

796
IFIX Automation Reference

AddObject Method Example


The following example adds the Oval object TestOval to the Group TestGroup.

TestGroup.AddObject TestOval

AddPen Method Example


The following example adds a pen to the Chart Chart1 using a datasource of AI1.

Dim iPen As Object

Set iPen = Chart1.AddPen("AI1")

AddPictureToStartupList Example
The following example adds a Picture named pic1.grf (in the D:\Program Files\Proficy\Proficy
iFIX\PIC directory) to the Runtime environment's startup list of the Proficy iFIX WorkSpace.

Dim lErr as Long

lErr = Application.UserPreferences.AddPictureToStartupList_
("D:\Program Files\Proficy\Proficy iFIX\pic\pic1.grf", True)

Note that the full path is required for the picture. Also note that the second paramater, when set to
TRUE, adds the picture to the Runtime startup list. When set to FALSE, it adds the picture to the
Configuration environment's startup list.

AddPoint Method Example


The following example adds a point to the Polygon object Polygon1.

Dim iPoint as FixFloatPoint

Set iPoint = New FixFloatPoint

iPoint.x = 50.5

iPoint.y = 60.1

Polygon1.AddPoint iPoint

AddProcedure Method Example


This example generates the following code in the ActiveDocument's project:

Public Sub Rect2_DisplayMessage(strMessage As String)

MsgBox strMessage

797
iFIX Automation Reference

End Sub

Dim o As Object

Dim lIndex As Long

Set o = Application.ActiveDocument.Page.FindObject("Rect2")

o.Procedures.AddProcedure "DisplayMessage", "strMessage as String", _


" MsgBox strMessage", lIndex

AlarmHornEnabled Example
In Example 1, blnReturn contains the status of the system’s AlarmHornEnabled property

Example 1
Dim blnReturn As Boolean

blnReturn = AlarmHornEnabled

In Example 2, True passed to enable the alarm horn, then checks to see if
it was set.

Example 2
Dim blnReturn As Boolean

blnReturn = AlarmHornEnabled(True)

If Not blnReturn Then

MsgBox ("Horn could not be enabled")

End If

AlarmHornEnabledToggle Example
This example shows how to toggle the alarm horn and read the return value that indicates how the
status was changed.

Dim blnReturn As Boolean

blnReturn = AlarmHornEnabledToggle

If blnReturn Then

MsgBox ("The horn is now Enabled")

Else

MsgBox ("The horn is now Disabled"

End If

798
IFIX Automation Reference

AlarmHornSilence Example
This example silences the alarm horn.

Private Sub Button1_Click ()

AlarmHornSilence

End Sub

Align Method Example


The following example aligns the tops of the Oval and Polygon objects, Oval1 and Polygon1.

Oval1.SelectObject False

Polygon1.SelectObject False

untitled1.Align 3

ApplyProperty Method Example


Reserved for internal purposes.

AutoScaleDisplayLimits Method Example


The following example changes the display limits for all pens in the Chart, Chart1 based on the range
of the data currently in the pens' data array

Chart1.AutoScaleDisplayLimits

BringToFront Method Example


The following example selects the Oval object Oval1 contained within the Picture TestPicture and
brings it to the front of the stacking order.

Oval1.Select

TestPicture.BringToFront

799
iFIX Automation Reference

BuildObject Method Example


The following example adds a Rectangle to the Picture TestPicture.

Dim iRect As Object

Set iRect = TestPicture.BuildObject("Rect")

iRect.HorizontalPosition = 10.0

iRect.VerticalPosition = 30.0

iRect.EdgeWidth = 5

iRect.FillStyle = 1

iRect.Commit

CanConstruct Method Example


The following example determines whether the datasource AI1 for NODE1 has valid syntax for the
Picture TestPicture.

Dim bCanConstruct As Boolean

TestPicture.CanConstruct "FIX32.NODE1.AI1", bCanConstruct

CheckAccountExpiration Method Example


The following example checks the user’s Windows account expiration status. If the account expired,
this example prompts the user to change his password (if he has rights to do so). If the account has not
expired, a message appears stating how many days are left until the password expires.

Dim ESig As Object

Dim bNodeSignEnabled As Boolean

Dim UserName As String

Dim PassWord As String

Dim UsrId As String

Dim bExpired As Boolean

Dim daysLeft As Long

Dim bCanChangePassword As Boolean

800
IFIX Automation Reference

'user name of an iFix user using Windows security

UserName = "expire"

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignature")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

If bNodeSignEnabled = True Then

'Check account status and user’s right to change password

ESig.CheckAccountExpiration UserName, bExpired, bCanChangePassword,


daysLeft

If bExpired <> False Then

If bCanChangePassword <> False Then

ESig.PromptToChangePassword UserName

End If

Else

'password is not expired

MsgBox "Password is due to expire in " & daysLeft & " days."

End If

Else

'the hardware key is not enabled for signature, security is disabled, or


bypass signature is in effect

MsgBox “Signature is not enabled on this node.”

End If

CheckSecurityEnabled Method Example


The following example creates the ESignature Object and checks to see if security is enabled on the
current node.

Dim ESig As Object

Dim bEnabled As Boolean

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignature")

'Check if security is enabled

ESig.CheckSecurityEnabled bEnabled

801
iFIX Automation Reference

MsgBox "Security enabled: " & bEnabled

CheckSyntax Method Example


The following example returns the syntax check for the ExpressionEditor object ExpressionEditor1.

Dim bSuccess As Boolean

Dim strExpression As String

strExpression = "AI1.F_CV + AI2.F_CV"

bSuccess = ExpressionEditor1.CheckSyntax(strExpression)

CheckUserApplicationAccess Method Example


The following example creates the ESignature object, checks to see if the node has electronic signature
enabled, obtains the user ID, checks to see if the user has access to the Electronic Signature Bypass
application feature, and checks to see if the user has access to a security area.

Dim ESig As Object

Dim bNodeSignEnabled As Boolean

Dim UserName As String

Dim PassWord As String

Dim result As Boolean

Dim UsrId As String

'valid iFix user name and password

UserName = "username"

PassWord = "password"

result = False

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignature")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

If bNodeSignEnabled = True Then

'Get the user id

ESig.GetUserid UserName, PassWord, UsrId

'Check if user has access to Electronic Signature Bypass application


feature

ESig.CheckUserApplicationAccess UsrId, 74, result

802
IFIX Automation Reference

MsgBox "User: " & UserName & vbCr & "Has rights to Bypass Signature? " &
result

'Check if user has access to security area B

ESig.CheckUserAreaAccess UsrId, "B", result

MsgBox "User: " & UserName & vbCr & "Has rights to Security Area B? " &
result

Else

'the hardware key is not enabled for signature, security is disabled, or


bypass signature is in effect

MsgBox “Signature is not enabled on this node.”

End If

CheckUserAreaAccess Method Example


The following example creates the ESignature object, checks to see if the node has electronic signature
enabled, obtains the user ID, checks to see if the user has access to the Electronic Signature Bypass
application feature, and checks to see if the user has access to a security area (in this example, B).

Dim ESig As Object

Dim bNodeSignEnabled As Boolean

Dim UserName As String

Dim PassWord As String

Dim result As Boolean

Dim UsrId As String

'valid iFix user name and password

UserName = "username"

PassWord = "password"

result = False

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignature")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

If bNodeSignEnabled = True Then

'Get the user id

ESig.GetUserid UserName, PassWord, UsrId

'Check if user has access to Electronic Signature Bypass application

803
iFIX Automation Reference

feature

ESig.CheckUserApplicationAccess UsrId, 74, result

MsgBox "User: " & UserName & vbCr & "Has rights to Bypass Signature? " &
result

'Check if user has access to security area B

ESig.CheckUserAreaAccess UsrId, "B", result

MsgBox "User: " & UserName & vbCr & "Has rights to Security Area B? " &
result

Else

'the hardware key is not enabled for signature, security is disabled, or


bypass signature is in effect

MsgBox “Signature is not enabled on this node.”

End If

Clear Method Example


The following example removes all members from the Groups collection of FixDataSystem FDS.

FDS.Groups.Clear

ClearUndo Method Example


The following example removes all currently registered undo transactions from the undo stack for
TestPicture.

TestPicture.ClearUndo

Close Method Example


The following example closes all open non-hidden documents, saving changes without prompting the
user.

Application.Documents.Close 1, 2

The following example opens the Document TestPicture and then closes it
without saving any changes.

Dim iDoc As Object

Set iDoc = Application.Documents.open("C:\Program Files\Proficy\Proficy


iFIX\pic\testpicture.grf")

iDoc.Close 2, 1

804
IFIX Automation Reference

CloseDigitalPoint Subroutine Example


The following example closes the block DO1.

CloseDigitalPoint "DO1"

ClosePicture Subroutine Example


The following example closes the Picture TestPicture.

ClosePicture "TestPicture"

Commit Method Example


The following example creates a Rectangle iRect, customizes it, then commits these changes.

Dim iRect As Object

Set iRect = TestPicture.BuildObject("Rect")

iRect.HorizontalPosition = 10.0

iRect.VerticalPosition = 30.0

iRect.EdgeWidth = 5

iRect.FillStyle = 1

iRect.Commit

Connect Method Example


The following example ties the value of the TEMP1 output string to the Caption property of the Text
object Text1.

A connection is a one-way mechanism. Therefore, changes to the caption property directly (via OLE
automation) will not be written to the connected source. Also, it may be necessary to transform the
data from one type or range to another to create the appropriate user interface (i.e. numeric to string,
numeric to color, numeric to screen coordinates). To accomplish this, an animation object should be
used (Linear, Lookup, Format).

Dim objAnim as Object

Dim lngStatus as Long

'Create the animation object

Set objAnim = Rect1.BuildObject("Linear")

'Initialize the Linear object's properties

objAnim.Source = "Fix32.Scada1.AI1.F_CV"

805
iFIX Automation Reference

'Set up transformation in and out range parameters

objAnim.AutoFetch = True 'Set it to fetch limits

objAnim.UseDelta = True 'Set it for relative movement

objAnim.LoOutValue = 0 'Set low output value

objAnim.HiOutValue = 15 'Set high output value

'Connect the animation object's output to the rectangle's position

Rect1.Connect "HorizontalPosition", objAnim.FullyQualifiedName &


".OutputValue", lngStatus

ConnectDataSet Method Example


This method is currently unavailable for use in iFIX. It is reserved for future use.

ConnectedPropertyCount Method Example


The following example determines the number of properties that have connections configured for the
Oval object Oval1.

Dim lCount As Long

Oval1.ConnectedPropertyCount lCount

Construct Method Example


The following example displays the QuickAdd user interface that prompts the user for the information
needed to create the tag NewAI1 for the Oval object Oval1 on node NODE1.

Dim lStatus As Long

Oval1.Construct "FIX32.NODE1.NEWAI", lStatus

Convert_A_Group_To_A_Dynamo_By_Name Method Example


There is currently no example available at this time.

Convert_A_Group_To_A_Dynamo_By_Ref Method Example


The following example shows the Convert_A_Group_To_A_Dynamo_By_Ref method example using
the methods in PlugandSolve – modDynamoConverter.

Public Function ConvertADynamo(objGroup As Fix2DGroup.Fix2DGroup,


objMasterDynamo As Fix2DDynamo.Fix2DDynamo, ByRef strReturnMsg) As

806
IFIX Automation Reference

UpdateDynamoResult

Dim strDIName As String

Dim strDMName As String

Dim iDataSourceOption As DynamoDataSourceOption

Dim iResult As Long 'UpdateDynamoResult

Dim iPrompt As Long

Dim iUpdateOptions As Long ' update options

Dim bProceedConvert As Boolean

iDataSourceOption = g_WizardConfig.iDataSourceOption

If g_WizardConfig.iDataSourceOption = DYNAMO_PROMPT_FOR_CHOICE Then

If g_ReturnFromPromptForChoiceOnConvert =
PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY_TO_ALL Then

iDataSourceOption = DYNAMO_UPDATE_BUT_NOT_APPLY

ElseIf g_ReturnFromPromptForChoiceOnConvert =
PROMPT_DLG_SEL_UPDATE_ATTEMPT_MATCH_APPLY_TO_ALL Then

iDataSourceOption = DYNAMO_UPDATE_AND_APPLY

ElseIf g_ReturnFromPromptForChoiceOnConvert =
PROMPT_DLG_SEL_DO_NOT_UPDATE_APPLY_TO_ALL Then

iDataSourceOption = DYNAMO_NOT_UPDATE

End If

End If

' Convert option parameters

iUpdateOptions = &H0

If iDataSourceOption = DYNAMO_PROMPT_FOR_CHOICE Then

iUpdateOptions = UPDATE_OPTION_ON_MISMATCH_PROMT_FOR_CHOICE

ElseIf iDataSourceOption = DYNAMO_UPDATE_AND_APPLY Then

iUpdateOptions = UPDATE_OPTION_ON_MISMATCH_UPDATE_DYNAMO +
UPDATE_OPTION_ON_MISMATCH_APPLY_DATA_SOURCES

ElseIf iDataSourceOption = DYNAMO_UPDATE_BUT_NOT_APPLY Then

iUpdateOptions = UPDATE_OPTION_ON_MISMATCH_UPDATE_DYNAMO

End If

807
iFIX Automation Reference

' set options (it includes update option in case)

If g_WizardConfig.bKeepSize = True Then

iUpdateOptions = iUpdateOptions + UPDATE_OPTION_RESIZE_INSTANCE

End If

If g_WizardConfig.bKeepCaption = True Then

iUpdateOptions = iUpdateOptions + UPDATE_OPTION_SAVE_CAPTIONS

End If

' if FDS Converter, set Make Master option

If g_iDynamoToolType = DYN_FDS_CONVERTER Then

iUpdateOptions = iUpdateOptions + CONVERT_OPTION_MAKE_MASTER

End If

' call Update A Dynamo

PlugandSolve.GeometryHelperObj.Convert_A_Group_To_A_Dynamo_By_Ref
objGroup, iUpdateOptions, mobjStrMgr.GetNLSStr(4143), iResult

' get a result string

strReturnMsg = PlugandSolve.GeometryHelperObj.Get_Last_Result_String

' don't take the last prompt for choice

' get the last user choice from the prompt

'If (g_WizardConfig.iDataSourceOption = DYNAMO_PROMPT_FOR_CHOICE) And


_

' (g_ReturnFromPromptForChoiceOnConvert = PROMPT_DLG_SEL_NONE)


Then

' iPrompt = PlugandSolve.GeometryHelperObj.Get_Last_Prompt_Value

' If (iPrompt = PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY_TO_ALL) Or _

' (iPrompt = PROMPT_DLG_SEL_UPDATE_ATTEMPT_MATCH_APPLY_TO_ALL)


Or _

' (iPrompt = PROMPT_DLG_SEL_DO_NOT_UPDATE_APPLY_TO_ALL) Then

' g_ReturnFromPromptForChoiceOnConvert = iPrompt

' End If

'End If

808
IFIX Automation Reference

' convert result code

If (iResult And UPDATER_RESULT_SUCCESS_BIT) > 0 Then

ConvertADynamo = DYNAMO_UPDATED

End If

If (iResult And UPDATER_RESULT_DYNAMO_NOT_UPDATED_BIT) > 0 Then

ConvertADynamo = DYNAMO_NOTUPDATED

End If

If (iResult And UPDATER_RESULT_USER_CANCELLED_BIT) > 0 _

Or (iResult And UPDATER_RESULT_SUCCESS_BIT) = 0 Then

ConvertADynamo = DYNAMO_UPDATE_ABORTED

End If

End Function

ConvertPipe Method Example


The following example converts selected line(s) and polyline(s) to a pipe object in an active picture.

Set ObjHelper = BuildObject("GeometryHelper")

Call ObjHelper.ConvertPipe

ConvertSecurityAreaNameToNumber Method Example


The following example converts security area D to its corresponding area number.

Dim iAreaID As Integer

iAreaID = System.ConvertSecurityAreaNameToNumber("D")

ConvertSecurityAreaNumberToName Method Example


The following example converts security area 11 to its corresponding area name.

Dim sAreaName As String

sAreaName = System.ConvertSecurityAreaNumberToName(11)

Copy Method Example


The following example selects the Oval object Oval1 and copies it to the clipboard.

809
iFIX Automation Reference

Oval1.Select

TestPicture.Copy

Coupled_Activate_Workspace_UI Method Example


The following example activates the WorkSpace UI.

Application.Coupled_Activate_Workspace_UI

Coupled_DeActivate_Workspace_UI Method Example


The following example de-activates the WorkSpace UI, allowing a form to act modally. This call
would be made on the form's initialization.

Application.Coupled_DeActivate_Workspace_UI False

The following example de-activates the WorkSpace UI, allowing a form to act modeless. This call
would be made on the form's initialization.

Application.Coupled_DeActivate_Workspace_UI True

CopyAsBitmap Method Example


The following example selects the Oval object Oval1 and copies it to the clipboard as a bitmap.

Oval1.Select

TestPicture.CopyAsBitmap

CreateDynamoByGrouping Method Example


The following code provides an example of the CreateDynamoByGrouping method:

Private Sub btnCreateADynamoByGrouping_Click()

' As long as there's selected objects a Dynamo will be created using


those selected objects.

Me.Create_Dynamo_By_Grouping

End Sub

CreateFromDialog Method Example


The following example creates the FixControlContainer object and then displays the Insert Object
dialog box to allow the user to select which ActiveX control to create.

810
IFIX Automation Reference

Dim iActiveX As Object

Set iActiveX = Application.ActiveDocument.Page.BuildObject("oleobject")

iActiveX.CreateFromDialog

CreateFromProgID Method Example


The following example creates the FixControlContainer and then the AlarmSummary control by
specifying its ProgID.

Dim iActiveX As Object

Set iActiveX = Application.ActiveDocument.Page.BuildObject("oleobject")

iActiveX.CreateFromProgId "ALARMSUMMARYOCX.AlarmSummaryOCXCtrl.2"

CreateWithMouse Method Example


The following example creates an Oval by allowing the user to specify its size and position by creating
it with the mouse.

Dim iOval As Object

Set iOval = Application.ActiveDocument.Page.BuildObject("oval")

iOval.CreateWithMouse

Cut Method Example


The following example selects the Pie object Pie1 and removes it from its Picture TestPicture and
copies it to the clipboard.

Pie1.Select

TestPicture.Cut

DeActivateWorkspaceUI Method Example


The following example de-activates the WorkSpace UI, allowing a form to act modally. This call
would be made on the form's initialization.

Application.DeActivateWorkspaceUI False

811
iFIX Automation Reference

The following example de-activates the WorkSpace UI, allowing a form to act modeless. This call
would be made on the form's initialization.

Application.DeActivateWorkspaceUI True

DefaultView Method Example


The following example sets the Picture TestPicture to its default window location.

TestPicture.DefaultView

The following example sets the Picture TestPicture to its default window location, preventing the
repainting of the picture.

TestPicture.DefaultView False

DelAlarm Method Example


The following example deletes an alarm generated for the block titled AI1 on a node titled NODE1 in
the AlarmSummary object AlarmSummaryOCX1.

Dim iRval As Integer

iRval = AlarmSummaryOCX1.DelAlarm("NODE1", "AI1")

DeleteAllAlarms Method Example


The following example deletes all alarms in the AlarmSummary object AlarmSummaryOCX1.

Dim iRval As Integer

iRval = AlarmSummaryOCX1.DeleteAllAlarms

DeleteAllDataSets Method Example


The following example shows an example of the DeleteAllDataSets method with the LineChart object.

LineChart1.DeleteAllDataSets

DeleteDataSet Method Example


The following example shows an example of the DeleteDataSet method with the LineChart object.

LineChart1.DeleteDataSet 0

812
IFIX Automation Reference

DeleteImage Method Example


The following example deletes the primary and secondary images at the index of 1 for the Bitmap
object Bitmap1.

Bitmap1.DeleteImage 1

DeletePen Method Example


The following example uses the Count property of the Pens Collection for the Chart, Chart1, as an
index to delete the last pen added to the Chart.

Dim x As Integer

x = Chart1.Pens.Count

Chart1.DeletePen x

The following example deletes a pen in a Chart named Chart1, and then replaces it with another one
using the AddPen method, if it does not already exist.

Private Sub Chart1_Click()

‘Select a pen on user Click

‘Check if user wants to delete it

Dim Strtn as string

Dim Inti as integer

Strtn = Chart1.CurrentPen

Msgprompt = "You have selected Pen : " & Chart1.Pens.Item(Strtn).Source &


vbCrLf & "Do you want to remove it ?"

user_reponse = MsgBox(Msgprompt, vbYesNo, "Removing Pen")

If user_reponse = 6 Then

Chart1.DeletePen (Strtn)

End If

End Sub

Private Sub DELPEN_Click()

‘delete all pen from the pen collection under a specific chart

Dim Inti as integer

If Chart1.Pens.Count <> 0 Then

For Inti = Chart1.Pens.Count To 1 Step -1

813
iFIX Automation Reference

Chart1.DeletePen (Inti)

Next Inti

End If

End Sub

Private Sub PBADDREALPEN_Click()

‘Add pen to the pen collection for a given Chart

‘after checking the pens are not already inside the pen collection

If Chart1.Pens.Count <> 0 Then

' first time the chart is used the collection contains a default pen

Chart1.DeletePen (1)

End If

checkifalreadyexist ("Fix32.Alice.MyTag1")

checkifalreadyexist ("Fix32.Alice.MyTag2")

checkifalreadyexist ("Fix32.Alice.MyTag3")

End Sub

Function checkifalreadyexist(Tagname As String)

‘check if the pen if not already inside the collection

Dim loc_tagname As String

loc_tagname = Tagname & ".F_CV"

Egu_tagname = Tagname

If Chart1.Pens.Count = 0 Then

Chart1.AddPen (loc_tagname)

hiEGU = Readvalue(Egu_tagname & ".A_Ehi")

loEGU = Readvalue(Egu_tagname & ".A_Elo")

Else

Tag_found = False

For i = 1 To Chart1.Pens.Count

If UCase(loc_tagname) = UCase(Chart1.Pens.Item(i).Source) Then

Tag_found = True

814
IFIX Automation Reference

Else

End If

Next i

If Tag_found = False Then

Chart1.AddPen (loc_tagname)

Tag_found = False

End If

End If

End Function

DeletePoint Method Example


The following example deletes the point at index 3 for the Polyline object PolyLine1.

PolyLine1.DeletePoint 3

DeleteSelectedObjects Method Example


The following example selects the Chord and Polygon objects Chord1 and Polygon1 and then deletes
them from the Picture TestPicture.

Chord1.SelectObject False

Polygon1.SelectObject False

TestPicture.DeleteSelectedObjects

DemandFire Method Example


The following example fires the OnTimeOut configured for the Timer MyTimer object in the
Schedule TestSchedule.

TestSchedule.DemandFire "MyTimer"

The following example fires the OnTimeOut event for the Timer MyTimer.

MyTimer.DemandFire

The following example fires whatever event is configured for the Event object MyEvent.

MyEvent.DemandFire

815
iFIX Automation Reference

DeselectObject Method Example


The following example deselects all objects currently selected in the Picture TestPicture.

TestPicture.DeselectObject True

DestroyObject Method Example


The following example deletes the Chord object Chord1 from its container.

Chord1.DestroyObject

DisableAlarm Subroutine Example


The following example disables alarm limit checking for block AI1.

DisableAlarm "AI1"

DisableNonSelectionEvents Method Example


Reserved for internal purposes.

Disconnect Method Example


The following example disconnects the VerticalFillPercentage property of the Oval object Oval1
from its source.

Oval1.Disconnect "VerticalFillPercentage"

DisplaysControlPoints Method Example


The following example prohibits the Oval object Oval1 from displaying its control points.

Oval1.DisplaysControlPoints False

DoesPropertyHaveTargets Method Example


The following example determines if the VerticalFillPercentage property of the Oval object Oval1
has a target object connection, and if so, retains information about the target(s).

Dim bHasTargets As Boolean

Dim lNumOfTargets As Long

816
IFIX Automation Reference

Dim lStatus As Long

Dim lIndex As Long

Oval1.DoesPropertyHaveTargets "VerticalFillPercentage", bHasTargets,


lNumOfTargets, lStatus, lIndex

DoExtendLines Method Example


The following example shows that the selected line object(s) will be extended to the intersection when
the ExtendType property is set to shorter than 30 pixels.

Set ObjHelper = BuildObject("GeometryHelper")

ObjHelper.ExtendType = 3 'set extend type max

ObjHelperExtendMaxSpace = 30 ' set max pixels to extend

Call ObjHelper.DoExtendLines

DoLinestoPolyline Method Example


The following example shows that the selected line objects will be converted to polyline object(s).

Set ObjHelper = BuildObject ("GeometryHelper")

Call ObjHelper.DoLinesToPolyline

DoMenuCommand Method Example


The following example instantiates the New Timer dialog box for the Schedule TestSchedule as if the
user had selected Add New Timer Entry from the Insert menu.

TestSchedule.DoMenuCommand schNewTimer

The following example refreshes the Schedule after the Event object MyEvent has been removed from
the Schedule TestSchedule.

TestSchedule.RemoveObject "MyEvent"

TestSchedule.DoMenuCommand scHREFreshView

DoTrimLines Method Example


The following example shows that the selected line object(s) will be trimmed to the extension point
when the TrimType property is set to shorter than 30 pixels.

Set ObjHelper = BuildObject("GeometryHelper")

ObjHelper.TrimType = 3 ' set trim type max

817
iFIX Automation Reference

ObjHelper.TrimMaxLength = 30 ' set max trim pixels

Call ObjHelper.DoTrimLines

DumpProperties Method Example


The following example writes all of the properties and their corresponding values for the Picture
TestPicture and its contained objects to the CSV file TestPicture.txt.

Dim sRes1 As String

Dim sRes2 As String

TestPicture.DumpProperties "C:\Temp\TestPicture.txt", True, sRes1, sRes2

Duplicate Method Example


The following example selects the Oval object Oval1 and then duplicates it.

Oval1.Select

TestPicture.Duplicate

EditPicture Method Example


The following example opens the configuration dialog box for the Picture TestPicture.

TestPicture.EditPicture

Enable Method Example


The following example disables the Color Button object ColorButton1.

ColorButton1.Enable False

EnableAlarm Subroutine Example


The following example enables alarm limit checking for block AI1.

EnableAlarm "AI1"

818
IFIX Automation Reference

Enumerate_All_Dynamos Method Example


The following code provides an example of the Enumerate_All_Dynamos method:

Private Sub btnEnumAllDynamos_Click()

' Useful to add a reference to iFix Geometry Helper & iFIX Collection

Dim GH As FixGeometryHelper.FixGeometryHelper ' Geometry Helper


object

Dim DynamoCollection As Object ' Returned Collection of Dynamo


Objects

Set GH = Me.BuildObject("GeometryHelper")

GH.Enumerate_All_Dynamos Me.ContainedObjects, DynamoCollection

' Now do something useful with the returned Dynamos

Dim aDynamo As Fix2DDynamo.Fix2DDynamo

Dim aStr As String

For Each aDynamo In DynamoCollection

aStr = aDynamo.FullyQualifiedName ' Do something useful here.

Next aDynamo

GH.DestroyObject

End Sub

Enumerate_All_Groups Method Example


The following code provides an example of the Enumerate_All_Groups method:

Public Function GetAllGroupList(objPic As CFixPicture, ByRef colDIList As


Collection) As Boolean

Dim colPIC As CFixObjectCollection

Dim colList As CFixObjectCollection

Dim objDI As Object

819
iFIX Automation Reference

If TypeName(objPic) = "Nothing" Or objPic.Category <> "Pictures" Then

GetAllGroupList = False

GoTo CLEAN_UP

End If

'If objHelper.ClassName <> "GeometryHelper" Then

' GetMasterDynamoList = False

' GoTo CLEAN_UP

'End If

' clear dynamo instance list

Do While colDIList.Count > 0

colDIList.Remove (1)

Loop

' get all Master Dynamos on a specified DynamoSets

Set colPIC = objPic.ContainedObjects

Call PlugandSolve.GeometryHelperObj.Enumerate_All_Groups(colPIC,
colList)

If colList.Count <= 0 Then

GetAllGroupList = True

GoTo CLEAN_UP

End If

For Each objDI In colList

colDIList.Add objDI

Next objDI

GetAllGroupList = True

CLEAN_UP:

On Error Resume Next

Set colList = Nothing

820
IFIX Automation Reference

Set colPIC = Nothing

Set objDI = Nothing

End Function

Enumerate_Top_Level_Dynamos Method Example


The following code provides an example of the Enumerate_Top_Level_Dynamos method:

Private Sub btnEnumTopLevelDynamos_Click()

' Useful to add a reference to iFix Geometry Helper & iFIX Collection

Dim GH As FixGeometryHelper.FixGeometryHelper ' Geometry Helper


object

Dim DynamoCollection As Object ' Returned Collection of Dynamo


Objects

Set GH = Me.BuildObject("GeometryHelper")

GH.Enumerate_Top_Level_Dynamos Me.ContainedObjects, DynamoCollection

' Now do something useful with the returned Dynamos

Dim aDynamo As Fix2DDynamo.Fix2DDynamo

Dim aStr As String

For Each aDynamo In DynamoCollection

aStr = aDynamo.FullyQualifiedName ' Do something useful here.

Next aDynamo

GH.DestroyObject

End Sub

Enumerate_Top_Level_Groups Method Example


The following code provides an example of the Enumerate_Top_Level_Groups method:

821
iFIX Automation Reference

Public Function GetOldDynamoList(objFDS As CFixDynamoSet, ByRef colDMList


As Collection) As Boolean

Dim colFDS As CFixObjectCollection

Dim colList As CFixObjectCollection

Dim objDM As Object

If TypeName(objFDS) = "Nothing" Or objFDS.Category <> "Dynamo Sets"


Then

GetOldDynamoList = False

GoTo CLEAN_UP

End If

'If objHelper.ClassName <> "GeometryHelper" Then

' GetMasterDynamoList = False

' GoTo CLEAN_UP

'End If

' clear dynamo instance list

Do While colDMList.Count > 0

colDMList.Remove (1)

Loop

' get all Master Dynamos on a specified DynamoSets

Set colFDS = objFDS.ContainedObjects

Call
PlugandSolve.GeometryHelperObj.Enumerate_Top_Level_Groups(colFDS,
colList)

If colList.Count <= 0 Then

GetOldDynamoList = True

GoTo CLEAN_UP

End If

For Each objDM In colList

colDMList.Add objDM

822
IFIX Automation Reference

Next objDM

GetOldDynamoList = True

CLEAN_UP:

On Error Resume Next

Set colList = Nothing

Set colFDS = Nothing

Set objDM = Nothing

End Function

ESignature Object Example


To use the ESignature object from VBA, declare an object variable and create the object by calling
CreateObject( ). You can then access the ESignature object’s methods through the object variable.

The sample code below illustrates how to use the ESignature object in VBA applications.

Dim ESig As Object

Dim bNodeSignEnabled As Boolean

Dim bSigRequired As Boolean

Dim Value as Variant

'Create the ESignature object

Set ESig = CreateObject (“ElectronicSignature.ESignature")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

If bNodeSignEnabled = True Then

'Check if data source requires electronic signature

ESig.Initialize ("Fix32. THISNODE.DO1.F_CV")

ESig.IsSignatureRequired 0, bSigRequired

If bSigRequired = True Then

'Capture the signature and write the new value

Value = 1

ESig.GetSignatureAndWriteValue 0, Value

823
iFIX Automation Reference

Else

'Signature not required for this data source, just write the value

End If

Else

'Signature not enabled on this node, just write the value

End If

ExchangePenPositions Method Example


The following example sets the location of the Pen in position 1 to position 3 in the Pens collection.

Chart1.ExchangePenPositions 3, 1

ExportData Method Example


The following example exports the file to the location C:\TEMP\DATA.TXT, in table format.

Private Sub CommandButton6_Click()

LineChart1.ExportData "C:\TEMP\DATA.TXT", DataExportStyle_VerticalTable

End Sub

ExportImage Method Example


The following example exports the image to the clipboard, in the PNG file format, in the size of 800 X
600 pixels.

Private Sub CommandButton8_Click()

LineChart1.ExportImage "", ImageFormat_PNG, SizeUnits_Pixels, 800, 600

End Sub

ExportLanguageFile Method Example


The following example exports a Spanish language file.

pic.LanguageDesired = ES_Spanish

pic.ExportLanguageFile

- OR -

pic.ExportLanguageFile (ES_Spanish)

824
IFIX Automation Reference

FetchLimits Subroutine Example


The following example gets the high and low EGUs for the data item FIX32.NODE1.AI1.F_CV and
enters them in two text fields.

Dim sngHi As Single

Dim sngLo As Single

Dim intRet As Integer

Call FetchLimits ("FIX32.NODE1.AI1.F_CV", sngHi, sngLo, intRet)

If intRet = 0 Then

txtHighEGU.Caption = sngHi

txtLowEGU.Caption = sngLo

End If

FindAndReplaceDialog Method Example


The following example opens the Find And Replace dialog for the Picture TestPicture.

TestPicture.FindAndReplaceDialog

FindDataSource Subroutine Example


The following example finds the datasource for the VerticalFillPercentage property of the object
Tank1, which is contained in the Picture TestPicture.

Dim iTank As Object

Dim sDataSource As String

Set iTank = untitled1.Tank1

sDataSource = FindDataSource(iTank, "VerticalFillPercentage")

FindInString Method Example


The following example finds each occurrence of the string AI1 with the string
FIX32.NODE1.AI1.F_CV. The operation is specified to include scripts in the search.

Dim lFirst As Long

825
iFIX Automation Reference

Dim lCount As Long

Dim sMatchString As String

Dim bFound As Boolean

FindReplace.FindInString "FIX32.NODE1.AI1.F_CV", 1, "AI1", 8,


sMatchString, lFirst, lCount, bFound

FindLocalObject Subroutine Example


The following example finds the object PipeColorA within the Group Pipe.

Dim PipeSectObj As Object

Set PipeSectObj = FindLocalObject(Pipe, "PipeColorA")

FindObject Method Example


The following example returns the Picture object TestPicture.

Dim iPic as object

Set iPic = System.FindObject("TestPicture")

The following example returns a data item reference for the block AI1 on
node NODE1.

Dim iDataItem as object

Set iDataItem = System.FindObject("FIX32.NODE1.AI1.F_CV")

The following example returns an animation object for the Rectangle


object Rect4 in Picture TestPicture.

Dim iLinear as object

Set iLinear =
System.FindObject("TestPicture.Rect4.AnimatedHorizontalFill")

FindReplaceInObject Method Example


The following example replaces each instance of the string NODE1 with the string NODE2 within the
Group object Group1. The operation is specified to be case sensitive.

Dim bFound as Boolean

FindReplace.FindReplaceInObject Group1, 1, "NODE1", "NODE2", bFound

826
IFIX Automation Reference

FindReplaceInString Method Example


The following example finds the first occurrence of the string AI1 within the string
FIX32.NODE1.AI1.F_CV and replaces it with AI2, returning the new string in sReplacement. The
operation is specified to include scripts in the search.

Dim lFirst As Long

Dim lCount As Long

Dim bsuccess As Boolean

Dim sTarget As String

Dim sReplacement As String

sTarget = "FIX32.NODE1.AI1.F_CV"

FindReplace.FindReplaceInString sTarget, 1, "AI1", "AI2", 8, lFirst,


lCount, sReplacement, bsuccess

FitDocumentToWindow Method Example


The following example changes the size of the TestPicture Document to fit within the window.

TestPicture.FitDocumentToWindow

The following example changes the size of the TestPicture Document to fit within the window,
preventing the repainting of the Picture.

TestPicture. FitDocumentToWindow False

FitWindowToDocument Method Example


The following example changes the size of the window to fit the size of the TestPicture Document.

TestPicture.FitWindowToDocument

The following example changes the size of the window to fit the size of the TestPicture Document,
preventing the repainting of the Picture.

TestPicture. FitWindowToDocument False

FixCheckApplicationAccess Method Example


The following example checks to see if the user has access to the specified application.

Dim lAccess as long

lAccess = System.FixCheckApplicationAccess(DatabaseManager)

827
iFIX Automation Reference

FixCheckApplicationAccessQuiet Method Example


The following example checks to see if the user has access to the specified application.

Dim lAccess as long

lAccess = System.FixCheckApplicationAccessQuiet(DatabaseManager)

FixCheckAreaAccess Method Example


The following example checks to see if the user has access to the security area 11.

Dim lAccess as long

lAccess = System.FixCheckAreaAccess(11)

FixCheckAreaAccessQuiet Method Example


The following example checks to see if the user has access to the security area 11.

Dim lAccess as long

lAccess = System.FixCheckAreaAccessQuiet(11)

FixCheckSecurityEnabled Method Example


The following example checks to see if security is enabled.

Dim lEnabled as long

lEnabled = System.FixCheckSecurityEnabled()

FixGetManualAlmDeleteEnabled Method Example


This example shows how to enable manual alarm deletions.

Dim bManlAlmDel As Boolean

System.FixGetManualAlmDeleteEnabled bManlAlmDel

If bManlAlmDel = True Then

MsgBox "Manual alarm deletion is enabled"

End If

828
IFIX Automation Reference

FixGetUserInfo Method Example


The following example retrieves login information about the current user, including the user ID, user
name and group name.

Dim sUserID as string

Dim sUserName as string

Dim sGroupName as string

System.FixGetUserInfo sUserID, sUserName, sGroupName

FixLogin Method Example


The following example logs in the user TestUser with a password of MyPassword.

System.FixLogin "TestUser", "MyPassword"

FixLogout Method Example


The following example logs out the first user.

System.FixLogout

FontProperties Method Example


The following example opens the font dialog for the Text object Text1.

Text1.FontProperties

FullView Method Example


The following example resizes the TestPicture Document to take up the entire screen.

TestPicture.FullView

GeneratePicture Subroutine Example


Dim aPicInfo As PictureInfo

829
iFIX Automation Reference

aPicInfo.lfTopPct = TopPct

aPicInfo.lfLeftPct = LeftPct

aPicInfo.lfHeightPct = 100

aPicInfo.lfWidthPct = 100

aPicInfo.lBkColor = RGB(255,0,0)

aPicInfo.szName = "Tank1"

aPicInfo.bPixels = True

aPicInfo.bTitlebar = True

aPicInfo.bSystemMenu = True

aPicInfo.bResizable = True

aPicInfo.bAlwaysOnTop = False

aPicInfo.bRuntimeVisible = True

Dim retVal

retVal = GeneratePicture(aPicInfo)

Get_Last_Prompt_Value Method Example


The following code provides an example of the Get_Last_Prompt_Value method that appears in the
modDynamoUpdater module of the Project_PlugandSolve VBA project.

Public Function UpdateADynamo(objDynamoInstance As


Fix2DDynamo.Fix2DDynamo, objMasterDynamo As Fix2DDynamo.Fix2DDynamo,
ByRef strReturnMsg) As UpdateDynamoResult

Dim strDIName As String

Dim strDMName As String

Dim iDataSourceOption As DynamoDataSourceOption

Dim iResult As Long 'UpdateDynamoResult

Dim iPrompt As Long

iDataSourceOption = g_WizardConfig.iDataSourceOption

If g_WizardConfig.iDataSourceOption = DYNAMO_PROMPT_FOR_CHOICE Then

If g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY_TO_ALL Then

iDataSourceOption = DYNAMO_UPDATE_BUT_NOT_APPLY

ElseIf g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_UPDATE_ATTEMPT_MATCH_APPLY_TO_ALL Then

830
IFIX Automation Reference

iDataSourceOption = DYNAMO_UPDATE_AND_APPLY

ElseIf g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_DO_NOT_UPDATE_APPLY_TO_ALL Then

iDataSourceOption = DYNAMO_NOT_UPDATE

End If

End If

'////// actual update call

' call Update A Dynamo

PlugandSolve.GeometryHelperObj.Update_A_Dynamo_By_Ref
objMasterDynamo, objDynamoInstance, iDataSourceOption,
mobjStrMgr.GetNLSStr(4069), iResult

' get a result string

strReturnMsg = PlugandSolve.GeometryHelperObj.Get_Last_Result_String

' get the last user choice from the prompt

If (g_WizardConfig.iDataSourceOption = DYNAMO_PROMPT_FOR_CHOICE) And


_

(g_ReturnFromPromptForChoice = PROMPT_DLG_SEL_NONE) Then

iPrompt = PlugandSolve.GeometryHelperObj.Get_Last_Prompt_Value

If (iPrompt = PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY_TO_ALL) Or _

(iPrompt = PROMPT_DLG_SEL_UPDATE_ATTEMPT_MATCH_APPLY_TO_ALL)
Or _

(iPrompt = PROMPT_DLG_SEL_DO_NOT_UPDATE_APPLY_TO_ALL) Then

g_ReturnFromPromptForChoice = iPrompt

End If

End If

'////// end of actual update call

'////// dummy for test

' g_testcount = g_testcount + 1

' strDIName = objDynamoInstance.Name

' strDMName = objMasterDynamo.Name

' If g_testcount = 3 Then

' strReturnMsg = ">>>" & strDIName & " was not updated with " &
strDMName

' iResult = DYNAMO_NOTUPDATED

831
iFIX Automation Reference

' ElseIf g_testcount = 150 Then

' strReturnMsg = ">>> User canceled"

' iResult = DYNAMO_UPDATE_ABORTED

' Else

' strReturnMsg = strDIName & " was updated successfully with " &
strDMName

' iResult = DYNAMO_UPDATED

' End If

'////// end of dummy for test

If iResult <= DYNAMO_UPDATED Then

UpdateADynamo = DYNAMO_UPDATED

ElseIf iResult <= DYNAMO_NOTUPDATED Then

UpdateADynamo = DYNAMO_NOTUPDATED

Else

UpdateADynamo = DYNAMO_UPDATE_ABORTED

End If

End Function

To view this code in context:


1. In Classic view, from the WorkSpace menu, select Visual Basic Editor.
-Or-
In Ribbon view, on the Home tab, in the WorkSpace group, click Visual Basic Editor.
2. In the tree view, double-click the Project_PlugandSolve folder, and then the Modules folder,
and finally the modDynamoUpdater.
3. Search for UpdateADynamo to locate this code.

Get_Last_Result_String Method Example


The following code provides an example of the Get_Last_Result_String method that appears in the
modDynamoUpdater module of the Project_PlugandSolve VBA project.

Public Function UpdateADynamo(objDynamoInstance As


Fix2DDynamo.Fix2DDynamo, objMasterDynamo As Fix2DDynamo.Fix2DDynamo,
ByRef strReturnMsg) As UpdateDynamoResult

Dim strDIName As String

832
IFIX Automation Reference

Dim strDMName As String

Dim iDataSourceOption As DynamoDataSourceOption

Dim iResult As Long 'UpdateDynamoResult

Dim iPrompt As Long

iDataSourceOption = g_WizardConfig.iDataSourceOption

If g_WizardConfig.iDataSourceOption = DYNAMO_PROMPT_FOR_CHOICE Then

If g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY_TO_ALL Then

iDataSourceOption = DYNAMO_UPDATE_BUT_NOT_APPLY

ElseIf g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_UPDATE_ATTEMPT_MATCH_APPLY_TO_ALL Then

iDataSourceOption = DYNAMO_UPDATE_AND_APPLY

ElseIf g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_DO_NOT_UPDATE_APPLY_TO_ALL Then

iDataSourceOption = DYNAMO_NOT_UPDATE

End If

End If

'////// actual update call

' call Update A Dynamo

PlugandSolve.GeometryHelperObj.Update_A_Dynamo_By_Ref
objMasterDynamo, objDynamoInstance, iDataSourceOption,
mobjStrMgr.GetNLSStr(4069), iResult

' get a result string

strReturnMsg = PlugandSolve.GeometryHelperObj.Get_Last_Result_String

' get the last user choice from the prompt

If (g_WizardConfig.iDataSourceOption = DYNAMO_PROMPT_FOR_CHOICE) And


_

(g_ReturnFromPromptForChoice = PROMPT_DLG_SEL_NONE) Then

iPrompt = PlugandSolve.GeometryHelperObj.Get_Last_Prompt_Value

If (iPrompt = PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY_TO_ALL) Or _

(iPrompt = PROMPT_DLG_SEL_UPDATE_ATTEMPT_MATCH_APPLY_TO_ALL)
Or _

(iPrompt = PROMPT_DLG_SEL_DO_NOT_UPDATE_APPLY_TO_ALL) Then

g_ReturnFromPromptForChoice = iPrompt

833
iFIX Automation Reference

End If

End If

'////// end of actual update call

'////// dummy for test

' g_testcount = g_testcount + 1

' strDIName = objDynamoInstance.Name

' strDMName = objMasterDynamo.Name

' If g_testcount = 3 Then

' strReturnMsg = ">>>" & strDIName & " was not updated with " &
strDMName

' iResult = DYNAMO_NOTUPDATED

' ElseIf g_testcount = 150 Then

' strReturnMsg = ">>> User canceled"

' iResult = DYNAMO_UPDATE_ABORTED

' Else

' strReturnMsg = strDIName & " was updated successfully with " &
strDMName

' iResult = DYNAMO_UPDATED

' End If

'////// end of dummy for test

If iResult <= DYNAMO_UPDATED Then

UpdateADynamo = DYNAMO_UPDATED

ElseIf iResult <= DYNAMO_NOTUPDATED Then

UpdateADynamo = DYNAMO_NOTUPDATED

Else

UpdateADynamo = DYNAMO_UPDATE_ABORTED

End If

End Function

To view this code in context:


1. In Classic view, from the WorkSpace menu, select Visual Basic Editor.
-Or-
In Ribbon view, on the Home tab, in the WorkSpace group, click Visual Basic Editor.

834
IFIX Automation Reference

2. In the tree view, double-click the Project_PlugandSolve folder, and then the Modules folder,
and finally the modDynamoUpdater.
3. Search for UpdateADynamo to locate this code.

GetAllConnections Subroutine Example


The following example shows how to use a click event on rectangle object to retrieve all data items
within a picture and then display them in a message box.

Private Sub Rect2_Click()

Dim obj

Dim str As String

GetAllConnections Me

For Each obj In AllConnectionsCollection

str = str & CStr(obj) & vbCr

Next

MsgBox str, , Me.Name

End Sub

GetBoundRect Method Example


The following example retrieves the points of the bounding rectangle of the Oval object Oval1.

Dim dTop As Double

Dim dLeft As Double

Dim dBottom As Double

Dim dRight As Double

Oval1.GetBoundRect dTop, dLeft, dBottom, dRight

GetColHeadings Method Example


The following example retrieves the column headings of the alarm summary object. In this example,
the column headings will be returned in the variable bstrColHeadings.

Dim lErr as Long

Dim bstrColHeadings As String

lErr = AlarmSummaryOCX1.GetColHeadings(bstrColHeadings)

835
iFIX Automation Reference

GetColumnInfo Method Example


The following example retrieves the item name and number of characters displayed in column 3 for the
Chart Chart1.

Dim sItemName As String

Dim iNumChar As Integer

Chart1.GetColumnInfo 3, sItemName, iNumChar

GetConnectionInformation Method Example


The following example retrieves the connection information for the first connection for the Oval object
Oval1.

Dim sPropName As String

Dim sSource As String

Dim sFullQualSource As String

Dim vSourceObjs As Variant

Dim vTolerance As Variant

Dim vDeadBand As Variant

Dim vUpdateRate As Variant

Oval1.GetConnectionInformation 1, sPropName, sSource, sFullQualSource,


vSourceObjs, vTolerance, vDeadBand, vUpdateRate

GetConnectionParameters Method Example


The following example returns the UpdateRate, Deadband and Tolerance for the ForegroundColor
property connection for the Oval object Oval1.

Dim vTolerance As Variant

Dim vDeadBand As Variant

Dim vUpdateRate As Variant

Dim vFlags As Variant

Oval1.GetConnectionParameters "ForegroundColor", vUpdateRate, vDeadBand,


vTolerance, vFlags

GetContinuousUser Method Example


The following example ensures that the User Name entered is valid, creates the ESignature object,
checks that the node is enabled for electronic signature, and sets and gets the name of the continuous

836
IFIX Automation Reference

user.

Dim ESig As Object

Dim bNodeSignEnabled As Boolean

Dim bSigRequired As Boolean

Dim UserName As String

Dim SetName As String

'valid user name

SetName = "TestUser"

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignature")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

If bNodeSignEnabled = True Then

'Set the name of the continuous user to "TestUser"

ESig.SetContinuousUser SetName

'Get the name of the continuous user

ESig.GetContinuousUser UserName

MsgBox “Continuous User: ” & UserName

Else

'the hardware key is not enabled for signature, security is disabled, or


bypass signature is in effect

MsgBox “Signature is not enabled on this node.”

End If

GetCurrentDataSet Method Example


The following example retrieves the object reference to the current dataset for the Line/Multiline chart.

Private Sub CommandButton2_Click()

Dim objDataSet As Object

Set objDataSet = LineChart1.GetCurrentDataSet()

' Set the color of the dataset to its complement.

objDataSet.DataSetColor = objDataSet.DataSetColor Xor (-1)

End Sub

837
iFIX Automation Reference

GetCurrentValueWithQuality Method Example


The following example displays the current value of x, y, and the data quality of the Enhanced Chart in
a message box, which are returned using the GetCurrentValueWithQuality method.

Private Sub CommandButton11_Click()

Dim objDataSet As Object ' FixRealTimeDataSet.FixRealTimeDataSet

Dim varXValue As Variant, dblYValue As Double, lngQuality As Long

Set objDataSet = LineChart1.GetCurrentDataSet()

objDataSet.GetCurrentValueWithQuality varXValue, dblYValue, lngQuality

MsgBox "AssignedID is " & CStr(objDataSet.AssignedID) & vbCrLf & _

"ResolvedSourceName is " & CStr(objDataSet.ResolvedSourceName) & vbCrLf &


_

"Current X Value is " & CStr(varXValue) & vbCrLf & _

"Current X Value is " & CStr(dblYValue) & vbCrLf & _

"Current Quality is " & CStr(lngQuality)

End Sub

GetCurrentValue Method Example


The following example retrieves the value, timestamp, and quality information for Pen Pen1.

Dim dCurVal As Double

Dim dt As Date

Dim lQual As Long

Pen1.GetCurrentValue dCurVal, dt, lQual

GetDataSetByPosition Method Example


The following example shows an example of the GetDataSetByPosition method with the LineChart
object.

Dim objDS As Object

Set objDS = LineChart1.GetDataSetByPosition(2)

Return Value

Object. The dispatch pointer of the Dataset object retrieved by position.

838
IFIX Automation Reference

GetDecimalSeparator Subroutine Example


The following example retrieves the decimal separator set for the local machine.

Dim sDecimal As String

sDecimal = GetDecimalSeparator

GetDeviceRect Method Example


The following example retrieves the points of the bounding rectangle of the Oval object Oval1 in
device coordinates.

Dim dTop As Long

Dim dLeft As Long

Dim dBottom As Long

Dim dRight As Long

Oval1.GetDeviceRect dTop, dLeft, dBottom, dRight

GetDuration Method Example


The following example retrieves the duration for the Chart Chart1.

Dim lDays As Long

Dim lHours As Long

Dim lMinutes As Long

Dim lSeconds As Long

Chart1.GetDuration lDays, lHours, lMinutes, lSeconds

GetErrorString Method Example


The following is an example of how a user might use GetErrorString to handle errors that occur. In this
example, setting Bitmap1.CurrentImage = 4 causes an error, forcing the error handler to take effect.

Dim sErrString As String

On Error GoTo errhand

Bitmap1.CurrentImage = 4

errhand:

sErrString = System.GetErrorString(Err.Number)

839
iFIX Automation Reference

GetEventHandlerIndex Method Example


The following example gets the index number for the Click of the object CurrentObject and, if a
procedure exists, removes it.

CurrentObject.Procedures.GetEventHandlerIndex "Click", lIndex, lFound

If lFound = 1 Then

CurrentObject.Procedures.Remove lIndex

End If

GetFormDynamoColor Subroutine Example


The following example retrieves an instance of the form named DynamoColorBy.

Dim frmDynamoColor as Object

GetFormDynamoColor frmDynamoColor

GetFormNumeric Subroutine Example


Reserved for internal purposes.

GetFormPushbutton Subroutine Example


Reserved for internal purposes.

GetFormRamp Subroutine Example


Reserved for internal purposes.

GetFormSlider Subroutine Example


Reserved for internal purposes.

GetFullname Method Example


The following example creates the ESignature object, checks to see if the node is enabled for
electronic signature, displays the Electronic Signature dialog box, validates the signature and sends a
message to the audit trail.

Dim ESig As Object

840
IFIX Automation Reference

Dim bNodeSignEnabled As Boolean

Dim bVerify As Boolean

Dim bContinuousUse As Boolean

Dim bValidSig As Boolean

Dim PerformUserName As String

Dim PerformUserID As String

Dim PerformComment As String

Dim PerformFullName As String

Dim VerifyUserName As String

Dim VerifyUserID As String

Dim VerifyComment As String

Dim VerifyFullName As String

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignatureFactory")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

If bNodeSignEnabled = True Then

bVerify = True ' verification is not required

bContinuousUse = True ' allow continuous user, if any, to be displayed in


the dialog box

bValidSig = False ' will be set to TRUE by GetSignature if signature is


captured successfully

'Display the Electronic Signature dialog box

ESig.GetSignature "Action Description", bVerify, bContinuousUse,


bValidSig, Ucase(PerformUserName), Ucase(PerformUserID), PerformComment,
Ucase(VerifyUserName), Ucase(VerifyUserID), VerifyComment

If bValidSig = True Then

'Send a message to the audit trail

ESig.SendSignedOperatorMessage "Action Description", "", "", Ucase


(PerformUserID), PerformComment, Ucase(VerifyUserID), VerifyComment

'Get the full names of the signers

ESig.GetFullname Ucase(PerformUserID), Ucase(PerformFullName)

ESig.GetFullname Ucase(VerifyUserID), Ucase(VerifyFullName)

'Show Results

MsgBox "Action performed by " + PerformUserName + " (" + PerformFullName

841
iFIX Automation Reference

+ ") " + PerformComment + " and verified by " + VerifyUserName + " (" +
VerifyFullName + ") " + VerifyComment

Else

MsgBox "Signature was not captured."

End If

Else

MsgBox "Signature is not enabled on this node."

End If

GetIndirectionInfo Method Example


Reserved for internal purposes.

GetInterval Method Example


The following example retrieves the interval for the Pen Pen1.

Dim lDays As Long

Dim lHours As Long

Dim lMinutes As Long

Dim lSeconds As Long

Pen1.GetInterval lDays, lHours, lMinutes, lSeconds

GetNumberOfDataSets Method Example


The following example shows an example of the GetNumberOfDataSets method with the LineChart
object.

Dim nNumOfDS As Long

nNumOfDS = LineChart1.GetNumberOfDataSets

GetLevel Method Example


The following example retrieves the level properties for the Lookup object iLookup at the level index
1 for the Oval object Oval1.

Dim iLookup As Object

Dim vIn1 as Variant

Dim vOut1 as Variant

842
IFIX Automation Reference

Dim vIn2 as Variant

dim vOut2 as Variant

Set iLookup =
System.FindObject("TestPicture.Oval1.AnimatedForegroundColor")

iLookup.GetLevel 1, vIn1, vOut1, vIn2, vOut2

GetLocaleInfoA Subroutine Example


The following example uses the GetLocaleInfoA call to get the decimal separator specified for the
local machine. We will also use the API call GetUserDefaultLCID to obtain the default locale of the
local user. This gives us the first parameter for GetLocaleInfoA.

Public Function GetDecimalSeparator()

Dim intCountChar As Integer

Dim lngHolder As Long

Dim strDecChar As String

On Error GoTo ErrorHandler

'Set the buffer for the return value

strDecChar = Space$(255)

'Get the decimal separator and the count of characters for the thousand
'separator

lngHolder = GetLocaleInfoA(GetUserDefaultLCID(), LOCALE_SDECIMAL,


strDecChar, Len(strDecChar) + 1)

'Now set the return value to just the decimal separator.

GetDecimalSeparator = Left$(strDecChar, lngHolder - 1)

Exit Function

ErrorHandler:

HandleError

End Function

GetObjectInfo Method Example


The following example retrieves a two dimensional array consisting of the values for StartTime and
Interval for the Timer objects MyTimer and MyTimer1.

Dim iSched As Object

Dim Objects(1) As String

Dim Properties(1) As String

843
iFIX Automation Reference

Dim Objinfo As Variant

Objects(0) = "MyTimer"

Objects(1) = "MyTimer1"

Properties(0) = "StartTime"

Properties(1) = "Interval"

Set iSched = System.FindObject("TestSchedule")

objinfo = iSched.GetObjectInfo(objects, properties)

GetPenDataArray Method Example


The following example generate a report containing all data contained inside a standard chart, Chart1,
into a file.

Dim lNumPts As Long

Dim vVal As Variant

Dim vPsa As Variant

Dim vQual As Variant

Dim vMill As Variant

Dim toto As Object

Dim Mypath As String

Dim myfile As String

Dim RTN As String

RTN = ""

If Chart1.Pens.Count <> 0 Then

Mypath = System.BasePath

myfile = Mypath & "\app\ChartReport.txt"

RTN = Dir(myfile)

If RTN <> "" Then

'File do exist

'Delete Output file

Kill myfile

End If

844
IFIX Automation Reference

Open myfile For Output As #1

For i = 1 To Chart1.Pens.Count

Chart1.Pens.Item(i).GetPenDataArrayEx lNumPts, vVal, vPsa, vQual, vMill

For j = 0 To (lNumPts - 1)

Value = vVal(j)

Time = vPsa(j)

Quality = vQual(j)

Mill = vMill(j)

Write #1, Chart1.Pens.Item(i).Source; " "; Time; " "; Value; ""

Next j

Next i

Close #1

End If

GetPenDataArrayEx Method Example


The following example fetches the data array for the Pen Pen1.

Dim lNumPts As Long

Dim vVal As Variant

Dim vPsa As Variant

Dim vQual As Variant

Dim vMill As Variant

Pen1.GetPenDataArrayEx lNumPts, vVal, vPsa, vQual, vMill

GetPointAt Method Example


The following example retrieves the point object at the point index 2 for the Polygon object Polygon1.

Dim iPoint As Object

Dim dX as double

Dim dY as double

Set iPoint = Polygon1.GetPointAt(2)

dX = iPoint.x

dY = iPoint.y

845
iFIX Automation Reference

GetPriorityColor Method Example


The following example retrieves the color for each alarm priority in the AlarmSummary object
AlarmSummaryOCX1.

Dim lLow As OLE_COLOR

Dim lMedium As OLE_COLOR

Dim lHigh As OLE_COLOR

lLow = AlarmSummaryOCX1.GetPriorityColor(7)

lMedium = AlarmSummaryOCX1.GetPriorityColor(6)

lHigh = AlarmSummaryOCX1.GetPriorityColor(5)

GetProcedureIndex Example
The following example finds the index of the procedure Rect2_DisplayMessage in the
ActiveDocument's project.

Dim o As Object

Dim oProc As Object

Dim lIndex As Long

Dim lFound As Long

Set o = Application.ActiveDocument.Page.FindObject("Rect2")

o.Procedures.GetProcedureIndex "DisplayMessage", lIndex, lFound

If (lFound) Then

Set oProc = o.Procedures.Item(lIndex)

End If

GetProperty Method Example


The following example retrieves the value of the Caption property of the Text object Text1.

Dim vValue As Variant

Text1.GetProperty "Caption", vValue

The following example retrieves the value of the FillStyle property of


the Rectangle object Rect1.

Dim vValue As Variant

Rect1.GetProperty "FillStyle", vValue

846
IFIX Automation Reference

GetPropertyAttributes Method Example


The following example fetches the attribute information for the HighEGU attribute of the AI1 block on
node NODE1.

Dim vtResults

Dim vtAttributes

Dim lStatus As Long

Dim strLoEGU as String

Dim LoEGUval

Oval1.GetPropertyAttributes "FIX32.NODE1.AI1.F_CV", 3, vtResults,


vtAttributes, lStatus

strLoEGU = vtAttributes(0)

LoEGUval = vtResults(0)

In the above example, the variable strLoEGU will now hold the string "FIX32.NODE1.AI1.A_ELO"
and the variable LoEGUval will hold tag AI1's low EGU value.

GetPropertyTargets Method Example


The following example determines which objects are connected to a specific tag reference.

Dim sPropName As String

Dim vtTargets As Variant

Oval1.GetPropertyTargets 1, sPropName, vtTargets

GetSelectedAlmExt Method Example


The following example retrieves the alarm extensions configured for the currently selected alarm in the
AlarmSummary object AlarmSummaryOCX1.

Dim sExt1 As String

Dim sExt2 As String

AlarmSummaryOCX1.GetSelectedAlmExt sExt1, sExt2

GetSelectedNodeTag Method Example


The following example retrieves the node and tag name corresponding to the currently selected alarm
in the AlarmSummary object AlarmSummaryOCX1.

Dim sNode As String

847
iFIX Automation Reference

Dim sTag As String

AlarmSummaryOCX1.GetSelectedNodeTag sNode, sTag

GetSelectedRow Method Example


The following example retrieves the information for the selected alarm in the AlarmSummary object
AlarmSummaryOCX1.

Dim bAck As Boolean

Dim sHandle As String

Dim sArea As String

Dim sDateIn As String

Dim sDateLast As String

Dim sTimeIn As String

Dim sTimeLast As String

Dim sNode As String

Dim sTag As String

Dim sPriority As String

Dim sStatus As String

Dim sDesc As String

Dim sValue As String

Dim sExt1 As String

Dim sExt2 As String

Dim sUser1 As String

Dim sUser2 As String

AlarmSummaryOCX1.GetSelectedRow bAck, sHandle, sArea, sDateIn, sDateLast,


sTimeIn, sTimeLast, sNode, sTag, sPriority, sStatus, sDesc, sValue,
sExt1, sExt2, sUser1, sUser2

GetSelectedUserDefFields Method Example


The following example retrieves value of the "A_" fields configured for the currently selected alarm in
the AlarmSummary object AlarmSummaryOCX1.

Dim sUserDef1 As String

Dim sUserDef2 As String

AlarmSummaryOCX1.GetSelectedUserDefFields sUserDef1, sUserDef2

848
IFIX Automation Reference

GetSignature Method Example


The following example creates the ESignature object, checks to see if the node is enabled for
electronic signature, displays the Electronic Signature dialog box, validates the signature and sends a
message to the audit trail.

Dim ESig As Object

Dim bNodeSignEnabled As Boolean

Dim bVerify As Boolean

Dim bContinuousUse As Boolean

Dim bValidSig As Boolean

Dim PerformUserName As String

Dim PerformUserID As String

Dim PerformComment As String

Dim PerformFullName As String

Dim VerifyUserName As String

Dim VerifyUserID As String

Dim VerifyComment As String

Dim VerifyFullName As String

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignatureFactory")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

If bNodeSignEnabled = True Then

bVerify = True ' verification is not required

bContinuousUse = True ' allow continuous user, if any, to be displayed in


the dialog box

bValidSig = False ' will be set to TRUE by GetSignature if signature is


captured successfully

'Display the Electronic Signature dialog box

ESig.GetSignature "Action Description", bVerify, bContinuousUse,


bValidSig, Ucase(PerformUserName), Ucase(PerformUserID), PerformComment,
Ucase(VerifyUserName), Ucase(VerifyUserID), VerifyComment

If bValidSig = True Then

'Send a message to the audit trail

ESig.SendSignedOperatorMessage "Action Description", "", "", Ucase


(PerformUserID), PerformComment, Ucase(VerifyUserID), VerifyComment 'Get

849
iFIX Automation Reference

the full names of the signers

ESig.GetFullname Ucase(PerformUserID), Ucase(PerformFullName)

ESig.GetFullname Ucase(VerifyUserID), Ucase(VerifyFullName)

'Show Results

MsgBox "Action performed by " + PerformUserName + " (" + PerformFullName


+ ") " + PerformComment + " and verified by " + VerifyUserName + " (" +
VerifyFullName + ") " + VerifyComment

Else

MsgBox "Signature was not captured."

End If

Else

MsgBox "Signature is not enabled on this node."

End If

GetSignatureAndWriteValue Method Example


The following example creates the ESignature object, checks to see if the node is enabled for
electronic signature, determines if the tag FIX32.thisnode.D01.F_CV requires electronic signature,
captures the signature, writes the new value, and sends a message to the audit trail.

Dim ESig As Object

Dim bNodeSignEnabled As Boolean

Dim bSigRequired As Boolean

Dim NewValue As Variant

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignatureFactory")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

If bNodeSignEnabled = True Then

'Check if tag requires electronic signature

ESig.Initialize "Fix32.thisnode.DO1.F_CV"

ESig.IsSignatureRequired 0, bSigRequired

If bSigRequired = True Then

'Capture the signature, write the new value and send a message to the
audit trail

NewValue = 1

850
IFIX Automation Reference

ESig.GetSignatureAndWriteValue 0, NewValue

Else

MsgBox "Signature is not required for this tag."

End If

Else

MsgBox "Signature is not enabled on this node."

End If

GetStatusColor Method Example


The following example retrieves the color for alarms with a HIHI status in the AlarmSummary object
AlarmSummaryOCX1.

Dim lHiHi As OLE_COLOR

lHiHi = AlarmSummaryOCX1.GetStatusColor(2)

GetStatusFont Method Example


The following example retrieves the font properties for alarms with a LO status in the
AlarmSummary object AlarmSummaryOCX1.

Dim sFontName As String

Dim bStrike As Boolean

Dim bUnderline As Boolean

Dim bBold As Boolean

Dim bItalic As Boolean

Dim iSize As Integer

sFontName = AlarmSummaryOCX1.GetStatusFont(3, bStrike, bUnderline, bBold,


bItalic, iSize)

GetTimeBeforeNow Method Example


The following example retrieves the initial relative start time for the Chart object Chart1.

Dim lHours As Long

Dim lMinutes As Long

Dim lSeconds As Long

Chart1.GetTimeBeforeNow lHours, lMinutes, lSeconds

851
iFIX Automation Reference

GetTimeCursorInfo Method Example


The following example fetches the time, value and quality of the trend at the time where the Pen at
index 1 for the Chart Chart1 crosses the time cursor.

Dim Dt As Date

Dim dVal As Double

Dim lQual As Long

Chart1.GetTimeCursorInfo 1, Dt, dVal, lQual

GetUserDefaultLCID Subroutine Example


The following example uses the GetLocaleInfoA call to get the decimal separator specified for the
local machine. We will also use the API call GetUserDefaultLCID to obtain the default locale of the
local user. This gives us the first parameter for GetLocaleInfoA.

Public Function GetDecimalSeparator()

Dim intCountChar As Integer

Dim lngHolder As Long

Dim strDecChar As String

On Error GoTo ErrorHandler

'Set the buffer for the return value

strDecChar = Space$(255)

'Get the decimal separator and the count of characters for the thousand
'separator

lngHolder = GetLocaleInfoA(GetUserDefaultLCID(), LOCALE_SDECIMAL,


strDecChar, Len(strDecChar) + 1)

'Now set the return value to just the decimal separator.

GetDecimalSeparator = Left$(strDecChar, lngHolder - 1)

Exit Function

ErrorHandler:

HandleError

End Function

GetUserID Method Example


The following example creates the ESignature object, checks to see if the node has electronic signature
enabled, obtains the user ID, checks to see if the user has access to the Electronic Signature Bypass
application feature, and checks to see if the user has access to a security area.

852
IFIX Automation Reference

Dim ESig As Object

Dim bNodeSignEnabled As Boolean

Dim UserName As String

Dim PassWord As String

Dim result As Boolean

Dim UsrId As String

'valid iFix user name and password

UserName = "username"

PassWord = "password"

result = False

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignature")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

If bNodeSignEnabled = True Then

'Get the user id

ESig.GetUserid UserName, PassWord, UsrId

MsgBox “UserID: ” & UsrId

'Check if user has access to Electronic Signature Bypass application


feature

ESig.CheckUserApplicationAccess UsrId, 74, result

MsgBox "User: " & UserName & vbCr & "Has rights to Bypass Signature? " &
result

'Check if user has access to security area B

ESig.CheckUserAreaAccess UsrId, "B", result

MsgBox "User: " & UserName & vbCr & "Has rights to Security Area B? " &
result

Else

'the hardware key is not enabled for signature, security is disabled, or


bypass signature is in effect

MsgBox “Signature is not enabled on this node.”

End If

853
iFIX Automation Reference

GetWindowLocation Method Example


The following example retrieves the window size and location of the Picture TestPicture in terms of
percentage of the screen.

Dim dTopPct As Double

Dim dLeftPct As Double

Dim dHeightPct As Double

Dim dWidthPct As Double

TestPicture.GetWindowLocation dTopPct, dLeftPct, dHeightPct, dWidthPct

GlobalScrollBackFast Method Example


The following example sets the System.GlobalStartTime and System.GlobalEndTime properties and
scrolls backward by the amount specified in the GlobalFastScrollRate property.

Private Sub FastLeftButton_Click()

System.GlobalScrollBackFast

End Sub

GlobalScrollBackSlow Method Example


The following example sets the System.GlobalStartTime and System.GlobalEndTime properties and
scrolls backward by the amount specified in the GlobalSlowScrollRate property.

Private Sub LeftButton_Click()

System.GlobalScrollBackSlow

End Sub

GlobalScrollForwardFast Method Example


The following example sets the System.GlobalStartTime and System.GlobalEndTime properties and
scrolls forward by the amount specified in the GlobalFastScrollRate property.

Private Sub FastRightButton_Click()

System.GlobalScrollForwardFast

End Sub

854
IFIX Automation Reference

GlobalScrollForwardSlow Method Example


The following example sets the System.GlobalStartTime and System.GlobalEndTime properties and
scrolls forward by the amount specified in the GlobalSlowScrollRate property.

RightButton_Click()

System.GlobalScrollForwardSlow

End Sub

GlobalTimerApply Method Example


The following example changes the System's GlobalStartTime property and applies it to the
WorkSpace.

Private Sub DTPicker7_Change()

System.GlobalStartTime = DTPicker7.Value

System.GlobalTimerApply

End Sub

Group Method Example


The following example forms a group consisting of the Oval and Polygon objects Oval1 and
Polygon1.

Oval1.SelectObject False

Polygon1.SelectObject False

TestPicture.Group

HandleError Subroutine Example


The following example demonstrates how the HandleError subroutine would be used in trapping
errors.

Public Function GetDecimalSeparator()

Dim intCountChar As Integer

Dim lngHolder As Long

855
iFIX Automation Reference

Dim strDecChar As String

On Error GoTo ErrorHandler

'Set the buffer for the return value

strDecChar = Space$(255)

'Get the decimal separator and the count of characters for the thousand
'separator

lngHolder = GetLocaleInfoA(GetUserDefaultLCID(), LOCALE_SDECIMAL,


strDecChar, Len(strDecChar) + 1)

'Now set the return value to just the decimal separator.

GetDecimalSeparator = Left$(strDecChar, lngHolder - 1)

Exit Function

ErrorHandler:

HandleError

End Function

HiLoDisplay Method Example


The following example sets the HiDisplay and LoDisplay properties of the TimeAxis object for the
Pen Pen1 to 11/15/98 and 10/17/98 respectively.

Dim iTimeAxis as object

set iTimeAxis = Pen1.TimeAxis

iTimeAxis.HiLoDisplay #11/15/98 12:00:00AM#, #10/17/98 12:00:00AM#

I-K

ImportToolbar Method Example


The following example imports a ToolBar named Toolbar1 that is owned by the Proficy iFIX
WorkSpace.

Dim lErr as Long

lErr = Application.ToolbarManager.ImportToolbar(“Toolbar1”, “WorkSpace”)

856
IFIX Automation Reference

Initialize Method Example


The following example creates the ESignature object, checks to see if the node is enabled for
electronic signature, and determines if a specified tag (FIX32.thisnode.D01.F_CV) requires electronic
signature. If required, the example validates the signature, writes the new value, and sends a message
to the audit trail.

Dim ESig As Object

Dim bNodeSignEnabled As Boolean

Dim bSigRequired As Boolean

Dim bVerify As Boolean

Dim bContinuousUse As Boolean

Dim nInfo As Integer

Dim NewValue As Variant

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignatureFactory")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

If bNodeSignEnabled = True Then

'Check if tag requires electronic signature

ESig.Initialize "Fix32.thisnode.DO1.F_CV"

ESig.IsSignatureRequired 0, bSigRequired, nInfo, bVerify, bContinuousUse

If bSigRequired = True Then

'Validate the signature, write the new value and send a message to the
audit trail

NewValue = 1

If bVerify = False Then

ESig.ValidateSignatureAndWriteValue 0, NewValue, "admin", "admin",


"Perform Comment Example"

Else

ESig.ValidateSignatureAndWriteValue 0, NewValue, "admin", "admin",


"Perform Comment Example", "supervisor1", "GEF", "Verify Comment Example"

End If

Else

MsgBox "Signature is not required for this tag."

End If

857
iFIX Automation Reference

Else

MsgBox "Signature is not enabled on this node."

End If

InitializeList Method Example


The following example creates the ESignature object, checks to see if the node is enabled for
electronic signature and determines if a set of tags require electronic signature.

Dim ESig As Object

Dim bNodeSignEnabled As Boolean

Dim bSigRequired As Boolean

Dim bValidSig As Boolean

Dim info As Integer

'Create the list of data sources

Dim DataSources As Variant

ReDim DataSources(2) As String

DataSources(0) = "Fix32.THISNODE.TAG1.F_CV"

DataSources(1) = "Fix32.THISNODE.TAG2.F_CV"

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignature")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

If bNodeSignEnabled = True Then

'initialize the object and set data sources

ESig.InitializeList DataSources

'Is signature required for data sources

ESig.IsSignatureRequiredForList 4, bSigRequired, info

If bSigRequired Then

'signature is required for this list

MsgBox “Signature is required.”

Else

'signature is not required for this list, check info parameter for reason

MsgBox “Signature is not required.”

858
IFIX Automation Reference

End If

Else

'the hardware key is not enabled for signature, security is disabled, or


bypass signature is in effect

MsgBox “Signature is not enabled on this node.”

End If

InsertPoint Method Example


The following example inserts the point 55,75 at an index of 3 for the Polyline object Polyline1.

Dim iPoint As FixFloatPoint

Set iPoint = New FixFloatPoint

iPoint.x = 55

iPoint.y = 75

PolyLine1.InsertPoint 3, iPoint

InteractiveExport Method Example


The following example launches the Export dialog box for the Line/Multiline chart.

Private Sub CommandButton4_Click()

LineChart1.InteractiveExport

End Sub

IsColorSelectionVisible Method Example


The following example determines whether the WorkSpace's Color Selection dialog box is open.

Dim bIsVisible As Boolean

bIsVisible = TestPicture.IsColorSelectionVisible

IsConnected Method Example


The following example determines whether the VerticalFillPercentage property of the Oval object
Oval1 has a connection assigned to it.

Dim bIsConnected As Boolean

Dim lIndex As Long

859
iFIX Automation Reference

Dim lStatus As Long

Oval1.IsConnected "VerticalFillPercentage", bIsConnected, lIndex, lStatus

IsEmpty Method Example


The following example determines if the Lookup object iLookup is empty.

Dim bIsEmpty As Boolean

iLookup.IsEmpty bIsEmpty

IsNodeSignEnabled Method Example


The following example creates the ESignature object, checks to see if the node is enabled for
electronic signature, and determines if a specified tag (FIX32.thisnode.D01.F_CV) requires electronic
signature. If required, the example validates the signature, writes the new value, and sends a message
to the audit trail.

Dim ESig As Object

Dim bNodeSignEnabled As Boolean

Dim bSigRequired As Boolean

Dim bVerify As Boolean

Dim bContinuousUse As Boolean

Dim nInfo As Integer

Dim NewValue As Variant

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignatureFactory")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

If bNodeSignEnabled = True Then

'Check if tag requires electronic signature

ESig.Initialize "Fix32.thisnode.DO1.F_CV"

ESig.IsSignatureRequired 0, bSigRequired, nInfo, bVerify, bContinuousUse

If bSigRequired = True Then

'Validate the signature, write the new value and send a message to the
audit trail

NewValue = 1

If bVerify = False Then

860
IFIX Automation Reference

ESig.ValidateSignatureAndWriteValue 0, NewValue, "admin", "admin",


"Perform Comment Example"

Else

ESig.ValidateSignatureAndWriteValue 0, NewValue, "admin", "admin",


"Perform Comment Example", "supervisor1", "GEF", "Verify Comment Example"

End If

Else

MsgBox "Signature is not required for this tag."

End If

Else

MsgBox "Signature is not enabled on this node."

End If

IsSignatureRequired Method Example


The following example creates the ESignature object, checks to see if the node is enabled for
electronic signature, and determines if a specified tag (FIX32.thisnode.D01.F_CV) requires electronic
signature. If required, the example validates the signature, writes the new value, and sends a message
to the audit trail.

Dim ESig As Object

Dim bNodeSignEnabled As Boolean

Dim bSigRequired As Boolean

Dim bVerify As Boolean

Dim bContinuousUse As Boolean

Dim nInfo As Integer

Dim NewValue As Variant

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignatureFactory")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

If bNodeSignEnabled = True Then

'Check if tag requires electronic signature

ESig.Initialize "Fix32.thisnode.DO1.F_CV"

ESig.IsSignatureRequired 0, bSigRequired, nInfo, bVerify, bContinuousUse

If bSigRequired = True Then

861
iFIX Automation Reference

'Validate the signature, write the new value and send a message to the
audit trail

NewValue = 1

If bVerify = False Then

ESig.ValidateSignatureAndWriteValue 0, NewValue, "admin", "", "Perform


Comment Example"

Else

ESig.ValidateSignatureAndWriteValue 0, NewValue, "admin", "", "Perform


Comment Example", "supervisor1", "GEF", "Verify Comment Example"

End If

Else

MsgBox "Signature is not required for this tag."

End If

Else

MsgBox "Signature is not enabled on this node."

End If

IsSignatureRequiredForList Method Example


The following example creates the ESignature object, checks to see if the node is enabled for
electronic signature and determines if a set of tags require electronic signature.

Dim ESig As Object

Dim bNodeSignEnabled As Boolean

Dim bSigRequired As Boolean

Dim bValidSig As Boolean

Dim info As Integer

'Create the list of data sources

Dim DataSources As Variant

ReDim DataSources(2) As String

DataSources(0) = "Fix32.THISNODE.TAG1.F_CV"

DataSources(1) = "Fix32.THISNODE.TAG2.F_CV"

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignature")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

862
IFIX Automation Reference

If bNodeSignEnabled = True Then

'initialize the object and set data sources

ESig.InitializeList DataSources

'Is signature required for data sources

ESig.IsSignatureRequiredForList 4, bSigRequired, info

If bSigRequired Then

'signature is required for this list

MsgBox “Signature is required.”

Else

'signature is not required for this list, check info parameter for reason

MsgBox “Signature is not required.”

End If

Else

'the hardware key is not enabled for signature, security is disabled, or


bypass signature is in effect

MsgBox “Signature is not enabled on this node.”

End If

IsUserFxg Subroutine Example


The following example determines if the active document is the UserGlobals page.

Dim bUserFxg As Boolean

bUserFxg = IsUserFxg

Item Method Example


The following example retrieves the Item object associated with index 2 in the Procedures collection
for the object CurrentObject.

Dim iItem As Object

Set iItem = CurrentObject.Procedures.Item(2)

The following example retrieves the Item object associated with index 3 in the Lines collection for the
second item in the Procedures collection for the object CurrentObject.

Dim iItem As Object

Set iItem = CurrentObject.Procedures.Item(2).Lines.Item(3)

863
iFIX Automation Reference

ListEvents Method Example


The following example retrieves the number and the corresponding list of events for the Oval object
Oval1.

Private Sub Oval1_Click()

Dim strMsg As String

Dim pvEvents As Variant

Dim iNumEvents As Integer

strMsg = "This object has the following events: "

Oval1.ListEvents pvEvents, iNumEvents

For Each i In pvEvents

strMsg = strMsg + i + ","

Next

MsgBox strMsg, vbOKOnly, "Message"

End Sub

ListMethods Method Example


The following example retrieves the number and the corresponding list of methods for the Oval object
Oval1.

Dim strMsg As String

Dim pvMethods As Variant

Dim iNumMethods As Integer

Oval1.ListMethods pvMethods, iNumMethods

strMsg = "This object has the following Methods: "

For Each i In pvMethods

strMsg = strMsg + i + ","

Next

MsgBox strMsg, vbOKOnly, "Message"

864
IFIX Automation Reference

ListProperties Method Example


The following example retrieves the number and the corresponding list of properties and their
datatypes for the Oval object Oval1.

Dim strMsg As String

Dim pvProperties As Variant

Dim pvDataTypes As Variant

Dim iNumProps As Integer

Oval1.ListProperties pvProperties, pvDataTypes, iNumProps

strMsg = "This object has the following Properties: "

For Each i In pvProperties

strMsg = strMsg + i + ","

Next

MsgBox strMsg, vbOKOnly, "Message"

ListWindowsGroupNames Method Example


The following example retrieves a string aray of Windows group names for the SecuritySynchronizer
object objSecSynch.

Dim objSecSynch As SecuritySynchronizer

Set objSecSynch = New SecuritySynchronizer

Dim bNT4NamesOnly As Boolean

bNT4NamesOnly = True

objSecSynch.ListWindowsGroupNames bNT4NamesOnly

Setting the bNT4NamesOnly variable to True returns only Windows group names that do not exceed
twenty characters.

Load_TS_List Method Example


This example loads the tag status list TAGSTATUS into the current picture when a button is pressed.

Private Sub Button_LoadTSList_Click()

Me.Load_TS_List TAGSTATUS

865
iFIX Automation Reference

End Sub

LoadImage Method Example


The following example loads the image CustomButton10 as the primary image at index 1 for the
Bimtap object Bitmap1.

Bitmap1.LoadImage True, 1, "C:\Program Files\Proficy\Proficy


iFIX\Local\CustomButton10.bmp"

LoadTagGroupFile Example
The following example loads the tag group file mytaggroup.tgd into the iFIX picture pic1.

Private Sub CommandButton1_Click()

pic1.LoadTagGroupFile "mytaggroup.tgd"

End Sub

LocateObject Subroutine Example


The following example finds the object Tank1 in all open documents.

LocateObject "Tank1", False

LogicalToPercentage Method Example


The following example converts the Top, Left, Height and Width coordinates from 30, 30, 100, 150 in
logical units to percentage of screen space available for the Picture TestPicture.

Dim dTop As Double

Dim dLeft As Double

Dim dHeight As Double

Dim dWidth As Double

dTop = 30

dLeft = 30

dHeight = 100

dWidth = 150

TestPicture.LogicalToPercentage dTop, dLeft, dHeight, dWidth

866
IFIX Automation Reference

LogicalToUserFormPoint Method Example


The following example converts the Top, Left coordinates from 30, 50 in logical units to "UserForm
Point" coordinates for the Picture TestPicture.

Dim dTop As Double

Dim dLeft As Double

dTop = 30

dLeft = 50

TestPicture.LogicalToUserFormPoint dTop, dLeft

LogIn Subroutine Example


The following example opens the login dialog, allowing the user to perform login/logout procedures.

LogIn (0) , (False) (by default)

M-N

MakeLinesHorizontal Method Example


The following example shows how to convert the selected line object into horizontal line(s).

Set ObjHelper = BuildObject("GeometryHelper")

Call ObjHelper.MakeLinesHorizontal

MakeLinesVertical Method Example


The following example shows how to convert the selected line object(s) into vertical line(s).

Set ObjHelper = BuildObject("GeometryHelper")

Call ObjHelper.MakeLinesVertical

MakeSameSize Method Example


The following example selects the Polygon and Oval objects, Polygon1 and Oval1, and sets them to
have the same width.

Polygon1.SelectObject False

867
iFIX Automation Reference

Oval1.SelectObject False

TestPicture.MakeSameSize 1

Modify Method Example


The following example displays the Modify Block dialog box for AI1 of the Bitmap object Bitmap1.

Dim bReadOnly As Boolean

Dim iStatus As Long

Bitmap1.Modify "Fix32.NODE1.AI1", bReadOnly, iStatus

ModifyColumnLength Method Example


The following example sets the number of characters to be displayed in column 1 of the Chart Chart1
to 7.

Chart1.ModifyColumnLength 1, 7

Move Method Example


The following example moves the object Tank1 in the horizontal direction by an offset of 10 and in the
vertical direction by an offset of 25.

Tank1.Move 10, 25

NewAlarm Event Example


The following example parses a list of nodes and tags for the NewAlarm event:

' parses through the list of new alarms (there could be more than one)

Private Sub AlarmSummaryOCX1_NewAlarm(strNode As String, strTag As


String)

Dim lngNumAlarms&, lngLoop&, strThisTag$, strThisNode$

' compute the number of new alarms being sent to us

lngNumAlarms = Len(strTag) / 30

For lngLoop = 1 To lngNumAlarms&

' get the next node and tag

strThisNode = Mid(strNode, ((lngLoop - 1) * 8) + 1, 8)

strThisNode = Trim(strThisNode)

868
IFIX Automation Reference

strThisTag = Mid(strTag, ((lngLoop - 1) * 30) + 1, 30)

strThisTag = Trim(strThisTag)

Next lngLoop

End Sub

OffScan Subroutine Example


The following example places the block AI1 off scan.

OffScan "AI1"

OnScan Subroutine Example


The following example places the block AI1 on scan.

OnScan "AI1"

Open Method Example


The following example opens the Picture TestPicture, displaying it normally.

Dim iDoc As Object

Set iDoc=Application.Documents.Open("C:\Program Files\Proficy\Proficy


iFIX\Pic\TestPicture.grf",3)

Open_QT_Pic Method Example


The following example opens a Quick Trend Picture when a button is pressed. The tags that are
displayed are retrieved from the currently selected objects.

Private Sub Button_OpenQTPic_Click()

Me.Open_QT_Pic

End Sub

869
iFIX Automation Reference

Open_QT_Pic_Ex Method Example


The following example opens a Quick Trend Picture when a button is pressed. The tags that are
displayed are retrieved from the currently selected objects.

Private Sub Button_OpenQTPic_Click()

Me.Open_QT_Pic_Ex (1)

End Sub

Open_TCP_Pic Method Example


The following example opens the Tag Control Panel Picture when a button is pressed. The tags that are
displayed are retrieved from the currently selected objects.

Private Sub Button_OpenTCPPic_Click()

Me.Open_TCP_Pic

End Sub

Open_TCP_Pic_Ex Method Example


The following example opens the Tag Control Panel Picture when a button is pressed. The tags that are
displayed are retrieved from the currently selected objects.

Private Sub Button_OpenTCPPic_Click()

Me.Open_TCP_Pic_Ex (1)

End Sub

Open_TS_Pic Method Example


The following example opens the Tag Status Picture for the first found tag for the object Object1 when
a button is pressed. The tags that are displayed are retrieved from the currently selected objects.

Private Sub Button_OpenTSPic_Click()

870
IFIX Automation Reference

Object1.Open_TS_Pic

End Sub

Open_TS_Pic_Ex Method Example


The following example opens the Tag Status Picture for the first found tag for the object Object1 when
a button is pressed. The tags that are displayed are retrieved from the currently selected objects.

Private Sub Button_OpenTSPic_Click()

Object1.Open_TS_Pic_Ex (1)

End Sub

Open_TS_Pic_Type Method Example


The following example opens the Tag Status Picture TAGSTATUS and displays the tag list AI, AO, and
DI when a button is pressed.

Private Sub Button_OpenTSPicType_TagStatus_Click()

Dim SomeStrings(2) As String

Dim OpenedPic As Object

SomeStrings(0) = "FIX32.THISNODE.AI.A_NAME"

SomeStrings(1) = "FIX32.THISNODE.AO.A_NAME"

SomeStrings(2) = "FIX32.THISNODE.DI.A_NAME"

Set OpenedPic = Me.Open_TS_Pic_Type(TAGSTATUS, SomeStrings)

End Sub

The following example opens the Quick Trend Picture QUICKTREND into the current picture and
displays the tag list AI, AO, and DI when a button is pressed.

Private Sub Button_OpenTSPicType_QT_Click()

Dim SomeStrings(2) As String

871
iFIX Automation Reference

SomeStrings(0) = "FIX32.THISNODE.AI.A_NAME"

SomeStrings(1) = "FIX32.THISNODE.AO.A_NAME"

SomeStrings(2) = "FIX32.THISNODE.DI.A_NAME"

Me.Open_TS_Pic_Type QUICKTREND, SomeStrings

End Sub

The following example opens the Tag Control Panel Picture TAGCONTROLPANEL into the current
picture and displays the tag list AI, AO, and DI when a button is pressed.

Private Sub Button_OpenTSPicType_TCP_Click()

Dim SomeStrings(2) As String

SomeStrings(0) = "FIX32.THISNODE.AI.A_NAME"

SomeStrings(1) = "FIX32.THISNODE.AO.A_NAME"

SomeStrings(2) = "FIX32.THISNODE.DI.A_NAME"

Me.Open_TS_Pic_Type TAGCONTROLPANEL, SomeStrings

End Sub

Open_TS_Pic_Type_Ex Method Example


The following example opens the Tag Status Picture TAGSTATUS and displays the tag list AI, AO, and
DI when a button is pressed. If one instance of this picture is already open, another instance displays.

Private Sub Button_OpenTSPicType_TagStatus_Click()

Dim SomeStrings(2) As String

Dim OpenedPic As Object

SomeStrings(0) = "FIX32.THISNODE.AI.A_NAME"

SomeStrings(1) = "FIX32.THISNODE.AO.A_NAME"

SomeStrings(2) = "FIX32.THISNODE.DI.A_NAME"

Set OpenedPic = Me.Open_TS_Pic_Type_Ex(TAGSTATUS, SomeStrings, 1)

872
IFIX Automation Reference

End Sub

The following example opens the Quick Trend Picture QUICKTREND into the current picture and
displays the tag list AI, AO, and DI when a button is pressed. If one instance of this picture is already
open, another instance displays.

Private Sub Button_OpenTSPicType_QT_Click()

Dim SomeStrings(2) As String

SomeStrings(0) = "FIX32.THISNODE.AI.A_NAME"

SomeStrings(1) = "FIX32.THISNODE.AO.A_NAME"

SomeStrings(2) = "FIX32.THISNODE.DI.A_NAME"

Me.Open_TS_Pic_Type_Ex QUICKTREND, SomeStrings, 1

End Sub

The following example opens the Tag Control Panel Picture TAGCONTROLPANEL into the current
picture and displays the tag list AI, AO, and DI when a button is pressed. If one instance of this picture
is already open, another instance displays.

Private Sub Button_OpenTSPicType_TCP_Click()

Dim SomeStrings(2) As String

SomeStrings(0) = "FIX32.THISNODE.AI.A_NAME"

SomeStrings(1) = "FIX32.THISNODE.AO.A_NAME"

SomeStrings(2) = "FIX32.THISNODE.DI.A_NAME"

Me.Open_TS_Pic_Type_Ex TAGCONTROLPANEL, SomeStrings, 1

End Sub

OpenDigitalPoint Subroutine Example


The following example opens the block DO1.

OpenDigitalPoint "DO1"

873
iFIX Automation Reference

OpenPicture Subroutine Example


The following example opens the Picture TestPicture, giving it an alias of Test and positioning its top
left corner at (75,75).

OpenPicture "TestPicture" ,"Test", 75, 75

The following example opens another instance of a picture if it is already open in the iFIX WorkSpace:

OpenPicture "TestPicture", , , , , , , , True

The following example opens another instance of a picture if it is already open in the iFIX WorkSpace,
but with a different tag group file (named taglist3):

OpenPicture "TestPicture", , , , , , , taglist3, True

The next example shows the OpenPicture subroutine using the optional intErrormode parameter, with a
value of 0:

OpenPicture "BadPic", , , , 0

When you use 0 for the intErrorMode, if you try to open a picture that does not exist, a message box
appears whose title is the name of the picture that made the erroneous call and whose contents are the
error number and error description. This is the default. If no entry is made for the intErrorMode
parameter, the default is used.

If you enter a 1 for intErrorMode the error is raised for you to handle:

OpenPicture "BadPic", , , , 1

Your error handling code would have to look something like this:

On Error Goto Errorhandler

OpenPicture "BadPic", , , , 1

End Sub

Errorhandler:

Msgbox "my error message" + Chr(13) + Cstr(Err.Number) + Chr(13) +


Err.Description, , Err.Source

If you enter a 2 for intErrorMode, the error is sent to all typers, including the Alarm History window
using the SendOperatorMessage method:

OpenPicture "BadPic", , , , 2

When you use 2 for the intErrorMode, you provide for silent error tracking.

The following example allows the calling Picture Test to open a Quick Trend Picture and display the
tag list Strings1.

OpenPicture , , , , , Test, QuickTrend, Strings1

The following example allows the calling picture Test to open a Tag Status Picture and display the tag

874
IFIX Automation Reference

list Strings2.

OpenPicture , , , , , Test, TagStatus, Strings2

The following example allows the calling picture Test to open a Tag Control Panel Picture and display
the tag list Strings3.

OpenPicture , , , , , Test, TagControlPanel, Strings3

OpenTGDPicture Subroutine Example


This example opens the picture TestPicture, gives it an alias of Test, and then open the taggroup file
TestTGD. The coordinates of the top-left side of the picture are 75, 75.

OpenTGDPicture "TestPicture", "Test", 75, 75, "TestTGD"

This next example opens the picture TestPicture, allowing for multiple instances. The coordinates of
the top-left side of the picture are 75, 75.

OpenTGDPicture "TestPicture", , 75, 75, , , true

This next example opens the picture TestPicture, allowing for multiple instances. It opens the instance
with the taggroup file TestTGD. The coordinates of the top-left side of the picture are 75, 75.

OpenTGDPicture "TestPicture", , 75, 75, "TestTGD", , true

P-Q

ParseConnectionSource Method Example


The following example parses the AI1.F_CV source to the VerticalFillPercentage property of Oval
Oval1 to determine the validity of the data source.

Dim iStatus As Long

Dim validObjs As Variant

Dim UndObjs As Variant

Dim FQSource As String

Oval1.ParseConnectionSource "VerticalFillPercentage", "AI1.F_CV",


iStatus, validObjs, UndObjs, FQSource

Paste Method Example


The following example pastes the Oval object Oval1 to the Picture TestPicture after copying it to the

875
iFIX Automation Reference

clipboard.

Oval1.Select

TestPicture.Copy

TestPicture.Paste

PasteSpecial Method Example


The following example opens the Paste Special dialog box for the Picture TestPicture.

TestPicture.PasteSpecial

Pause Method Example


The following example pauses the Chart Chart1.

Chart1.Pause

PauseAlarmRead Method Example


The following example pauses the Alarm Summary object prior to copying alarms to list.

' pause alarm read so nothing is added, deleted or moved

AlarmSummaryOCX1.PauseAlarmRead

lngTotalFiltered = AlarmSummaryOCX1.TotalFilteredAlarms

ListBox1.Clear

For lngLoop = 1 To lngTotalFiltered

AlarmSummaryOCX1.SelectAlarmRow lngLoop, True

AlarmSummaryOCX1.GetSelectedNodeTag strNode, strTag

ListBox1.AddItem strNode & "." & strTag

AlarmSummaryOCX1.SelectAlarmRow lngLoop, False

Next lngLoop

' resume alarm read

AlarmSummaryOCX1.ResumeAlarmRead

PercentageToLogical Method Example


The following example converts the Top, Left, Height and Width coordinates from 30, 30, 100, 150 in

876
IFIX Automation Reference

percentage of screen space available to logical units for the Picture TestPicture.

Dim dTop As Double

Dim dLeft As Double

Dim dHeight As Double

Dim dWidth As Double

dTop = 30

dLeft = 30

dHeight = 100

dWidth = 150

TestPicture.PercentageToLogical dTop, dLeft, dHeight, dWidth

PercentageToPixel Method Example


The following example converts the Top, Left, Height and Width coordinates from 30, 30, 100, 150 in
percentage of screen space available to pixels for the Picture TestPicture.

Dim dTop As Double

Dim dLeft As Double

Dim dHeight As Double

Dim dWidth As Double

dTop = 30

dLeft = 30

dHeight = 100

dWidth = 150

TestPicture.PercentageToPixel dTop, dLeft, dHeight, dWidth

PictureAlias Subroutine Example


The following example assigns the alias TestPicAlias to the current Picture.

PictureAlias "TestPicAlias"

ClosePicture "TestPicAlias"

PixelToPercentage Method Example


The following example converts the Top, Left, Height and Width coordinates from 30, 30, 100, 150 in

877
iFIX Automation Reference

pixels to percentage of screen space available for the Picture TestPicture.

Dim dTop As Double

Dim dLeft As Double

Dim dHeight As Double

Dim dWidth As Double

dTop = 30

dLeft = 30

dHeight = 100

dWidth = 150

TestPicture.PixelToPercentage dTop, dLeft, dHeight, dWidth

PrintChart Method Example


The following example prints the Line/Multiline chart to the size of a full page of paper.

Private Sub CommandButton4_Click()

LineChart1.PrintChart SizeUnits_FullPage

End Sub

PrintOut Method Example


The following example opens the print dialog for the active Document.

Dim bPrinted as boolean

bPrinted = Application.ActiveDocument.PrintOut

PrintReport Subroutine Example


The following example prints 3 copies of pages 1 through 5 of the report TestReport, collating each
copy.

PrintReport "TestReport", False, 3, True, 1, 5

PromptToChangePassword Method Example


The following example checks the user’s Windows account expiration status. If the account expired,
this example prompts the user to change his password (if he has rights to do so). If the account has not
expired, a message appears stating how many days are left until the password expires.

878
IFIX Automation Reference

Dim ESig As Object

Dim bNodeSignEnabled As Boolean

Dim UserName As String

Dim PassWord As String

Dim UsrId As String

Dim bExpired As Boolean

Dim daysLeft As Long

Dim bCanChangePassword As Boolean

'user name of an iFix user using Windows security

UserName = "expire"

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignature")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

If bNodeSignEnabled = True Then

'Check account status and user’s right to change password

ESig.CheckAccountExpiration UserName, bExpired, bCanChangePassword,


daysLeft

If bExpired <> False Then

If bCanChangePassword <> False Then

ESig.PromptToChangePassword UserName

End If

Else

'password is not expired

MsgBox "Password is due to expire in " & daysLeft & " days."

End If

Else

'the hardware key is not enabled for signature, security is disabled, or


bypass signature is in effect

MsgBox “Signature is not enabled on this node.”

End If

879
iFIX Automation Reference

QuickAdd Subroutine Example


The following example gets the status of the block NewBlock to the database. If NewBlock doesn't
exist, the QuickAdd dialog will be opened, allowing the user to configure the block on the fly.

Dim iStatus As Integer

iStatus = QuickAdd("NewBlock1")

Quit Method Example


The following example shuts down the WorkSpace, prompting the user to save changes made to any
open documents.

Application.Quit 3

RampValue Subroutine Example


The following example ramps the block AO1 by 25 percent of its EGU range.

RampValue "25", True, "AO1"

The following example ramps the block AO1 by a value of 15.

RampValue "15", False, "AO1"

Read Method Example


The following example:

• Creates a data system ocx FDS;

• Adds a data Group DataGroup1 to the Groups collection;

• Adds a DataItem to the DataItems collection;

• Reads the Group DataGroup1;

• Reads the DataItem

'Create the Data System OCX

Dim FDS As Object

880
IFIX Automation Reference

Set FDS = CreateObject("FixDataSystems.Intellution FD Data System


Control")

'Add a group to the Groups collection

FDS.Groups.Add ("DataGroup1")

FDS.Groups.Item("DataGroup1").DataItems.Add("Fix32.THISNODE.AI1.F_CV")

'Read DataGroup1

FDS.Groups.Item("DataGroup1").Read

'Read the DataItem

FDS.Groups.Item("DataGroup1").DataItems.Item(1).Read

ReadValue Subroutine Example


The following example reads the value of the block AI1.

Dim lValue As Variant

lValue = ReadValue("AI1")

Refresh Method Example


The following example repaints the Rectangle object Rect1.

Rect1.Refresh

RefreshChartData Method Example


The following simple example refreshes the data being displayed in the Chart1, which is a
HistogramChart, LineChart, or SPCBarChart object.

Chart1.RefreshChartData

The following example shows a refresh of an Enhanced Chart, LineChart1, after scroll forward of 50%
is performed on the Enhanced Chart.

Dim dtTime As Variant

Dim dtDate As Variant

Dim dInterval As Long

' set scroll percentage

dInterval = LineChart1.Duration

dInterval = dInterval * 0.5 ' 50%

881
iFIX Automation Reference

'scroll time

dtTime = HistoricalDataset1.FixedTime

dtTime = DateAdd("s", dInterval, dtTime)

HistoricalDataset1.FixedTime = dtTime

' scroll date

dtDate = HistoricalDataset1.FixedDate

dtDate = DateAdd("s", dInterval, dtDate)

HistoricalDataset1.FixedDate = dtDate

'refresh chart

LineChart1.RefreshChartData

The second example above requires a reference to the historical data set named “iFIX
HistoricalDataSet Object v 1.0 Type Library” in your VBA project.

RegCloseKey Subroutine Example


The following example is the actual PrintReport subroutine from FactoryGlobals global subroutines.
Here, we implement late binding to run Crystal Reports. First, find out if Crystal Reports is installed on
the user's machine with RegOpenKeyEx. If it is, we create an instance of it. Then, we close the
registry key with RegCloseKey.

NOTE: This example does not apply to Crystal XI; it applies to an earlier version, such as Crystal 7.
For Crystal XI, use the PrintReport subroutine instead. The PrintReport subroutine will do all of the
registry entries for you.

Public Sub PrintReport(ByVal Report As String, Optional Prompt As


Boolean, Optional ByVal Copies As Long, Optional ByVal Coll As Boolean,
Optional ByVal StartNo As Long, Optional ByVal EndNo As Long)

Dim CrystalApplication As Object

Dim CrystalReport As Object

Dim lngResult As Long

Dim lngRes As Long

On Error GoTo ErrorHandler

'Check if Crystal Reports is installed.

lngResult = RegOpenKeyEx(&H80000000, "CrystalReports", &O0, &H20000,


lngRes)

882
IFIX Automation Reference

'If it is, create an instance of it.

If lngResult = 0 Then

Set CrystalApplication = CreateObject("Crystal.CRPE.Application")

'If not, send the user a message.

Else

MsgBox "You do not have Crystal Reports installed."

End

End If

'Close the registry key.

lngResult = RegCloseKey(&H80000000)

Set CrystalReport = CrystalApplication.OpenReport(Report)

CrystalReport.PrintOut Prompt, Copies, Coll, StartNo, EndNo

Exit Sub

ErrorHandler:

HandleError

End Sub

RegOpenKeyEx Subroutine Example


The following example is the actual PrintReport subroutine from FactoryGlobals global subroutines.
Here, we implement late binding to run Crystal Reports. First, find out if Crystal Reports is installed on
the user's machine with RegOpenKeyEx. If it is, we create an instance of it. Then, we close the
registry key with RegCloseKey.

NOTE: This example does not apply to Crystal XI; it applies to an earlier version, such as Crystal 7.
For Crystal XI, use the PrintReport subroutine instead. The PrintReport subroutine will do all of the
registry entries for you.

Public Sub PrintReport(ByVal Report As String, Optional Prompt As


Boolean, Optional ByVal Copies As Long, Optional ByVal Coll As Boolean,
Optional ByVal StartNo As Long, Optional ByVal EndNo As Long)

Dim CrystalApplication As Object

Dim CrystalReport As Object

Dim lngResult As Long

Dim lngRes As Long

On Error GoTo ErrorHandler

'Check if Crystal Reports is installed.

lngResult = RegOpenKeyEx(&H80000000, "CrystalReports", &O0, &H20000,

883
iFIX Automation Reference

lngRes)

'If it is, create an instance of it.

If lngResult = 0 Then

Set CrystalApplication = CreateObject("Crystal.CRPE.Application")

'If not, send the user a message.

Else

MsgBox "You do not have Crystal Reports installed."

End

End If

'Close the registry key.

lngResult = RegCloseKey(&H80000000)

Set CrystalReport = CrystalApplication.OpenReport(Report)

CrystalReport.PrintOut Prompt, Copies, Coll, StartNo, EndNo

Exit Sub

ErrorHandler:

HandleError

End Sub

Remove Method Example


The following example gets the index number for the Click of the object CurrentObject and, if a
procedure exists, removes it.

Dim lIndex As Long

Dim lFound As Long

CurrentObject.Procedures.GetEventHandlerIndex "Click", lIndex, lFound

If lFound = 1 Then

CurrentObject.Remove lIndex

End If

The following example removes the Group DataGroup1 from the Groups
collection of the FixDataSystem FDS.

FDS.Groups.Remove("DataGroup1")

The following example removes the first Group from the Groups collection
of the FixDataSystem FDS.

FDS.Groups.Remove(1)

884
IFIX Automation Reference

RemoveAll Method Example


The following example removes all the lines of code from the Click event of the object Rect2 in the
active document.

Dim o As Object

Dim oProc As Object

Dim lIndex As Long

Dim lFound As Long

Set o = Application.ActiveDocument.Page.FindObject("Rect2")

o.Procedures.GetEventHandlerIndex "Click", lIndex, lFound

If (lFound) Then

Set oProc = o.Procedures.Item(lIndex)

oProc.Lines.RemoveAll

End If

RemoveAllLevels Method Example


The following example removes all levels in the Lookup object iLookup.

iLookup.RemoveAllLevels

RemoveItem Method Example


The following example removes the first column from the Chart Chart1.

Chart1.RemoveItem 1

RemoveLegendItem Method Example


The following example removes the value column from the Chart Chart1.

Chart1.RemoveLegendItem "Value"

RemoveLevel Method Example


The following example removes level 4 from the Lookup object Lookup1.

Lookup1.RemoveLevel 4

885
iFIX Automation Reference

RemoveObject Method Example


The following example removes the Timer object MyTimer from the Schedule TestSchedule and then
refreshes the Schedule so that the Timer object is no longer displayed.

TestSchedule.RemoveObject "MyTimer"

TestSchedule.DoMenuCommand scHREFreshView

ReplacePicture Subroutine Example


The following example replaces the Picture TestPicture with TestPicture1.

ReplacePicture "TestPicture1", "TestPicture"

The following example allows the calling picture TestPicture to replace the active Quick Trend Picture
with QuickTrend1 and display the tag list Strings1.

ReplacePicture , , , , , TestPicture, QuickTrend1, Strings1

The following example allows the calling picture TestPicture to replace the active Tag Status Picture
with TagStatus1 and display the tag list Strings2.

ReplacePicture , , , , , TestPicture, TagStatus1, Strings2

The following example allows the calling picture TestPicture to replace the active Tag Control Panel
Picture with TagControlPanel1 and display the tag list Strings3.

ReplacePicture , , , , , TestPicture, TagControlPanel1, Strings3

RemovePictureFromStartupList Example
The following example removes the Picture named pic1.grf (in the D:\Program Files\Proficy\Proficy
iFIX\PIC directory) from the Configuration environment's startup list of the Proficy iFIX WorkSpace.

Dim lErr as Long

lErr = Application.UserPreferences.RemovePictureFromStartupList_
("D:\Program Files\Proficy\Proficy iFIX\pic\pic1.grf", False)

Note that the full path is required for the picture. Also note that the second paramater, when set to
FALSE, removes the picture from the Configuration environment's startup list. When set to TRUE, it
removes the picture from the Runtime environment's startup list.

Replace_QT_Pic Method Example


The following example replaces the current picture with a Quick Trend picture when a button is
pressed. The tags that are displayed are retrieved from the currently selected objects.

Private Sub Button_ReplaceQTPic_Click()

886
IFIX Automation Reference

Me.Replace_QT_Pic

End Sub

Replace_TCP_Pic Method Example


The following example replaces the current picture with a Tag Control Panel picture when a button is
pressed. The tags that are displayed are retrieved from the currently selected objects.

Private Sub Button_ReplaceTCPPic_Click()

Me.Replace_TCP_Pic

End Sub

Replace_TS_Pic_Type Method Example


The following example replaces the current picture Pic1 with the Quick Trend picture QTPic1 and the
tag list Strings1.

Pic1.Replace_TS_Pic_Type QTPic1, Strings1

The following example replaces the current picture Pic1 with the Tag Status picture TSPic1 and the tag
list Strings2.

Pic1.Replace_TS_Pic_Type TSPic1, Strings2

The following example replaces the current picture Pic1 with the Tag Control Panel picture TCPPic1
and the tag list Strings3.

Pic1.Replace_TS_Pic_Type TCPPic1, Strings3

Replace_TS_Pic Method Example


The following example replaces the current picture with a Tag Status picture when a button is pressed.
The tags that are displayed are retrieved from the currently selected objects.

Private Sub Button_ReplaceTSPic_Click()

Me.Replace_TS_Pic

887
iFIX Automation Reference

End Sub

ReplaceDocument Method Example


The following example replaces the active Document with TestPicture.

Application.ActiveWindow.ReplaceDocument "C:\Program
Files\Proficy\Proficy iFIX\Pic\TestPicture.grf"

ReplaceInString Method Example


The following example finds each occurrence of the string AI1 with the string
FIX32.NODE1.AI1.F_CV by calling FindInString and then uses the lFirst, lCount parameter return
values to replace AI1 with AI2, returning the new string in the sReplacement parameter. The operation
is specified to include scripts in the search.

Dim lFirst As Long

Dim lCount As Long

Dim sMatchString As String

Dim bFound As Boolean

Dim bsuccess As Boolean

Dim sTarget As String

Dim sReplacement As String

sTarget = "FIX32.NODE1.AI1.F_CV"

FindReplace.FindInString "FIX32.NODE1.AI1.F_CV", 1, "AI1", 8,


sMatchString, lFirst, lCount, bFound

FindReplace.ReplaceInString sTarget, "AI2", sMatchString, lFirst, lCount,


8, sReplacement, bsuccess

ReplaceTGDPicture Subroutine Example


This example replaces the open picture TestPicture with TestPicture1 and then opens the tag group file
TestTGD.

ReplaceTGDPicture "TestPicture1", "TestTGD", "TestPicture"

ResetChartData Method Example


The following example resets the data being displayed for the Chart Chart1.

Chart1.ResetChartData

888
IFIX Automation Reference

ResetObjectStats Method Example


The following example resets the statistics for all Event objects in the Schedule TestSchedule.

TestSchedule.ResetObjectStats 2

The following example resets the statistics for the Timer MyTimer in the Schedule TestSchedule.

TestSchedule.ResetObjectStats "MyTimer"

The following example resets the statistics for the Timer objects TestTimer, TestTimer1, TestTimer2 in
the Schedule TestSchedule.

Dim objects(2) As Variant

objects(0) = "TestTimer"

objects(1) = "TestTimer1"

objects(2) = "TestTimer2"

TestSchedule.ResetObjectStats objects

ResetStats Method Example


The following example resets the statistics for the Timer object iTimer to zero.

iTimer.ResetStats

ResetZoom Method Example


The following example resets the Chart Chart1 to display its default viewing area.

Chart1.ResetZoom

ResolveTagGroupFile Example
The following example resolves the tag group file mytaggroup.tgd in the iFIX picture pic1.

pic1.ResolveTagGroupFile "mytaggroup.tgd"

The ResolveTagGroupFile method is a Configuration environment method that loops through the tag
groups referenced in the picture, perform the substitutions, and persist the information. Using this
method provides you with a faster load time.

Resume Method Example


The following example resumes the Chart Chart1.

889
iFIX Automation Reference

Chart1.Resume

ResumeAlarmRead Method Example


The following example resumes updating the Alarm Summary object after to copying alarms to list.

' pause alarm read so nothing is added, deleted or moved

AlarmSummaryOCX1.PauseAlarmRead

lngTotalFiltered = AlarmSummaryOCX1.TotalFilteredAlarms

ListBox1.Clear

For lngLoop = 1 To lngTotalFiltered

AlarmSummaryOCX1.SelectAlarmRow lngLoop, True

AlarmSummaryOCX1.GetSelectedNodeTag strNode, strTag

ListBox1.AddItem strNode & "." & strTag

AlarmSummaryOCX1.SelectAlarmRow lngLoop, False

Next lngLoop

' resume alarm read

AlarmSummaryOCX1.ResumeAlarmRead

RetrieveDefinition Method Example


The following example retrieves the definitions contained in a tag group file.

Dim sTokenList() as String, TokenList as Variant

Dim sReplacementList() as String, ReplacementList as Variant

Dim sDescriptionList() as String, DescriptionList as Variant

' Create the tag group file object

Dim TGD As Object

Set TGD =
CreateObject("TagGroupDefinitionInterfaceDll.TagGroupDefinitionInterface"
)

TGD.RetrieveDefinition "Test", 2, TokenList, ReplacementList,


DescriptionList

RetrieveTagGroupVariables Method Example


Used to retrieve all of the tag group symbols referenced in the picture. This does include scripts but
does not include Forms. An array of strings is returned.

890
IFIX Automation Reference

Dim iCount As Integer

Dim vaSymbols As Variant

pic1.RetrieveTagGroupVariables iCount, vaSymbols

Rotate Method Example


The following example rotates the Polygon object Polygon1 by 45 degrees.

Polygon1.Rotate 45, False

RunObject Method Example


The following example runs all Timer objects in the Schedule TestSchedule.

TestSchedule.RunObject 1

The following example runs the Timer MyTimer in the Schedule TestSchedule.

TestSchedule. RunObject "MyTimer"

The following example runs the Timer objects TestTimer, TestTimer1, TestTimer2 in the Schedule
TestSchedule.

Dim objects(2) As Variant

objects(0) = "TestTimer"

objects(1) = "TestTimer1"

objects(2) = "TestTimer2"

TestSchedule. RunObject objects

Save Method Example


The following example saves all open documents in the WorkSpace, prompting the user for each
Document.

Dim iStatus As Long

iStatus = Application.Documents.Save(True)

The following example opens the Document TestPicture and saves it as


TestPicture1 without prompting the user.

891
iFIX Automation Reference

Dim iDoc As Object

Set iDoc = Application.Documents.open("C:\Program Files\Proficy\Proficy


iFIX\pic\testpicture.grf")

iDoc.Save "TestPicture1.grf", False

Save_TS_List Method Example


The following example saves the tag status list displayed in the current picture when a button is
pressed.

Private Sub Button_SaveTSList_Click()

Me.Save_TS_List

End Sub

SaveAsSVG Method Example


The following example opens the Document TestPicture and saves it as TestPicture.svg.

Private Sub CommandButton1_Click()

Dim iDoc As CFixFileLink

Set iDoc = Application.Documents.open("C:\Program Files\Proficy\Proficy


iFix\pic\TestPicture.grf")

Application.Documents.SaveAsSVG "C:\Program Files\Proficy\Proficy


iFix\pic\TestPicture.svg", iDoc

End Sub

SaveToHistoryList Method Example


The following example saves the item "AI1.F_CV" to the history list for the ExpressionEditor object
ExpressionEditor1.

Dim iIndex As Integer

iIndex = ExpressionEditor1.SaveToHistoryList("AI1.F_CV")

ScrollBack Method Example


The following example scrolls back in the Chart Chart1 by the current value of its ScrollPercentage
property.

892
IFIX Automation Reference

Chart1.ScrollBack

ScrollForward Method Example


The following example scrolls forward in the Chart Chart1 by the current value of its
ScrollPercentage property.

Chart1.ScrollForward

ScrollTimeBack Method Example


The following example scrolls the Pen Pen1 back by the current value of its ScrollPercentage
property.

Pen1.ScrollTimeBack

ScrollTimeForward Method Example


The following example scrolls the Pen Pen1 forward by the current value of its ScrollPercentage
property.

Pen1.ScrollTimeForward

Select Method Example


The following example selects the the Oval Oval1.

Oval1.Select

SelectAlarmRow Method Example


The following example shows how to select and deselect a row of the Alarm Summary object.

' pause alarm read so nothing is added, deleted or moved

AlarmSummaryOCX1.PauseAlarmRead

lngTotalFiltered = AlarmSummaryOCX1.TotalFilteredAlarms

ListBox1.Clear

For lngLoop = 1 To lngTotalFiltered

AlarmSummaryOCX1.SelectAlarmRow lngLoop, True

AlarmSummaryOCX1.GetSelectedNodeTag strNode, strTag

ListBox1.AddItem strNode & "." & strTag

893
iFIX Automation Reference

AlarmSummaryOCX1.SelectAlarmRow lngLoop, False

Next lngLoop

' resume alarm read

AlarmSummaryOCX1.ResumeAlarmRead

SelectAll Method Example


The following example selects all of the objects in the Picture TestPicture.

TestPicture.SelectAll

SelectObject Method Example


The following example selects both the Polyline object, Polyline1, and the Oval object, Oval1.

PolyLine1.SelectObject False

Oval1.SelectObject False

The following example selects only Oval1.

PolyLine1.SelectObject True

Oval1.SelectObject True

SendOperatorMessage Method Example


The following example sends a message to node NODE1.

System.SendOperatorMessage "Something has occurred", "NODE1"

SendSignedOperatorMessage Method Example


The following example creates the ESignature object, checks to see if the node is enabled for
electronic signature, displays the Electronic Signature dialog box, validates the signature and sends a
message to the audit trail.

Dim ESig As Object

Dim bNodeSignEnabled As Boolean

Dim bVerify As Boolean

Dim bContinuousUse As Boolean

Dim bValidSig As Boolean

Dim PerformUserName As String

894
IFIX Automation Reference

Dim PerformUserID As String

Dim PerformComment As String

Dim PerformFullName As String

Dim VerifyUserName As String

Dim VerifyUserID As String

Dim VerifyComment As String

Dim VerifyFullName As String

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignatureFactory")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

If bNodeSignEnabled = True Then

bVerify = True ' verification is not required

bContinuousUse = True ' allow continuous user, if any, to be displayed in


the dialog box

bValidSig = False ' will be set to TRUE by GetSignature if signature is


captured successfully

'Display the Electronic Signature dialog box

ESig.GetSignature "Action Description", bVerify, bContinuousUse,


bValidSig, Ucase(PerformUserName), Ucase(PerformUserID), PerformComment,
Ucase(VerifyUserName), Ucase(VerifyUserID), VerifyComment

If bValidSig = True Then

'Send a message to the audit trail

ESig.SendSignedOperatorMessage "Action Description", "", "", Ucase


(PerformUserID), PerformComment, Ucase(VerifyUserID), VerifyComment

'Get the full names of the signers

ESig.GetFullname Ucase(PerformUserID), Ucase(PerformFullName)

ESig.GetFullname Ucase(VerifyUserID), Ucase(VerifyFullName)

'Show Results

MsgBox "Action performed by " + PerformUserName + " (" + PerformFullName


+ ") " + PerformComment + " and verified by " + VerifyUserName + " (" +
VerifyFullName + ") " + VerifyComment

Else

MsgBox "Signature was not captured."

End If

Else

895
iFIX Automation Reference

MsgBox "Signature is not enabled on this node."

End If

SendToBack Method Example


The following example selects the Oval object Oval1 contained within the Picture TestPicture and
sends it to the back of the stacking order.

Oval1.Select

TestPicture.SendToBack

SetAuto Subroutine Example


The following example sets the block AI1 to automatic mode.

SetAuto "AI1"

SetContinuousUser Method Example


The following example ensures that the User Name entered is valid, creates the ESignature object,
checks that the node is enabled for electronic signature, and sets and gets the name of the continuous
user.

Dim ESig As Object

Dim bNodeSignEnabled As Boolean

Dim bSigRequired As Boolean

Dim UserName As String

Dim SetName As String

'valid user name

SetName = "TestUser"

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignature")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

If bNodeSignEnabled = True Then

'Set the name of the continuous user to "TestUser"

ESig.SetContinuousUser SetName

'Get the name of the continuous user

896
IFIX Automation Reference

ESig.GetContinuousUser UserName

MsgBox “Continuous user: ” & UserName

Else

'the hardware key is not enabled for signature, security is disabled, or


bypass signature is in effect

MsgBox “Signature is not enabled on this node.”

End If

SetCurrentValue Method Example


The following example sets the current value for the Pen Pen1.

Pen1.SetCurrentValue 25, #4/13/98 1:15:00 PM#, 192

SetDispatch Method Example


Reserved for internal purposes.

SetDispid Method Example


Reserved for internal purposes.

SetDuration Method Example


The following example sets the Duration of the Chart Chart1 to be 1 hour and 35 minutes.

Chart1.SetDuration 0, 1, 35, 0

SetFocusToComboBox Method Example


The following example sets the focus to the combobox portion of the ExpressionEditor object,
ExpressionEditor1.

ExpressionEditor1.SetFocusToComboBox

SetGlobalMovingEndTimeToCurrent Method Example


The following example sets the System.GlobalEndTime property to the current system time.

Private Sub Group4_Click()

897
iFIX Automation Reference

System.SetGlobalMovingEndTimeToCurrent

End Sub

SetIndirectionInfo Method Example


Reserved for internal purposes.

SetInterval Method Example


The following example sets the interval of the Chart Chart1 to be 5 minutes and 30 seconds.

Chart1.SetInterval 0, 0, 5, 30

SetManual Subroutine Example


The following example sets the block AI1 to manual mode.

SetManual "AI1"

SetLegendMask Method Example


The following example causes all of the potential legend items for the Enhanced Chart to display.

Private Sub CommandButton12_Click()

Dim objDataSet As Object ' FixRealTimeDataSet.FixRealTimeDataSet

Set objDataSet = LineChart1.GetCurrentDataSet()

With objDataSet

.SetLegendMask IIf(0 = .DSLegendMask, LegendMask_All, 0)

End With

End Sub

SetNumericFormat Method Example


The following example formats the display of the Format object Format1, displaying 3 whole digits, 3
decimal digits and setting the justification to Right.

Format1.SetNumericFormat 3, 3, 2

898
IFIX Automation Reference

SetPenDataArray Method Example


The following is an example on how to pass in arrays of user defined data to create a static Pen in a
Chart.

Dim iWrkSpace As Workspace

Dim db_var_name As Database

Dim record_var As Recordset

Dim iCount As Integer

Dim dVal As Variant

Dim dtDate As Variant

Dim lQual As Variant

Dim iResult As Integer

Set iWrkSpace = CreateWorkspace("", "admin", "", dbUseJet)

Set db_var_name = iWrkSpace.OpenDatabase("Chart.mdb")

Set record_var = db_var_name.OpenRecordSet("Data Query", dbOpenDynaset)

record_var.MoveLast

iCount = record_var.RecordCount

record_var.MoveFirst

Dim iRow As Integer

Dim iCol As Integer

Dim Value(500) As Double

Dim Times(500) As Date

Dim Quality(500) As Long

Dim i As Integer

For i = 0 To iCount - 1

Value(i) = record_var.Fields("Value").Value

Times(i) = record_var.Fields("Time").Value

Quality(i) = record_var.Fields("Quality").Value

'Quality(i) should be set to 192 (good data quality) in order to show


data

record_var.MoveNext

Next i

db_var_name.Close

899
iFIX Automation Reference

dVal = Value

dtDate = Times

lQual = Quality

Call Pen1.SetPenDataArray(iCount, dVal, dtDate, lQual)

SetPointAt Method Example


The following example modifies the location of the point at index 2 to the point 75,10 for the Polygon
object Polygon1.

Dim iPoint As FixFloatPoint

Set iPoint = New FixFloatPoint

iPoint.x = 75

iPoint.y = 10

Polygon1.SetPointAt 2, iPoint

SetPriorityColor Method Example


The following example sets the color to display for each alarm priority in the AlarmSummary object
AlarmSummaryOCX1.

Dim lGreen As OLE_COLOR

Dim lBlue As OLE_COLOR

Dim lRed As OLE_COLOR

lGreen = 57344

lBlue = 16722988

lRed = 725759

AlarmSummaryOCX1.SetPriorityColor 7, lGreen

AlarmSummaryOCX1.SetPriorityColor 6, lBlue

AlarmSummaryOCX1.SetPriorityColor 5, lRed

SetProperty Method Example


The following example sets the FillStyle property of the Oval object Oval1 to 3.

Oval1.SetProperty "FillStyle", 3

900
IFIX Automation Reference

SetScriptWindow Method Example


The following example instantiates the Visual Basic editor for the Oval object Oval1 contained within
the Picture TestPicture, displaying the prototype for its MouseDown event.

Oval1.Select

TestPicture.SetScriptWindow True, "MouseDown"

SetSource Method Example


The following example sets the data source for the Linear object Linear1 to AI1, specifying to use the
data source if it doesn't exist in the database, setting the UpdateRate to 1 and the Deadband to 5.

Linear1.SetSource "ai1.f_cv", True, 1, 5

SetStatusColor Method Example


The following example sets the color to display for alarms with a LOLO status in the AlarmSummary
object AlarmSummaryOCX1.

Dim lGreen As OLE_COLOR

lGreen = 57344

AlarmSummaryOCX1.SetStatusColor 1, lGreen

SetStatusFont Method Example


The following example sets the font to display for alarms with a HIHI status in the AlarmSummary
object AlarmSummaryOCX1. It sets the font to be displayed as Bold Garamond with the Strikethrough
option set to True.

AlarmSummaryOCX1.SetStatusFont 2, "Garamond", True, False, True, False

SetStringFormat Method Example


The following example sets the raw formatting of the Format object for the Datalink Datalink1
contained in Picture TestPicture.

Dim iFormat As Object

Set iFormat = TestPicture.FindObject("Datalink1.Format1")

iFormat.SetStringFormat "Value = %s"

901
iFIX Automation Reference

SetTabSelection Method Example


The following example displays the Fix32Database, Pictures and Globals for the ExpressionEditor
ExpressionEditor1.

Dim bResult as boolean

bResult = ExpressionEditor1.SetTabSelection(11)

SetTimeBeforeNow Method Example


The following example sets the time for the Chart Chart1 to be 2 hours and 30 minutes before the
current time.

Chart1.SetTimeBeforeNow 2, 30, 0

SetTimeCursorTime Method Example


The following example sets the time cursor time for the first Pen in the Pens collection of the Chart
Chart1 to be 11/15/98 at 1:30PM.

Chart1.SetTimeCursorTime #11/15/98 1:30:00 PM#, 1

SetWindowLocation Method Example


The following example sets the location of the Picture TestPicture by setting the top percentage to 10,
the left percentage to 10 and setting the height and width percentages both to 200, without redrawing
the document after setting the window's location.

TestPicture.SetWindowLocation 10, 10, 200, 200, False

ShellExecute Subroutine Example


The following example opens Notepad.

Dim lResult As Long

lResult = ShellExecute(hWnd, "Open", "Notepad.exe", vbNullString,


"c:\temp", 4)

ShowAnimations Method Example


The following example opens the Animation dialog for the Oval object Oval1.

Oval1.Select

902
IFIX Automation Reference

TestPicture.ShowAnimations

ShowBrowseDialog Method Example


The following example opens Expression Editor dialog box for the ExpressionEditor object
ExpressionEditor1.

ExpressionEditor1.ShowBrowseDialog

ShowColorBox Method Example


The following example opens the color dialog box for the ColorButton object ColorButton1.

ColorButton1.ShowColorBox

ShowColorSelection Method Example


The following example opens the color selection dialog box for the Picture TestPicture.

TestPicture1.ShowColorSelection True

ShowCustomPages Method Example


The following example opens the custom configuration dialog for the Chart Chart1.

Chart1.ShowCustomPages

ShowPipePreviewDialog Method Example


This example opens the Modify Pipe Characteristics dialog box for the selected pipe object(s).

Set ObjHelper = BuildObject("GeometryHelper")

Call ObjHelper.ShowPipePreviewDialog

ShowTaskWizard Method Example


The following example opens the Workspace's Task Wizard dialog box.

Application.ShowTaskWizard

903
iFIX Automation Reference

ShowVBAProcedure Method Example


This example sets the focus of the VBA script window to the Click event of Rect2 when Rect2 is
contained in the active document.

Dim oPic As Object

Dim oRect As Object

Set oPic = Application.ActiveDocument.Page

Set oRect = oPic.FindObject("Rect2")

oPic.ShowVBAProcedure "Click", oRect

ShowVisualBasicEditor Method Example


The following example opens the Workspace's Visual Basic Editor.

Application.ShowVisualBasicEditor

AlarmHornSilence Example
This example silences the alarm horn.

Private Sub Button1_Click ()

AlarmHornSilence

End Sub

SnapObjectsToGrid Method Example


The following example snaps the Oval and Datalink objects, Oval1 and Datalink1, to grid.

Oval1.SelectObject False

DataLink1.SelectObject False

TestPicture.SnapObjectsToGrid

SpaceEvenly Method Example


The following example spaces the Oval, Polygon, and RoundRectangleobjects Oval1, Polygon1 and
RoundRect1 with equal horizontal spacing between them.

Oval1.SelectObject False

Polygon1.SelectObject False

904
IFIX Automation Reference

RoundRect1.SelectObject False

TestPicture.SpaceEvenly 0

StartEvent Method Example


The following example starts the firing of Event object FixEvent1 of the Schedule TestSchedule.

Dim iEvent As Object

Set iEvent = System.FindObject("TestSchedule.FixEvent1")

iEvent.StartEvent

StartTimer Method Example


The following example starts the firing of Timer object FixTimer1 of the Schedule TestSchedule.

Dim iTimer As Object

Set iTimer = System.FindObject("TestSchedule.FixTimer1")

iTimer.StartTimer

StickToCursor Method Example


The following example creates a Rectangle object and specifies that the object stick to the cursor upon
creation.

Dim iRect As Object

Set iRect = Application.ActiveDocument.Page.BuildObject("rect")

iRect.HorizontalPosition = 3#

iRect.VerticalPosition = 3#

iRect.StickToCursor

StopEvent Method Example


The following example stops the firing of Event object FixEvent1 of the Schedule TestSchedule.

Dim iEvent As Object

Set iEvent = System.FindObject("TestSchedule.FixEvent1")

iEvent.StopEvent

905
iFIX Automation Reference

StopTimer Method Example


The following example stops the firing of event object FixTimer1 of the Schedule TestSchedule.

Dim iTimer As Object

Set iTimer = System.FindObject("TestSchedule.FixTimer3")

iTimer.StopTimer

Stretch Method Example


The following example scales the Oval Oval1 by a horizontal scale percentage of 10 and a vertical
scale percentage of 20.

Oval1.Stretch 10, 20

SwitchLanguage Method Examples


The following example sets the language of the displayed text to Spanish for the active picture.

pic.LanguageDesired = 1034

pic.SwitchLanguage

- OR -

pic.SwitchLanguge (ES_Spanish)

NOTE: For a list of the ID numbers representing each language, refer to the Language Letter
Acronyms table in the Exporting and Importing Language Files topic.

The following example shows how you to switch the language on only the AlarmSummary object, by
clicking a rectangle in run mode.

Private Sub Rect1_Click()

AlarmSummaryOCX1.SwitchLanguage RU_Russian

End Sub

SwitchMode Method Example


The following example sets the mode of the WorkSpace to run mode.

Application.SwitchMode 4

906
IFIX Automation Reference

SynchronizeSecurity Method Example


Before you can use the following example, you must first add a VBA reference to
SecuritySynchronizerDLL.DLL.

To add a VBA reference to SecuritySynchronizerDLL.DLL:


1. In the Visual Basic Editor, from the Tools menu, select References. The VBA References
dialog box appears.
2. Click the Browse button and select the iFIX installation directory (normally C:\Program
Files\Proficy\Proficy iFIX).
3. Select the SecuritySynchronizerDLL.dll file and click Open. A checked
SecuritySynchronizerDLL reference is added in the VBA References dialog box.
4. Click OK, then exit the Visual Basic Editor.

This example creates the SecuritySynchronizer object and calls the SynchronizeSecurity method.

Dim objSecSynch as SecuritySynchronizer

Set objSecSynch = New SecuritySynchronizer

objSecSynch.UseLocalSecurity = True

objSecSynch.SynchronizeSecurity

This method runs the security synchronization process.

Before calling the SynchronizeSecurity method, you must set either one or both of the following
properties to True:

• UseLocalSecurity

• UseDomainSecurity

If you set the UseDomainSecurity property to True, you must also set the Domain property to a valid
Windows domain name.

TagGroupSubstitution Method Example


This example retrieves the substitution value of the tag group symbol @tag1@.

Dim szSubstitution As String

pic1.TagGroupSubstitution "@tag1@", szSubstitution

907
iFIX Automation Reference

This method looks in the currently loaded tag group file for the tag and retrieves the substitution. The
TagGroupSubstitution method is only available in the Runtime environment. If you pass it a string that
is not a tag group symbol, it will return the same string.

TagGroupValue Method Example


This example retrieves the value of the tag group substitution of the tag group symbol @tag1@.

Dim vaValue As Variant

pic1.TagGroupValue "@tag1@", vaValue

This Runtime-only method looks in the currently-loaded tag group file to find the substitution for the
passed tag and reads the current value. Calling this method is similar to calling the
TagGroupSubstitution method, finding the Object based on the returned string, and then reading the
value. If you pass it a string that is not a tag group symbol, it will return the same string.

ToggleDigitalPoint Subroutine Example


The following example toggles the block DO1 between open and closed.

ToggleDigitalPoint "DO1"

ToggleManual Subroutine Example


The following example toggles the block AI1 between manual and automatic modes.

ToggleManual "AI1"

ToggleScan Subroutine Example


The following example toggles the scan status of the block AI1.

ToggleScan "AI1"

UIActivate Method Example


The following example sets CommandButton1 to its custom active mode.

CommandButton1.UIActivate

908
IFIX Automation Reference

UIDeActivate Method Example


The following example sets CommandButton1 to its custom inactive mode.

CommandButton1.UIDeActivate

Undo Method Example


The following example undoes the last action completed in the Picture TestPicture.

TestPicture.Undo

UndoTransaction Method Example


The following example starts an undo transaction for the Picture TestPicture.

TestPicture.UndoTransaction pUndoTransactionStart

UndoZoom Method Example


The following example restores the Line/Multiline chart to its default size.

Private Sub CommandButton9_Click()

LineChart1.UndoZoom

End Sub

UnGroup Method Example


The following example ungroups the selected group in the Picture TestPicture.

TestPicture.UnGroup

UnloadTagGroupFile Method Example


The following example unloads the currently loaded tag group file from the iFIX picture pic1.

Private Sub CommandButton1_Click()

pic1.UnloadTagGroupFile

End Sub

909
iFIX Automation Reference

Update_A_Dynamo_By_Name Method Example


The following code provides an example of the Update_A_Dynamo_By_Name method. This example
is similar to the one that appears in the Update_A_Dynamo_By_Ref Method Example.

Public Function UpdateADynamo(DynamoInstanceFullyQualifiedName As String,


MasterDynamoFullyQualifiedName As String, ByRef strReturnMsg) As
UpdateDynamoResult

Dim iDataSourceOption As DynamoDataSourceOption

Dim iResult As Long 'UpdateDynamoResult

Dim iPrompt As Long

iDataSourceOption = g_WizardConfig.iDataSourceOption

If g_WizardConfig.iDataSourceOption = DYNAMO_PROMPT_FOR_CHOICE Then

If g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY_TO_ALL Then

iDataSourceOption = DYNAMO_UPDATE_BUT_NOT_APPLY

ElseIf g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_UPDATE_ATTEMPT_MATCH_APPLY_TO_ALL Then

iDataSourceOption = DYNAMO_UPDATE_AND_APPLY

ElseIf g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_DO_NOT_UPDATE_APPLY_TO_ALL Then

iDataSourceOption = DYNAMO_NOT_UPDATE

End If

End If

'////// actual update call

' call Update A Dynamo

PlugandSolve.GeometryHelperObj.Update_A_Dynamo_By_Name
MasterDynamoFullyQualifiedName, DynamoInstanceFullyQualifiedName,
iDataSourceOption, mobjStrMgr.GetNLSStr(4069), iResult

' get a result string

strReturnMsg = PlugandSolve.GeometryHelperObj.Get_Last_Result_String

' get the last user choice from the prompt

If (g_WizardConfig.iDataSourceOption = DYNAMO_PROMPT_FOR_CHOICE) And


_

(g_ReturnFromPromptForChoice = PROMPT_DLG_SEL_NONE) Then

iPrompt = PlugandSolve.GeometryHelperObj.Get_Last_Prompt_Value

910
IFIX Automation Reference

If (iPrompt = PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY_TO_ALL) Or _

(iPrompt = PROMPT_DLG_SEL_UPDATE_ATTEMPT_MATCH_APPLY_TO_ALL)
Or _

(iPrompt = PROMPT_DLG_SEL_DO_NOT_UPDATE_APPLY_TO_ALL) Then

g_ReturnFromPromptForChoice = iPrompt

End If

End If

'////// end of actual update call

'////// dummy for test

' g_testcount = g_testcount + 1

' If g_testcount = 3 Then

' strReturnMsg = ">>>" & DynamoInstanceFullyQualifiedName & " was


not updated with " & MasterDynamoFullyQualifiedName

' iResult = DYNAMO_NOTUPDATED

' ElseIf g_testcount = 150 Then

' strReturnMsg = ">>> User canceled"

' iResult = DYNAMO_UPDATE_ABORTED

' Else

' strReturnMsg = DynamoInstanceFullyQualifiedName & " was updated


successfully with " & MasterDynamoFullyQualifiedName

' iResult = DYNAMO_UPDATED

' End If

'////// end of dummy for test

If iResult <= DYNAMO_UPDATED Then

UpdateADynamo = DYNAMO_UPDATED

ElseIf iResult <= DYNAMO_NOTUPDATED Then

UpdateADynamo = DYNAMO_NOTUPDATED

Else

UpdateADynamo = DYNAMO_UPDATE_ABORTED

End If

End Function

911
iFIX Automation Reference

Update_A_Dynamo_By_Name2 Method Example


Refer to the Update_A_Dynamo_By_Ref2 Method Example. Update_A_Dynamo_By_Ref2 allows
you to specify a Dynamo name, while Update_A_Dynamo_By_Name2 allows you to specify the
Dynamo object’s dispatch pointer.

Update_A_Dynamo_By_Ref Method Example


The following code provides an example of the Update_A_Dynamo_By_Ref method that appears in
the modDynamoUpdater module of the Project_PlugandSolve VBA project.

Public Function UpdateADynamo2(objDynamoInstance As Fix2DDynamo.Fix2DDynamo,


objMasterDynamo As Fix2DDynamo.Fix2DDynamo, ByRef strReturnMsg) As
UpdateDynamoResult

Dim strDIName As String

Dim strDMName As String

Dim iDataSourceOption As DynamoDataSourceOption

Dim iResult As Long 'UpdateDynamoResult

Dim iPrompt As Long

Dim iUpdateOptions As Long ' update options

iDataSourceOption = g_WizardConfig.iDataSourceOption

If g_WizardConfig.iDataSourceOption = DYNAMO_PROMPT_FOR_CHOICE Then

If g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY_TO_ALL Then

iDataSourceOption = DYNAMO_UPDATE_BUT_NOT_APPLY

ElseIf g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_UPDATE_ATTEMPT_MATCH_APPLY_TO_ALL Then

iDataSourceOption = DYNAMO_UPDATE_AND_APPLY

ElseIf g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_DO_NOT_UPDATE_APPLY_TO_ALL Then

iDataSourceOption = DYNAMO_NOT_UPDATE

End If

End If

' Convert option parameters

912
IFIX Automation Reference

iUpdateOptions = &H0

If iDataSourceOption = DYNAMO_PROMPT_FOR_CHOICE Then

iUpdateOptions = UPDATE_OPTION_ON_MISMATCH_PROMT_FOR_CHOICE

ElseIf iDataSourceOption = DYNAMO_UPDATE_AND_APPLY Then

iUpdateOptions = UPDATE_OPTION_ON_MISMATCH_UPDATE_DYNAMO +
UPDATE_OPTION_ON_MISMATCH_APPLY_DATA_SOURCES

ElseIf iDataSourceOption = DYNAMO_UPDATE_BUT_NOT_APPLY Then

iUpdateOptions = UPDATE_OPTION_ON_MISMATCH_UPDATE_DYNAMO

End If

If g_WizardConfig.bKeepSize = True Then

iUpdateOptions = iUpdateOptions + UPDATE_OPTION_RESIZE_INSTANCE

End If

If g_WizardConfig.bKeepCaption = True Then

iUpdateOptions = iUpdateOptions + UPDATE_OPTION_SAVE_CAPTIONS

End If

' Add new option if Dynamo instance conversion

If g_iDynamoToolType = DYN_QUICK_CONVERTER Or _

g_iDynamoToolType = DYN_CONVERTER_WIZARD Then

iUpdateOptions = iUpdateOptions + UPDATE_OPTION_UPDATE_ON_CONVERSION

End If

' call Update A Dynamo

PlugandSolve.GeometryHelperObj.Update_A_Dynamo_By_Ref2 objMasterDynamo,
objDynamoInstance, iUpdateOptions, mobjStrMgr.GetNLSStr(4069), iResult

' get a result string

strReturnMsg = PlugandSolve.GeometryHelperObj.Get_Last_Result_String

' get the last user choice from the prompt

If (g_WizardConfig.iDataSourceOption = DYNAMO_PROMPT_FOR_CHOICE) And _

(g_ReturnFromPromptForChoice = PROMPT_DLG_SEL_NONE) Then

iPrompt = PlugandSolve.GeometryHelperObj.Get_Last_Prompt_Value

If (iPrompt = PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY_TO_ALL) Or _

(iPrompt = PROMPT_DLG_SEL_UPDATE_ATTEMPT_MATCH_APPLY_TO_ALL) Or _

913
iFIX Automation Reference

(iPrompt = PROMPT_DLG_SEL_DO_NOT_UPDATE_APPLY_TO_ALL) Then

g_ReturnFromPromptForChoice = iPrompt

End If

End If

'////// end of actual update call

' If iResult <= DYNAMO_UPDATED Then

' UpdateADynamo = DYNAMO_UPDATED

' ElseIf iResult <= DYNAMO_NOTUPDATED Then

' UpdateADynamo = DYNAMO_NOTUPDATED

' Else

' UpdateADynamo = DYNAMO_UPDATE_ABORTED

' End If

If (iResult And UPDATER_RESULT_SUCCESS_BIT) > 0 Then

UpdateADynamo2 = DYNAMO_UPDATED

End If

If (iResult And UPDATER_RESULT_DYNAMO_NOT_UPDATED_BIT) > 0 Then

UpdateADynamo2 = DYNAMO_NOTUPDATED

End If

If (iResult And UPDATER_RESULT_USER_CANCELLED_BIT) > 0 _

Or (iResult And UPDATER_RESULT_SUCCESS_BIT) = 0 Then

UpdateADynamo2 = DYNAMO_UPDATE_ABORTED

End If

End Function

To view this code in context:


1. In Classic view, from the WorkSpace menu, select Visual Basic Editor.
-Or-
In Ribbon view, on the Home tab, in the WorkSpace group, click Visual Basic Editor.
2. In the tree view, double-click the Project_PlugandSolve folder, and then the Modules folder,
and finally the modDynamoUpdater.

914
IFIX Automation Reference

3. Search for UpdateADynamo to locate this code.

Update_A_Dynamo_By_Ref2 Method Example


The following code provides an example of the Update_A_Dynamo_By_Ref2 method that appears in
the modDynamoUpdater module of the Project_PlugandSolve VBA project.

Public Function UpdateADynamo(objDynamoInstance As Fix2DDynamo.Fix2DDynamo,


objMasterDynamo As Fix2DDynamo.Fix2DDynamo, ByRef strReturnMsg) As
UpdateDynamoResult

Dim strDIName As String

Dim strDMName As String

Dim iDataSourceOption As DynamoDataSourceOption

Dim iResult As Long 'UpdateDynamoResult

Dim iPrompt As Long

iDataSourceOption = g_WizardConfig.iDataSourceOption

If g_WizardConfig.iDataSourceOption = DYNAMO_PROMPT_FOR_CHOICE Then

If g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY_TO_ALL Then

iDataSourceOption = DYNAMO_UPDATE_BUT_NOT_APPLY

ElseIf g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_UPDATE_ATTEMPT_MATCH_APPLY_TO_ALL Then

iDataSourceOption = DYNAMO_UPDATE_AND_APPLY

ElseIf g_ReturnFromPromptForChoice =
PROMPT_DLG_SEL_DO_NOT_UPDATE_APPLY_TO_ALL Then

iDataSourceOption = DYNAMO_NOT_UPDATE

End If

End If

'////// actual update call

' call Update A Dynamo

PlugandSolve.GeometryHelperObj.Update_A_Dynamo_By_Ref2 objMasterDynamo,
objDynamoInstance, iDataSourceOption, mobjStrMgr.GetNLSStr(4069), iResult

' get a result string

strReturnMsg = PlugandSolve.GeometryHelperObj.Get_Last_Result_String

' get the last user choice from the prompt

915
iFIX Automation Reference

If (g_WizardConfig.iDataSourceOption = DYNAMO_PROMPT_FOR_CHOICE) And _

(g_ReturnFromPromptForChoice = PROMPT_DLG_SEL_NONE) Then

iPrompt = PlugandSolve.GeometryHelperObj.Get_Last_Prompt_Value

If (iPrompt = PROMPT_DLG_SEL_UPDATE_NO_DS_APPLY_TO_ALL) Or _

(iPrompt = PROMPT_DLG_SEL_UPDATE_ATTEMPT_MATCH_APPLY_TO_ALL) Or _

(iPrompt = PROMPT_DLG_SEL_DO_NOT_UPDATE_APPLY_TO_ALL) Then

g_ReturnFromPromptForChoice = iPrompt

End If

End If

'////// end of actual update call

'////// dummy for test

' g_testcount = g_testcount + 1

' strDIName = objDynamoInstance.Name

' strDMName = objMasterDynamo.Name

' If g_testcount = 3 Then

' strReturnMsg = ">>>" & strDIName & " was not updated with " &
strDMName

' iResult = DYNAMO_NOTUPDATED

' ElseIf g_testcount = 150 Then

' strReturnMsg = ">>> User canceled"

' iResult = DYNAMO_UPDATE_ABORTED

' Else

' strReturnMsg = strDIName & " was updated successfully with " &
strDMName

' iResult = DYNAMO_UPDATED

' End If

'////// end of dummy for test

If iResult <= DYNAMO_UPDATED Then

UpdateADynamo = DYNAMO_UPDATED

ElseIf iResult <= DYNAMO_NOTUPDATED Then

UpdateADynamo = DYNAMO_NOTUPDATED

Else

916
IFIX Automation Reference

UpdateADynamo = DYNAMO_UPDATE_ABORTED

End If

End Function

To view this code in context:


1. In Classic view, from the WorkSpace menu, select Visual Basic Editor.
-Or-
In Ribbon view, on the Home tab, in the WorkSpace group, click Visual Basic Editor.
2. In the tree view, double-click the Project_PlugandSolve folder, and then the Modules folder,
and finally the modDynamoUpdater.
3. Search for UpdateADynamo to locate this code.

UpdateBackgroundObject Method Example


The following example creates the object TimerTest in the Schedule TestSchedule and transfers it to
the corresponding schedule running in the background FixBackgroundServer application.

Dim TestSchedule As Object

Dim iTimer As Object

Set TestSchedule = System.FindObject("TestSchedule")

Set iTimer = TestSchedule.BuildObject("FixTimer")

iTimer.Name = "TimerTest"

iTimer.TriggerType = 1

iTimer.Interval = 2000

TestSchedule.UpdateBackgroundObject "TimerTest", bkAdd, bkRun

UpdateConnectionParameters Method Example


The following example updates the UpdateRate to 30.0, Deadband to 5.0 and Tolerance 15.0 to for the
Oval object Oval2.

Oval2.UpdateConnectionParameters "VerticalFillPercentage", 30.0, 5.0,


15.0

UpdateDefinition Method Example


The following example updates the definitions contained in a tag group file.

917
iFIX Automation Reference

Dim sTokenList(4) as String, TokenList as Variant

Dim sReplacementList(4) as String, ReplacementList as Variant

Dim sDescriptionList(4) as String, DescriptionList as Variant

Dim TGD As Object

Set TGD =
CreateObject("TagGroupDefinitionInterfaceDll.TagGroupDefinitionInterface"
)

TGD.RetrieveDefinition "Test", 4, TokenList, ReplacementList,


DescriptionList

TokenList(2) = "Tag3"

TokenList(3) = "Tag4"

ReplacementList (2) = "FIX32.NODE2.AI1.F_CV"

ReplacementList (3) = "FIX32.NODE2.AI2.F_CV"

DescriptionList (2) = "Temperature for Node 2"

DescriptionList (3) = "Pressure for Node 2"

' Create the tag group file object

Set TGD =
CreateObject("TagGroupDefinitionInterfaceDll.TagGroupDefinitionInterface"
)

TGD.UpdateDefinition "Test", 4, TokenList, ReplacementList,


DescriptionList

Set TGD = Nothing

UserFormPointToLogical Method Example


The following example converts the Top, Left coordinates from 30, 50 in "UserForm Point"
coordinates to logical units for the Picture TestPicture.

Dim dTop As Double

Dim dLeft As Double

dTop = 30

dLeft = 50

TestPicture.UserFormPointToLogical dTop, dLeft

918
IFIX Automation Reference

V-Z

ValidateSignature Method Example


The following example creates the ESignature object, checks to see if the node is enabled for
electronic signature, validates the signature, sends a message to the audit trail, and retrieves the full
name of the signer.

Dim ESig As Object

Dim bNodeSignEnabled As Boolean

Dim bValidSig As Boolean

Dim UserID As String

Dim FullName As String

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignatureFactory")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

If bNodeSignEnabled = True Then

bValidSig = False ' will be set to TRUE by ValidateSignature if signature


is valid

'Validate the signature

ESig.ValidateSignature "admin", "admin", 1, bValidSig, Ucase(UserID)

If bValidSig = True Then

'Send a message to the audit trail

ESig.SendSignedOperatorMessage "Action Description", "", "",


Ucase(UserID), "Comment"

'Get the full name of the

signer

ESig.GetFullname Ucase(UserID), Ucase(FullName)

'Show Results

MsgBox "Action performed by admin (" + FullName + ") " + "Comment"

Else

MsgBox "Invalid Signature."

End If

919
iFIX Automation Reference

Else

MsgBox "Signature is not enabled on this node."

End If

ValidateSignatureAndWriteValue Method Example


The following example creates the ESignature object, checks to see if the node is enabled for
electronic signature, and determines if a specified tag (FIX32.thisnode.D01.F_CV) requires electronic
signature. If required, the example validates the signature, writes the new value, and sends a message
to the audit trail.

Dim ESig As Object

Dim bNodeSignEnabled As Boolean

Dim bSigRequired As Boolean

Dim bVerify As Boolean

Dim bContinuousUse As Boolean

Dim nInfo As Integer

Dim NewValue As Variant

'Create the ESignature object

Set ESig = CreateObject("ElectronicSignature.ESignatureFactory")

'Check if node is enabled for electronic signature

ESig.IsNodeSignEnabled bNodeSignEnabled

If bNodeSignEnabled = True Then

'Check if tag requires electronic signature

ESig.Initialize "Fix32.thisnode.DO1.F_CV"

ESig.IsSignatureRequired 0, bSigRequired, nInfo, bVerify, bContinuousUse

If bSigRequired = True Then

'Validate the signature, write the new value and send a message to the
audit trail

NewValue = 1

If bVerify = False Then

ESig.ValidateSignatureAndWriteValue 0, NewValue, "admin", "admin",


"Perform Comment Example"

Else

ESig.ValidateSignatureAndWriteValue 0, NewValue, "admin", "admin",


"Perform Comment Example", "supervisor1", "GEF", "Verify Comment Example"

920
IFIX Automation Reference

End If

Else

MsgBox "Signature is not required for this tag."

End If

Else

MsgBox "Signature is not enabled on this node."

End If

ValidateSource Method Example


The following example validates the AI1 source for the Oval Oval1.

Dim iStatus As Long

Dim iObj As Object

Dim sPropName As String

Oval2.ValidateSource "AI1", iStatus, iObj, sPropName

ValueTimeFromXY Method Example


The following example retrieves the value, date and type which corresponds to the coordinates 10,25
for the Pen Pen1.

Dim dValue As Double

Dim dDate As Date

Dim bReal As Boolean

Pen1.ValueTimeFromXY 10, 25, dValue, dDate, bReal

WritePictureToImageFile Method Example


The following example creates an image file named MyPictureImage for an iFIX picture named
MyPicture. The image is not scaled. The iFIX picture is closed after the image file is written.

Application.WritePictureToImageFile "MyTestPic.grf", "MyTestPicImage",


True

WriteValue Subroutine Example


The following example writes the value 1 to the block DO1.

921
iFIX Automation Reference

WriteValue 1, "DO1"

Write Method Example


The following example:

• Creates a data system ocx FDS;

• Adds a data Group DataGroup1 to the Groups collection;

• Adds a DataItem to the DataItems collection;

• Writes the value of the Group DataGroup1;

• Writes a value of 45 to the DataItem

'Create the Data System OCX

Dim FDS As Object

Set FDS = CreateObject("FixDataSystems.Intellution FD Data System


Control")

'Add a group to the Groups collection

FDS.Groups.Add ("DataGroup1")

FDS.Groups.Item("DataGroup1").DataItems.Add("Fix32.THISNODE.AI1.F_CV")

'Write DataGroup1

FDS.Groups.Item("DataGroup1").Write

'Write the DataItem

FDS.Groups.Item("DataGroup1").DataItems.Item(1).Write(45)

XYFromValueTime Method Example


The following example retrieves the x and y coordinates for the value of 10 at the time 11:05 PM for
the Pen Pen1.

Dim dX As Double

Dim dY As Double

Pen1.XYFromValueTime 10, #11:05:00 PM#, dX, dY

XYHitTest Method Example


The following example retrieves the information for the pen at the coordinate x,y for the chart Chart
Chart1. Note that the x and y parameters come from MouseUp and/or MouseDown event prototypes.

922
IFIX Automation Reference

Dim dDate As Date

Dim dValue As Double

Dim sPenName As String

Dim iPen As Object

Dim lPenNum As Long

Dim bReal As Boolean

Chart1.XYHitTest x, y, dDate, dValue, sPenName, iPen, lPenNum, bReal

Zoom Method Example


The following example zooms in on the Chart with a high and low vertical value of 50 and 10 and a
high and low horizontal value of 75 and 35 for Chart1.

Chart1.Zoom 50, 10, 75, 35

923
Index

acknowledge alarms ....................................... 4, 5 AutoMinMaxPaddingY property ....................263

activate ...............................................................3 autoupdate rate................................................264

active ...................................................... 248, 249 axis................. 255, 256, 266, 523, 535, 536, 539,
564, 595, 596
ActiveX .................................................. 210, 491
backdrop ......... 267, 268, 269, 270, 271, 272, 274
AdvancedGraphics property ........................... 250
background ..................... 267, 268, 275, 276, 277
alarm ................................. 293, 294, 473, 474, 22
background color ............................................479
Alarm Summary ............................................. 208
bars .................................................................534
alarmhorn........................................................ 251
BarVal property ..............................................278
AlarmHornEnabled.............................................5
base .................................................................279
AlarmHornSilence ............................................ 21
bitmap .............................................................210
AlarmHornSilence subroutine ............................7
BitmapGradientMode property .......................279
AlarmHornToggle ..............................................6
blend .......................................................268, 280
alarms .............. 252, 343, 365, 585, 593, 15, 4, 5,
4, 5, 6, 9, 10, 21 blink ................................ 280, 281, 472, 473, 508

alias................................................................... 25 block ...............................................................1, 2

alignment ........................................................ 253 border..............................................................269

always on top .................................................. 478 BorderTypes property .....................................282

angle ....................................... 258, 351, 507, 547 bottom ............................................. 282, 283, 284

animations ...................................... 215, 216, 217 bounding rectangle .........................................285

application ...................................... 208, 209, 259 button .............................................. 285, 286, 288

arc ................................................................... 210 CacheEnabled .................................................287

ascending ........................................................ 543 caps .........................................................352, 548

author .............................................................. 261 caption ............................................................289

automatic mode .......................................... 34, 37 category ..........................................................289

925
IFIX Automation Reference

center .............. 283, 290, 291, 292, 418, 506, 576 data source ................................ 319, 395, 519, 11

change.................................................................7 database ......................................................2, 3, 4

characters ........................................ 292, 448, 457 datalink ...........................................................211

chart ........................................ 210, 216, 217, 264 dataservers ......................................................313

chartdata ......................................................... 265 DataSetColor property ....................................313

ChartFontSize property .................................. 293 DataShadows property ....................................314

CheckForSeverityIncrease .............................. 295 datasystem ......................................................214

chord ............................................................... 210 date ......... 305, 306, 307, 309, 310, 365, 525, 549

class ................................................................ 296 daylightsavingtime..........................................314

click ................................ 349, 6, 9, 15, 16, 19, 26 days ................................................. 306, 315, 316

close ................................................................ 6, 8 deactivate ....................................................10, 28

collection ................................................ 218, 544 default .................... 318, 319, 478, 479, 480, 481,
482, 483
collections ....................................... 304, 328, 477
delete ................................................................58
color....... 266, 269, 270, 275, 296, 297, 338, 371,
400, 414, 422, 473, 474, 475, 509, 567, delta ................................................................589
580, 585, 592, 600, 7, 15
demand .............................................................58
colorbutton...................................................... 210
descending ......................................................543
CombinationKey ............................................ 298
description ...................................... 321, 420, 474
comments ....................................................... 298
DeskColor property ........................................321
configure........................................................... 12
digital point .............................................8, 22, 36
connections ....................................... 300, 361, 14
digits .......................................................317, 607
containment .................................................... 302
DigitsOfPrecision property .............................323
contextID ........................................................ 303
direction ..........................................................515
control container ............................................. 210
disable alarms .................................................... 9
count ............................................................... 304
DisableAutoScale property .............................323
cursor ...................................................... 537, 567
display ....................................................392, 433
data ........ 211, 305, 311, 312, 318, 393, 437, 497,
544, 594, 7 displaystring ...................................................326

data entry ........................................................ 300 document ................................ 249, 327, 328, 329

925
iFIX Automation Reference

documents ...... 211, 212, 214, 216, 217, 220, 222, enabled............................................................251
328
errors ...............................................................355
doubleclick .........................................................9
esignature ................................................212, 342
drilldown ........................................................ 254
event 213, 498, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14,
DSDescription property .................................. 331 15, 16, 18, 19, 22, 23, 24, 25, 26, 27, 28

DSLegendAvgerageOverRangeColWidth events ..........................................................356, 1


property ...................................................... 331
exact................................................................357
DSLegendCurrentValColWidth property ....... 332
expred .............................................................317
DSLegendDescriptionColWidth property ...... 332
expressioneditor ..............................................213
DSLegendHighLimitColWidth property ........ 333
extend .....................................................358, 359
DSLegendHighOverRangeColWidth
property ...................................................... 333 fadecolor .................................................271, 360

DSLegendLowLimitColWidth property ......... 333 fadetype ..................................................271, 360

DSLegendLowOverRangeColWidth false ............................................................24, 28


property ...................................................... 334
fetch ................................................................261
DSLegendMask property................................ 334
FetchDataSetLimits property ..........................362
DSLegendQualityColWidth property ............. 335
file ...................................................................363
DSLegendSourceColWidth property .............. 336
fill ................................................... 399, 598, 599
DSPosition property ....................................... 336
filter ................................................................365
duration........................................................... 337
find................................................ 213, 11, 12, 19
dynamo ..................................................... 212, 15
fire ....................................................................58
Dynamo_Description Property ....................... 337
FixApp object .................................................214
Dynamo_ID Property ..................................... 338
FixGeometryHelper object .............................214
DynamoSet object .......................................... 212
FixGetMyname .................................................. 6
edge ................................ 275, 276, 338, 339, 340
focus .................................................................. 4
edit ............................................................ 341, 11
font.................................................. 368, 369, 555
egu .......................................................... 362, 453
ForceVerticalPoints property ..........................370
elbows............................................................. 341
form ............................................................16, 18
enable ..................................... 346, 386, 394, 569
format ..................................... 215, 373, 374, 501
enable alarms .................................................... 10

926
IFIX Automation Reference

function............................................... 1, 2, 3, 4, 5 images .....................................................307, 330

gradient ................................................... 272, 383 index ...............................................................404

Gradient property ........................................... 382 initialize ............................................................12

GraphBackColor property .............................. 384 input ................................................................405

GraphForeColor property ............................... 384 interval ............................................ 387, 406, 422

GraphPlusTable property................................ 385 intervalmilliseconds ........................................407

GraphPlusTableMenu property ...................... 385 items ...............................................................458

grid ........ 386, 387, 389, 400, 457, 460, 461, 464, Justification Property ......................................412
515, 528, 530, 540, 541, 600
key macro collection .......................................214
GridInFront property ...................................... 387
key macros ......................................................215
GridLinesToShow property ............................ 388
keydown ...........................................................13
GridStyle property .......................................... 389
keyup ................................................................14
group............................................................... 215
LabelBold property .........................................413
groups ..................................................... 215, 390
LabelFont property .........................................414
HDA ...................................................................8
LabelItalic property ........................................415
headers ............................................................ 529
labels ....................................... 414, 462, 565, 595
height ...... 327, 390, 467, 479, 483, 514, 604, 608
LabelUnderline property.................................415
help ................................................... 303, 391, 15
LanguageDesired ............................................416
helper functions .............................................. 6, 8
layer ................................................................417
hide ................................................................. 392
layers ..............................................................324
highlight ................................................. 394, 395
LCL property ..................................................417
HistDatalink object ......................................... 215
left ................................... 283, 418, 576, 604, 609
HistMode property ......................................... 396
legend .... 216, 419, 420, 421, 422, 423, 424, 425,
HistogramChart object.................................... 216 426, 427, 428, 429, 430, 531

historical ................................................. 397, 529 length ..............................................................266

HistoricalDataSet object ................................. 216 limit ................................................................436

HistUpdateRate property ................................ 398 limits .........................................................362, 11

image ...................................................... 403, 517 line .................................................. 475, 476, 532

927
iFIX Automation Reference

linear ....................................................... 216, 430 method .. 268, 271, 272, 280, 360, 383, 15, 58, 31

LineChart object ............................................. 216 methods.............................................................. 1

LineConnector object ..................................... 216 milliseconds ....................................................325

lines ....... 216, 217, 219, 301, 430, 448, 457, 458, mode ....................................... 423, 549, 552, 613
460, 461, 464, 528
MonoDeskColor property ...............................449
LineType property .......................................... 431
MonoGraphBackColor property .....................450
load ................................................................... 15
MonoGraphForeColor property ......................450
lockstarttime ................................................... 432
MonoShadowColor property ..........................451
log in ................................................. 434, 435, 19
MonoTableBackColor property ......................451
lookup ............................................................. 217
MonoTableForeColor property .......................452
LWL property ................................................. 438
MonoTextColor property ................................452
MainTitle property.......................................... 438
mouse..............................................................349
MainTitleBold property .................................. 439
MouseUpOffObject event .................................21
MainTitleFont property .................................. 439
move .................................................................18
MainTitleItalic property ................................. 440
MyNodeName ................................................454
MainTitleUnderline property.......................... 441
name ....................... 376, 435, 454, 455, 484, 610
manager .......................................................... 574
names ........................................ 363, 374, 612, 25
manual mode .............................................. 35, 37
next .................................................................455
ManualMaxX property ................................... 441
NlsGetText ........................................................ 8
ManualMaxY property ................................... 442
NoSaveOnClose property ...............................456
ManualMinX property .................................... 442
NumOfPoints property ...................................460
ManualMinY property .................................... 443
NumPointsToGraph property .........................461
ManualScaleControlY property ...................... 444
NumRandomSubsets property ........................463
MarkDataPoints property ............................... 445
NumScrollingSubsets property .......................463
markers ................................................... 446, 591
object ..... 209, 210, 211, 212, 213, 214, 215, 216,
Master Property .............................................. 447 217, 218, 219, 220, 221, 222, 465

Max_Dynamo_Desc_Length Property ........... 447 objects .....................................................204, 302

menu ............................................................... 561 off scan .............................................................20

928
IFIX Automation Reference

ole ................................................................... 491 programming language ...................................161

on scan .............................................................. 21 ProjectPath Property .......................................491

opc .................................................. 465, 466, 467 properties ........................................................223

open ............................................................ 22, 24 property.. 248, 249, 251, 252, 253, 254, 255, 256,
257, 258, 259, 260, 261, 263, 264, 265,
origin ...................................................... 468, 469 266, 267, 268, 269, 270, 273, 274, 275,
276, 277, 279, 280, 281, 282, 283, 284,
output ...................................................... 378, 469 285, 286, 287, 288, 289, 290, 291, 292,
293, 294, 296, 297, 298, 299, 300, 301,
output value .................................................... 319 302, 303, 304, 305, 306, 307, 308, 309,
310, 311, 312, 313, 314, 315, 316, 317,
oval ................................................................. 217 318, 319, 320, 321, 322, 324, 325, 326,
327, 328, 329, 330, 337, 338, 339, 340,
owner .............................................................. 470 341, 342, 343, 344, 345, 346, 348, 349,
350, 351, 352, 353, 354, 355, 356, 357,
page ................................................................ 470 358, 359, 360, 361, 362, 363, 364, 365,
366, 367, 368, 369, 371, 372, 373, 374,
path ......... 279, 328, 367, 456, 471, 484, 513, 575 375, 376, 378, 382, 386, 387, 389, 390,
391, 392, 393, 394, 395, 396, 397, 399,
pause indicator ................................ 472, 473, 474 400, 401, 402, 403, 405, 406, 407, 408,
410, 411, 412, 413, 414, 416, 417, 418,
pen .................................................. 217, 308, 474 419, 420, 421, 422, 423, 424, 425, 426,
427, 428, 429, 430, 431, 432, 433, 434,
435, 436, 437, 444, 446, 448, 449, 453,
picture217, 280, 308, 360, 383, 478, 479, 480, 481, 482, 483, 484, 8, 13, 22, 24, 31, 33
454, 455, 456, 457, 458, 459, 460, 461,
462, 464, 465, 466, 467, 468, 469, 470,
pictures
471, 472, 473, 474, 475, 476, 477, 478,
479, 480, 481, 482, 483, 484, 485, 488,
securing ...................................................... 518
489, 490, 491, 492, 493, 494, 495, 496,
497, 498, 500, 501, 502, 503, 504, 505,
pie ........................................................... 217, 485
506, 507, 508, 509, 510, 511, 512, 513,
514, 515, 516, 517, 518, 519, 520, 521,
Pipe object ...................................................... 217 522, 523, 524, 525, 527, 528, 529, 530,
531, 532, 533, 534, 535, 536, 537, 538,
PipeConnector object...................................... 218 539, 540, 541, 542, 543, 544, 545, 547,
548, 549, 550, 551, 552, 553, 554, 555,
PlottingMethod property ................................ 486 556, 557, 560, 561, 563, 564, 565, 566,
567, 568, 569, 570, 571, 572, 573, 574,
point ........................................ 214, 550, 615, 617 575, 576, 577, 578, 579, 580, 582, 583,
584, 585, 586, 587, 589, 590, 591, 592,
points ...................... 291, 292, 352, 449, 459, 462 593, 594, 595, 596, 597, 598, 599, 600,
601, 602, 604, 605, 606, 607, 608, 609,
PointType property ......................................... 487 610, 611, 612, 613, 615, 617, 620

polygon ........................................................... 218 PutBackdropGradAngle ..................................... 1

polyline ........................................................... 218 queue ..............................................................498

position ........................................... 401, 567, 601 QuickStyle property ........................................499

print .................................................................. 26 radius ..............................................................500

procedures .............. 217, 218, 219, 220, 489, 490 ramp ............................................................27, 28

929
iFIX Automation Reference

rate .......................................................... 502, 573 scripting .................................. 217, 219, 220, 404

read values .................................................. 29, 30 scroll ....................................... 515, 516, 517, 534

RealTimeDataSet object ................................. 218 search ..............................................................213

RealTimeSPCDataSet object .......................... 218 securing pictures .............................................518

rectangle ......................................................... 218 security ...........................................................518

refresh ....................................................... 312, 24 security areas ..................................................518

replace ................................................ 213, 31, 33 SecuritySynchronizer..... 219, 257, 258, 299, 322,
329, 434, 444, 503, 521, 590
report ................................................................ 26
SelectedDatasource Property ..........................519
reset ................................................................ 503
SelectedFieldName Property ..........................519
resizable .......................................................... 480
SelectedNodeName Property ..........................519
resize............................................................... 504
SelectedTagName Property ............................520
restricting access to pictures ........................... 518
selection ........................ 303, 410, 411, 58, 25, 27
revision ........................................................... 505
selections ................................................302, 520
Revision Property ........................................... 505
separator ...........................................................15
right ................................................ 284, 506, 577
servers .............................................................320
RightAngleLineConnector object ................... 219
SeverityIncreased..............................................27
rotate ....................................................... 290, 507
ShadowColor property ....................................522
rotation ........................................................... 258
shapes .............................................................520
rounded rectangle ........................................... 219
shell ..................................................................36
row.................................................. 284, 533, 577
ShowDSLegend property................................526
run indicator ................................... 508, 509, 592
size ..................................................................263
runtime ........................................................... 349
sort .................................................. 345, 542, 543
save ................................................................. 511
source...................................... 361, 544, 545, 573
SaveThumbnail property ................................ 511
sources ............................................ 219, 220, 544
scale ................................ 402, 403, 512, 586, 602
SPCBarChart object........................................220
scan ....................................................... 20, 21, 38
SPCChartType property .................................545
scheduler......................................................... 219
SPCInterval property ......................................546
screen ...................................... 375, 467, 468, 514

930
IFIX Automation Reference

SPCType property .......................................... 546 targets .............................................................459

start ................................................................. 613 text ..........................................................220, 341

startup mode ................................................... 613 TextColor property .........................................563

state......................................................... 285, 610 tge ...............................................................24, 33

status ............................................................... 554 thickness .........................................................563

status bar ......................................... 325, 534, 555 ticks ................................................ 464, 565, 596

strikethrough ................................................... 557 time ........ 308, 348, 353, 366, 453, 535, 536, 550,
551, 552, 553, 566, 570
style ....... 268, 269, 276, 277, 286, 339, 364, 372,
400, 475, 600 time axis.......................................... 220, 255, 565

subroutine ...... 4, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, timeout ....................................................521, 568
16, 17, 18, 19, 20, 21, 22, 24, 25, 26, 27,
28, 29, 30, 31, 33, 34, 35, 36, 37, 38, 39, timer........................................................220, 569
21
timezonebiasexplicit .......................................570
subroutines..........................................................1
timezonebiasrelative .......................................571
SubTitle property ............................................ 557
title .................................. 266, 536, 538, 572, 596
SubTitleBold property .................................... 558
title bar ............................................................482
SubTitleFont property .................................... 559
titles ................................................................566
SubTitleItalic property.................................... 559
toggle .................................. 378, 382, 573, 36, 38
SubTitleUnderline property ............................ 560
toggle state ........................................................37
summaries ................................... 161, 204, 223, 1
tolerance .........................................................574
system ..................................................... 220, 560
toolbar .....................................................221, 574
system menu ................................................... 481
toolbar manager ..............................................574
system tree ...................................................... 327
tooltips ............................................ 350, 537, 568
table ................................................................ 297
top ........................... 256, 575, 576, 577, 605, 611
table of contents.............................................. 161
TotalFilteredAlarms........................................578
TableBackColor property ............................... 562
TranslateOnOpen ............................................578
TableFont property ......................................... 562
transparent ..............................................579, 580
TableForeColor property ................................ 563
TreatSinglePointsAsLines property ................581
tag groups ..................................... 220, 15, 24, 33
trend ................................................................556
tags ................................................................. 424

931
iFIX Automation Reference

trigger ............................................................. 582 viewport ..................................................604, 605

trim ................................................................. 583 visibility .......................................... 274, 510, 606

true .............................................................. 26, 28 visible ............................................. 284, 481, 577

type ................................. 356, 478, 549, 553, 584 visibleunacknowledgedalarms ........................607

UCL property ................................................. 584 width ...... 276, 329, 340, 373, 389, 468, 476, 483,
484, 512, 514, 605, 608, 612
underline ......................................................... 585
window ...........................................................249
units ................................................ 258, 424, 587
windows .................. 222, 608, 609, 610, 611, 612
unload ............................................................... 15
wizards ............................................................612
update rate ...................................................... 319
WorkSpace .....................................................613
UpdateRate property....................................... 588
write point .........................................................39
user ................................................................... 18
WritePictureFormatType property..................613
user globals ..................................................... 221
WritePictureOutLocation property .................614
User Preferences ..................................... 221, 593
WritePictureScalePercentage property ...........614
UWL property ................................................ 594
WriteValue Subroutine .....................................39
validate ........................................................... 545
x 354, 468, 507, 553, 615
value ...... 310, 395, 396, 405, 430, 436, 437, 469,
539, 594 XAxisLabel property ......................................616

value axis ................................................ 221, 256 XAxisType property .......................................617

variable ............................................................. 23 y 355, 469, 508, 554, 617

variables ................................................. 222, 597 YAxisLabel property ......................................618

VBA object ..................................................... 344 YAxisLongTicks property ..............................618

version ............................................................ 598 YAxisScaleControl property ..........................619

ViewingStyle property.................................... 603 zoom ...............................................................620

932
Proficy* HMI/SCADA - iFIX
IFIX DATABASE REFERENCE

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

Disclaimer of Warranties and Liability

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

Notice

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

Creating a Process Database...........................................................................................................1 

Learning Database Basics ............................................................................................................2 

Creating, Opening, Saving, and Loading Databases ...............................................................2 

Creating, Modifying, and Deleting Blocks .................................................................................4 

Managing Blocks ..........................................................................................................................8 

Adding Multiple Blocks to a Database ......................................................................................9 

Selecting a Database Block......................................................................................................9 

Selecting a Block from the Generate Wizard ...........................................................................9 

Selecting a Column in the Generate Wizard ............................................................................9 

Copying and Pasting Blocks ...................................................................................................10 

Duplicating Blocks ..................................................................................................................10 

Moving Blocks to Another Database ......................................................................................11 

Managing Databases ..................................................................................................................11 

Merging Two Databases .........................................................................................................11 

Verifying a Database ..............................................................................................................12 

Correcting Verification Errors .................................................................................................12 

Displaying a Database Summary ...........................................................................................12 

Importing a Database .............................................................................................................13 

Exporting a Database .............................................................................................................14 

Changing the Scanning order of a Database's Blocks ...........................................................14 

Placing a Block On or Off Scan ..............................................................................................14 

Saving or Reloading a Database ............................................................................................15 

Working with the Spreadsheet....................................................................................................15 

Setting Database Manager Preferences ................................................................................15 

iii
IFIX Database Reference

Locating Data .......................................................................................................................... 15

Refreshing the Spreadsheet ................................................................................................... 17

Setting Spreadsheet Properties and Appearance .................................................................. 19

Customizing Database Manager ................................................................................................ 28

Customizing the Toolbar ......................................................................................................... 29

Customizing the Tools Menu .................................................................................................. 30

Database Block Reference ............................................................................................................. 31

A.............................................................................................................................................. 31

B-C .......................................................................................................................................... 32

D ............................................................................................................................................. 32

E-L .......................................................................................................................................... 32

M-Q ......................................................................................................................................... 32

R-S .......................................................................................................................................... 32

T-Z .......................................................................................................................................... 33

A ................................................................................................................................................. 33

Analog Alarm Block ................................................................................................................ 33

Analog Input Block .................................................................................................................. 34

Analog Output Block ............................................................................................................... 35

Analog Register Block ............................................................................................................ 35

B-C .............................................................................................................................................. 37

Boolean Block ......................................................................................................................... 37

Calculation Block .................................................................................................................... 37

D ................................................................................................................................................. 38

Dead Time Block .................................................................................................................... 38

Device Control Block .............................................................................................................. 38

Digital Alarm Block.................................................................................................................. 38

Digital Input Block ................................................................................................................... 39

Digital Output Block ................................................................................................................ 39

iv
IFIX Database Reference

Digital Register Block.............................................................................................................. 40

E-L .............................................................................................................................................. 40

Event Action Block .................................................................................................................. 40

Extended Trend Block ............................................................................................................ 41

Fanout Block ........................................................................................................................... 41

Histogram Block ...................................................................................................................... 42

Lead Lag Block ....................................................................................................................... 42

M-Q ............................................................................................................................................. 43

Multistate Digital Input Block .................................................................................................. 43

On-Off Control Block............................................................................................................... 44

Pareto Block ........................................................................................................................... 44

PID Block ................................................................................................................................ 45

Program Block ........................................................................................................................ 45

R-S .............................................................................................................................................. 46

Ramp Block ............................................................................................................................ 46

Ratio Bias Block...................................................................................................................... 47

Signal Select Block ................................................................................................................. 47

SQL Data Block ...................................................................................................................... 48

SQL Trigger Block .................................................................................................................. 48

Statistical Control Block .......................................................................................................... 48

Statistical Data Block .............................................................................................................. 49

T-Z .............................................................................................................................................. 50

Text Block ............................................................................................................................... 50

Timer Block ............................................................................................................................. 50

Totalizer Block ........................................................................................................................ 51

Trend Block ............................................................................................................................. 51

Database Block Field Reference .................................................................................................... 52

A.............................................................................................................................................. 52

v
IFIX Database Reference

B-C .......................................................................................................................................... 52

D ............................................................................................................................................. 52

E-L .......................................................................................................................................... 52

M-Q ......................................................................................................................................... 52

R-S .......................................................................................................................................... 53

T-Z .......................................................................................................................................... 53

A ................................................................................................................................................. 53

Analog Alarm Block Fields ...................................................................................................... 53

Analog Input Block Fields ....................................................................................................... 64

Analog Output Block Fields .................................................................................................... 71

Analog Register Block Fields .................................................................................................. 78

B-C .............................................................................................................................................. 85

Boolean Block Fields .............................................................................................................. 85

Calculation Block Fields ......................................................................................................... 91

D ................................................................................................................................................. 97

Dead Time Block Fields .......................................................................................................... 97

Device Control Block Fields .................................................................................................. 102

Digital Alarm Block Fields ..................................................................................................... 108

Digital Output Block Fields ................................................................................................... 115

Digital Input Block Fields ...................................................................................................... 120

Digital Register Block Fields ................................................................................................. 126

E-L ............................................................................................................................................ 132

Event Action Block Fields ..................................................................................................... 132

Extended Trend Block Fields ................................................................................................ 138

Fanout Block Fields .............................................................................................................. 144

Histogram Block Fields ......................................................................................................... 148

Lead Lag Block Fields .......................................................................................................... 154

M-Q ........................................................................................................................................... 160

vi
IFIX Database Reference

Multistate Digital Input Block Fields ...................................................................................... 160

On-Off Control Block Fields .................................................................................................. 166

Pareto Block Fields ............................................................................................................... 172

PID Block Fields ................................................................................................................... 178

Program Block Fields............................................................................................................ 185

R-S ............................................................................................................................................ 191

Ramp Block Fields ................................................................................................................ 191

Ratio Bias Block Fields ......................................................................................................... 196

Signal Select Block Fields .................................................................................................... 202

SQL Data Block Fields.......................................................................................................... 208

SQL Trigger Block Fields ...................................................................................................... 213

Statistical Data Block Fields ................................................................................................. 219

Statistical Control Block Fields ............................................................................................. 228

T-Z ............................................................................................................................................ 234

Text Block Fields .................................................................................................................. 234

Timer Block Fields ................................................................................................................ 240

Totalizer Block Fields............................................................................................................ 245

Trend Block Fields ................................................................................................................ 250

Typical Uses of Database Blocks ................................................................................................. 256

A............................................................................................................................................ 256

B-C ........................................................................................................................................ 257

D ........................................................................................................................................... 257

E-L ........................................................................................................................................ 257

M-Q ....................................................................................................................................... 257

R-S ........................................................................................................................................ 257

T-Z ........................................................................................................................................ 258

A ............................................................................................................................................... 258

Analog Alarm Block – Typical Uses ...................................................................................... 258

vii
IFIX Database Reference

Analog Input Block – Typical Uses ....................................................................................... 258

Analog Output Block – Typical Uses .................................................................................... 259

Analog Register Block – Typical Uses.................................................................................. 259

B-C ............................................................................................................................................ 259

Boolean Block – Typical Uses .............................................................................................. 259

Calculation Block – Typical Uses ......................................................................................... 259

D ............................................................................................................................................... 260

Dead Time Block – Typical Uses .......................................................................................... 260

Device Control Block – Typical Uses .................................................................................... 260

Digital Alarm Block – Typical Uses ....................................................................................... 260

Digital Input Block – Typical Uses ........................................................................................ 261

Digital Output Block – Typical Uses ..................................................................................... 261

Digital Register Block – Typical Uses ................................................................................... 261

E-L ............................................................................................................................................ 261

Event Action Block – Typical Uses ....................................................................................... 261

Extended Trend Block – Typical Uses.................................................................................. 262

Fanout Block – Typical Uses ................................................................................................ 262

Histogram Block – Typical Uses ........................................................................................... 262

Lead Lag Block – Typical Uses ............................................................................................ 262

M-Q ........................................................................................................................................... 262

Multistate Block – Typical Uses ............................................................................................ 262

On-Off Block – Typical Uses ................................................................................................ 263

Pareto Block – Typical Uses ................................................................................................. 263

PID Block – Typical Uses ..................................................................................................... 263

Program Block – Typical Uses ............................................................................................. 263

R-S ............................................................................................................................................ 264

Ramp Block – Typical Uses .................................................................................................. 264

Ratio Bios Block – Typical Uses ........................................................................................... 264

viii
IFIX Database Reference

Signal Select Block – Typical Uses ...................................................................................... 264

SQL Data Block – Typical Uses ........................................................................................... 264

SQL Trigger Block – Typical Uses ........................................................................................ 264

Statistical Control Block – Typical Uses ............................................................................... 265

Statistical Data Block – Typical Uses ................................................................................... 265

T-Z ............................................................................................................................................ 265

Text Block – Typical Uses .................................................................................................... 265

Timer Block – Typical Uses .................................................................................................. 265

Totalizer Block – Typical Uses ............................................................................................. 266

Trend Block – Typical Uses .................................................................................................. 266

Database Block Examples ............................................................................................................ 266

A............................................................................................................................................ 266

B-C ........................................................................................................................................ 266

D ........................................................................................................................................... 267

E-L ........................................................................................................................................ 267

M-Q ....................................................................................................................................... 267

R-S ........................................................................................................................................ 267

T-Z ........................................................................................................................................ 268

A ............................................................................................................................................... 268

Analog Alarm Block Example ............................................................................................... 268

Analog Input Block Example ................................................................................................. 268

Analog Output Block Example .............................................................................................. 268

Analog Register Block Examples ......................................................................................... 269

B-C ............................................................................................................................................ 270

Boolean Block Examples ...................................................................................................... 270

Calculation Block Example ................................................................................................... 270

D ............................................................................................................................................... 271

Dead Time Block Example ................................................................................................... 271

ix
IFIX Database Reference

Device Control Block Example ............................................................................................. 271

Digital Alarm Block Example ................................................................................................ 272

Digital Input Block Example .................................................................................................. 272

Digital Output Block Examples ............................................................................................. 272

Digital Register Block Example ............................................................................................ 273

E-L ............................................................................................................................................ 273

Event Action Block Example ................................................................................................. 273

Extended Trend Block Example ........................................................................................... 274

Fanout Block Example .......................................................................................................... 274

Histogram Block Example .................................................................................................... 275

Lead Lag Block Example ...................................................................................................... 275

M-Q ........................................................................................................................................... 276

Multistate Block Example ..................................................................................................... 276

On-Off Control Block Example ............................................................................................. 277

Pareto Block Example .......................................................................................................... 277

PID Block Examples ............................................................................................................. 278

Program Block Example ....................................................................................................... 279

R-S ............................................................................................................................................ 279

Ramp Block Example ........................................................................................................... 279

Ratio Bias Block Example .................................................................................................... 279

Signal Select Block Example ................................................................................................ 280

SQL Data Block Example ..................................................................................................... 280

SQL Trigger Block Example ................................................................................................. 281

T-Z ............................................................................................................................................ 281

Text Block Example .............................................................................................................. 281

Timer Block Example ............................................................................................................ 281

Trend Block Example............................................................................................................ 281

Commands Available from Database Blocks ............................................................................... 282

x
IFIX Database Reference

Device Control Block Commands ............................................................................................. 283

A-C ........................................................................................................................................ 283

D-E ........................................................................................................................................ 284

G-L ........................................................................................................................................ 285

M-Q ....................................................................................................................................... 286

R-S ........................................................................................................................................ 287

T-Z ........................................................................................................................................ 288

Event Action Block Commands ................................................................................................ 289

Event Action Block – Operators and Conditions .................................................................. 290

Program Block Commands ....................................................................................................... 290

Using Programming Commands .......................................................................................... 292

Using Command Arguments ................................................................................................ 293

A-B ........................................................................................................................................ 295

C-D........................................................................................................................................ 296

E-L ........................................................................................................................................ 298

M-Q ....................................................................................................................................... 302

R-S ........................................................................................................................................ 304

T-Z ........................................................................................................................................ 311

Math Features in Database Blocks............................................................................................... 312

Boolean Block ........................................................................................................................... 313

Boolean Block – Equations ................................................................................................... 313

Boolean Block – Changing the Order of Precedence...........................................................314

Calculation Block ...................................................................................................................... 314

Calculation Block – Equations .............................................................................................. 314

Calculation Block – Changing the Order of Precedence ......................................................315

Device Control Block ................................................................................................................ 316

Device Control Block – Understanding Contact Patterns .....................................................316

PID Block .................................................................................................................................. 318

xi
IFIX Database Reference

PID Block – Algorithms ......................................................................................................... 318

PID Block – Using the Proportional Band ............................................................................. 319

Signal Select Block ................................................................................................................... 320

Signal Select Block – Modes ................................................................................................ 320

Statistical Data Block ................................................................................................................ 320

Statistical Data Block – Formulas ......................................................................................... 320

Statistical Data Block – Constants and Formulas for Control Charts ...................................322

Statistical Data Block – Factors for Standard Deviation Control Limits ................................322

Additional Information on Alarming............................................................................................... 324

Alarm Priorities for the Analog Alarm Block ............................................................................. 324

Example ................................................................................................................................ 325

Alarm Transitions for the Analog Alarm Block .......................................................................... 325

Block Mode ........................................................................................................................... 325

Using Contacts ..................................................................................................................... 326

Alarm Types for the Analog Alarm Block .................................................................................. 326

Alarms in the Boolean Block..................................................................................................... 327

Alarm Handling in the Multistate Digital Input Block ................................................................. 328

Alarming Considerations in the Statistical Data Block.............................................................. 328

Alarm States in the Event Action Block .................................................................................... 329

Alarm States, Contacts, and the Digital Alarm Block ............................................................... 330

SQL Use in Database Blocks ....................................................................................................... 330

Reading and Writing of SQL Data ............................................................................................ 331

Behavior of SQL Data Blocks While Off Scan .......................................................................... 331

Keywords Available for use in the SQL Data Block.................................................................. 331

Direction of SQL Data Block ..................................................................................................... 332

SQL Trigger Block States ......................................................................................................... 332

SQL Trigger Blocks in Manual Mode ........................................................................................ 333

System Fields ............................................................................................................................... 333

xii
IFIX Database Reference

Database and SAC System Fields ........................................................................................... 333

Redundancy System Fields ...................................................................................................... 335

SIM Signal Generation Registers ................................................................................................. 335

RA SIM Register ....................................................................................................................... 335

RB SIM Register ....................................................................................................................... 335

RC SIM Register ....................................................................................................................... 336

RD SIM Register ....................................................................................................................... 336

RE SIM Register ....................................................................................................................... 336

RF SIM Register ....................................................................................................................... 336

RG SIM Register....................................................................................................................... 336

RH SIM Register ....................................................................................................................... 336

RI SIM Register ........................................................................................................................ 337

RJ SIM Register........................................................................................................................ 337

RK SIM Register ....................................................................................................................... 337

RX SIM Register ....................................................................................................................... 337

RY SIM Register ....................................................................................................................... 337

RZ SIM Register ....................................................................................................................... 337

Database Manager Dialog Boxes ................................................................................................. 338

Browse I/O Address Dialog Box ............................................................................................... 338

I/O Address ........................................................................................................................... 338

Channels and Device Tree ................................................................................................... 338

Items List .............................................................................................................................. 338

Refresh ................................................................................................................................. 338

Sort Ascending ..................................................................................................................... 338

Sort Descending ................................................................................................................... 338

Large Icons ........................................................................................................................... 338

Small Icons ........................................................................................................................... 338

List ........................................................................................................................................ 339

xiii
IFIX Database Reference

Verify Database Dialog Box ...................................................................................................... 339

Tag Names ........................................................................................................................... 339

Error Condition ...................................................................................................................... 339

OK ......................................................................................................................................... 340

Edit ........................................................................................................................................ 340

Re-Verify ............................................................................................................................... 340

Help....................................................................................................................................... 340

Index ............................................................................................................................................. 341

xiv
About this Guide
This e-book is intended for process engineers responsible for designing and building a process
database. It contains the following sections which provide more details on how to use the database
blocks and functions that are available in the Proficy iFIX Database Manager:

 Creating a Process Database


 Database Block Reference
 Database Block Field Reference
 Typical Uses of Database Blocks
 Database Block Examples
 Commands Available from Database Blocks
 Math Features in Database Blocks
 Additional Information on Alarming
 SQL Use in Database Blocks
 System Fields
 SIM Signal Generation Registers

Creating a Process Database


To create a process database:

1. In the Database Manager, create a new database.


2. Create primary blocks for your I/O points.
3. Create any secondary blocks you need.
4. Connect the primary and secondary blocks to form chains.
5. Verify the database for errors.
6. Correct any errors and fine-tune the database.

Click the appropriate link below for more detailed information on creating a process database:

 Learning Database Basics


 Managing Blocks
 Managing Databases
 Working with the Spreadsheet
 Customizing Database Manager

1
IFIX Database Reference

Learning Database Basics


Click any of the following links for more information about learning database basics :

• Creating, Opening, Saving, and Loading Databases


• Creating, Modifying, and Deleting Blocks

Creating, Opening, Saving, and Loading Databases


Click any of the following links for more information about creating, opening, saving, and loading
databases:

• Creating a New Database


• Opening a Database
• Closing a Database
• Saving a Database
• Saving a Database with a New Name
• Loading or Reloading a Database

Creating a New Database

To create a new database:

1. In the Database Manager, in Ribbon view, on the Home tab, in the Process Database group,
click Load Empty.
2. - Or -
3. In Classic view, click the New button on the Database Manager’s toolbar.
4. An empty spreadsheet appears.

Opening a Database

To open a database:

1. In the Database Manager, in Ribbon view, click the Main Button, then click Open.

- Or -
In Classic view, on the Database Manager's toolbar, click the Open button.
2. Double-click the SCADA server to which you want to connect.

Closing a Database

To close a database:

1. In the Database Manager, in Ribbon view, click the Main Button, and then click Close.

2
IFIX Database Reference

- Or -
In Classic view, on the Database Menu click Close.
2. If you made changes to the database, you are prompted to save when exiting.
WARNING: If you click Yes to save and there is an AAD file mismatch, the database is not saved
even though it appears that the system saves it. An error message does not appear.

Saving a Database

To save a database:

In the Database Manager, in Ribbon view, on the Home tab, in the Process Database group,
click Save.
- Or -
In Classic view, on the Database Manager’s toolbar, click Save.
NOTE: If there is an AAD file mismatch, you cannot save the file. An error message will
appear if you try to save.

Saving a Database with a New Name

To save a database under a new database name:

1. In the Database Manager, in Ribbon view, click the Main Button, then click Save As.
- Or -
In Classic view, on the Database Menu, click Save As.
The Save As Dialog Box appears.
2. In the Enter Database Name field, enter the name of the database.
3. Click Save As to save the database.

Loading (or Reloading) a Database

To load or reload a database:

1. In the Database Manager, in Ribbon view, on the Home tab, in the Process Database group,
click Reload.

- Or -
In Classic view, on the Database Menu, click Reload.
The Reload Dialog Box appears.
2. Double-click the node whose database you want to reload.
3. Double-click the name of the database you want to load.
IMPORTANT: When you reload a database, all I/O points are reset to the appropriate
starting values. Do not use this function during an active production cycle.

3
IFIX Database Reference

NOTE: When you reload the database, all of the new database tags are added to Historian.
In addition, all of the tags from the previous database are hidden from Historian. It may seem
as though those tags are deleted, but they are not.

Creating, Modifying, and Deleting Blocks


Click any of the following links for more information about creating, modifying, and deleting blocks:

• Adding a Primary Block to a Database


• Adding a Secondary Block to a Database
• Chaining Two Blocks Together
• Modifying Blocks
• Deleting Blocks
• Displaying Blocks
• Enabling Event Messages
• Enabling and Disabling Alarming
• Assigning Alarm Areas to a Database Block
• Entering Alarm Limits
• Selecting an Alarm Priority
• Configuring a Block to Require Electronic Signatures

Adding a Primary Block to a Database

To add a primary block to the database:

1. In the Database Manager, double-click a cell in an empty row of the spreadsheet.


2. Double-click the type of primary block you want to add.
3. Complete the block dialog box.
NOTE: If the block you are adding will be collected by Proficy Historian, and the Collector is
running, it takes approximately two minutes for the addition to appear. This change affects all
blocks; at the time of addition, all tags stop collecting briefly while the tag is added to the
collection.

Adding a Secondary Block to a Database

To add a secondary block to the database:

1. In the Database Manager, double-click a cell in an empty row of the spreadsheet.


2. Double-click the type of secondary block you want to add.
3. Complete the block dialog box.

4
IFIX Database Reference

Chaining Two Blocks Together

To chain two blocks together:

1. In the Database Manager, double-click any cell of the first block in the chain you want to
create.
2. In the Next field, enter the name of the next block in the chain, or click the Browse button to
select the next block from the list that appears.

Example 1 of Chained Blocks

Incorrect: AI1 > CA > AI2


Correct: AI1 > CA > AO

Example 2 of Chained Blocks

Incorrect: AI1 > CTR > AI2


Correct: AI1 > CTR > AO

Modifying Blocks

To modify a block:

1. In the Database Manager, double-click any cell of the block you want to modify.
2. Modify the fields in the block configuration dialog box as needed.
NOTE: If the block you are modifying is collected by Proficy Historian, and the Collector is
running, it takes approximately two minutes for the modification to appear. This change
affects all blocks; at the time of modification, all tags stop collecting briefly while the tag is
modified.

Deleting Blocks

To delete blocks:

1. Select the blocks you want to delete.


2. In the Database Manager, in Ribbon view, on the Home tab, in the Blocks group, click Delete.
- Or -
In Classic view, click the Delete button on the Database Manager’s toolbar.
3. Click Yes to delete a single block or click Delete All to delete multiple blocks and place their
chains off scan.
NOTES:

• If you are using Proficy Historian to collect block values, and you delete a block from
the iFIX database, the tag is also deleted from the Historian Collector.

5
IFIX Database Reference

• If the block you are deleting is collected by Proficy Historian, and the Collector is
running, it takes approximately two minutes for the deletion to appear. This change
affects all blocks; at the time of deletion, all tags stop collecting briefly while the
deleted tag is removed from the collection.

Displaying Blocks

To display a block’s configuration dialog box:

1. Select the block you want to display.


2. In the Database Manager, in Ribbon view, on the Home tab, in the Blocks group, click Show.
- Or -
In Classic view, on the Database Manager's toolbar, click Show button.

Enabling Event Messages

To enable event messages:

1. In the Database Manager, double-click the block you want to modify from the database
spreadsheet.
2. From the block configuration dialog box, click the Alarms tab.
3. Select the Enable Event Messaging check box.

Enabling and Disabling Alarming

To enable or disable alarming:

1. In the Database Manager, double-click the block you want to modify from the database
spreadsheet.
2. From the block configuration dialog box, click the Alarms tab.
3. Select the Enable Alarming check box to enable alarming or clear the check box to disable
alarming.

Assigning Alarm Areas to a Database Block

To assign alarm areas to a database block:

1. In the Database Manager, double-click the block you want to modify from the database
spreadsheet.
2. From the block’s configuration dialog box, click the Alarms tab.
3. Double-click a line in the Alarm Areas list box.
4. Enter an alarm area name.
5. Repeat steps 3 and 4 until you enter all the names you require.
You can also select alarm areas from the alarm area database by double-clicking a line in the

6
IFIX Database Reference

Alarm Areas list box and selecting the Browse button. When Configure Alarm Areas dialog
box, perform one or more of the following tasks, as desired:

• To assign all available alarm areas, select the Use All Alarm Areas check box.
• To add individual alarm areas, clear the Use All Alarm Areas check box, select the area in
the Available Areas list box, and click the right-arrow button to add it to the Configured
Areas list box.
• To create a new alarm area, clear the Use All Alarm Areas check box, enter the alarm area
name in the field provided, and click the Add New button. The new alarm area appears in
both the Available Areas list box and the Configured Areas list box.

Entering Alarm Limits

To enter an alarm limit or condition for a block:

1. In the Database Manager, double-click the block you want to modify from the database
spreadsheet.
2. From the block configuration dialog box, click the Alarms tab.
3. In the Alarms area, complete the fields for the analog blocks. For digital blocks, in the Alarms
Type area, select the type of alarm you want.

Selecting an Alarm Priority

To select a block’s alarm priority:

1. In the Database Manager, double-click the block you want to modify from the database
spreadsheet.
2. From the block configuration dialog box, click the Alarms tab.
3. From the Priority area, select the alarm priority.

Configuring a Tag to Require Electronic Signatures

To configure a tag to require Electronic Signature:

1. In the Database Manager, navigate to the Advanced tab of the tag’s dialog box.
2. Select the type of electronic signature that you want for this tag:
• None – Do not require Electronic Signatures for this tag at run time. This is the default
option.
• Perform Only – Require a Performed By signature for any changes or alarm
acknowledgements to this tag at run time.
• Perform and Verify – Require both a Performed By and a Verified By signature for
any changes or alarm acknowledgements to this tag at run time.
3. Select the options that you want for this tag:
• Allow Continuous Use – Select to allow the operator to repeatedly sign for successive

7
IFIX Database Reference

actions by supplying only a password. Continuous use applies only to the person
performing an action and does not affect the person verifying an action. This is
selected by default.
• Exempt Alarm Acknowledgement – Select to allow operators to acknowledge
alarms without entering a signature, even when this tag requires electronic signature
for data entry.
4. Select how you want the tag to handle unsigned writes. Your options are as follows:
• Accept – Accept the unsigned write.
• Log – When an unsigned write is accepted, send a message indicating that the tag
accepted an unsigned write. This option is only available when the tag is configured to
accept unsigned writes.
• Reject – Reject the unsigned write and do not update the database. A message is sent
indicating that the tag rejected an unsigned write. (default)
NOTE: You must have purchased the Electronic Signature option for these parameters to
take effect at run time.

Enabling or Disabling Block Collection by Historian

To enable or disable block collection by Historian:

1. In the Database Manager, right-click the block you want to modify from the database
spreadsheet.
2. Select Enable Collection to begin block collection by Historian. Select Disable Collection to
stop block collection by Historian.
NOTES:

• If Enable Collection is unavailable from the menu, it means that the selected block has
already been designated for collection. Similarly, if Disable Collection is unavailable,
the selected block has been removed from collection by Historian.

• To modify default Proficy Historian collection options, double-click the block and on
the Proficy Historian tab of the dialog box, choose the desired parameters.

TIP: To view which blocks are collected, add the Collect column to the database; it displays
if a block is collected or not. For instructions, see Adding Columns to a Spreadsheet.

Managing Blocks
Click any of the following links for more information about managing blocks:

• Adding Multiple Blocks to a Database


• Selecting a Database Block
• Copying and Pasting Blocks
• Duplicating Blocks
• Moving Blocks to Another Database

8
IFIX Database Reference

Adding Multiple Blocks to a Database

To add multiple blocks to a database:

1. In the Database Manager, in Ribbon view, on the Home tab, in the Blocks group, click the
Generate button.
- Or -
In Classic view, on the Blocks menu, click Generate.
The Generate Wizard appears.
2. Use the Generate Wizard to create the block you want.

Selecting a Database Block

To select a block type:

1. In the Database Manager, double-click the type of block you want to create.
2. Complete the dialog box that appears. Refer to the Database Block Reference topic for more
information about the block types available.

Selecting a Block from the Generate Wizard

To select a block from the Generate Wizard:

1. In the Database Manager, in Ribbon view, on the Home tab, in the Blocks group, click
Generate.
- Or -
In Classic view, on the Blocks menu, click Generate.
A message about SAC appears.
2. Click OK to continue. The Generate Wizard dialog box appears.
3. Click the browse (...) button next to the Enter tag field to display the Select Tag Names dialog
box. The Select Tag Names dialog box appears.
4. From the Nodes list box, select the SCADA server containing the database block you want to
use.
5. In the Enter Tag Name field, enter the name of the block you want the Generate Wizard to use
as a template or select the block from the Tag Names list box.
6. Click OK.

Selecting a Column in the Generate Wizard

To select a column for the Generate Wizard:

1. In the Database Manager, in Ribbon view, on the Home tab, in the Blocks group, click
Generate.

9
IFIX Database Reference

- Or -
In Classic view, on the Blocks menu, click Generate.
A message about SAC appears.
2. Click OK to continue. The Generate Wizard dialog box appears.
3. Enter the required information on each page of the wizard. Click Next until you are on page 3
of the wizard.
4. On page 3 of the wizard, click the browse (...) button next to a field name to open the Select
Column dialog box.
5. Double-click the column (block field) that you want to use. The Select Column dialog box
closes and you return to page 3 of the wizard.
6. Repeat steps 5-6 for each field name that you want to add.
7. On page 3 of the wizard, enter information into the Prefix, Start, End, Inc, and Suffix field, as
required.
8. Click OK. When the wizard creates the blocks you specified, it will assign a custom value for
the block fields you have selected.

Copying and Pasting Blocks

To copy and paste a block:

1. Select a cell in the row you want to copy.


2. In the Database Manager, in Ribbon view, on the Home tab, in the Clipboard group, click
Copy.
- Or -
In Classic view, click the Copy button on the Database Manager’s toolbar.
3. Reload an empty or existing database into memory.
4. In Ribbon view, on the Home tab, in the Clipboard group, click Copy.
- Or -
In Classic view, click the Paste button on the Database Manager’s toolbar.

Duplicating Blocks

To duplicate blocks:

1. Select the blocks you want to duplicate.


2. In the Database Manager, in Ribbon view, on the Home tab, in the Blocks group, click
Duplicate.
- Or -
In Classic view, on the Blocks menu, click Duplicate.
The Duplicate Blocks dialog box appears.
3. In the New Tagnames column, enter a new name for each block that you are duplicating.

10
IFIX Database Reference

4. Click OK to duplicate the blocks.

Moving Blocks to Another Database

To move a block to another database:

1. Select the block you want to move.


2. In the Database Manager, in Ribbon view, on the Home tab, in the Clipboard group, click Cut.
- Or -
In Classic view, on the Database Manager's toolbar, click the Cut button.
A message box with the following text appears:
Delete tag [block] from spreadsheet and database?

3. Click Yes to cut the block.


4. On the Database menu, click Reload to close the current database and open the destination
database. Save your changes when prompted.
5. Click the Paste button on the Database Manager’s toolbar when the destination database
opens.

Managing Databases
Click any of the following links for more information about managing databases:

• Merging Two Databases


• Verifying a Database
• Correcting Verification Errors
• Displaying a Database Summary
• Importing a Database
• Exporting a Database
• Changing the Scanning Order of a Database's Blocks
• Placing a Block On or Off Scan
• Saving or Reloading a Database

Merging Two Databases

To merge two databases:

1. In the Database Manager, export each database.


2. Examine each export file as follows:
a. Verify that each block in each database has a unique name.
b. If two blocks have the same name, change one. Remember to also change the text in the

11
IFIX Database Reference

Next field of the previous block so that the chain remains intact.
3. Import one of the databases you want to merge into an empty database.
4. Import the other database.

Verifying a Database

To verify a database:

1. In the Database Manager, in Ribbon view, on the Home tab, in the Diagnostics group, click
Verify.
- Or -
In Classic view, on the Database Menu, click Verify.
If Database Manager detects no errors, the following text appears:
Database verified on node: [nodename]. No errors detected.

2. Click OK to acknowledge the message.


3. If Database Manager detects errors, the Verify Database dialog box appears. Correct the
errors listed in the dialog box.

Correcting Verification Errors

To correct verification errors:

1. In the Database Manager,double-click an error you want to correct.


2. Edit the block dialog box that appears.
3. Click Save, and place the block back on scan when prompted.
4. Repeat steps 1 through 3 for each error listed.

Displaying a Database Summary

To display a database summary:

In the Database Manager, in Ribbon view, on the Home tab, in the Diagnostics group, click
Summary.
- Or -
In Classic view, on the Database menu, click Summary.
The Database Summary for Node dialog box appears.
The Database Summary lists the database blocks by block type. By scrolling through the list
box, you can see how many blocks are used and allocated for each block type.
• Database – displays the name of the database.
• Size – indicates the number of bytes actually in use by the database.
• SN – displays the serial number of the database generated anytime a block is added to or

12
IFIX Database Reference

deleted from the database. Allows you to determine if the database has been changed (by
adding or deleting a database block) since you last saved it. To do this, record the serial
number when you finish making changes to the database. You can later compare that
number with the number displayed in the Database Summary dialog box.
• I/O Count – displays the number of allocated blocks that use I/O. The block types are
AA, AI, AO, AR, BB, DA, DC, DI, DO, DR, MDI, and TX.
• Type – displays the type of block.
• Used – lists the number of blocks that exists for each block type.
• Allocated – lists the number of blocks allocated per block type. Each SCADA node
automatically pre-allocates a specific number of blocks for each block type to make
efficient use of memory and improve performance. The number of block allocated equals
the number of blocks of one type that fits in four kilobytes of memory. Since blocks vary
in size according to their type, the exact number of blocks varies for each block type.

Importing a Database

To import a database:

IMPORTANT: Be aware that before you perform a large import, you should adjust the
spreadsheet refresh rate to 20 or more seconds. If you leave the refresh rate at a low number,
such as the default of 5 seconds, and you try to import a large amount of tags, the database
may appear unresponsive. To adjust the refresh rate, in Classic view, on the Tools menu, click
Options, or in Ribbon view, on the Home tab, in the Settings group, click Options, and then
edit the value for the Spreadsheet Auto Refresh field, if it’s enabled. After this is done, you
can import the database.

1. In the Database Manager, in Ribbon view, on the Home tab, in the Process Database group,
click Import.
- Or -
In Classic view, on the Database Menu, click Import.
The following text appears:
SAC will be stopped while blocks are being imported and then restarted.

2. Select OK to acknowledge the message.


3. Select the file you want to import.
NOTES:

• If you are using Proficy Historian as your Historian and you import and open a
database on a machine that does not have Proficy Historian 3.1 or above installed,
fields added for Historian collection are disabled. Additionally, the values for
Historian fields are retained.

• If you enabled Automatically Configure Tags for Collection in Historian on the


Proficy Historian tab of the User Preferences dialog box, then:

• All imported tags will be added to the default collector and collection by
Proficy Historian are enabled.

13
IFIX Database Reference

• If you have an existing database and import a new database and both
databases contain a tag with the same name, the existing database tag are
overwritten by the new database tag.

• If you have an existing database and those tags are not enabled for collection
in Historian, at reload time the tags are not enabled for collection. In other
words, this setting does not override Historian's settings.

Exporting a Database

To export a database:

1. In the Database Manager, in Ribbon view, on the Home tab, in the Process Database group,
click Export.
- Or -
In Classic view, on the Database menu, click Export.
The Export Database Blocks... dialog box appears.
2. Select the path and file type you want to use.
3. In the File Name field, enter the file name.

Changing the Scanning order of a Database's Blocks

To change the scanning order of a database’s blocks:

1. Export the database.


2. Edit the export file.
3. In the Database Manager, in Ribbon view, on the Home tab, in the Process Database group,
click Load Empty.
- Or -
In Classic view, click the New button on the Database Manager’s toolbar.
4. Import the edited export file.

Placing a Block On or Off Scan

To place a block on or off scan when prompted:

• Click Yes to place the block on scan.


WARNING: Use caution when placing a block on scan. Placing a block on scan may cause data
to be written to the hardware.

• Click No to place the block off scan.

14
IFIX Database Reference

To automatically place blocks on scan without being prompted:

1. In the Database Manager, select the Do Not Prompt Next Time check box.
2. Click Yes to place this block on scan and to automatically place all blocks on scan that you
modify in the future.
TIP: You can also set the on/off scan setting for the database using preferences. For steps,
refer to the Setting Database Manager Preferences section.

Saving or Reloading a Database


Select the procedure you want to perform:

• Reload a database.
• Save a database under a new database name.
IMPORTANT: When you reload a database, all I/O points are reset to the appropriate starting
values. Do not use this function during an active production cycle.

Working with the Spreadsheet


Click the appropriate link below for more information about working with the spreadsheet:

• Setting Database Manager Preferences


• Locating Data
• Refreshing the Spreadsheet
• Setting Spreadsheet Properties and Appearance

Setting Database Manager Preferences

To set Database Manager preferences:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Options.
- Or -
In Classic view, on the View menu, click Options.
The Options Dialog Box appears.
2. Select the General Options preferences you want to enable.
3. Select the View Options preferences you want to enable.
4. Select the Edit Options preferences you want to enable.

Locating Data
Click the appropriate link below for more information about locating data:

15
IFIX Database Reference

• Finding Data in a Spreadsheet


• Finding and Replacing Data in a Spreadsheet
• Going to Specific Locations in the Spreadsheet

Overview: Finding and Replacing Data

The Database Manager lets you find data and replace data within a spreadsheet. For steps, refer to the
following sections:

• Finding Data in a Spreadsheet


• Finding and Replacing Data in a Spreadsheet

Finding Data in a Spreadsheet

To find data in a spreadsheet:

1. Select the column you want to search in.


2. In the Database Manager, in Ribbon view, on the Home tab, in the Edit group, click Find.
- Or -
In Classic view, on the Database Manager’s toolbar, click Find.
The Find dialog box appears.
3. In the Find What field, enter the text you want to locate.
4. Select the Match Case check box to do a case sensitive search. Otherwise, clear it.
5. Select the Match Whole Words Only check box to locate only whole words that match the
search string. Clear the check box to locate partial words.
6. Click Find Next.
7. Repeat step 6 to locate subsequent occurrences of the specified text.

Finding and Replacing Data in a Spreadsheet

To find and replace data in a spreadsheet:

1. Select the column or cell you want to search in.


2. In the Database Manager, in Ribbon view, on the Home tab, in the Edit group, click Replace.
- Or -
In Classic view, on the Edit menu, click Replace.
The Replace dialog box appears.
3. In the Find What field, enter the text you want replaced.
4. In the Replace With field, enter the replacement string.
5. To do a case sensitive search, select the Match Case check box. Otherwise, clear it.
6. To locate only whole words that match the search string, select the Match Whole Words Only

16
IFIX Database Reference

check box. Clear the check box to locate partial words.


7. To replace text in the current selection, click the Selection option button. Or, to replace text in
the selected column, click the Entire Column option button.
8. Click Find Next to locate the first occurrence of the search string in the selected column.
9. Click Replace to replace the text.
10. Repeat steps 7 and 8 to locate and replace subsequent occurrences of the search string.

Going to Specific Locations in the Spreadsheet

You can go directly to a specific row, column, or block in a database.

To go to a row:

1. In the Database Manager, in Ribbon view, on the Home tab, in the Edit group, click Go to.
- Or -
In Classic view, on the Edit menu, click Go To.
The Go To dialog box appears.
2. From the Go to What list box, select Row.
3. Enter the row number you want to display.

To go to a column:

1. In Ribbon view, on the Home tab, in the Edit group, click Go to.
- Or -
In Classic view, on the Edit menu, click Go To.
The Go To dialog box appears.
2. From the Go to What list box, select Column.
3. Double-click the column you want to display from the Select any column list box.

To go to a specific block:

1. In Ribbon view, on the Home tab, in the Edit group, click Go to.
- Or -
In Classic view, on the Edit menu, click Go To.
The Go To dialog box appears.
2. From the Go to What list box, select Tag.
3. Click the browse (...) button and double-click the block you want to display.

Refreshing the Spreadsheet


Click the appropriate link below for more information about refreshing the spreadsheet:

17
IFIX Database Reference

• Automatically Updating the Spreadsheet Data


• Pausing and Resuming Automatic Spreadsheet Updates
• Manually Refreshing the Spreadsheet

Updating the Spreadsheet Data

To automatically update spreadsheet data:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Options.
- Or -
In Classic view, on the View menu, click Options.
The Options Dialog Box appears.
2. From the View Options area, select Enable Spreadsheet Auto Refresh.
3. In the Enter refresh period field, type in the refresh rate you want.
IMPORTANT: Be aware that for a large database, you should increase the refresh rate to 20
or more seconds. Do not use the default of 5 seconds for large databases. If you leave the
refresh rate at low number, such as the default of 5 seconds, and you try to import a large
amount tags, the database may appear unresponsive.

Pausing and Resuming Automatic Spreadsheet Updates

To pause and resume automatic spreadsheet updates:

1. In the Database Manager, in Ribbon view, on the View tab, in the SpreadSheet Settings
group, click Pause.
- Or -
In Classic view, on the Database Manager's toolbar, click Pause.
2. To resume updating the spreadsheet:
In Ribbon view, on the View tab, in the SpreadSheet Settings group, click Refresh.
- Or -
In Classic view, on the Database Manager's toolbar, click Refresh.
The spreadsheet resumes updating.

Manually Refreshing the Spreadsheet

To manually refresh the spreadsheet:

In the Database Manager, in Ribbon view, on the View tab, in the SpreadSheet Settings
group, click Refresh.
- Or -
In Classic view, on the Database Manager's toolbar, click the Refresh button.

18
IFIX Database Reference

Setting Spreadsheet Properties and Appearance


Click the appropriate link below for more information about setting spreadsheet properties and
appearance:

• Setting Spreadsheet Colors


• Setting Spreadsheet Font Properties
• Locking or Unlocking Columns
• Working with Spreadsheet Column Properties
• Sorting the Database
• Working with Queries

Locking or Unlocking Columns from Scrolling Left or Right

To lock or unlock a column from scrolling left or right:

1. Select the column you want to lock or unlock.


2. In the Database Manager, in Ribbon view, on the View tab, in the SpreadSheet Settings
group, click Freeze Column.
- Or -
In Classic view, on the View menu, click Freeze Column.

Working with Spreadsheet Column Properties

Click the appropriate link below for more information about working with spreadsheet column
properties:

• Adding Columns to a Spreadsheet


• Loading Column Format Files
• Saving Column Format Files
• Modifying Column Headings
• Modifying Column Widths
• Removing Columns to a Spreadsheet
• Removing All Columns from a Spreadsheet
• Arranging Columns in a Spreadsheet
• Overriding the Default Column Layout
• Restoring the Default Column Layout

19
IFIX Database Reference

Adding Columns to a Spreadsheet

To add a column to a spreadsheet:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties dialog box appears.
2. Click the Column tab, and then double-click the column you want to add from the Available
Columns list box.

Loading Column Format Files

To load a format file:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties Dialog Box appears.
2. Click the Column tab, and then click the Load button.
3. Enter the name of the format file you want to open.

Saving Column Format Files

To save a column format file:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties Dialog Box appears.
2. Click the Column tab, and then click the Save button.
3. Enter the name of the format file you want to create.

Modifying Column Headings

To modify a column heading:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -

20
IFIX Database Reference

In Classic view, on the View menu, click Properties.


The Properties Dialog Box appears.
2. Click the Column tab.
3. From the Display Columns list box, select a column.
4. In the Column Name field, enter the heading you want for the column.

Modifying Column Widths

To modify a column width:

1. In the Database Manager, click and drag the right edge of the column heading.
2. Release the mouse when the column is the correct size.

Removing Columns to a Spreadsheet

To remove a column from a spreadsheet:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties dialog box appears.
2. Click the Column tab, and then double-click the column you want to remove from the Display
Columns list box.
NOTE: The Tag Name column cannot be removed from the spreadsheet.

Removing All Columns from a Spreadsheet

To remove all columns from a spreadsheet:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties dialog box appears.
2. Click the Column tab, and click Clear.
NOTE: The Tag Name column cannot be removed from the spreadsheet.

21
IFIX Database Reference

Arranging Columns in a Spreadsheet

To arrange the columns in a spreadsheet:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties dialog box appears.
2. Click the Column tab.
3. From the Display Columns list box, select the column you want to move.
4. Click the up arrow button to move the column left in the spreadsheet. Click the down arrow
button to move the column right in the spreadsheet.

Overriding the Default Column Layout

To override the default column layout:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties Dialog Box appears.
2. Click the Column tab, and then create the layout you want as the new default.
3. Save the layout to a file.
4. Click OK to apply the new layout to the database.

Restoring the Default Column Layout

To restore the default column layout:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties dialog box appears.
2. Click the Column tab, and then click the Load button.
3. Double-click the DEFAULT.FMT file.
4. Click OK to apply the default layout to the database.

22
IFIX Database Reference

Sorting the Database

Click the appropriate link below for more information about sorting the database:

• Loading a Sort Order


• Saving a Sort Order
• Adding a Column to the Sort Order
• Removing a Column from the Sort Order
• Sorting a Column in Ascending or Descending Order
• Arranging a Column in the Sort Order
• Disabling Sorting
• Overriding the Default Sort Order
• Restoring the Default Sort Order

Loading a Sort Order

To load a sort order:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties Dialog Box appears.
2. Click the Sort tab, and then click the Load button.
3. Enter the name of the sort order file you want to open.

Saving a Sort Order

To save a sort order:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties Dialog Box appears.
2. Click the Sort tab, and then click the Save button.
3. Enter the name of the sort order file you want to create.

23
IFIX Database Reference

Adding a Column to the Sort Order

To add a column to the sort order:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties dialog box appears.
2. Click the Sort tab, and then double-click the column you want to add from the Display
Columns list box.

Removing a Column from the Sort Order

To remove a column from the sort order:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties dialog box appears.
2. Click the Sort tab, and then double-click the column you want to remove from the Sort Order
List box.

Sorting a Column in Ascending or Descending Order

To sort a column in ascending order or descending order:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties Dialog Box appears.
2. Click the Sort tab, and select the column you want to sort from the Sort Order list box.
3. Click the Ascending button to sort a column in ascending order. Click the Descending button
to sort a column in descending order.

Arranging a Column in the Sort Order

To arrange the columns in the sort order:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.

24
IFIX Database Reference

- Or -
In Classic view, on the View menu, click Properties.
The Properties dialog box appears.
2. Click the Sort tab, and then select the column you want to move from the Sort Order list box.
3. To move the column up in the list box, select the up arrow button. To move the column down,
select the down arrow button.

Disabling Sorting

To disable sorting:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the view Menu, click Properties.
The Properties dialog box appears.
2. Click the Sort tab, and remove all the columns from the Sort Order list box.
3. Click the Save button and enter the name DEFAULT.SRT when prompted for a file name.

Overriding the Default Sort Order

To override the default sort order:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties Dialog Box appears.
2. Click the Sort tab, and then define the sort order you want to use as the new default.
3. Save the sort order to a file.
4. Click OK to apply the new sort order to the database.

Restoring the Default Sort Order

To restore the default sort order:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties dialog box appears.

25
IFIX Database Reference

2. Click the Sort tab, and then click the Load button.
3. Double-click the DEFAULT.SRT file.
4. Click OK to apply the default query to the database.

Working with Queries

Click the appropriate link below for more information about working with queries:

• Creating a Query
• Loading a Query
• Saving a Query
• Appending a New a Query to an Existing Query
• Overriding the Default Query
• Restoring the Default Query

Creating a Query

To create a query:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties dialog box appears.
2. Click the Query tab, and enter the query you want.

Loading a Query

To load a query:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties Dialog Box appears.
2. Click the Query tab, and then click the Load button.
3. Enter the name of the query file you want to open.

26
IFIX Database Reference

Saving a Query

To save a query:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties Dialog Box appears.
2. Click the Query tab, and then click the Save button.
3. Enter the name of the query file you want to create.

Appending a New Query to an Existing Query

To append a new query to the existing query:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties dialog box appears.
2. Click the Query tab, and press the right arrow key to position the cursor at the end of the field.
3. Enter the new query you want to append.

Overriding the Default Query

To override the default query:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties Dialog Box appears.
2. Click the Query tab, and enter the query you want as the new default.
3. Save the query to a file.
4. Click OK to apply the new query to the database.

Restoring the Default Query

To restore the default query:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,

27
IFIX Database Reference

click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties dialog box appears.
2. Click the Query tab, and then click the Load button.
3. Double-click the DEFAULT.QRY file.
4. Click OK to apply the default query to the database.

Setting Spreadsheet Colors

To color a spreadsheet property:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties Dialog Box appears.
2. Click the Color tab.
3. Select the property you want to color.
4. Select the color you want to assign to the selected property.

Setting Spreadsheet Font Properties

To set spreadsheet font properties:

1. In the Database Manager, in Ribbon view, on the Home or View tab, in the Settings group,
click Properties.
- Or -
In Classic view, on the View menu, click Properties.
The Properties Dialog Box appears.
2. Click the Font tab.
3. Select the font type, style, and size for the text in the spreadsheet.

Customizing Database Manager


Click the appropriate link below for more information on customizing the Database Manager toolbar
and the contents of the Tools menu:

NOTE: The first item in the list applies to Classic view only. Ribbon view includes all options.

• Customizing the Toolbar

28
IFIX Database Reference

• Customizing the Tools Menu

Customizing the Toolbar


Click the appropriate link below for more information about customizing the toolbar:

NOTE: The following list applies to Classic view only. Ribbon view includes all options.

• Adding a Button to the Database Manager's Toolbar


• Removing a Button from the Database Manager's Toolbar
• Arranging Buttons on the Database Manager's Toolbar

Adding a Button to the Database Manager's Toolbar

To add a button to Database Manager’s toolbar:

NOTE: The following steps apply to Classic view only. Ribbon view includes all options.

1. In the Database Manager, in Classic view, on the Tools Menu, click Customize. The
Customize dialog box appears.
2. Click the Toolbars tab.
3. Click and drag the button you want to add onto the toolbar.

Removing a Button from the Database Manager's Toolbar

To remove a button on the Database Manager’s toolbar:

NOTE: The following steps apply to Classic view only. Ribbon view includes all options.

1. In the Database Manager, in Classic view, on the Tools Menu, click Customize. The
Customize dialog box appears.
2. Select the Toolbar Tab.
3. Click and drag the button you want to remove off the toolbar.

Arranging Buttons on the Database Manager's Toolbar

To arrange the buttons on the Database Manager’s toolbar:

NOTE: The following steps apply to Classic view only. Ribbon view includes all options.

1. In the Database Manager, in Classic view, on the Tools Menu, click Customize. The
Customize dialog box appears.
2. Click and drag the button you want to move to its new location.

29
IFIX Database Reference

Customizing the Tools Menu


Click the appropriate link below for more information about customizing the Tools menu:

• Adding a Menu Item to the Tools menu


• Selecting the Application to Launch from the Database Manager
• Arranging Menu Items on the Tools Menu
• Removing Menu Items from the Tools Menu
• Launching an Application

Adding a Menu Item to the Tools menu

To add a menu item to the Tools menu:

1. In the Database Manager, in Ribbon view, on the Home tab, in the Customize Tools group,
click the Customize Dialog Box Launcher.
- Or -
In Classic view, on the Tools Menu, click Customize.
The Customize Dialog Box appears.
2. Click the Tools tab.
3. Select the application you want to launch on the Database Manager.
4. In the Menu Text field, enter the text you want displayed in the Tools menu.
5. Enter any arguments you want to use when the application runs. If you want to prompt the
user for arguments, select the Prompt for Arguments check box instead.
6. Select the Place Separator After This Entry check box to add a dividing line between this
menu entry and the next menu entry.

Selecting the Application to Launch from the Database Manager

To select the application you want to launch:

In the Database Manager, in Ribbon view, on the Home tab, in the Customize Tools group,
click Tools, then click the application you want to launch.
- Or -
In Classic view, on the Tools menu, click the application you want to launch.

Arranging Menu Items on the Tools Menu

To arrange menu items on the Tools menu:

1. In the Database Manager, in Ribbon view, on the Home tab, in the Customize Tools group,
click the Customize Dialog Box Launcher.
- Or -

30
IFIX Database Reference

In Classic view, on the Tools Menu, click Customize.


The Customize Dialog Box appears.
2. Click the Tools tab.
3. Select the menu entry you want to move.
4. Click the up or down arrow button to move the selected item in the direction you want.

Removing Menu Items from the Tools Menu

To remove a menu item from the Tools menu:

1. In the Database Manager, in Ribbon view, on the Home tab, in the Customize Tools group,
click the Customize Dialog Box Launcher.
- Or -
In Classic view, on the Tools menu, click Customize.
The Customize dialog box appears.
2. Click the Tools tab.
3. Select the menu entry you want to delete and click the Delete button.

Launching Applications from the Tools Menu

To launch an application:

In the Database Manager, in Ribbon view, on the Home tab, in the Customize Tools group,
click Tools, select an application.
- Or -
In Classic view, on the Tools Menu, click the application.

Database Block Reference


Click one of the blocks listed below to get more information on the individual block.

A
Analog Alarm

Analog Input

Analog Output

Analog Register

31
IFIX Database Reference

B-C
Boolean

Calculation

D
Dead Time

Device Control

Digital Alarm

Digital Input

Digital Output

Digital Register

E-L
Event Action

Extended Trend

Fanout

Histogram

Lead Lag

M-Q
Multi-State Digital

On-Off Control

Pareto

Program

PID

R-S
Ramp

Ratio Bias

Signal Select

32
IFIX Database Reference

SQL Data

SQL Trigger

Statistical Control

Statistical Data

T-Z
Text

Timer

Totalizer

Trend

Analog Alarm Block

Purpose

The Analog Alarm (AA) block sends and receives analog data from the I/O driver or OPC server to
provide alarm control. Using this block you can suspend alarms and define limits and priorities for
each alarm. The block can also wait a specified time interval before issuing an alarm, close a contact
when an alarm occurs, and automatically reissue and acknowledge alarms.

Features

The Analog Alarm block:

• Is a primary block.
• Can be used as a stand-alone block.
• Generates alarms when values are outside of defined limits.
• Sends and receives values from an I/O driver or OPC server when placed in Automatic mode.
• Receives values from operator input in the Proficy iFIX WorkSpace, from scripts, from
Program blocks, or from Easy Database Access programs when operating in Manual mode.
• Can be used in a chain with exception-based or time-based processing.
• Can use linear scaling on values received. The following formula is used to determine the
linear scale value:
The equation for a line is Y = mX + b
Where Y is the scaled output value, X is the raw value from the PLC, m is the slope
of the line and b is the y intercept.

33
IFIX Database Reference

The slope for our linearization is defined by output range divided by the input.
m = (ScaleHigh - ScaleLow ) / (RawHigh - RawLow)
The y intercept is determined by using the low values and the slope.
b = ScaleLow - m(RawLow)
In the analog block this results in the block’s current value is equal to the driver
value times the slope plus the y intercept.
X_CV = (IO value)m + b
The driver value equates to the block current value minus the y intercept divided by
the slope.
IO Value = (X_CV – b) / m

Analog Input Block

Purpose

The Analog Input (AI) block sends and receives analog data from an I/O driver or OPC server every
time the Scan, Alarm, and Control (SAC) program scans the block.

Features

The Analog Input block:

• Is a primary block.
• Can be used as a stand-alone block.
• Generates alarms when values are outside of defined limits.
• Sends and receives values from an I/O driver or OPC server when placed in Automatic mode.
• Receives values from operator input in the Proficy iFIX WorkSpace, from scripts, from
Program blocks, or from Easy Database Access programs when operating in Manual mode.
• Can be used in a chain with exception-based or time-based processing.
• Can use linear scaling on values received. The following formula is used to determine the
linear scale value:
The equation for a line is Y = mX + b
Where Y is the scaled output value, X is the raw value from the PLC, m is the slope
of the line and b is the y intercept.
The slope for our linearization is defined by output range divided by the input.
m = (ScaleHigh - ScaleLow ) / (RawHigh - RawLow)
The y intercept is determined by using the low values and the slope.
b = ScaleLow - m(RawLow)
In the analog block this results in the block’s current value is equal to the driver
value times the slope plus the y intercept.
X_CV = (IO value)m + b

34
IFIX Database Reference

The driver value equates to the block current value minus the y intercept divided by
the slope.
IO Value = (X_CV – b) / m

Analog Output Block

Purpose

The Analog Output (AO) block sends an analog signal to an I/O driver or OPC server every time it
receives a value from an upstream block, an operator, a Program block, a script, or from its Initial
Value field.

Features

The Analog Output block:

• Is a primary block.
• Can be used as a stand-alone block.
• Can be used in a chain with exception-based or time-based processing.
• Can read back the current PLC value when iFIX starts or when the database is reloaded.
Values are only read back once when the database is initialized.
• Can use linear scaling on values received. The following formula is used to determine the
linear scale value:
The equation for a line is Y = mX + b
Where Y is the scaled output value, X is the raw value from the PLC, m is the slope
of the line and b is the y intercept.
The slope for our linearization is defined by output range divided by the input.
m = (ScaleHigh - ScaleLow ) / (RawHigh - RawLow)
The y intercept is determined by using the low values and the slope.
b = ScaleLow - m(RawLow)
In the analog block this results in the block’s current value is equal to the driver
value times the slope plus the y intercept.
X_CV = (IO value)m + b
The driver value equates to the block current value minus the y intercept divided by
the slope.
IO Value = (X_CV – b) / m

Analog Register Block

Purpose

The Analog Register (AR) block reads and writes analog values to process hardware. It provides both
input and output capacity in a single block using a minimum amount of memory because iFIX only

35
IFIX Database Reference

processes the block when a picture that references it is open.

Features

The Analog Register block:

• Is a primary block.
• Is always a stand-alone block.
• Sends and receives values from an I/O driver or OPC server.
• Requires no SAC processing.
• Lowers CPU overhead when compared to an Analog Input block and increases SAC
performance.
• Is processed when the picture containing the Analog Register block is displayed in the Proficy
iFIX WorkSpace, even when SAC is not running. The block is not processed when another
picture is displayed or when the operator exits the Proficy iFIX WorkSpace.
• Accepts pulse count or word value (register) analog signals, which are then converted to
engineering units (EGU) for viewing.
• Accesses up to 1024 Analog points in the same poll record.
• Does not support alarming.
• Can use linear scaling on values received. The following formula is used to determine the
linear scale value:
The equation for a line is Y = mX + b
Where Y is the scaled output value, X is the raw value from the PLC, m is the slope
of the line and b is the y intercept.
The slope for our linearization is defined by output range divided by the input.
m = (ScaleHigh - ScaleLow ) / (RawHigh - RawLow)
The y intercept is determined by using the low values and the slope.
b = ScaleLow - m(RawLow)
In the analog block this results in the block’s current value is equal to the driver
value times the slope plus the y intercept.
X_CV = (IO value)m + b
The driver value equates to the block current value minus the y intercept divided by
the slope.
IO Value = (X_CV – b) / m

36
IFIX Database Reference

B-C

Boolean Block

Purpose

The Boolean (BL) block calculates a single true/false output from multiple inputs.

Features

The Boolean block:

• Is a primary block.
• Can be used as a stand-alone block.
• Takes up to eight input values and calculates a single output value.
• Can use alarm states as inputs.
• Can be used in a chain with time-based or exception-based processing.

Calculation Block

Purpose

The Calculation (CA) block performs simple mathematical calculations on the value passed by the
upstream block and up to seven other constants or block values.

NOTE: The precision of calculations is fifteen digits. Round-off errors can occur in the sixteenth digit.

Features

The Calculation block:

• Is a secondary block.
• Accepts the output values and fields of other blocks.
• Accepts floating point, integer, or exponential constants.
• Can be used in a chain with time-based or exception-based processing. Note that if any of the
inputs (from B - H) are exception-based, the Calculation block will not trigger when any of
these change.

37
IFIX Database Reference

Dead Time Block

Purpose

The Dead Time (DT) block can delay the transfer of an input value to the next block in the chain.

Features

The Dead Time block:

• Is an optional control block.


• Is a secondary block.
• Sends values on to the next block based on first-in, first-out (FIFO).

Device Control Block

Purpose

The Device Control (DC) block coordinates the opening and closing of digital devices on the plant
floor based upon certain user-defined conditions. This block allows for the timed operation of a device
by confirming its status with feedback signals.

Features

The Device Control block:

• Is a primary block.
• Is an optional batch block.
• Can monitor up to 16 digital-input points and can output up to 8 digital-output points.
• Allows two feedback signals (confirm Open and confirm Close) for each output.
• Can be placed on scan by a RUN or CALL command in the Program block or through a Data
link.
• Executes all commands without interruption in Automatic mode.
• Suspends the execution of all commands in Manual mode.

Digital Alarm Block

Purpose

The Digital Alarm (DA) block sends and receives digital data (1 or 0) from an I/O driver or OPC
server to provide alarm control. Using this block, you can suspend alarms and define an alarm
condition and an alarm priority. The block can also wait a specified time interval before issuing an
alarm, close a contact when an alarm occurs, and automatically reissue and acknowledge alarms.

38
IFIX Database Reference

Features

The Digital Alarm block:

• Is a primary block.
• Can be used as a stand-alone block.
• Generates alarms when values are outside of defined limits.
• Sends and receives values from an I/O driver or OPC server when placed in Automatic mode.
• Receives values from operator input in the Proficy iFIX WorkSpace, from scripts, from
Program blocks, or from Easy Database Access programs when operating in Manual mode.
• Can be used in a chain with exception-based or time-based processing.

Digital Input Block

Purpose

The Digital Input (DI) block sends and receives digital data (1 or 0) from an I/O driver or OPC server
every time the Scan, Alarm, and Control (SAC) program scans the block.

Features

The Digital Input block:

• Is a primary block.
• Can be used as a stand-alone block.
• Generates alarms when values are outside of defined limits.
• Sends and receives values from an I/O driver or OPC server when placed in Automatic mode.
• Receives values from an operator input in the Proficy iFIX WorkSpace, from scripts, from
Program blocks, or from Easy Database Access programs when operating in Manual mode.
• Can be used in a chain with exception-based or time-based processing.

Digital Output Block

Purpose

The Digital Output (DO) block sends a digital value (1 or 0) to an I/O driver or OPC server every time
it receives a value from an upstream block, an operator, a Program block, a script, or from its Initial
Value field.

Because iFIX processes Digital Output blocks whenever a new value is sent to the hardware, they
generally operate as though they were latched. If you configure a Digital Output block as a stand alone
block, it outputs a digital value each time the value changes.

Features

The Digital Output block:

39
IFIX Database Reference

• Is a primary block.
• Can be used as a stand-alone block.
• Can be used in a chain with exception-based or time-based processing.
• Can read back the current PLC value when iFIX starts or when the database is reloaded.
Values are only read back when the database is initialized.
• Can receive values from a Program block or a script.

Digital Register Block

Purpose

The Digital Register (DR) block reads and writes digital values to process hardware. It provides both
input and output capacity in a single block using a minimum amount of memory because iFIX only
processes the block when a picture that references it is open.

Features

The Digital Register block:

• Is a primary block.
• Is always a stand-alone block.
• Sends and receives values from an I/O driver or OPC server.
• Requires no SAC processing.
• Lowers CPU overhead when compared to an Digital Input block and increases SAC
performance.
• Is processed when the picture containing the Digital Register block is displayed in the Proficy
iFIX WorkSpace, even when SAC is not running. The block is not processed when another
picture is displayed or when the operator exits the Proficy iFIX WorkSpace.
• Accepts pulse or digital signals.
• Accesses up to 1024 digital I/O points in the same poll record.
• Does not support alarming.

E-L

Event Action Block

Purpose

The Event Action (EV) block tests the value or alarm condition of the previous block using IF-THEN-
ELSE logic. Based upon the outcome of the test expression, the block can then either open or close a
digital point or turn a block on or off scan.

40
IFIX Database Reference

Features

The Event Action block:

• Is a secondary block.
• Has undefined default values so that if a field is left blank, no action takes place.
• Tests up to two conditions consecutively.

Extended Trend Block

Purpose

The Extended Trend (ETR) block collects up to 600 values from an upstream block. By using this
block, you can trend up to 10 minutes worth of data (assuming a one second scan time) with one block
instead of chaining multiple Trend blocks together. In addition, you can store several hours, or even
days of real-time data, by combining different scan rates in conjunction with the Average Compress
field.

The upstream primary block in the chain determines Extended Trend block’s scan time. When the
block receives a value, it stores the data and passes it to the next downstream block immediately. You
can display data collected by the block using a chart in the Proficy iFIX WorkSpace.

Note that the process database also provides a Trend block. This block trends up to 80 values. If you
need to trend more than 80 values, use the Extended Trend block.

Features

The Extended Trend block:

• Is a secondary block.
• Stores up to 600 values from an upstream block in a First In, First Out (FIFO) queue.
• Averages groups of data (optional) and stores the averages for trending.
• Displays values in the Proficy iFIX WorkSpace through a chart.
• Uses data in conjunction with Easy Database Access programs.

Fanout Block

Purpose

The Fanout (FN) block sends the value it receives to the Next Block and up to four additional blocks.
The block listed as a Next Block receives the value immediately. The additional destination blocks
receive the value the next time iFIX scans those blocks. If the destination block is in Manual mode, the
update is instantaneous.

Features

The Fanout block:

41
IFIX Database Reference

• Is a secondary block.
• Sends values to blocks that are in the same database.
• Requires that the target primary blocks be in Manual mode to receive values.
• Can only send values to a Trend block that is in the Next Block field.
• Does not place blocks on scan by sending its values.
• Does not generate alarms.
• Can be used in a chain with exception-based or time-based processing.

Histogram Block

Purpose

The Histogram (HS) block records how frequently a value occurs during a specified period.

Features

The Histogram block:

• Is an optional statistical process block.


• Is a secondary block.
• Receives values from an upstream block.

Display Considerations

The Histogram block displays only previously collected values. The Group field determines the
number of values the block collects before it displays them. For example, if the upstream block’s scan
rate is 5 seconds and you specify a Group value of 10, the chart only reflects the values collected
during the last 50 seconds.

Meanwhile, the Histogram block is collecting another set of values, which it will display at the end of
the next 50-second, scan interval. Note that if the upstream block is taken off scan, the histogram does
not register the frequency-of-occurrence data.

Lead Lag Block

Purpose

The Lead Lag (LL) block allows you to simulate process dynamics by combining the advantages of
lead and lag compensation strategies.

TIP: We suggest you use this block only if you are thoroughly familiar with lead lag theory. If you
simply need a time delay, consider using the Dead Time block.

The Lead Lag formula is:

Output=C3[C1(Input-Prior Output)+(Input*Scan time)+C2(Prior Output)]

42
IFIX Database Reference

C1, C2, and the scan time (of the primary block) are in seconds. K is the constant defined in the
block’s Constant field.

Features

The Lead Lag block:

• Is an optional control block.


• Is a secondary block.
• Lets the lead dominate if the lead time is greater than the lag time.
• Lets the lag dominate if the lag time is greater than the lead time.

NOTE: Lead compensation tends to improve the rise time and overshoot of the system, but increases
the dead band. Lag compensation improves the steady-state response, but results in a longer rise time
since the dead band decreases.

M-Q

Multistate Digital Input Block

Purpose

The Multistate Digital Input (MDI) block provides a means of monitoring the state of one, two, or
three related digital inputs. The block produces a raw input value (0 - 7) based on digital values it
receives from an I/O driver or OPC server every time the Scan, Alarm, and Control (SAC) program
scans the block.

Features

The Multistate Digital Input block:

• Is a primary block.
• Can be used as a stand-alone block.
• Provides more detailed information about a device than a Digital Input block.
• Generates alarms when values are outside of defined limits.
• Receives values from up to three driver I/O addresses or OPC servers.
• Receives values from Program blocks or from Easy Database Access programs.

43
IFIX Database Reference

• Can be used in a chain with exception-based or time-based processing.

On-Off Control Block

Purpose

The On-Off Control (BB) block opens and closes up to two digital outputs based upon an incoming
analog value or an operator input.

Features

The On-Off Control block:

• Is an optional control block.


• Is a secondary block.
• Must receive input from an upstream Analog Input or Analog Alarm block.
• Controls one or two digital outputs automatically, when operated in Automatic mode.
• Allows an operator to open and close the high and low contacts from the Proficy iFIX
WorkSpace, when operated in Manual mode.
• Can be used in a chain with exception-based or time-based processing.

Pareto Block

Purpose

The Pareto (PA) block can accept up to eight inputs and calculate percentages for them.

Features

The Pareto block:

• Is an optional statistical process control block.


• Is a primary block.
• Is a stand-alone block.
• Accepts up to eight inputs from blocks, such as Analog Input and Totalizer blocks, or through
operator entries.
• Continually calculates the percentage of the total inputs.
• Maintains two sets of values: one sorted in ascending or descending order; the other unsorted.
Unsorted values remain in their order of entry on the Pareto block dialog box.
• Can be used in a chain with exception-based or time-based processing.

44
IFIX Database Reference

PID Block

Purpose

The PID block maintains balance in a closed loop by changing the controlled variable (an analog
output) in response to deviations from a user-defined set point. The difference between the actual value
(an analog input) and the set point value is the error, or deviation.

In response to errors, the PID block calculates an appropriate control output signal, which attempts to
reduce the error to zero. The adjustment that the PID block makes is a function of the difference
between the set point and the measurement, in addition to the values of the proportional band, the reset,
and the rate.

Features

The PID block:

• Is an optional control block.


• Is a secondary block.
• Ultimately receives its value from an upstream Analog Input block even though secondary
blocks can intervene between the AI and the PID block in the chain.
• Bases its control period on the scan time selected for the upstream Analog Input block.
• Can send output to another control block or to an Analog Output block.
• Can have its set point value changed by:
• The output of a master PID block (cascaded set point).
• Operator entry into a Data link that references a Target Value field.
• A SETTARG Program block command (in the Batch option) or a script.
• A change in the value of an Analog Input block that is specified as the PID block’s set point.
• A change in the value of an Analog Input block connected to a Fanout block. The Fanout
block would have the PID block’s name listed in its Destination field.
NOTE: When using a Fanout block in this manner, you must append the field F_TV1 to the
PID block’s name.

• Maintains the balance in the process loop when operating in Automatic mode.
• Suspends updates to the PID algorithm when operating in Manual mode. You can change
block parameters, such as the Set Point, Tuning Parameters, and Engineering Units Output
from the keyboard in Manual mode.

Program Block

Purpose

The Program (PG) block provides a powerful means of running short programs to increase the degree
of automation in your process or to assist in batch control.

45
IFIX Database Reference

Features

The Program block:

• Is a Batch block.
• Works in Automatic mode by executing all programming commands without interruption.
• Works in Manual mode by suspending the execution of programming commands until the
block returns to Automatic mode. When returned to Automatic mode, the Program block
continues executing commands where it left off.
• Cannot execute time-related commands, such as WAITFOR, CALL, MAXWAIT,
WAITSTAT, SETDEBUG, and DELAY, when the scan time is either 0 or exception-based.
• Triggers an immediate scan on manual inputs. For example, if AI1 is in manual mode and the
Program block contains the command SETOUT AI1 50, an immediate scan of AI1 occurs
when the Program block runs.

R-S

Ramp Block

Purpose

The Ramp (RM) block decreases or increases a target output value. The block provides up to three
stages for ramping values. Each ramp stage lets you specify a target value and a ramp rate. The first
two stages also provide a hold time. At each scan cycle, the Ramp block sends its output value to the
block specified in the Next Block field.

Features

The Ramp block:

• Is a primary block.
• Is a control block.
• Can be used as a stand-alone block.
• Can have a ramp rate manually changed in the Proficy iFIX WorkSpace through a Data link.
• Can have a target value manually changed in the Proficy iFIX WorkSpace through a Data link
or by the Program block’s SETTARG command.
• Can have a hold time manually changed in the Proficy iFIX WorkSpace through a Data link
or by the Program block’s SETTIME command.
• Can send its value to any secondary block.
• Operates in Automatic mode by initializing its current value based on the Low Limit value.
On a transition to Automatic mode, the Ramp block begins the ramping process from where it
last left off, using either the value it had reached when it was placed in Manual mode, or the
latest values from the WorkSpace if the operator entered values while the block was in
Manual mode.

46
IFIX Database Reference

• Operates in Manual mode by initializing its current value from either a manual entry or the
Low Limit value. On a transition to Manual, iFIX suspends ramping until the block is
returned to Automatic mode. The last current value of the block is output until the block is
switched back to Automatic mode.

Ratio Bias Block

Purpose

The Ratio Bias (RB) block lets you change an incoming signal by adding a constant (bias) and/or by
multiplying by a constant (ratio). The block calculates the constant by subtracting an offset from the
signal.

The following equation illustrates this method:

Output = Ratio (Input - Offset) + Bias

NOTE: This is a variation of y = mx + b.

Features

The Ratio Bias block:

• Is a control block.
• Is a secondary block.
• Can be used in a chain with exception-based or time-based processing.

Signal Select Block

Purpose

The Signal Select (SS) block provides a means of sampling up to six inputs, manipulating the inputs
according to a user-selected mode, and sending the result to the next block.

Features

The Signal Select block:

• Is a secondary block.
• Supports changing the Selected Mode from a Data link, Program block, or Easy Database
Access program.
• Accepts multiple inputs and generates one output.

47
IFIX Database Reference

SQL Data Block

Purpose

The SQL Data (SQD) block identifies the data to read or write when a SQL Trigger block executes.
The SQL Data block transfers data between the iFIX process database and your relational database.

Features

The SQL Data block:

• Is a secondary block.
• Only follows an SQL Trigger block.
• Identifies up to 20 block and field name pairs.
• Chains to other SQL Data blocks.
• Determines the direction of data transfer.

SQL Trigger Block

Purpose

The SQL Trigger (SQT) block lets iFIX execute SQL commands.

Features

The SQL Trigger block:

• Is a primary database block.


• Runs as a stand alone block, but is usually followed by at least one SQL Data block.
• Determines which SQL command in the SQL Library Table to use in handling process data.
• Determines when to execute the SQL command.
• Defines the selection mode.

Statistical Control Block

Purpose

The Statistical Control (SC) block lets you adjust a value from another block by calculating the
average offset and the rate of deviation from the average XBARBAR.

Features

The Statistical Control block:

• Is a statistical block.

48
IFIX Database Reference

• Is a secondary block that can only be preceded by a Statistical Data block.


• Uses an approximate curve to determine slope and deviation values.
• Only calculates an adjustment value if the upstream Statistical Data block generates an alarm;
the Statistical Control block bases its adjustment on the alarm it receives.
• Is disabled if the alarms on the Statistical Data block are disabled.
• Operates in Automatic mode by automatically passing the adjustment value to the block
specified in the Add To field.
• Operates in Manual mode by calculating the adjustment value, but not passing it to another
block.
• Passes its adjustment to other blocks such as the Analog Output, PID, and Ramp blocks.

Statistical Data Block

Purpose

The Statistical Data (SD) block collects and performs statistical calculations on data.

Features

The Statistical Data block:

• Is a statistical block.
• Can be used as a stand-alone block.
• Can only be followed by a Statistical Control block, if appropriate.
• Receives data from Analog Input, Analog Output, Analog Alarm, and Calculation blocks
through the Input field, not from a previous block’s Next Block field.
• Supports from 12 to 50 groups and from 1 to 25 observations per group.
• Performs alarming and charting on control and warning limits.
• Provides out of process control alarms.
• Operates in Automatic mode by accepting automatic updates.
• Operates in Manual mode by accepting manual updates from operators or from Easy Database
Access programs.
• Can be used in a chain with exception-based processing if you do not enter a time in the Wait
Time field.

49
IFIX Database Reference

T-Z

Text Block

Purpose

The Text (TX) block reads and writes text from your process hardware or an OPC server. When the
block receives text, it sends the data to all enabled alarm destinations assigned to the block's alarm
areas.

Features

The Text block:

• Is a primary block.
• Reads up to 80 characters.
• Allows operators to write up to 80 characters from the Proficy iFIX WorkSpace.
• Displays a null-terminated message through a Data link referencing the A_CV field.
• Operates in Automatic mode by reading or writing its current value.
• Operates in Manual mode by disabling its processing.
• Supports the SIM driver.
IMPORTANT: You can only use the Text block with drivers that support it. Check with your
local GE Intelligent Platforms distributor for the availability of TX-compatible I/O drivers.

Timer Block

Purpose

The Timer (TM) block functions as a time counter by incrementing or decrementing its value.

Features

The Timer block:

• Is a secondary block.
• Passes the value (0 or 1) from its upstream block to the downstream block.
• Can be chained from a Digital Input block, a Digital Alarm block, or a Boolean block. The
Timer block can also be chained from a Digital Output block but only if the Digital Output
block is part of an chain that starts with a scanned block.
• Starts counting from a preset value or zero.
• Increments its value up to 365 days or until reset.
• Decrements its value to a target value or to zero.
• Triggers an alarm upon reaching a target value.

50
IFIX Database Reference

• Can suspend counting using a digital block.


• Resets when the digital upstream block changes from zero to one.
• Can be used in a chain with exception-based processing or time-based processing.

Totalizer Block

Purpose

The Totalizer (TT) block maintains a floating-point total for values passed to it from upstream blocks.

Features

The Totalizer block:

• Is a secondary block.
• Displays values in the Proficy iFIX WorkSpace and passes values to downstream blocks with
up to 15 digits of precision.
• Can be reset by using a SETOUT command from the Program block, a PUT operation from a
Easy Database Access program, reloading the process database, or restarting the computer.
• Can be used in a chain with exception-based or time-based processing.

Trend Block

Purpose

The Trend (TR) block can collects up to 80 values over a period of time. You can trend these values by
connecting the block to a chart in the Proficy iFIX WorkSpace.

The upstream primary block in the chain determines Trend block’s scan time. When the block receives
a value, it stores the data and passes it with negligible dead time (transportation delay) to the next
downstream block immediately.

Features

The Trend block:

• Is a secondary block.
• Stores up to 80 values from an upstream block in the First In, First Out (FIFO) queue.
• Can be chained to other Trend blocks to trend more than 80 values.
• Averages groups of data and stores the averages for trending.
• Displays its data in a picture through a chart.
• Uses data in conjunction with Easy Database Access programs.

51
IFIX Database Reference

Database Block Field Reference


Click one of the blocks listed below to get a list of fields for each block.

A
Analog Alarm

Analog Input

Analog Output

Analog Register

B-C
Boolean

Calculation

D
Dead Time

Device Control

Digital Alarm

Digital Input

Digital Output

Digital Register

E-L
Event Action

Extended Trend

Fanout

Histogram

Lead Lag

M-Q
Multistate Digital Input

52
IFIX Database Reference

On-Off Control

Pareto

PID

Program

R-S
Ramp

Ratio Bias

Signal Select

SQL Data

SQL Trigger

Statistical Control

Statistical Data

T-Z
Text

Timer

Totalizer

Trend

Analog Alarm Block Fields


The following table lists the fields available for this block, what each field displays, as well as the valid
entries for each field in the list.

The field... Displays... Valid Entry

A_AACK A block and field to use for alarm Block.field


acknowledgment.

53
IFIX Database Reference

The field... Displays... Valid Entry

A_ADI The blocks alarm areas. N/A. This field is


provided for backward
compatibility.

A_ALMEXT1 The text entered in the blocks alarm Up to 79 characters.


A_ALMEXT2 extension fields.

A_ALMINTIME The time and date at which the block N/A. This is a display
generated the alarm. only field.

A_ALMLASTTIME The time and date at which the block last N/A. This is a display
generated an alarm. only field.

A_ALMSN The serial number of the alarm area N/A. This is a display
database. only field.

A_ALMOCCUR The number of times a block goes in and N/A. This is a display
F_ALMOCCUR out of alarm before it is acknowledged. only field.

A_AREA1 through The alarm areas assigned to the block. ALL or an alarm area
A_AREA15 name.

A_ASUSP A block and field that controls whether the Block.field


Analog Alarm block processes alarms.

A_AUTO The current automatic/manual status of the Automatic (1) or


F_AUTO block. Manual (0).

A_CCDEV The digital block to close when deviation FIX32.node.block.field


alarms occur.

A_CCHH The digital block to close when High High FIX32.node.block.field


alarms occur.

A_CCHI The digital block to close when High FIX32.node.block.field


alarms occur.

A_CCLL The digital block to close when Low Low FIX32.node.block.field


alarms occur.

A_CCLO The digital block to close when Low FIX32.node.block.field


alarms occur.

54
IFIX Database Reference

The field... Displays... Valid Entry

A_CCOTH The digital block to close when other FIX32.node.block.field


alarms occur.

A_CCROC The digital block to close when Rate of FIX32.node.block.field


Change alarms occur.

A_CHALM The chains most severe alarm. N/A. This is a display


only field.

A_CUALM The blocks current alarm. N/A. This is a display


only field.

A_CV The blocks current value. A numeric value within


E_CV the EGU range.
F_CV

A_DALM Whether to delete alarm from summary 0 (false) or 1 (true).


F_DALM queue after acknowledgment.

A_DBAND The maximum fluctuation the block A numeric value within


F_DBAND accepts without re-issuing an alarm. the EGU range.

A_DESC The text in the blocks Description field. Up to 40 characters.

A_DEV The blocks deviation alarm limit. A numeric value within


E_DEV the EGU range.
F_DEV

A_DTDEV The length of time to wait before Any time from 00:00 to
generating deviation alarms. 50:00.

A_DTHH The length of time to wait before Any time from 00:00 to
generating High High alarms. 50:00.

A_DTHI The length of time to wait before Any time from 00:00 to
generating High alarms. 50:00.

A_DTLL The length of time to wait before Any time from 00:00 to
generating Low Low alarms. 50:00.

A_DTLO The length of time to wait before Any time from 00:00 to
generating Low alarms. 50:00.

55
IFIX Database Reference

The field... Displays... Valid Entry

A_DTOTH The length of time to wait before Any time from 00:00 to
generating other alarms. 50:00.

A_DTROC The length of time to wait before Any time from 00:00 to
generating rate of change alarms. 50:00.

A_DVALM The current alarm status for deviation N/A. This is a display
alarms. only field.

A_DVPRI The alarm priority of deviation alarms. Low, Medium, or High.

A_EGUDESC The blocks engineering units label. Up to 33 characters.

A_EHI The blocks high EGU limit. A numeric value. The


E_EHI range between the low
F_EHI and high values value
cannot exceed
3.40282300000000e+38.

A_ELO The blocks low EGU limit. A numeric value. The


E_ELO range between the low
F_ELO and high values value
cannot exceed
3.40282300000000e+38.

A_ENAB The blocks alarm status. Enable: Yes (1), or


F_ENAB Disable: No (0).

A_EOUT Yes, if the block writes data to the process Yes or No.
hardware, or No, if the block does not.

A_ESIGACK Whether operators are allowed to Yes or No.


F_ESIGACK acknowledge alarms for this tag without
entering a signature, even if this tag
requires electronic signatures for data
entry.

A_ESIGCONT If allow continuous use is enabled for this Yes or No.


F_ESIGCONT tag.

A_ESIGTRAP Whether unsigned writes are accepted or ACCEPT, LOG,


F_ESIGTRAP rejected by this tag or accepted and REJECT.
logged.

56
IFIX Database Reference

The field... Displays... Valid Entry

A_ESIGTYPE The signing requirements for this tag. None, PERFONLY, or


F_ESIGTYPE PERFVERI.

A_ETAG The first four characters of the blocks N/A. This field is
engineering units label. provided for backward
compatibility.

A_EVENT The initial event messaging status. N/A. This is a display


only field.

A_HHALM The current alarm status for High High N/A. This is a display
alarms. only field.

A_HHPRI The alarm priority of High High alarms. Low, Medium, or High.

A_HI The blocks High alarm limit. A numeric value within


E_HI the EGU range.
F_HI

A_HIHI The blocks High High alarm limit. A numeric value within
E_HIHI the EGU range.
F_HIHI

A_HIALM The current alarm status for High alarms. N/A. This is a display
only field.

A_HIPRI The alarm priority of High alarms. Low, Medium, or High.

A_HIST_COLLECT Sets whether or not this block is under Yes (1) or No (0).
F_HIST_COLLECT collection.

A_HIST_COMPRESS Sets whether or not compression is used Enable (1) or Disable


F_HIST_COMPRESS by the Collector. (0).

A_HIST_COMPTIME The Collector compression time out. A positive numeric


F_HIST_COMPTIME value (0 or greater), in
milliseconds.

A_HIST_COMPTYPE The type of Collector deadband setting. Absolute (0) or


F_HIST_COMPTYPE Percentage (1).

57
IFIX Database Reference

The field... Displays... Valid Entry

A_HIST_DEADBAND The Collector deadband setting. A positive numeric


F_HIST_DEADBAND value (0 or greater).

A_HIST_DESC The Proficy Historian description. String; maximum of 128


characters.

A_HIST_INTERVAL The collection interval for this block. The A float value, in
F_HIST_INTERVAL value of this field must be greater than the milliseconds. Values
value of the A_HIST_OFFSET and must be entered in
F_HIST_OFFSET fields. increments of 100.
Minimum value: 100
Use the following formula to determine if
ms.
the entered value is acceptable for this
field.
A_/F_HIST_INTERVAL >
A_/F_HIST_OFFSET * 1000
NOTE: The values for the
A_HIST_OFFSET and F_HIST_OFFSET
fields are in seconds.

A_HIST_OFFSET The block's collection offset time.The A numeric value, in


F_HIST_OFFSET value of this field must be less than or seconds. Must use whole
equal to the value of the numbers.
A_HIST_INTERVAL and
F_HIST_INTERVAL fields.
Use the following formula to determine if
the entered value is acceptable for this
field.
A_/F_HIST_OFFSET ≤
A_/F_HIST_INTERVAL / 1000
NOTE: The values for the
A_HIST_INTERVAL and
F_HIST_INTERVAL fields are in
milliseconds.

A_HIST_TIMERES The collection time resolution. Milliseconds (0) or


F_HIST_TIMERES Seconds (1).

A_IAM The initial Automatic/Manual status of the Automatic or Manual.


block.

A_IENAB The initial alarm status. N/A. This is a display


only field.

58
IFIX Database Reference

The field... Displays... Valid Entry

A_IOAD The blocks I/O address. Depends on your driver.


Refer to your driver
manual for more
information.

A_IODV The name of the blocks I/O driver. Depends on your driver.
Refer to your driver
manual for more
information.

A_IOHT The I/O drivers hardware options. Depends on your driver.


Refer to your driver
manual for more
information.

A_IOSC The type of signal conditioning used by Depends on your driver.


the block. Refer to your driver
manual for more
information.

A_ISCAN The initial scan status (on or off) of the On or Off


block.

A_LAALM The blocks most severe unacknowledged N/A. This is a display


alarm. If no unacknowledged alarm exists, only field.
the current alarm is displayed.

A_LLALM The current alarm status for Low Low N/A. This is a display
alarms. only field.

A_LLPRI The alarm priority of Low Low alarms. Low, Medium, or High.

A_LO The blocks Low alarm limit. A numeric value within


E_LO the EGU range.
F_LO

A_LOALM The current alarm status for Low alarms. N/A. This is a display
only field.

A_LOLO The blocks Low Low alarm limit. A numeric value within
E_LOLO the EGU range.
F_LOLO

59
IFIX Database Reference

The field... Displays... Valid Entry

A_LOPRI The alarm priority of Low alarms. Low, Medium, or High.

A_MDEDV When to open the deviation alarms Acknowledge, Return,


contact. All Clear, or Never.

A_MDEHH When to open the High High alarms Acknowledge, Return,


contact. All Clear, or Never.

A_MDEHI When to open the High alarms contact. Acknowledge, Return,


All Clear, or Never.

A_MDELL When to open the Low Low alarms Acknowledge, Return,


contact. All Clear, or Never.

A_MDELO When to open the Low alarms contact. Acknowledge, Return,


All Clear, or Never.

A_MDEOT When to open the other alarms contact. Acknowledge, Return,


All Clear, or Never.

A_MDERC When to open the contact for Rate of Acknowledge, Return,


Change alarms. All Clear, or Never.

A_NALM Yes or 1, if the block has unacknowledged N/A. This is a display


F_NALM alarms or only field.
No or 0, if the block has no
unacknowledged alarms.

A_NAME The blocks type, for example AI for an N/A. This is a display
Analog Input block. only field.

A_NAREA Enters a new alarm area in the alarm area N/A. This is a write only
database. field.

A_NEXT The name of the next block in the chain. N/A. This is a display
only field.

A_OPCLIMIT The hardware options of the OPC server. N/A. This is a display
only field.

A_OPCQLTY The quality status of the OPC server. N/A. This is a display
only field.

60

Вам также может понравиться