mastering ifix

152
Mastering iFIX

Upload: sa30442

Post on 06-Sep-2014

720 views

Category:

Documents


30 download

TRANSCRIPT

Page 1: Mastering iFIX

Mastering iFIX

Page 2: Mastering iFIX

Proprietary Notice

The manual and software contain confidential information which represents trade secrets of GE FanucInternational, Inc. and/or its suppliers, and may not be copied or disclosed except as provided in the license withGE Fanuc International, Inc. The information in this manual is subject to change without notice and should notbe construed as a commitment by GE Fanuc International, Inc. GE Fanuc International, Inc. assumes noresponsibility for any errors that may be in this document.

©2003 GE Fanuc International, Inc. ALL RIGHTS RESERVED.

Trademarks

©2003 GE Fanuc International, Inc. All rights reserved. Microsoft is a registered trademark of MicrosoftCorporation. All other brands or names are property of their respective holders.

iFIX Version 3.5 - 07.03

Page 3: Mastering iFIX

Contents

Why You Should Read This Manual ................................................................................................ xiii

1. Scheduler ........................................................................................................................................ 1

Overview .................................................................................................................................. 1

Using the Scheduler with iFIX ................................................................................................. 4

Getting Started with the Scheduler .......................................................................................... 5

Using the Scheduler .................................................................................................... 6

Securing Schedules .................................................................................................... 6

Resolving Schedules .................................................................................................. 6

Running Foreground and Background Schedules ...................................................... 7

Opening Pictures From Background Schedules.......................................................... 7

Debugging VBA Scripts .............................................................................................. 8

Starting the FixBackgroundServer Task ..................................................................... 8

Adding Schedules to the Background Task Startup List ............................................ 8

Foreground Schedule Checklist .................................................................................. 9

Background Schedule Checklist .................................................................................. 9

Designing Schedules ............................................................................................................... 9

Event-Based Entries ................................................................................................. 10

Time-Based Entries .................................................................................................. 11

Script Authoring Experts ........................................................................................... 12

Writing VBA Scripts that Access the Intellution WorkSpace ..................................... 12

Contents iii

Page 4: Mastering iFIX

Creating and Editing Schedules and Entries ......................................................................... 13

Sorting the Spreadsheet ........................................................................................................ 14

Viewing and Controlling Entry Diagnostics ............................................................................ 15

Writing Custom Scripts for the Scheduler .............................................................................. 15

Script Authoring Expert Sample Code....................................................................... 16

Form Script Sample Code ......................................................................................... 19

Button Script Sample Code ....................................................................................... 20

Generated Script Sample Code................................................................................. 20

2. Failover and Redundancy ............................................................................................................. 21

Understanding Failover and LAN Redundancy ..................................................................... 21

SCADA Server Failover and LAN Redundancy Configuration Example .................. 22

Overview Checklist ................................................................................................... 24

Understanding SCADA Server Failover ................................................................................ 24

SCADA Server Failover Messages ........................................................................... 25

Writing Data............................................................................................................... 25

Alarm Handling for SCADA Servers ......................................................................... 25

SCADA Server Failover Configurations .................................................................... 27

Primary and Backup Groupings ................................................................................ 28

Configuring SCADA Server Failover ..................................................................................... 35

Updating the HOSTS File for SCADA Server Failover ............................................. 35

Configuring the SCADA Server Pair ......................................................................... 36

Enabling SCADA Server Failover ............................................................................. 36

Disabling SCADA Server Failover ............................................................................ 36

Synchronizing the Clocks on the SCADA Servers .................................................... 36

Assigning Manual Failover Privileges ....................................................................... 37

Understanding LAN Redundancy .......................................................................................... 37

LAN Failover Messages ........................................................................................... 38

Reading and Writing Data ......................................................................................... 38

Alarm Handling for LAN Redundancy ....................................................................... 38

iv Mastering iFIX

Page 5: Mastering iFIX

LAN Redundancy Configuration ............................................................................... 39

Configuring LAN Redundancy ............................................................................................... 40

Enabling LAN Redundancy ...................................................................................... 40

Updating the HOSTS File for LAN Redundancy ....................................................... 40

Disabling LAN Redundancy ...................................................................................... 41

Optimizing System Performance .............................................................................. 41

Enabling the Alarm Startup Queue Service ........................................................................... 43

Working with the Network Status Server ............................................................................... 43

Using the iFIX Diagnostic Display ............................................................................. 45

Accessing SCADA Servers Using True Links ........................................................... 46

Reading Data............................................................................................................. 46

Creating Displays Using Logical and Physical Node Names .................................... 47

Network Status Server Fields ................................................................................... 47

Troubleshooting...................................................................................................................... 53

3. Local Node Alias ........................................................................................................................... 57

Enabling Local Node Alias ..................................................................................................... 57

Using Local Node Alias ......................................................................................................... 57

Local Node Alias Examples ................................................................................................... 57

Picture Example ........................................................................................................ 58

Recipe Example ........................................................................................................ 58

Historical Collection Group Example ......................................................................... 59

4. Reporting ....................................................................................................................................... 61

iFIX Report Experts ............................................................................................................... 61

Using the Report Experts ...................................................................................................... 62

Print Crystal Report .................................................................................................. 62

Print Crystal Report Expert ....................................................................................... 63

Contents v

Page 6: Mastering iFIX

Sample Report ....................................................................................................................... 64

5. The Cross Reference Tool ............................................................................................................ 67

Understanding the Cross Reference Tool .............................................................................. 67

Searching for All Tags ............................................................................................... 68

Searching for One Tag .............................................................................................. 68

Searching for Text ..................................................................................................... 69

Using the Report Wizard or the Quick Report ........................................................... 70

Exploring the Cross Reference Tool Interface........................................................................ 72

Using the Cross Reference Tool Toolbar .................................................................. 75

Creating Quick Reports .......................................................................................................... 76

Creating Reports Using the Cross Reference Report Wizard ................................................ 78

Specifying Search Settings........................................................................................ 78

Specifying Multiple Files for the Report ..................................................................... 79

Specifying Report Settings Options........................................................................... 81

Reviewing the Report Settings .................................................................................. 82

Viewing the Report Results .................................................................................................... 83

Viewing the Status Trail ............................................................................................. 84

Viewing a Search that Resolves Tags Using All Tag Group Files ............................. 85

Viewing a Search that Includes VBA Scripts ............................................................. 86

Selecting Print Options and Printing a Report ........................................................................ 87

Selecting Page Options for Printing........................................................................... 89

Customizing Header or Footer Text........................................................................... 90

Creating a Cross Reference Tool Report from the Command-Line ....................................... 91

6. Creating Picture-specific Help Files ........................................................................................... 93

Why Create Picture-specific Help Files? ................................................................................ 93

What's This? Help .................................................................................................................. 94

What's This? Help Design ........................................................................................ 95

vi Mastering iFIX

Page 7: Mastering iFIX

Adding Help to an iFIX Picture .............................................................................................. 96

Creating the Help File ............................................................................................................ 97

Requirements ............................................................................................................ 97

Creating a Topic File ................................................................................................ 97

Creating a Map File .................................................................................................. 98

Creating and Compiling a Project File ...................................................................... 99

Testing Your Help File ............................................................................................... 99

Example: Creating a Picture-specific Help File ................................................................... 100

In Microsoft Word .................................................................................................... 100

In the Intellution WorkSpace.................................................................................... 100

In Microsoft Help Workshop .................................................................................... 101

Testing the Sample Help File .................................................................................. 101

7. Customizing the System Tree ................................................................................................... 103

Adding Folders to the System Tree ..................................................................................... 105

Adding Files to the System Tree ......................................................................................... 107

Deleting Folders and Files from the System Tree ............................................................... 111

8. Validating an Application............................................................................................................ 113

Application Validator Basics ................................................................................................. 113

Running the Application Validator ........................................................................... 114

Running With or Without iFIX .................................................................................. 114

Running in Demo Mode........................................................................................... 115

General Configuration for the Application Validator................................................. 116

Working with Default Settings.................................................................................. 116

Using the Application Validator Toolbar and Quick Keys ........................................ 117

Types of Reports from the Application Validator .................................................................. 119

Summary Report ..................................................................................................... 120

Comparison Detail Report ....................................................................................... 121

Contents vii

Page 8: Mastering iFIX

General Overview of Steps for Using the Application Validator ........................................... 122

Command Line Options for the Application Validator........................................................... 123

Understanding Auditing for the Application Validator ........................................................... 125

Understanding the AppValConfig.ini File and Auditing............................................ 126

Viewing the Audited Messages ............................................................................... 126

Sample Audit Message from the Application Validator............................................ 127

List of Audit Messages from the Application Validator............................................. 128

Activity Log in the Main Window........................................................................................... 129

Best Practices....................................................................................................................... 130

Index ................................................................................................................................................. 133

viii Mastering iFIX

Page 9: Mastering iFIX

Figures

Figure 1-1: Scheduler in the Configuration Environment............................................................. 2Figure 1-2: Scheduler in the Run-time Environment ................................................................... 3Figure 2-1: SCADA Backup Node and LAN Redundancy Configuration................................... 23Figure 2-2: SCADA Server Failover Configuration from an iClient............................................ 27Figure 2-3: SCADA Server Failover Configuration from a SCADA Server................................ 28Figure 2-4: Typical Configuration of an iClient with a Primary and Backup SCADA ................. 30Figure 2-5: SCADA Server Configuration with a Backup SCADA............................................. 31Figure 2-6: Invalid Primary and Backup Grouping Configuration .............................................. 32Figure 2-7: Correct Primary and Backup Grouping Configuration............................................. 33Figure 2-8: Invalid SCADA Configuration in a SCADA Server Pair........................................... 34Figure 2-9: Invalid Version Configuration in a SCADA Server Pair ........................................... 35Figure 2-10: Typical LAN Redundancy Configuration ................................................................. 39Figure 2-11: LAN Redundancy Configuration with an Excluded Card......................................... 40Figure 4-1: Sample Crystal Report ............................................................................................ 66Figure 5-1: Report Results of a Search for All Tags.................................................................. 68Figure 5-2: Report Results for a One Tag Search..................................................................... 69Figure 5-3: Report Results of a Text Search............................................................................. 70Figure 5-4: Cross Reference Tool Toolbar Button..................................................................... 72Figure 5-5: The Cross Reference Tool Window ........................................................................ 74Figure 5-6: The Quick Report Dialog Box.................................................................................. 77Figure 5-7: Cross Reference Report Wizard - Search Settings Tab ......................................... 79Figure 5-8: Cross Reference Report Wizard - Files Tab ........................................................... 80Figure 5-9: Cross Reference Report Wizard - Report Settings Tab.......................................... 82Figure 5-10: Cross Reference Wizard - Apply and Go Tab......................................................... 83Figure 5-11: Status Trail .............................................................................................................. 85Figure 5-12: Search Results of Resolving Tags using All Tag Group Files................................. 86Figure 5-13: Search Results of Including VBA Scripts in Search ................................................ 87Figure 5-14: Cross Reference Tool Print Dialog Box .................................................................. 88Figure 5-15: Page Setup Dialog Box........................................................................................... 89Figure 5-16: Change Header and Footer Attributes Dialog Box.................................................. 90Figure 7-1: System Tree Customization Overview.................................................................. 104Figure 8-1: Example of the Summary Report from the Main Window ..................................... 120Figure 8-2: Example of Comparison Detail Report Window.................................................... 121

Figures ix

Page 10: Mastering iFIX

Figure 8-3: Format of Audit Message Sent to iFIX Alarm System........................................... 127Figure 8-4: Application Validator with Log Window Displayed ................................................ 130

x Mastering iFIX

Page 11: Mastering iFIX

Tables

Table 2-1: Network Status Server (NSS) Fields....................................................................... 48Table 5-1: Cross Reference Tool Toolbar Buttons................................................................... 75Table 5-2: Search Results........................................................................................................ 84Table 7-1: Folder Attributes.................................................................................................... 106Table 7-2: File Attributes ........................................................................................................ 109Table 8-1: Running the Application Validator ......................................................................... 114Table 8-2: Application Validator Toolbar Buttons................................................................... 117Table 8-3: Application Validator Command Line Options....................................................... 124

Tables xi

Page 12: Mastering iFIX

xii Mastering iFIX

Page 13: Mastering iFIX

Why You Should Read This Manual xiii

Why You Should Read This Manual

The Mastering iFIX manual is intended for system integrators, OEMs, and process control engineers responsible for implementing a software automation solution using iFIX®. This manual assumes that you are familiar with Microsoft Windows, Microsoft Visual Basic, the Intellution® WorkSpace, and your plant's network.

Reference Documents

For related information about iFIX, refer to the following manuals:

• Understanding iFIX

• Writing Scripts

• Creating Pictures

• Setting Up the Environment

• Implementing Alarms and Messages

Page 14: Mastering iFIX

xiv Mastering iFIX

Page 15: Mastering iFIX

1. Scheduler

There are certain tasks that you may want to perform at a specified time or interval, or when a change occurs in a database value or in any OPC data server value. For example, you may want to run a Visual Basic® for Applications (VBA) script that generates a report at the end of every shift or replaces the currently-displayed picture when a database point exceeds a certain value. The Scheduler allows you to create, edit, monitor, and run both types of actions as scheduled entries. In the Scheduler, you define the time or event that triggers a scheduled entry, and the action, referred to as an operation, that you want to occur.

iFIX® supplies Script Authoring Experts for common tasks such as replacing a picture. These Experts generate scripts based on the information that you supply to the Expert. You can also write custom scripts for common tasks that do not have Script Authoring Experts. Refer to the Writing Scripts manual for detailed information on writing VBA scripts.

Overview

In the configuration environment, iFIX displays schedules in the Intellution® WorkSpace, allowing you to easily create, edit, and start monitoring entries while you work on your project.

Chapter 1. Scheduler 1

Page 16: Mastering iFIX

Figure 1-1: Scheduler in the Configuration Environment

In the run-time environment, you can view the status and statistics of the entries in your schedule. You can also control your entries using the Start/Stop, Reset, and Fire Now buttons.

Indicates if the scheduleruns in the foreground (F)or background (B)

Schedulefilename

Entry tabsScheduled entries

Schedules folderSchedules

Scheduled entries

2 Mastering iFIX

Page 17: Mastering iFIX

Figure 1-2: Scheduler in the Run-time Environment

Schedule

Indicates if the schedule runs in theforeground (F) or background (B)

Scheduled entries

Entry status,name,statistics,

description, and controlsEntry tabs

Chapter 1. Scheduler 3

Page 18: Mastering iFIX

The Scheduler provides the following features:

• Spreadsheet design that allows you to easily view and edit entries.

• Ability to schedule as many entries as necessary and to trigger them as often as necessary.

• Ability to run as a service under Microsoft Windows.

• Script Authoring Experts for common events.

• Ability to easily monitor entries and view diagnostic statistics.

• Ability to trigger scheduled scripts on demand.

• Ability to run schedules as a foreground or background task.

Using the Scheduler with iFIX

Individual schedules can be run as a foreground or the background task. When you run a schedule in the foreground, you can easily test and debug scripts in the run-time environment. When an error occurs, VBA launches the Visual Basic Editor (VBE) debugger, where you can edit and save changes to a script. You cannot run scripts in the configuration environment.

When you run schedules as background tasks, they run regardless of whether the Intellution WorkSpace is in the run-time or configuration environment, and regardless of whether the Intellution WorkSpace is running. If you modify a scheduled entry, it automatically restarts. When the Intellution WorkSpace is in the run-time environment, you can view Scheduler statistics and diagnostic information about each entry in the schedule, including the number of times each entry has been fired and the last time it was fired.

You can also run the Scheduler in the background as a service under Windows. Because the Scheduler runs as a service, operators can log in and out of an Windows node without affecting scheduled entries, and entries are triggered regardless of whether or not the Intellution WorkSpace is running.

4 Mastering iFIX

Page 19: Mastering iFIX

You can create multiple schedules, which allows you to organize and easily maintain entries. Each schedule can be configured individually to run as a background or foreground task. Also, as you add events to a schedule, you can choose whether or not to start monitoring them immediately, or to wait until the next time the Intellution WorkSpace starts.

The Scheduler supports a powerful Find and Replace feature that allows you to quickly and easily modify information in a schedule. For additional information on using the Find and Replace feature, refer to the Finding and Replacing Data section of the Understanding iFIX manual.

Getting Started with the Scheduler

Before you start scheduling entries, you should understand how the Scheduler executes scripts. The Scheduler can run as a foreground or background task. When you run a schedule in the foreground, it runs on the same thread as the scripts in the Intellution WorkSpace, allowing you to quickly test and debug scripts in the run-time environment. When you run a schedule in the background, it runs on a separate thread from the scripts in the Intellution WorkSpace, monitoring the system and triggering scheduled events.

The Scheduler does not loop; it waits for events to occur. When a selected event occurs, the script is triggered from a schedule running in the background, it is added to the queue, and it executes after the scripts in front of it have finished executing. For this reason, when a schedule is run as a background task it is ideal for monitoring tasks. This is exactly the same as scripts triggered from schedules running as foreground tasks in the Intellution WorkSpace.

Generally, schedules created to run in the foreground are used for testing and debugging. Once a schedule created to run in the foreground has been tested and debugged, we suggest that you set it to run in the background. Refer to the Running Foreground and Background Schedules section for more information.

Refer to the Writing Scripts manual for an explanation of how scripts are implemented in the Intellution WorkSpace.

Chapter 1. Scheduler 5

Page 20: Mastering iFIX

Using the Scheduler

Schedules are spreadsheets with separate tabs for event-based entries and time-based entries. Double-clicking an empty row in a schedule displays a dialog box for adding an entry. Once you have created an entry, you can edit individual cells in the spreadsheet without using the dialog box.

Time-based entries create a timer object while event-based entries create an event object. These iFIX objects have associated properties, methods, and events that you can use in VBA scripts. They are displayed in the system tree and are the objects to which scheduled scripts are tied.

Securing Schedules

iFIX’s schedule protection prevents unauthorized users from accessing or modifying schedules. To configure security for your schedules, enter a security area in the Properties window. For more information on configuring security, refer to the Implementing Security manual.

Resolving Schedules

Database information for each data source in a schedule is saved as part of the file on disk. When a schedule executes 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 execution of the schedule.

Resolving schedules removes the need for iFIX to query the database. Therefore, resolved schedules execute faster in the run-time environment. We recommend resolving your schedules as a final step in the configuration process. The Resolve feature is available for both schedules and pictures.

If the process database is modified after you resolve a schedule, you need to run Resolve again. These modifications include:

• Loading a different database.

• Deleting database tags.

6 Mastering iFIX

Page 21: Mastering iFIX

Running Foreground and Background Schedules

You can select whether you want your schedules to run as foreground or background tasks. When you create a new schedule, the default is for it to run in the foreground. To run a schedule in the foreground, the Intellution WorkSpace must be running in the run-time environment. Running a schedule in the foreground is useful for testing and debugging VBA scripts.

To run a schedule in the background, the FixBackgroundServer task must be running. If the FixBackgroundServer task is not running, it is automatically started when a schedule is added to the background task. To create a schedule that runs in the background you must change the default setting in the Scheduler Properties dialog box, which is available by right-clicking a schedule and selecting Scheduler Properties from the pop-up menu. You can use this dialog box to change the default setting for a new schedule or for an existing schedule that is set to run in the foreground. Also, you can select whether you want a schedule to run in the foreground or the background, set the window properties, and set the statistics refresh rates.

NOTE: An unsigned write occurs when a database tag is configured for electronic signature, but you write a value directly to that tag 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 schedules. Refer to the Implications of Database Writes With Electronic Signature section of the Using Electronic Signatures manual for detailed information.

Opening Pictures From Background Schedules

If a picture opens from a background schedule while you are editing a picture or schedule in the WorkSpace, you may experience unexpected behavior. In some instances, the picture may open over a modal dialog box and you will not be able to get back to the dialog box.

To avoid this problem, we recommend that when adding an entry to a background schedule, you configure the schedule to check whether the WorkSpace is in the run-time or configuration environment before opening a picture.

NOTE: Schedules that are configured to run in the background cannot reference pictures. When FixBackgroundServer opens a schedule that references a picture, it also tries to open that picture. Since FixBackgroundServer cannot open pictures, an error message appears.

Chapter 1. Scheduler 7

Page 22: Mastering iFIX

For more information on creating new schedules and using the Scheduler Properties dialog box, refer to the Creating and Editing Schedules and Entries section.

Debugging VBA Scripts

If a scripting error occurs while a schedule is running, the VBE debugger automatically launches to allow you to quickly edit and save the changes made to the script. If the schedule is running in the foreground when the VBE launches, any changes made to the script are automatically saved in the schedule. If the schedule is running in the background when the VBE launches, close the VBE editor, re-open it in Intellution WorkSpace, and make the necessary changes to the script. Any changes made to the script are automatically saved in the schedule.

NOTE: In order for scripting changes to be saved in a schedule, the VBE must be started in the Intellution WorkSpace. Any scripting changes made in the VBE launched from the FixBackgroundServer task will not be saved in a schedule.

Starting the FixBackgroundServer Task

The FixBackgroundServer task can run on its own or as a Windows service.

Refer to the Setting Up the Environment manual for more information on configuring startup tasks.

Adding Schedules to the Background Task Startup List

Normally, you want your schedules to start automatically when iFIX is started. To do this, you must add the schedules to the background task startup list. If you are adding entries to a schedule that is already running in the background, you can choose whether or not to start monitoring the entry immediately.

8 Mastering iFIX

Page 23: Mastering iFIX

Foreground Schedule Checklist

The following is an overview of the steps necessary to successfully implement a foreground schedule:

[1] Create a foreground schedule in the configuration environment of the Intellution WorkSpace.

[2] Monitor entries as necessary from the run-time environment of the Intellution WorkSpace.

Background Schedule Checklist

When creating a schedule that runs in the background, you can create it directly as a background schedule or create a foreground schedule and convert it to a background schedule. The following is an overview of the steps necessary to successfully implement a background schedule:

[1] Create a background schedule in the configuration environment of the Intellution WorkSpace.

[2] Add the schedule to the background task startup list, using the Background Startup tab in the User Preferences dialog box.

[3] Monitor entries as necessary from the run-time environment in the Intellution WorkSpace.

Designing Schedules

This chapter explains the issues you need to consider while you are designing schedules. When creating schedules, there are two types of entries that you can select: event-based entries and time-based entries. This section describes both types of entries and the triggers that can be used by each.

Chapter 1. Scheduler 9

Page 24: Mastering iFIX

Event-Based Entries

Event-based entries are created using the Add Event Entry dialog box. Event-based entries can use any data source available to the system to trigger an action. To select a data source, you can either enter the data source in the Data Source field or click the Browse button to access the Expression Builder.

Five event types are available to trigger an action based on the value of a data source. For example, you may want to have a certain action occur when an alarm equals HIHI. By tying the value of the alarm field to the OnTrue event type, you can trigger an action when the value of this field becomes equal to HIHI.

The following table lists the event types that are available and when they trigger:

The event type... Triggers...

OnDataChange When the expression changes.

OnTrue When the expression resolves to a non-zero value.

OnFalse When the expression resolves to zero.

WhileTrue At the specified interval as long as the expression evaluates to a non-zero value.

WhileFalse At the specified interval as long as the expression evaluates to zero.

10 Mastering iFIX

Page 25: Mastering iFIX

Time-Based Entries

Time-based entries are created using the Add Timer Entry dialog box. Time-based entries trigger at a scheduled time and are not tied to a data source. The following table lists the time triggers that are available and when they trigger:

NOTE: If you have Daylight Saving Time enabled and you create a timed-based entry to have a 2:30 AM Start Time, be aware that during the transition from Standard Time to Daylight Saving Time, the schedule will actually fire at 1:30 AM. All other days of the year, it will fire at 2:30 AM.

All time-based entries run the script tied to the OnTimeOut event procedure.

The time type... Triggers...

One Shot Once at the specified date and time. For example, you can schedule an entry to trigger at 5:00 p.m. on 7/4/98.

Continuous Continuously at the specified interval, starting at the specified time. For example, you can schedule an entry to trigger every eight hours.

NOTE: You may notice in the log file that the timers occasionally fire +/- 1 or 2 milliseconds off. This may happen on the first fire and will return to the specified interval in a subsequent firing.

Daily On the scheduled days of the week at a particular time. Optionally, you can specify an end time and interval. For example, you can schedule an entry to trigger Monday through Friday, at noon, or every hour from noon until 6:00 p.m.

Monthly On the scheduled days of the month at a particular time. Optionally, you can specify an end time and interval. For

example, you can schedule an event for the 15th of the month, at 9:00 a.m., or every hour from 9:00 a.m. until 5:00 p.m. You can also schedule an event for the end of the month at a particular time. This setting determines the last day of the month for you.

Chapter 1. Scheduler 11

Page 26: Mastering iFIX

Adjusting for Daylight Saving Time

The Scheduler supports daylight saving time for time-based events. Before allowing automatic Daylight Saving Time to be used in a production environment, you should test your application under each of the following scenarios for proper behavior:

• While in Standard Time.

• While in Daylight Time.

• During the transition from Standard Time to Daylight Time.

• During the transition from Daylight Time to Standard Time.

Script Authoring Experts

When you select an action in the Operation field of either the Add Timer Entry or Add Event Entry dialog box, iFIX asks you whether or not you want to run the Script Authoring Expert now. If you select Yes, it automatically runs the Script Authoring Expert associated with that action. If you want to run the Script Authoring Expert at a later time, you can modify the entry and click the Run Expert button. After you have provided the Expert with the required information, the Expert generates a VBA script tied to the appropriate event.

For example, the Replace Picture Script Authoring Expert asks which picture you want to display and, once you have provided it with a picture name, generates a script to replace the picture. Once the script is generated, you can edit it by re-entering the Expert or by accessing it directly using the VBE.

In addition to the Script Authoring Experts provided in iFIX, you can write your own custom scripts for frequently-performed tasks. Refer to the Writing Custom Scripts for the Scheduler section for information on how to create your own custom scripts for the Scheduler.

Writing VBA Scripts that Access the Intellution WorkSpace

When you write a scheduled script that opens, closes, replaces, or accesses a property of an object in a picture, you must ensure that the Intellution WorkSpace is running and that the picture you need to access is open and active. This differs from writing scripts that run from pictures.

12 Mastering iFIX

Page 27: Mastering iFIX

Before you can access any information about the active picture in the Intellution WorkSpace, you must activate the Intellution Workspace using the GetObject method as shown in the following example.

Dim AppObj As ObjectSet AppObj = GetObject("","Workspace.Application")

You can now check to see if the picture is open:

If UCase(AppObj.ActiveDocument.Name) = UCase("MyPicture") Then<perform a task or open the picture>

You can then check to see which document or picture is open, and replace it if it is not the one you need. Once the proper picture is open, you can access its objects.

Refer to the Writing Scripts manual for more information on using VBA with iFIX.

Creating and Editing Schedules and Entries

The Scheduler allows you to create multiple schedules which help you to easily organize and maintain events. When you create a new schedule, you can control its properties from the Scheduler Properties dialog box.

The following table lists the tabs on the Scheduler Properties dialog box and the properties that can be controlled from each:

Tabs Properties

Run Time State Run in Foreground

Run in Background

Window Properties Window Height

Window Width

Window Styles

Chapter 1. Scheduler 13

Page 28: Mastering iFIX

You can create new schedules when the Intellution WorkSpace is in the configuration environment.

NOTE: iFIX does not support schedules that use the same name as the local node. Therefore, do not use your local node’s name for any schedules you create.

Once you have created a schedule, the schedule and all its entries appear in the Schedules folder of the system tree. You can open a schedule and view or edit its properties at any time by double-clicking the schedule name in the system tree.

Once you have created a schedule, you can add new entries to it using the Script Authoring Experts in the Scheduler category or by writing your own custom scripts. You can edit an existing entry by selecting the entire entry or a particular cell within the entry. Once created, entries can be easily copied or moved from one schedule to another.

Sorting the Spreadsheet

You can sort Scheduler entries in ascending or descending order by clicking the heading of the column you want to sort. For example, if you want to sort entries alphabetically by name, click the Name column's heading. The entries will appear in ascending order. To sort them in descending order, click the Name column's heading again.

NOTE: Sorting is only available in the configuration environment. In the run-time environment, entries appear in the order they were added to the schedule.

Stats Refresh Timer Statistics Refresh Rate (in seconds)

Event Statistics Refresh Rate (in seconds)

Background Files Lists all schedules running in the background. No changes can be made from this tab.

Tabs Properties

14 Mastering iFIX

Page 29: Mastering iFIX

Viewing and Controlling Entry Diagnostics

The Scheduler allows you to view and control entry diagnostics in the run-time environment. If you open a schedule in the run-time environment, you can view the status of entries, the number of times they have been fired, and the time when they were last fired. You can also:

• Start or stop an entry from executing.

• Reset the statistics (number of times it has been fired and time when it was last fired) of the entry.

• Trigger an entry to fire on demand.

If you have loaded a schedule, but the scripts are not firing, you need to determine whether the problem is caused by the firing mechanism or by the script itself.

Writing Custom Scripts for the Scheduler

The Scheduler provides Script Authoring Experts that generate a script that is executed when an entry triggers. These Experts are available for common tasks such as toggling a digital point or generating a report. You can also create custom scripts for tasks that you need to perform.

This section shows sample code that may be helpful when writing custom scripts for use with the Scheduler. For additional examples, use the VBE to view the code for the Experts, buttons, and forms supplied with iFIX. Refer to the Writing Scripts manual for detailed information on writing VBA scripts.

Chapter 1. Scheduler 15

Page 30: Mastering iFIX

Script Authoring Expert Sample Code

The following properties store information that is passed between a Script Authoring Expert, the Scheduler, and the Intellution WorkSpace:

• ProcedureObject.

• EventProcedure.

• Property1 through Property10.

Only the following two properties have a specific purpose:

ProcedureObject – the Timer or Event entry to which the script will be attached. For example, Event5 or Timer 3.

EventProcedure – the name of the event type that will trigger the script. For example, OnTrue.

Property1 through Property10 are available to the Expert for operational parameters specific to the Expert. Initially, these parameters are passed from the Expert to the Scheduler, and do not appear in the Scheduler until after the script has been generated. For example, if the user re-enters the Expert, the Scheduler passes them back to the Expert, which can then use them to populate a form.

The following example shows the code behind the Toggle Digital Point Script Authoring Expert.

Private Sub ToggleDigitalPointWizard_Click()Dim CurrentObj As ObjectDim szEventName As String

On Error GoTo ErrorHandler

Application.DeActivateWorkspaceUI True, False

‘Prevent this button from being used in a Picture document If InStr(1, Application.ActiveDocument.Type, "FIXSchedule",_vbTextCompare) = 0 Then

Application.ActivateWorkspaceUIMsgBox "This button is not for use. Use the button _from the Command Tasks category."Exit Sub

End If

16 Mastering iFIX

Page 31: Mastering iFIX

‘Pass the timer or event object’s ProcedureObject and ‘EventProceduure to the form

Set CurrentObj = ToggleDigitalPointWizard.ProcedureObjectszEventName = ToggleDigitalPointWizard.EventProcedure

‘The FIX database tag is in Property1. Enter the tag in the ‘form field frmToggleDigitalPointCommand.ExpressionEditor1.EditText = ToggleDigitalPointWizard.Property1

‘Call a subroutine in the form that enters the ProcedureObject ‘and EventProcedure as global variables so that the script in ‘the form can act on them

Call frmToggleDigitalPointCommand.GetSchedulerValues(CurrentObj, szEventName)

frmToggleDigitalPointCommand.bCancel = False

‘Open the form frmToggleDigitalPointCommand.Show

‘Pass the FIX database tag back to the scheduler

If frmToggleDigitalPointCommand.bCancel = False ThenToggleDigitalPointWizard.Property1 =

frmToggleDigitalPointCommand.ExpressionEditor1.EditTextEnd If

Application.ActivateWorkspaceUIExit Sub

ErrorHandler:

HandleError

End Sub

The following example shows the code behind the Generate Report Script Authoring Expert.

Private Sub GenerateReportWizard_Click()Dim CurrentObj As ObjectDim szEventName As String

On Error GoTo ErrorHandler

Application.DeActivateWorkspaceUI True, False

Chapter 1. Scheduler 17

Page 32: Mastering iFIX

‘Prevent this button from being used in a Picture document

If InStr(1, Application.ActiveDocument.Type, "FIXSchedule", vbTextCompare) = 0 Then

Application.ActivateWorkspaceUIMsgBox "This button is not for use. Use the button _from the Command Tasks category."Exit Sub

End If ‘Pass the timer or event object’s ProcedureObject and ‘EventProceduure to the form

Set CurrentObj = GenerateReportWizard.ProcedureObjectszEventName = GenerateReportWizard.EventProcedure

‘The Crystal Report name is in Property1. Enter the report name ‘in the form field

frmGenerateReportCommand.txtReport.Text = GenerateReportWizard.Property1

‘Call a subroutine in the form that enters the ProcedureObject ‘and EventProcedure as global variables so that the script in ‘the form can act on them

Call frmGenerateReportCommand.GetSchedulerValues_(CurrentObj, szEventName)

frmGenerateReportCommand.bCancel = False

‘Open the form frmGenerateReportCommand.Show

‘Pass the Crystal Report name back to the scheduler

If frmGenerateReportCommand.bCancel = False Then GenerateReportWizard.Property1 = frmGenerateReportCommand.txtReport

End If

Application.ActivateWorkspaceUIExit Sub

ErrorHandler:

HandleError

End Sub

18 Mastering iFIX

Page 33: Mastering iFIX

Form Script Sample Code

The following example shows code that collects the name of the picture the user wants to display when the event is triggered, generates the script, and creates the event. The Procedures object is a collection of scripts. Before you generate the script, you need to get the index number for the next script using the GetEventHandlerIndex method. Once you generate the string that will become the script, use the AddEventHandler method to add the event.

Private CurrentObject As ObjectPrivate EventName As String

Public Sub GetCurrentObjectValues(obj, Str)Set CurrentObject = objEventName = Str

End Sub

Private Sub CommandButton1_Click()

'get file name entered by user Dim FileName As StringFileName = TextBox1.Value

Dim WorkingObj As ObjectSet WorkingObj = CurrentObject.Procedures

'Get the index for the procedure Dim Index As LongDim Found As LongWorkingObj.GetEventHandlerIndex EventName, Index, Found

'Generate code Dim StringCode As StringStringCode = "Dim doc As Object" & Chr(13) _

& "Dim PicturePath As String" & Chr(13) _& "PicturePath = ""c:\fix32\pic\"" & FileName" & _Chr(13) & "Set doc = _ Application.Documents.Open(PicturePath)" & Chr(13)

'Add the event WorkingObj.AddEventHandler EventName, StringCode, Index

'Close the form End

End Sub

Chapter 1. Scheduler 19

Page 34: Mastering iFIX

Button Script Sample Code

The following example shows code for a button object called MyExpert that gets the timer or event object, the event trigger name, and picture name, if any, from the Add Event dialog box. It passes this information in to the form using the GetCurrentObjectValues procedure, and then displays the form.

Private Sub MyExpert_Click()

Dim CurrentObj As ObjectDim EventName As String

'Set procedure object, event name, and file name Set CurrentObj = MyExpert.ProcedureObjectEventName = MyExpert.EventProcedureMyExpert.Property1 = frmOpenPicture.TextBox1.Value

'Pass the object and event name into the form Call frmOpenPicture.GetCurrentObjectValues(CurrentObj,_EventName)frmOpenPicture.ShowfrmOpenPicture.Hide

End Sub

Generated Script Sample Code

The following example shows the script that would be generated if you ran this Expert on the Timer7 object, using the OnTimeOut event.

Private Sub Timer7_OnTimeOut(ByVal lTimerId As Long)Dim doc As ObjectDim PicturePath As StringPicturePath = "c:\fix32\pic\" & FileNameSet doc = Application.Documents.Open(PicturePath)End Sub

20 Mastering iFIX

Page 35: Mastering iFIX

2. Failover and Redundancy

This section describes iFIX SCADA server failover and LAN redundancy. Included is information on monitoring and controlling your network using the Network Status Server and iFIX diagnostic displays.

You can also integrate the Stratus® ftServer® machines into your iFIX environment to create a fault tolerant solution. The inclusion of Stratus ftServers in your application for iFIX v3.5 is fully tested and supported by GE Fanuc. For detailed information on tested configurations and a fact sheet on using Stratus computers in your iFIX environment, visit the support web site at: http://iglobalcare.gefanucautomation.com.

Understanding Failover and LAN Redundancy

Operators view process data received from a SCADA server using an iFIX iClient. Should the SCADA server or LAN connection become unavailable, process data can become unavailable to the operator at the iClient. iFIX SCADA server failover and LAN redundancy increase the availability of data to the iClient and minimize the amount of time that data is unavailable. It does this by allowing the iClient to connect to a primary and backup SCADA server and to use more than one LAN connection to the SCADA server.

By recognizing multiple paths to the data, iFIX can switch from one path to another automatically, improving overall system availability for critical operations. Switching from one connection to another is known as failover.

SCADA server failover allows you to connect an iClient to both the primary and backup SCADA servers, the SCADA partners, that are connected to the same PLC. This feature provides two paths to the same process data instead of just one. The iClient establishes and maintains the connections to both the primary and backup SCADA servers, either of which can be the active server—the SCADA node with which the iClient is currently communicating—or the non-active SCADA server. When the connection to the active SCADA server is lost, iFIX automatically fails over to the non-active SCADA server.

Chapter 2. Failover and Redundancy 21

Page 36: Mastering iFIX

LAN redundancy allows two physical network connections between the iClient and SCADA server, providing two network paths to the same process data. When the connection over one network path is lost, iFIX automatically fails over to the other network path.

Failover works the same way regardless of whether you are using SCADA server failover or LAN redundancy. In either case, failover to the non-active SCADA server or non-active network path occurs only if the non-active connection is available.

You can use SCADA server failover and LAN redundancy either individually or together. If you enable both SCADA server failover and LAN redundancy, SCADA server failover takes precedence over LAN redundancy. In other words, iFIX tries to fail over to the partner SCADA node first. If the partner SCADA node is not available, failover occurs to the backup network path.

iFIX also provides the following features:

• Automatic session monitoring of each SCADA server and managed LAN connection.

• Improved display portability by using logical node names to represent the primary and backup SCADA partners.

• Availability of connection status information using the Network Status Server (NSS).

• Alarm acknowledgment synchronization when both partner SCADA servers are up and running, ensuring that you only have to acknowledge an alarm once.

• Manual failover feature that allows an operator to initiate SCADA failover to the non-active SCADA server.

SCADA Server Failover and LAN Redundancy Configuration Example

If you enable both SCADA server failover and LAN redundancy, SCADA server failover takes precedence over LAN redundancy. For example, in the following figure an iClient configured with the logical node name LGCL_ND1 is

22 Mastering iFIX

Page 37: Mastering iFIX

communicating with SCADA PACKER1 over network path 1. If the connection is lost, the iClient will attempt to fail over to PACKER2 before reconnecting to PACKER1 over network path 2.

Figure 2-1: SCADA Backup Node and LAN Redundancy Configuration

Primary and Backup GroupingLogical Name: LGCL_ND1Primary SCADA: PACKER1Backup SCADA: PACKER2

iClient

PLC

BackupSCADA Node

PrimarySCADA Node

Network Path 2

Network Path 1

Local Node Name: PACKER1Local Logical Name:LGCL_ND1

Local Node Name: PACKER2Local Logical Name:LGCL_ND1

Chapter 2. Failover and Redundancy 23

Page 38: Mastering iFIX

Overview Checklist

The following is a list of general tasks for implementing failover and redundancy:

[1] Install your hardware and network connections, and ensure that they work and communicate independently of iFIX.

[2] Configure SCADA server failover:

[a] Define a Logical Name.

[b] Configure primary and backup SCADA servers in the SCU.

[c] Configure the SCADA partners.

[d] Configure alarm acknowledgement synchronization.

[e] Synchronize the clocks on the SCADA servers.

[f] Assign manual failover privileges if security is enabled.

[3] Configure LAN redundancy:

[a] Configure network paths for LAN redundancy in the SCU.

[b] Update the hosts file if you are using TCP/IP.

[c] If necessary, optimize system performance by disabling network paths and balancing network timers and failover time.

[4] Monitor and control network status using the Network Status Server fields and diagnostic displays supplied with iFIX.

Understanding SCADA Server Failover

When iFIX starts, the iClient attempts to establish communication with its primary and backup SCADA servers. The primary node is the SCADA node you want the iClient to communicate with at startup. The backup node is the SCADA node you want the iClient to communicate with if the primary node becomes unavailable.

24 Mastering iFIX

Page 39: Mastering iFIX

If both nodes are available, the iClient establishes a connection with both of them. The first SCADA node it establishes a connection with is the active node. 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 the iClient fails over to the backup SCADA, it remains connected to the backup SCADA even when the primary SCADA becomes available. Automatic failover to the primary SCADA only occurs if the connection to the backup SCADA is lost and the primary SCADA is available. You can also manually initiate failover back to the primary SCADA once it becomes available.

SCADA Server Failover Messages

You can identify when a SCADA server failover has occurred using a Network Status Server tagname, or through the alarm messages. Refer to the Working with the Network Status Server section for more information.

iFIX sends an alarm message whenever SCADA server failover occurs. This alarm message never appears at the remote nodes.

For example, if you are communicating from an iClient named LN1_VIEW to a primary SCADA node named PACKER1, and the iClient fails over to the backup SCADA node named PACKER2, the message on the iClient is:

06/07/2002 16:35:22.5 Connection Failover: connection to PACKER1 has been switched to PACKER2

Writing Data

Data is written to the active SCADA server only. For example, if the active node is PACKER1 and the non-active node is PACKER2, before a failover the iClient writes data to PACKER1. After a failover, the iClient writes data to PACKER2.

Alarm Handling for SCADA Servers

When you configure 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.

Chapter 2. Failover and Redundancy 25

Page 40: Mastering iFIX

To enable alarm acknowledgement synchronization between a pair of SCADA nodes, you need to define the partner SCADA for each SCADA. For example, if you have two SCADA nodes (SCADA1 and SCADA2), you can enable alarm acknowledgement synchronization by doing the following:

[1] In Local Startup, define your logical node name.

[2] In the SCU of SCADA1, select SCADA from the Configure menu.

[3] In the SCADA Name field in the Partner SCADA section of the SCADA Configuration dialog box, enter SCADA2.

[4] In the SCU of SCADA2, select SCADA from the Configure menu.

[5] In the SCADA Name field in the Partner SCADA section of the SCADA Configuration dialog box, enter SCADA1.

[6] Make sure the primary and backup SCADA servers are listed as part of a logical pair in the Configured Remote Nodes list box of each computer’s SCU network configuration. For more information on logical pairs, refer to Primary and Backup Groupings.

NOTE: Do not list the primary and backup SCADA servers as individual remote nodes.

[7] Make sure the process databases of both nodes are identical. The easiest way to do this is to compare the serial numbers of both databases. If they do not match, integrate the two databases and copy the resulting PDB file and AlarmAreas.AAD to each SCADA server.

When an alarm occurs on a SCADA server, the alarm is sent to its iClient. The iClient accepts alarms from the active node only, regardless of whether it is the primary or backup SCADA. You cannot view alarms generated by the non-active 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.

26 Mastering iFIX

Page 41: Mastering iFIX

When a node is configured as part of a partner SCADA server pair, the Alarm Summary Queue 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.

SCADA Server Failover Configurations

You can configure SCADA server failover from an iClient or from a SCADA server that also functions as an iClient.

The following figure illustrates a SCADA server failover configuration from an iClient.

Figure 2-2: SCADA Server Failover Configuration from an iClient

iClient

PLC

BackupSCADA Node

PrimarySCADA Node

AlarmAcknowledgementSynchronization

Chapter 2. Failover and Redundancy 27

Page 42: Mastering iFIX

The following figure illustrates a SCADA server failover configuration that involves two SCADA servers.

Figure 2-3: SCADA Server Failover Configuration from a SCADA Server

Even in this simple configuration, you want most applications on your iClients referencing the same database. In this example, when PACKER1 and PACKER2 have established a session, PACKER2 accesses information through PACKER1.

In this configuration, automatic failover to the local node occurs if the remote node session is lost. Once the local node is active, only a manual failover will make the remote node active. Refer to the Working with the Network Status Server section for information on initiating a manual failover.

Primary and Backup Groupings

SCADA server failover uses a logical node name to represent the physical names of the primary and backup SCADA nodes. The primary node is the SCADA server you want the iClient to communicate with at startup. The backup node is the SCADA server you want the iClient to communicate with if the primary node becomes unavailable. 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

BackupSCADA Node

AlarmAcknowledgementSynchronization

Local Node Name: PACKER1

PrimarySCADA Node

Local Node Name: PACKER2

28 Mastering iFIX

Page 43: Mastering iFIX

and backup SCADA server names is referred to as the primary and backup grouping. You configure the primary and backup grouping in the SCU of the iClient and of each SCADA server.

For all figures included in this section, the Local Node Names and Local Logical Names are configured in the Local Startup Definition dialog box of the SCU. The primary and backup groupings are configured in the Configured Remote Nodes section of the Network Configuration dialog box of the SCU. The Partner SCADA name, used for alarm acknowledgement synchronization, is configured in the SCADA Name text box in the Partner SCADA section of the SCADA Configuration dialog box in the SCU.

NOTE: Ensure that the local logical node names are defined on the primary and backup SCADA nodes before configuring the primary and backup grouping. Define local logical node names in the Local Startup Definition dialog box of each SCADA node’s SCU.

Configuration Example 1

The following figure provides an example of a primary and backup grouping.

Chapter 2. Failover and Redundancy 29

Page 44: Mastering iFIX

Figure 2-4: Typical Configuration of an iClient with a Primary and Backup SCADA

Configuration Example 2

The following figure shows a configuration that involves two SCADA servers that also serve the iClient function.

Local Node Name: PACKER1Local Logical Name: LGCL_ND1Primary and Backup GroupingLogical Name: LGCL_ND1Primary SCADA: PACKER1Backup SCADA: PACKER2Partner SCADA: PACKER2

PLC

BackupSCADA

PrimarySCADA

Primary and Backup GroupingLogical Name: LGCL_ND1Primary SCADA: PACKER1Backup SCADA: PACKER2

iClient Local Node Name: PACKER2Local Logical Name: LGCL_ND1Primary and Backup GroupingLogical Name: LGCL_ND1Primary SCADA: PACKER1Backup SCADA: PACKER2Partner SCADA: PACKER 1

30 Mastering iFIX

Page 45: Mastering iFIX

Figure 2-5: SCADA Server Configuration with a Backup SCADA

Invalid Configuration Example 1

A SCADA server can only be used in one primary and backup grouping. For example, PACKER2 cannot be part of the primary and backup groupings of both LGCL_ND1 and LGCL_ND2, as illustrated in the next figure. The primary and backup grouping must be used by all iClients that communicate with the SCADA server. In addition, if a SCADA server is part of a primary and backup grouping, it can only be accessed by iFIX iClients, and only as a pair. The nodes in the pair cannot be accessed individually.

The following figure shows invalid primary and backup grouping configuration:

Primary and Backup GroupingLogical Name: LGCL_ND2Primary SCADA: PACKER3Backup SCADA: PACKER4Partner SCADA: PACKER 3

Primary and Backup GroupingLogical Name: LGCL_ND2Primary SCADA: PACKER3Backup SCADA: PACKER4Partner SCADA: PACKER 4

PLC

BackupSCADA

PrimarySCADA

Local Node Name: PACKER3Local Logical Name: LGCL_ND2

Local Node Name: PACKER4Local Logical Name: LGCL_ND2

Chapter 2. Failover and Redundancy 31

Page 46: Mastering iFIX

Figure 2-6: Invalid Primary and Backup Grouping Configuration

To work correctly, the second iClient can be connected in either of the following ways:

• Configured with the logical node name LGCL_ND1 and connected to PACKER1 and PACKER2

• Configured with a different logical node name, such as LGCL_ND2, and connected to two SCADA servers other than PACKER1 and PACKER2, such as PACKER3 and PACKER4

The following figure illustrates the second case.

Primary and Backup GroupingLogical Name: LGCL_ND1Primary SCADA: PACKER1Backup SCADA: PACKER2

PrimarySCADA

Primary and Backup GroupingLogical Name: LGCL_ND2Primary SCADA: PACKER2Backup SCADA: PACKER3

iClient

BackupSCADA

iClient

Local Node Name: PACKER2Local Logical Name: LGCL_ND1Primary and Backup GroupingL i l N LGCL ND1

Local Node Name: PACKER1Local Logical Name: LGCL_ND1Primary and Backup Grouping

32 Mastering iFIX

Page 47: Mastering iFIX

Figure 2-7: Correct Primary and Backup Grouping Configuration

Invalid Configuration Example 2

A SCADA server with a logical node name should only be accessed by clients using the correct logical node name, primary SCADA, and backup SCADA configuration. It is unsupported to access a single SCADA in a SCADA server pair.

The following figure shows invalid SCADA configuration in a SCADA server pair:

Primary and Backup GroupingLogical Name: LGCL_ND1Primary SCADA: PACKER1Backup SCADA: PACKER2

BackupSCADA

PrimarySCADA

BackupSCADA

PrimarySCADA

Primary and Backup GroupingLogical Name: LGCL_ND2Primary SCADA: PACKER3Backup SCADA: PACKER4

iClient iClient

Local Node Name: PACKER1Local Logical Name: LGCL_ND1Primary and Backup GroupingLogical Name: LGCL_ND1Primary SCADA: PACKER1Backup SCADA: PACKER2Partner SCADA: PACKER 2

Local Node Name: PACKER2Local Logical Name: LGCL_ND1Primary and Backup GroupingLogical Name: LGCL_ND1Primary SCADA: PACKER1Backup SCADA: PACKER2Partner SCADA: PACKER 1

Local Node Name: PACKER3Local Logical Name: LGCL_ND2Primary and Backup GroupingLogical Name: LGCL_ND2Primary SCADA: PACKER3Backup SCADA: PACKER4Partner SCADA: PACKER 4

Local Node Name: PACKER4Local Logical Name: LGCL_ND2Primary and Backup GroupingLogical Name: LGCL_ND2Primary SCADA: PACKER3Backup SCADA: PACKER4Partner SCADA: PACKER 3

Chapter 2. Failover and Redundancy 33

Page 48: Mastering iFIX

Figure 2-8: Invalid SCADA Configuration in a SCADA Server Pair

Invalid Configuration Example 3

Only iFIX SCADA servers can be accessed as part of a primary and backup grouping. It is unsupported to access an iFIX SCADA server and a SCADA server using any version of FIX.

The following figure shows an invalid SCADA server configuration that involves an iFIX SCADA server and a FIX version 7.x SCADA server:

Primary and Backup GroupingLogical Name: LGCL_ND1Primary SCADA: PACKER1Backup SCADA: PACKER2

PrimarySCADA

Primary and Backup GroupingRemote SCADA: PACKER1

iClient

BackupSCADA

iClient

Local Node Name: PACKER1Local Logical Name: LGCL_ND1Primary and Backup GroupingLogical Name: LGCL_ND1Primary SCADA: PACKER1Backup SCADA: PACKER2Partner SCADA: PACKER2

Local Node Name: PACKER2Local Logical Name: LGCL_ND1Primary and Backup GroupingLogical Name: LGCL_ND1Primary SCADA: PACKER1Backup SCADA: PACKER2Partner SCADA: PACKER 1

34 Mastering iFIX

Page 49: Mastering iFIX

Figure 2-9: Invalid Version Configuration in a SCADA Server Pair

Configuring SCADA Server Failover

This section provides detailed information on configuring SCADA server failover.

IMPORTANT: iFIX does not synchronize the process databases on the SCADA servers. You must ensure that both databases are identical. If you are using a System Extension Toolkit (STK), make sure the block type and index of each tag referenced on the iClient are identical on both SCADA servers.

Updating the HOSTS File for SCADA Server Failover

NOTE: You only need to update the HOSTS file on your iClient if you are using TCP/IP.

Primary and BackupGroupingLogical Name: LGCL_ND1Primary SCADA: PACKER1Backup SCADA: PACKER2

Primary SCADA(iFIX)

iClient

Backup SCADA(FIX version 6.x)

Local Node Name: PACKER1Local Logical Name: LGCL_ND1Primary and Backup GroupingLogical Name: LGCL_ND1Primary SCADA: PACKER1Backup SCADA: PACKER2Partner SCADA: PACKER2

Local Node Name: PACKER2Local Logical Name: LGCL_ND1Primary and Backup GroupingLogical Name: LGCL_ND1Primary SCADA: PACKER1Backup SCADA: PACKER2Partner SCADA: PACKER 1

Chapter 2. Failover and Redundancy 35

Page 50: Mastering iFIX

If you are using SCADA server failover, you need entries for the node names of the primary and backup SCADA servers. For example, if the physical name of the primary SCADA server is PACKER1 and the backup SCADA server is PACKER2, you need entries for both in your HOSTS file, as shown in the following example:

198.212.170.4 PACKER1198.212.170.6 PACKER2

You must configure the logical node names for the primary and backup SCADA pair in the SCU of each iClient using SCADA server failover.

Configuring the SCADA Server Pair

Use the SCU to configure both SCADA servers in the pair.

Enabling SCADA Server Failover

You can enable SCADA server failover on the iClient by entering a primary and backup grouping in the SCU. By default, SCADA server failover is not enabled.

Disabling SCADA Server Failover

You can disable SCADA server failover by deleting the primary and backup grouping in the SCU and clearing the partner SCADA in the SCADA Configuration dialog box of each SCADA server.

Synchronizing 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 backup SCADA servers. If the clocks are not synchronized and failover occurs, alarms received from the primary and backup 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 Help system for more information.

36 Mastering iFIX

Page 51: Mastering iFIX

Assigning Manual Failover Privileges

The Manual Failover feature allows you to manually initiate failover from the active SCADA server to the non-active SCADA server if security is enabled. Manual Failover privileges are assigned to users or groups who are allowed to manually initiate SCADA failover.

IMPORTANT: LAN redundancy is neither affected by the Manual Failover feature nor controllable by iFIX security.

Refer to the Implementing Security manual for more information on configuring iFIX security.

Understanding LAN Redundancy

When LAN redundancy is enabled, an iFIX iClient establishes and maintains two network paths to the SCADA server. These managed connections are referred to as the active and non-active network paths. iFIX monitors the non-active network path by periodically sending messages to ensure that it remains available.

When the active network path becomes unavailable, iFIX automatically fails over to the non-active network path. You can add links to your pictures to monitor the availability of the non-active path. For more information, refer to the Working with the Network Status Server section.

Multiple LAN support is always enabled when you have more than one available network path. This means that if you have several available and enabled network paths and LAN redundancy is not enabled, iFIX attempts to connect to all available paths and keeps the first successful connection. Any other successful connections are closed.

However, LAN redundancy is not automatically enabled. You must enable this feature on all the nodes on which you want to use LAN redundancy. If LAN redundancy is enabled, iFIX establishes connections on each of the two paths and manages them both. LAN redundancy is only supported on iFIX iClients and SCADA servers, not on nodes running any version of FIX.

Chapter 2. Failover and Redundancy 37

Page 52: Mastering iFIX

LAN Failover Messages

You can use a Network Status Server tag or the messages to identify when a LAN failover has occurred. Refer to the Working with the Network Status Server section for more information.

iFIX sends a message whenever LAN failover occurs. This message never appears at the remote nodes. The following are examples of LAN failover messages for each protocol.

NetBIOS – If you are communicating from an iClient named STATION1 over LANA 3 to a SCADA node named PACKER1, and the session is lost and re-established over LANA 2, the message on the iClient is:

19:24:00.0 [STATION1] Switched network path to node PACKER1 from lana 3 to lana 2

TCP/IP – If you are communicating from an iClient named STATION1 over TCP/IP address 1.1.1.2 to a SCADA node named PACKER1, 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 [STATION1] Connection to [PACKER1] switched to 1.1.1.2 - 1.1.1.5 to 198.212.170.4 - 198.421.103.6

Reading and Writing Data

After a LAN failover occurs, displays continue to update. However, the applications treat LAN failover as a session loss and send application messages to report this condition. You can suppress these application messages.

Historical Collect continues to collect data after session loss and re-establishment. However, you may see a gap in the data for the length of time that it took the LAN failover to occur.

Alarm Handling for LAN Redundancy

The Alarm Startup Queue Service is automatically enabled. This service ensures that alarms are not lost during session loss and reconnection.

38 Mastering iFIX

Page 53: Mastering iFIX

If you are using NetBIOS, the data and alarm sessions may be on separate LANs. If you are using TCP/IP, the data and alarm sessions will always be over the same LAN because they are using the same socket.

LAN Redundancy Configuration

The typical LAN redundancy configuration consists of two network adapter cards in an iClient and two in a SCADA server. This creates two independent network paths, as illustrated in the following figure.

Figure 2-10: Typical LAN Redundancy Configuration

The following figure illustrates an iClient using LAN redundancy with an excluded card. The SCADA server has two network cards and an I/O driver Ethernet card that is excluded from LAN redundancy.

iClient SCADANode

Network Path 1

Network Path 2

Chapter 2. Failover and Redundancy 39

Page 54: Mastering iFIX

Figure 2-11: LAN Redundancy Configuration with an Excluded Card

Configuring LAN Redundancy

This section provides detailed information on configuring LAN redundancy.

Enabling LAN Redundancy

On each computer that uses LAN redundancy, use the SCU to enable both network paths and then to select the Enable LAN Redundancy check box.

Once you enable LAN redundancy in the SCU, you must also update the HOSTS file on each computer for LAN redundancy to work properly.

NOTE: If you are using LAN redundancy in addition to SCADA server failover, you must enable LAN redundancy on the iClient and on each partner SCADA server.

Updating the HOSTS File for LAN Redundancy

NOTE: You only need to update the HOSTS file on your iClient and your SCADA nodes if you are using TCP/IP.

SCADANode

iClient

PLCI/O Driver

Network Card

40 Mastering iFIX

Page 55: Mastering iFIX

After you enable LAN redundancy in the SCU of each computer, you must edit the HOSTS file on each computer to add entries for each network path. The HOSTS file is typically located in the WINNT\System32\drivers\etc directory.

You need an entry for each network card. The names assigned to the second LAN must be the same as the names assigned the first LAN followed by a dash and the letter R (-R). For example, if the network cards on one LAN are STATION1 and PACKER1, the names on the second LAN must be STATION1-R and PACKER1-R, as shown in the following example:

198.212.170.4 STATION1198.421.103.6 PACKER11.1.1.2 STATION1-R1.1.1.5 PACKER1-R

NOTE: If you are using LAN redundancy in addition to SCADA server failover, you must update the HOSTS file on the iClient and on each partner SCADA server.

Refer to the Setting Up the Environment manual for more information on TCP/IP and hosts files.

Disabling LAN Redundancy

Use the SCU to disable LAN redundancy on both nodes.

Optimizing System Performance

To increase efficiency and reduce downtime during failover:

• Disable unnecessary network paths

• Balance network timers and failover time

You may want to disable (or exclude) network paths from LAN redundancy to eliminate a slow or expensive path, or a path that you want to dedicate to a particular function (such as an I/O driver).

Chapter 2. Failover and Redundancy 41

Page 56: Mastering iFIX

Disabling Network Paths

In addition to enabling LAN redundancy, you may also want to disable certain network paths that you do not want to use. If you do this, you must ensure that the configurations are the same on both nodes. For example, you may want to disable network path 1 on both nodes.

Re-Enabling Previously Disabled Network Paths

All paths are enabled by default. However, if you have previously disabled a network path, you can re-enable it.

Balancing Network Timers and Failover Time

While multiple LAN support has one managed connection, LAN redundancy has two managed connections. LAN failover time from the active path to another available path on the same SCADA includes the time required to:

• Detect a connection loss

• Establish or switch low level connections

• Send an iFIX connection establishment message

Because re-establishment of a lost connection occurs over all paths in parallel using the first successful connection, LAN failover after the detection of a lost session takes normal session establishment time.

With LAN redundancy enabled, iFIX establishes and maintains two managed connections. Rebroadcast is unnecessary, allowing faster failover to the good connection in the event of connection loss.

The total downtime when using NetBIOS is the time for the send timer plus the normal session establishment time. The total downtime when using TCP/IP is the greater of the send or receive timer plus the normal session establishment time.

Configuring network session timers reduces the time it takes to detect a connection loss and, consequently, reduces downtime. Refer to the Setting Up the Environment manual for information on customizing network session timers.

42 Mastering iFIX

Page 57: Mastering iFIX

CAUTION: Do not change the session timers unless you fully understand how they work and the consequences of what you are doing. If you make the timers too low, you could lose sessions. If you make them too high, it may take too long to fail over.

Enabling the Alarm Startup Queue Service

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 Startup Queue Service provides the iClient with a list of alarms that occurred on the SCADA server prior to the time the iClient started. Refer to the Implementing Alarms and Messages manual for more information about this service.

Working with the Network Status Server

The Network Status Server (NSS) allows you to write 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

• Manually initiate failover to the non-active SCADA

• Temporarily disable automatic SCADA or LAN failover

• Trigger an event on failover to the non-active 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.

iFIX provides the NSD tag that you can use when designing displays for monitoring and controlling SCADA server 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.

Chapter 2. Failover and Redundancy 43

Page 58: Mastering iFIX

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

Refer to Table 2-1 for more information on the Network Status Server fields.

Initiating Manual Failover to the Non-active SCADA

In addition to automatic SCADA failover, you can also manually force a SCADA failover to occur at any time. For example, you can manually switch to the non-active node when the active node needs to be shut down for maintenance.

If you are using a SCADA server that also functions as an iClient and the local node is active, you must initiate a manual failover to make the remote node active.

To perform a manual failover, write to the A_CURACTIVENODE or F_CURACTIVENODE Network Status Server field. A 0 in this field indicates that the primary node is the active node; a 1 indicates that the backup node is the active node.

Refer to Table 2-1 for more information on the Network Status Server fields.

Temporarily Disabling Automatic Failover

You may want to temporarily disable automatic failover when network connections are unreliable.

To temporarily disable automatic failover to the non-active SCADA, write to the A_FAILDISABLE or F_FAILDISABLE Network Status Server field. A 0 in this field indicates that automatic SCADA failover is enabled if it is configured; a 1 disables automatic SCADA failover. Manual failover is still possible.

To temporarily disable automatic LAN failover on a per connection basis, write to the A_LANFAILDSABL or F_LANFAILDSABL Network Status Server field. For F_LANFAILDSABL, 0 indicates that automatic LAN failover is enabled if it is configured; a 1 disables automatic LAN failover. For A_LANFAILDSABL, Enabled indicates that automatic LAN failover is enabled if it is configured; Disabled indicates automatic LAN failover is disabled.

Refer to Table 2-1 for more information on the Network Status Server fields.

44 Mastering iFIX

Page 59: Mastering iFIX

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 once 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.

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.

Refer to Table 2-1 for more information on the Network Status Server fields.

Using the iFIX Diagnostic Display

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 backup node is the active node.

NOTE: If you want to use the NSD picture on an iClient, you must first Search and Replace all instances of THISNODE with the local iClient name.

The NetworkStatusDisplay.GRF file is provided in the Picture path of your iClient. You need to modify this file to reference your local node name.

Chapter 2. Failover and Redundancy 45

Page 60: Mastering iFIX

Accessing SCADA Servers Using True Links

If you want to read data from or write data to a specific SCADA server, you can access it by using its physical node name. Links that use the physical node name are referred to as true links. The SCADA server can be active or non-active, but a session must be established to it.

If a diagnostic display shows data from a SCADA server using true links, data will not be available at the iClient if communication with that SCADA server is lost.

Reading Data

Displays 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 backup 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. When 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 Dynamics\Local directory, to include error number 1914. Once you have edited this file you must restart the Intellution iFIX WorkSpace for the change to take effect.

When the iClient switches to the non-active 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 non-active node becomes the active node and the failed node becomes the non-active 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.

46 Mastering iFIX

Page 61: Mastering iFIX

[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 Error Defaults tab in the Users Preference dialog box of the Intellution WorkSpace.

Creating Displays Using Logical and Physical Node Names

You can use either the logical or physical node name in displays to access data. This section explains the impact of using one or the other and uses the Intellution 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 on the logical SCADA always attempt to display data from the active SCADA, regardless of whether it is the primary or backup 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 (and a session is established to it), you can read data from and write data to both the primary and backup SCADA, regardless of which one is active. Links that use the physical node name are referred to as true links. The picture displays data from the physical SCADA server specified. If communication with that SCADA server is lost, the data from the true links will not be available at the iClient after failover.

NOTE: If you are using logical node names and SCADA server failover, you must ensure that the tags and fields are the same on both the backup and primary SCADA databases. If they are different, the message, “Tag not found” is displayed when failover occurs.

For example, if the link to logical SCADA PACKER1 is PACKER1.DI_VALVE_OPEN.F_CV, and a failover to PACKER2 occurs, then the picture displays the data from PACKER2.DI_VALVE_OPEN.F_CV.

Network Status Server Fields

The following table lists the fields that are available in the NSS.

Chapter 2. Failover and Redundancy 47

Page 62: Mastering iFIX

Zero-based NSD Fields

In the table, _0 through _100 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 100 node names in the SCU, _1 through _100 typically correspond to the ordering of the names in the SCU. However, any primary and backup grouping in the SCU that contains the local node name is always located at index _0.

One-based NSD Fields

If the field is 1-based, when _1 is appended to a field name, the information pertains to the local node. _2 through _100 typically correspond to the ordering of the names in the SCU. Any primary and backup grouping in the SCU that contains the local node name is located at index _1.

Table 2-1: Network Status Server (NSS) Fields

Field Name Description

A_ACONNREASON_0 through A_ACONNREASON_100

The current state of the connection to the active node. This is either “Established” or text describing the current state.

A_ACTIVEPATH_0 through A_ACTIVEPATH_100

F_ACTIVEPATH_0 through F_ACTIVEPATH_100

Indicates if the active path is the primary or backup path.

A 0 in this field indicates that the primary path is the active path; a 1 indicates that the backup path is the active path.

A_ACTIVESCADA_1 through A_ACTIVESCADA_100

Active SCADA server name, which can be either the primary or backup node name.

A_ACTIVESTATUS_0 through A_ACTIVESTATUS_100

F_ACTIVESTATUS_0 through F_ACTIVESTATUS_100

Status of the connection to the active SCADA (OK or an error code). It will be one of the primary, logical, or backup statuses.

A_ALOCALADDR_0 through A_ALOCALADDR_100

This is for the active network connection. For TCP/IP, displays the local IP address used to reach the remote node. For NetBIOS, it is the LANA number.

48 Mastering iFIX

Page 63: Mastering iFIX

A_APATHSTATUS_0 through A_APARTHSTATUS_100

F_APATHSTATUS_0 through F_APATHSTATUS_100

Status of the connection over the active path. This is either the primary or backup status.

A_AREMOTEADDR_0 through A_AREMOTEADDR_100

This is for the active network connection. For TCP/IP, displays the IP address of the remote node. For NetBIOS, this field is empty.

A_BACKUPPATH_0 through A_BACKUPPATH_100

Backup network path.

When using LAN redundancy, it shows the paths per connection. When iFIX is using NetBIOS, it is the LANA number. For TCP/IP it is the IP address.

A_BACKUPSCADA_0 through A_BACKUPSCADA_100

Backup SCADA server name for this connection.

A_BACKUPSTATUS_0 through A_BACKUPSTATUS_100

F_BACKUPSTATUS_0 through F_BACKUPSTATUS_100

Status of the connection to the backup SCADA (OK or an error code).

A_BCONNREASON_0 through A_BCONNREASON_100

The current state of the connection to the backup node. This is either “Established” or text describing the current state.

A_BLOCALADDR_0 through A_BLOCALADDR_100

This is for the backup network connection. For TCP/IP, displays the local IP address used to reach the remote node. For NetBIOS, it is the LANA number.

A_BPATHSTATUS_0 through A_BPATHSTATUS_100

F_BPATHSTATUS_0 through F_BPATHSTATUS_100

Status of the connection to the backup network path.

A_BREMOTEADDR_0 through A_BREMOTEADDR_100

This is for the backup network connection. For TCP/IP, displays the IP address of the remote node. For NetBIOS, this field is empty.

Table 2-1: Network Status Server (NSS) Fields (continued)

Field Name Description

Chapter 2. Failover and Redundancy 49

Page 64: Mastering iFIX

A_CONNDIRECTION Indicates whether the connection is incoming or outgoing.

–> if outgoing.

<– if incoming.

<–> if both outgoing and incoming.

A_LANFAILDSABL_0 through A_LANFAILDSABL_100

Enabled in this field indicates that LAN redundancy is enabled if it is configured; Disabled indicates LAN redundancy is disabled.

Use this field to disable LAN redundancy on a per connection basis.

A_LOCALNAME Displays the local physical node name.

A_LOGICALNAME_0 through A_LOGICALNAME_100

Logical SCADA server name for this connection. (Same as A_LOGICALSCADA and retained for backwards compatibility.)

A_LOGICALSCADA_0 through A_LOGICALSCADA_100

Logical SCADA server name for this connection.

A_LOGICALSTATUS_0 through A_LOGICALSTATUS_100

F_LOGICALSTATUS_0 through F_LOGICALSTATUS_100

Status of the connection to the logical SCADA (OK or an error code).

A_NETNAME_0 through A_NETNAME_100

Name used to connect to the remote node. For TCP/IP it is the remote node name. For NetBIOS, _FIX, _SRV, or _DMACS may be appended to the remote node name.

A_PCONNREASON_0 through A_PCONNREASON_100

The current state of the connection to the primary node. This is either “Established” or text describing the current state.

A_PLOCALADDR_0 through PLOCALADDR_100

This is for the active network connection. For TCP/IP, displays the local IP address used to reach the remote node. For NetBIOS, it is the LANA number.

Table 2-1: Network Status Server (NSS) Fields (continued)

Field Name Description

50 Mastering iFIX

Page 65: Mastering iFIX

A_PPATHSTATUS_0 through A_PPATHSTATUS_100

F_PPATHSTATUS_0 through F_PPATHSTATUS_100

Status of the connection over the primary network path.

A_PREMOTEADDR_0 through A_PREMOTEADDR_100

This is for the active network connection. For TCP/IP, displays the IP address of the remote node. For NetBIOS, this field is empty.

A_PRIMARYPATH_0 through A_PRIMARYPATH_100

Primary network path.

When using LAN redundancy, it shows the paths per connection. When iFIX is using NetBIOS, it is the LANA number. For TCP/IP it is the IP address.

A_PRIMARYSCADA_0 through A_PRIMARYSCADA_100

Primary SCADA server name for this connection.

A_PRIMARYSTATUS_0 through A_PRIMARYSTATUS_100

F_PRIMARYSTATUS_0 through F_PRIMARYSTATUS_100

Status of the connection to the primary SCADA (OK or an error code).

A_PROTOCOL Displays the current protocol (NetBIOS or TCP/IP) that iFIX is using for networking.

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.

F_CURACTIVENODE_0 through F_CURACTIVENODE_100

A_CURACTIVENODE_0 through A_CURACTIVENODE_100

Indicates if the active node is the primary or backup SCADA.

A 0 in this field indicates that the primary SCADA is the active node; a 1 indicates that the backup SCADA is the active node.

You can write to this field to perform a manual failover.

Table 2-1: Network Status Server (NSS) Fields (continued)

Field Name Description

Chapter 2. Failover and Redundancy 51

Page 66: Mastering iFIX

F_FAILDISABLE_0 through F_FAILDISABLE_100

A_FAILDISABLE_0 through A_FAILDISABLE_100

SCADA server failover state.

A 0 in this field indicates that SCADA server failover is enabled if it is configured; a 1 disables SCADA server failover. Manual failover will still be possible.

You can write to this field to disable automatic failover to the non-active SCADA on a per-connection basis.

F_FAILOVER_0 through F_FAILOVER_100

A_FAILOVER_0 through A_FAILOVER_100

This field is set to 1 on automatic or manual SCADA failover. You must reset it to 0 to receive notification of subsequent failovers.

You can read to this field to trigger an event on SCADA failover.

F_FAILOVERMANL_0 through F_FAILOVERMANL_100

Total number of manual failovers to this node since iFIX startup.

F_FAILOVERTOTAL_0 through F_FAILOVERTOTAL_100

Total number of failovers (automatic and manual) 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 non-zero if any F_LANFAILOVER_# field is set to non-zero.

F_LANFAILDSABL_0 through F_LANFAILDSABL_100

A 0 in this field indicates that LAN redundancy is enabled if it is configured; A 1 indicates LAN redundancy is disabled.

Use this field to disable LAN redundancy on a per connection basis.

F_LANFAILOVER_0 through F_LANFAILOVER_100

A_LANFAILOVER_0 through A_LANFAILOVER_100

This field is set to 1 on LAN failover. You must reset it to 0.

F_LANFLOVRTOTAL_0 through F_LANFLOVRTOTAL_100

Total number of automatic failovers to this path since iFIX startup. Session losses that are re-established over the same network path are not included.

Table 2-1: Network Status Server (NSS) Fields (continued)

Field Name Description

52 Mastering iFIX

Page 67: Mastering iFIX

Troubleshooting

This section provides information for troubleshooting problems that you may encounter when you are implementing iFIX failover and redundancy.

Problem

Nodes are not connecting for LAN redundancy.

• Check the SCU configuration and ensure that both nodes have the same network paths enabled. Refer to the Setting Up the Environment manual for more information.

• Check the hosts file and ensure that the name assigned to the second LAN is the same as the names assigned to the first LAN followed by a dash and the letter R (-R). Refer to the Updating the HOSTS File for LAN Redundancy section for more information.

Problem

Alarms are being lost during failover periods.

Make sure that the Alarm Startup Queue is enabled and that the queue size is large enough to handle the alarms. Refer to the Implementing Alarms and Messages manual for more information on this service.

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_TRANSACTTIME_0 through F_TRANSACTTIME_100

Indicates the amount of time, in milliseconds, that it took this iClient to get data from the SCADA server the last time data transfer occurred.

Table 2-1: Network Status Server (NSS) Fields (continued)

Field Name Description

Chapter 2. Failover and Redundancy 53

Page 68: Mastering iFIX

Problem

Alarms are missing from the summary link or alarms appear and disappear in the alarm summary link.

Make sure that the Alarm Summary Queue on the node is twice big as it would normally be if the node were not part of a SCADA server failover pair. For example, if you are generating 500 alarms, the Alarm Summary Queue must be set to 1000. Refer to the Implementing Alarms and Messages manual for more information on queue sizes.

Problem

Alarms that were acknowledged need to be re-acknowledged after failover.

Ensure that the Partner SCADA field has been checked in the SCADA server's SCU. Refer to the Setting Up the Environment manual for information on configuring the SCU.

Problem

The iClient using logical node names cannot connect to a partner SCADA.

Make sure that the iClient is using the correct logical, primary, and backup names. Refer to the Configuring SCADA Server Failover section.

Problem

Alarm acknowledgement synchronization is not occurring.

Make sure that alarm acknowledgement synchronization is enabled in the SCU. Once alarm acknowledgement synchronization is enabled, you can confirm that it is working using Mission Control. Refer to the Setting Up the Environment manual for more information.

Problem

Failover takes a long time.

54 Mastering iFIX

Page 69: Mastering iFIX

Adjust the session timers. Refer to the Setting Up the Environment manual for more information.

Chapter 2. Failover and Redundancy 55

Page 70: Mastering iFIX

56 Mastering iFIX

Page 71: Mastering iFIX

3. Local Node Alias

The local node alias feature allows iFIX local SCADA nodes to share pictures, recipes, and historical collection groups across nodes without changing the node name. When you use this feature, you can create generic pictures and recipes and save development and maintenance time.

Enabling Local Node Alias

Before you can use the local node alias features you must enable the local node alias feature in the SCU.

Using Local Node Alias

Once you have enabled the local node alias feature, you can use the THISNODE placeholder in the node portion of the tagname (NODE.TAG.FIELD). iFIX substitutes the local physical node name for the THISNODE placeholder, increasing the portability of pictures and recipes and eliminating the need to change tagname references for different nodes. The system tree in the Intellution WorkSpace always shows the actual node represented by the THISNODE placeholder.

If, for example, you have ten production lines that produce similar products, you can create one generic display that can access real-time data from any of the ten lines. By using the THISNODE placeholder, if you need to change the display, you only need to make the change once. Refer to the Setting Up the Environment manual for more information.

Local Node Alias Examples

The local node alias feature can be used for pictures, recipes, and historical collection groups, as illustrated in the following examples.

Chapter 3. Local Node Alias 57

Page 72: Mastering iFIX

Picture Example

Assume that you have a Data link in a picture that is configured with the tagname FIX32.THISNODE.AI-1.F_CV, and your local SCADA node name is CANLINE1. When you open the picture, the Data link behaves as if it were configured as FIX32.CANLINE1.AI-1.F_CV. If you open the same picture on a different computer whose local SCADA node name is CANLINE2, the Data link’s tagname resolves to FIX32.CANLINE2.AI-1.F_CV.

Recipe Example

Assume that you have two SCADA nodes: FERMENTER1 and FERMENTER2. The recipes Beer1 and Beer2 are used to make beer and download to FERMENTER1 and FERMENTER2, respectively. The Beer1 recipe defines the following items:

The Beer2 recipe is identical except for the node name:

Identifier Formula

FERMENTER1:ILK1.F_CV 0

FERMENTER1:XCV1F1.F_CV 0

FERMENTER1:W16S1.F_CV 150

FERMENTER1:T16F.F_CV 55

FERMENTER1:K16F1.F_CV 132

Identifier Formula

FERMENTER2:ILK1.F_CV 0

FERMENTER2:XCV1F1.F_CV 0

FERMENTER2:W16S1.F_CV 150

FERMENTER2:T16F.F_CV 55

FERMENTER2:K16F1.F_CV 132

58 Mastering iFIX

Page 73: Mastering iFIX

In this implementation, both recipes are required because each recipe has hard-coded node name references. The local node alias feature eliminates the need for two recipes. Instead, you can create one recipe for both SCADA nodes, as shown in the following example:

After you create this recipe, share the directory that it resides in and map the recipe paths of both SCADA servers to the shared directory. For information on changing the recipe paths, refer to the Creating Recipes manual.

Historical Collection Group Example

Assume that you want to create a chart using the tank level and tank temperature from the two SCADA nodes in the Recipe example. On FERMENTER1 these tagnames are:

Identifier Formula

THISNODE:ILK1.F_CV 0

THISNODE:XCV1F1.F_CV 0

THISNODE:W16S1.F_CV 150

THISNODE:T16F.F_CV 55

THISNODE:K16F1.F_CV 132

Identifier Formula

Tank Level FIX32.FERMENTER1.AI_LEVEL.F_CV

Tank Temperature FIX32.FERMENTER1.AI_TEMP.F_CV

Chapter 3. Local Node Alias 59

Page 74: Mastering iFIX

On FERMENTER2 these tagnames are:

When you define the pens for the chart, use the following data sources: FIX32.THISNODE.AI_LEVEL.F_CV and FIX32.THISNODE.AI_TEMP.F_CV.

If you open the chart on FERMENTER1, the tagnames resolve to FIX32.FERMENTER1.AI_LEVEL. F_CV and FIX32.FERMENTER1.AI_TEMP.F_CV.

If you open it on FERMENTER2, the tagnames resolve to FIX32.FERMENTER2.AI_LEVEL. F_CV and FIX32.FERMENTER2.AI_TEMP.F_CV.

Identifier Formula

Tank Level FIX32.FERMENTER2.AI_LEVEL.F_CV

Tank Temperature FIX32.FERMENTER2.AI_TEMP.F_CV

60 Mastering iFIX

Page 75: Mastering iFIX

4. Reporting

Detailed reports are important tools for reviewing the performance of a process. They allow you to quickly grasp the relationships between specific pieces of manufacturing process data so that you can make effective decisions. Using any third-party reporting application that supports ODBC queries, you can create customized reports based on iFIX real-time and historical data. When you use iFIX real-time data, you generate the report with current data extracted from a FIX® database. When you create a report using iFIX historical data, you generate the report based on data gathered over a period of time.

Once generated, reports can be printed or displayed in the Intellution WorkSpace. The ability to display reports directly in the Intellution WorkSpace allows you to quickly view a report from any number of nodes in your system, greatly reducing the time it takes for you to make informed decisions about your process.

For your reporting solution, we recommend using Crystal Reports® Professional Version 8.5. This reporting application uses ODBC to access iFIX data sources, allowing you to create professional, customized reports. The Report Experts included in Crystal Reports make the process of defining your query and designing the layout of your report quick and easy. This application provides unlimited sorting capability and lets you insert informative graphs that help you to effectively analyze your process data. Once created, your queries can be saved so you can quickly generate future reports based on these predefined queries.

Crystal Reports v8.5 run-time DLL installation is included on the iFIX CD. These DLLs allow you to enable the target system to execute Crystal Reports without requiring a development copy to reside on each node.

For complete information on using Crystal Reports, refer to the Crystal Reports documentation.

iFIX Report Experts

iFIX provides you with two Report Experts that can be used in conjunction with Crystal Reports: Print Crystal Report and Print Crystal Report Expert. To use these Experts, you must add them to the toolbox or to one of the existing toolbars. You can

Chapter 4. Reporting 61

Page 76: Mastering iFIX

also create a new toolbar with the Report Experts on it. For more information on toolbars, refer to the Understanding Toolbars section of the Understanding iFIX manual.

Using the Report Experts

To use the Report Experts, make sure you have Crystal Reports Professional Version 8.5 installed on your computer. Once you have created a report and selected the data sources you want to use in Crystal Reports, you can use the Report Experts to generate or print the report.

NOTE: The Crystal Reports run-time file (provided with iFIX) must be installed in order to print a report. The Crystal Reports Professional edition does not provide VBA scripting support, such as the .DLL file needed to print a report.

The fixodbc.ini file, located in the Local path, can be edited to work with Crystal Reports. You can add or delete fields that are to be included in Crystal Reports real-time queries, such as A_TAG, A_NAME, or A_NODE. Historical queries are not affected by the fixodbc.ini file.

Print Crystal Report

The Print Crystal Report button lets you print Crystal Reports in the configuration environment.

To print a report using the Print Crystal Report button:

[1] Click the Print Crystal Report button on the toolbox.

NOTE: If this button is not present, you can display it by following the steps outlined in the Displaying the Print Crystal Report Button If It Appears Missing section.

[2] Click the Select Report button and select the Crystal Report you want to print.

[3] Click the Preview button to view the report on your monitor and then click OK.

[4] Select the print range and click OK.

62 Mastering iFIX

Page 77: Mastering iFIX

Displaying the Print Crystal Report Button If It Appears Missing

If you want to display the Print Crystal Report button in the toolbar, if it is not already displayed, use the Customize Toolbars dialog box.

To display the Print Crystal Report button, follow these steps:

[1] Select Toolbars from the WorkSpace menu. The Toolbars dialog box appears.

[2] Select WorkSpace from the Owners list.

[3] Click the Customize button. The Customize Toolbars dialog box appears.

[4] Click the Buttons tab.

[5] Select Report Tasks from the list of Categories.

[6] Drag and drop the button with the printer icon from the Buttons area of this dialog box to the iFIX toolbox.

[7] Click Close.

Print Crystal Report Expert

The Print Crystal Report Expert lets you write the PrintReport script found in Factory-Globals to an object’s click event. Once this is done, you can print the selected Crystal Report in the run-time environment by clicking on the object.

To tie the PrintReport script to an object’s click event using the Print Crystal Report Expert:

[1] Click on an object in the Intellution WorkSpace.

[2] Click the Print Crystal Report Expert on the toolbox.

[3] Click the Select Report button and select the Crystal Report you want to tie to the object’s click event.

[4] Select the desired print range and click OK.

Chapter 4. Reporting 63

Page 78: Mastering iFIX

You can also use the Print Crystal Report Expert to write the PrintReport script to an entry in a schedule. Refer to the Script Authoring Experts section for more information on using Script Authoring Experts in a schedule.

NOTE: The Crystal Reports run-time file (provided with iFIX) must be installed if you want to print a report from a schedule, since the Crystal Reports Professional edition does not provide VBA scripting support.

Sample Report

The following is an example of a Crystal Report that was created using iFIX historical data. This report could be either printed or viewed directly in the Intellution WorkSpace.

64 Mastering iFIX

Page 79: Mastering iFIX

Thursday 3/19/2003

Color:Blue Finish Time Mixer Quantity Batch ID

11:00:23AM MIXER1 649 6

10:59:32AM MIXER1 300 5

10:50:40AM MIXER1 1,000 2

Blue Total:

1,949 3

Color:Green Finish Time Mixer Quantity Batch ID

10:57:42AM MIXER1 1,000 4

Chapter 4. Reporting 65

Page 80: Mastering iFIX

Figure 4-1: Sample Crystal Report

10:49:14AM MIXER1 873 1

Green Total:

1,873 2

Color:Red Finish Time Mixer Quantity Batch ID

10:56:46AM MIXER1 800 3

Red Total:

800 1

Grand Total:

4,622 6

66 Mastering iFIX

Page 81: Mastering iFIX

5. The Cross Reference Tool

The Cross Reference Tool is an iFIX utility that allows you to create a report identifying every data source or occurrence of a data source in pictures, scripts, schedules, or a User Global. Using the Cross Reference Tool, you can also locate a text string in object names, property names, and property values. By default, the report results display in the Cross Reference Tool interface. Additionally, the Cross Reference Tool provides options that allow you to configure the report to automatically print or save upon report completion.

This chapter describes the Cross Reference Tool interface and its functionality including:

• Understanding the Cross Reference Tool

• Using the Report Wizard or the Quick Report

• Exploring the Cross Reference Tool Interface

• Creating Quick Reports

• Creating Reports Using the Cross Reference Report Wizard

• Viewing the Report Results

• Selecting Print Options and Printing a Report

• Creating a Cross Reference Tool Report from the Command-Line

Understanding the Cross Reference Tool

The Cross Reference Tool allows you to identify where tags are used within iFIX pictures, scripts, schedules, and tag groups. Additionally, you can also perform a search to find a text string. Once you select which type of search you would like to perform and define additional search options, the Cross Reference Tool creates a report that details the objects, properties, and property values that are related to that tag or text string.

Chapter 5. The Cross Reference Tool 67

Page 82: Mastering iFIX

You can create three types of searches using the Cross Reference Tool:

• All Tags

• One Tag

• Text

For detailed information regarding the report results of each search, refer to Viewing the Report Results.

For information on displaying the results of a search that includes VBA scripts or that resolves tag substitutions with Tag Group files, refer to the Viewing a Search that Includes VBA Scripts and Viewing a Search that Resolves Tags Using All Tag Group Files sections.

Searching for All Tags

The All Tags search type returns a list of all the tags in the selected object, picture, schedule, or User Global. This search returns a list that displays the name of the object that references the tag (Object column), the property of that tag (Property column), and the tag itself (Current Value column), as shown in Figure 5-1.

Figure 5-1: Report Results of a Search for All Tags

Searching for One Tag

The One Tag search type searches for a specific tag in the selected object, picture, schedule, or User Global, and all tag group files. You can enter a string in the Tag field or click the Browse (…) button to open the Expression Editor.

68 Mastering iFIX

Page 83: Mastering iFIX

TIP: You can also search using a partial tag name. For example, entering AI would find AI1 and TANKAI.

The One Tag search also allows you to perform a find on an object in an object to object connection. Using the Cross Reference Tool report results, you could then determine which object required modification and make the change manually.

This search returns the name of the object that references the tag (Object column), the property type (Property column), and the tag name (Current Value column). For example, Figure 5-2 displays a One Tag search on the partial tag name ACTIVESTATUS.

Figure 5-2: Report Results for a One Tag Search

Searching for Text

The Text search type searches for a text string in the object names, property names, and property values of selected object, picture, schedule, or User Global.

Leave <ALL> in the Text field to display all object names, property names, and property values. To search for a specific text string, enter text that would appear in the either the object name, property, or property value.

NOTE: Do not use a * wildcard in this field. Entering a wildcard returns a Search completed with no output error.

Chapter 5. The Cross Reference Tool 69

Page 84: Mastering iFIX

The Text search returns the object name, property, and property value in the Report Results section. If the Cross Reference Tool finds the text string in the object name, all of the object properties are listed in the Property column. For example, Figure 5-3 displays a Text search on the Text string FOREGROUNDCOLOR:

Figure 5-3: Report Results of a Text Search

Using the Report Wizard or the Quick Report

The Cross Reference Tool offers two utilities to create a report: the Quick Report dialog box and the Cross Reference Report Wizard. The Quick Report dialog box allows you to select from the most common Cross Reference Tool search features on one picture, schedule, User Global, or object listed in the Object Tree.

The Cross Reference Report Wizard allows you to search on multiple files and configure automatic saving and printing options. Use the following feature lists to help you determine when to use each tool.

70 Mastering iFIX

Page 85: Mastering iFIX

Quick Report Features

The Quick Report dialog box allows you to do the following:

• Search for all tags, one tag, or a text string in the selected picture, schedule, user global page, or object.

• Display the search results in the Report Results screen. Once the search completes, you can manually print out the results or choose to save the search results to a .CSV, .HTM, .XLS, or .TB2 file.

• Resolve tags during a search using all tag group files.

• Search through VBA scripts.

• Include a summary of the report at the end of the report.

• Automatically resize report columns.

• Append results to the Status Trail.

For more information, refer to Creating Quick Reports.

Chapter 5. The Cross Reference Tool 71

Page 86: Mastering iFIX

Cross Reference Report Wizard Features

The Cross Reference Report Wizard allows you to do the following:

• Search for all tags, one tag, or a text string in the selected picture, schedule, user global page, or object.

• Select multiple files to search through and arrange them in a specific order.

• Resolve tags during a search using all tag group files.

• Search through VBA scripts.

• Configure report settings options, including:

• Automatically save report to file.

• Automatically save a status trail as a file.

• Automatically print the report upon generation.

• Include a summary of the report at the end of the report.

• Automatically resize report columns.

For more information, refer to Creating Reports Using the Cross Reference Report Wizard.

Exploring the Cross Reference Tool Interface

To open the Cross Reference Tool, click the Cross Reference Tool button, shown in Figure 5-4.

Figure 5-4: Cross Reference Tool Toolbar Button

The Cross Reference Tool interface includes the following sections:

72 Mastering iFIX

Page 87: Mastering iFIX

Object Tree – Displays pictures, schedules, and User Globals that are currently opened in the iFIX WorkSpace. You can select a file or select an object within that file.

NOTE: If you have opened new files in the WorkSpace since opening the Cross Reference Tool, you will need to refresh the tree in order to see them displayed. To do this, click the Refresh button in the Cross Reference Tool Toolbar.

Report Results Area – Displays the results of the search. Refer to Viewing the Report Results for more information.

Status Trail – Displays the detailed status of the report, including error messages. Refer to Viewing the Status Trail for more information.

Figure 5-5 displays the Cross Reference Tool interface.

Chapter 5. The Cross Reference Tool 73

Page 88: Mastering iFIX

Figure 5-5: The Cross Reference Tool Window

74 Mastering iFIX

Page 89: Mastering iFIX

Using the Cross Reference Tool Toolbar

You can quickly access many of the Cross Reference Tool features in the Cross Reference Tool toolbar. Table 5-1 describes the functions of the Cross Reference Tool toolbar buttons.

Table 5-1: Cross Reference Tool Toolbar Buttons

Use this button...

To...

Open the Quick Report dialog box.

For more information, refer to Creating Quick Reports.

Save the currently displayed report. Available files types include *.CSV, *.HTM, *.XLS, or *.TB2.

NOTE: Microsoft Excel enforces a maximum row limit of 65536. If you try to save a report that exceeds this row limitation in Excel, you will be prompted to continue or cancel. Please be aware that rows exceeding that limitation may be lost if you select either option.

Open the Print dialog box to configure print settings and print the currently displayed report.

For more information, refer to Selecting Print Options and Printing a Report.

Refresh the Object Tree.

If you have opened new files in the WorkSpace since opening the Cross Reference tool, you will need to refresh the tree in order to see them.

Open the Font dialog box. This dialog box allows you to specify font type, size, and style.

Chapter 5. The Cross Reference Tool 75

Page 90: Mastering iFIX

Creating Quick Reports

The Quick Report dialog box, shown in Figure 5-6, appears when you open the Cross Reference Tool. In addition to allowing you to select a search type, the Quick Report dialog box also allows you to select the following search, report, and view options:

Search Options

Resolve Tags using All Tag Group Files – If the selected file or object contains Tag Group symbols, this option resolves those symbols by attempting to match symbols with all Tag Group Definition files and finds all substitutions. This option is available for all search types.

Include VBA Scripts in Search – Allows the Cross Reference Tool to search through scripts within the selected file for the tag(s) or text.

Report Option

Include Summary – Adds a summary report to the end of the Cross Reference Report detailing the number of objects and tags searched.

View Options

Automatically Resize Report Columns – Automatically resizes the columns in the Report results to accommodate the text.

Open the Report Wizard dialog box.

For more information, refer to Creating Reports Using the Cross Reference Report Wizard.

Open the Cross Reference Tool Help.

Table 5-1: Cross Reference Tool Toolbar Buttons (continued)

Use this button...

To...

76 Mastering iFIX

Page 91: Mastering iFIX

Append to Status Trail – If enabled, the status trail adds any new tracking information to the existing status trail. If disabled, each time the Report runs, all previous tracking information is overwritten by the new status trail.

Figure 5-6: The Quick Report Dialog Box

To create a report using the Quick Report dialog box, perform the following steps:

[1] Select a file or object in the Object Tree.

[2] Select the desired search settings in the Quick Report dialog box.

Chapter 5. The Cross Reference Tool 77

Page 92: Mastering iFIX

[3] Click the Search button.

NOTE: You cannot access the iFIX WorkSpace while the Cross Reference Tool generates a report. Once the report completes, you will be able to access the iFIX WorkSpace again.

You can also double-click an object or file in the Object Tree to run a Quick Report. This runs the Quick Report using the default settings or the settings of your last report.

The results of the Quick Report display in the Report Results section of the Cross Reference Tool. You can save or print the report manually using the appropriate toolbar buttons.

Creating Reports Using the Cross Reference Report Wizard

The Cross Reference Report Wizard, shown in Figure 5-7, walks you through the process of creating a Cross Reference Report. The Cross Reference Report Wizard allows you to search through multiple files, and then configure the report to automatically print or save upon report completion.

To create a report using the Cross Reference Report Wizard, perform the following steps:

[1] Select what you want to search for and specify search options. How?

[2] Choose which files the Cross Reference Tool searches and modify the search order. How?

[3] Select whether the report results are automatically saved or printed and modify additional output options. How?

[4] Review the wizard settings and run the report. How?

Specifying Search Settings

The Search Settings tab of the Cross Reference Report Wizard, shown in Figure 5-7, allows you to select the type of search that the report runs and specify the following search options:

78 Mastering iFIX

Page 93: Mastering iFIX

Resolve Tags using All Tag Group Files – If the selected file or object contains Tag Group symbols, this option resolves those symbols by attempting to match symbols with all Tag Group Definition files and finding all substitutions. This option is available for all search types.

Include VBA Scripts in Search – Allows the Cross Reference Tool to search through scripts within the selected files for the tag(s).

Figure 5-7 displays the Search Settings tab of the Cross Reference Report Wizard.

Figure 5-7: Cross Reference Report Wizard - Search Settings Tab

Specifying Multiple Files for the Report

The Files tab of the Cross Reference Report Wizard, shown in Figure 5-8, allows you to select multiple files to search and allows you to arrange those files in a specific search order.

Chapter 5. The Cross Reference Tool 79

Page 94: Mastering iFIX

Figure 5-8: Cross Reference Report Wizard - Files Tab

The Select Files list displays all pictures and User Global files in the Dynamics/PIC folder, all schedules in the Dynamics/PDB folder, the User.fxg file, and any .EVS files. If any of the selected files are not opened in the WorkSpace, the Cross Reference Tool opens these files during report generation. Once the report finishes, these files are closed.

NOTE: Clicking the Select All button will select all files listed in the Files tab except: ChartGroupDemo.grf, LocalAsBackup.grf, LocalAsPrimary.grf, NetworkStatusDisplay.grf, and NetworkStatusRedundancyDisplay.grf.

The Cross Reference Tool processes files from top to bottom in the list. You can re-arrange the order in which the files are processed by selecting a file and clicking the up or down arrow button to move a selected file up or down in the list.

80 Mastering iFIX

Page 95: Mastering iFIX

Specifying Report Settings Options

By default, the Cross Reference Tool displays the results of a search in the Report Results section of the Cross Reference Tool. The Report Settings tab of the Cross Reference Report Wizard, shown in Figure 5-9, allows you to specify the following output options in addition to the default display:

Save Report to File – Automatically saves the report when the report generation completes. You can save the report to the default file and location listed, enter one directly into the Save Report to File field, or click the Browse (…) button to locate a file or path.

Available file types include *.CSV, *.HTM, *.XLS, or *.TB2.

NOTE: Microsoft Excel enforces a maximum row limit of 65536. If you try to save a report that exceeds this row limitation in Excel, you will be prompted to continue or cancel. Please be aware that rows exceeding that limitation may be lost if you select either option.

Save Status Trail – Saves the status trail information when the report completes. You can save the report to the default file and location listed, enter one directly into the Save Status Trail field, or click the Browse (…) button to locate a file or path.

The available file type is *.TXT.

Print Report – Automatically prints the report when complete. Click the Advanced button to modify the Print settings. Refer to Selecting Print Options and Printing a Report for more information.

Chapter 5. The Cross Reference Tool 81

Page 96: Mastering iFIX

Figure 5-9: Cross Reference Report Wizard - Report Settings Tab

Additionally, the Report Settings tab also allows you to set the following report and view options:

Include Summary – Adds a summary report to the end of the report that details the number of objects and tags searched.

Automatically Resize Report Columns – Automatically resizes the columns in the Report Results section to accommodate the text.

Reviewing the Report Settings

The Apply and Go tab, shown in Figure 5-10, displays all of the settings you have selected in the Wizard.

82 Mastering iFIX

Page 97: Mastering iFIX

Figure 5-10: Cross Reference Wizard - Apply and Go Tab

Review your choices and if they are correct, click the OK button. If you need to modify any of the options, click the Back button to return to the appropriate tab.

NOTE: You cannot access the iFIX WorkSpace while the Cross Reference Tool generates a report. Once the report completes, you will be able to access the iFIX WorkSpace again.

Viewing the Report Results

Once you create a report using either the Quick Report or Cross Reference Report Wizard, the results display in the Report Results section of the Cross Reference Tool interface.

Chapter 5. The Cross Reference Tool 83

Page 98: Mastering iFIX

The information that appears in the Report Results columns depends upon which type of search you selected. Table 5-2 describes the search type and display results.

Additionally, if you selected the Save Report to File or Print Report options in the Cross Reference Report Wizard, those are automatically completed when the results display. Once the Report Results display, you can also save or print the report manually using the appropriate toolbar buttons.

Viewing the Status Trail

The Status Trail, shown in Figure 5-11, tracks the processing status of the report. This allows you to monitor the report progress and messages, and track errors encountered in the report.

Table 5-2: Search Results

Type of Search

Displays

All Tags Returns a list that displays the name of the object that references the tag (Object column), the property of that tag (Property column), and the tag itself (Current Value column), as shown in Figure 5-1.

One Tag Returns the name of the object that references the tag (Object column), the property type (Property column), and the tag name (Current Value column).

For example, Figure 5-2 shows a One Tag search on the partial tag name ACTIVESTATUS.

Text Returns the object name, property, and property values. If the Cross Reference Tool finds the text string in the object name, all of the object properties are listed in the Property Column.

For example, Figure 5-3 shows a Text search on the string FOREGROUNDCOLOR.

84 Mastering iFIX

Page 99: Mastering iFIX

Figure 5-11: Status Trail

To automatically save the Status Trail to a .TXT file when the report generates, select the Save Status Trail option in the Report Settings tab of the Cross Reference Report Wizard. You can also modify the name and default location of the Status Trail file in the Report Settings tab.

Viewing a Search that Resolves Tags Using All Tag Group Files

If you select the Resolve Tags Using All Tag Group Files option in either the Quick Report dialog box or the Cross Reference Report Wizard, the Cross Reference Tool attempts to resolve any tag substitutions found in the selected files with all Tag Group Files that you have on your computer during the All Tags, One Tag, or Text search.

Figure 5-12 displays the results of an All Tags search with the Resolve Tags using All Tag Group Files option.

Chapter 5. The Cross Reference Tool 85

Page 100: Mastering iFIX

Figure 5-12: Search Results of Resolving Tags using All Tag Group Files

The Report Results section displays the object that references the tag, the property type of that tag, the tag substitution in the Current Value column, the resolved data source in the Resolved column, and the Tag Group File name that the substitution was found in.

The Cross Reference Tool attempts to resolve the substitution in all Tag Group files. Therefore, if the substitution does not exist in a Tag Group file, the Resolved column displays Unresolved, as shown in Figure 5-12.

Viewing a Search that Includes VBA Scripts

If you select the Include VBA Scripts in Search option in either the Quick Report or Cross Reference Report Wizard, the Cross Reference Tool searches through all scripts that are contained within the selected file(s) during an All tags, One Tag, or Text search.

Figure 5-13 displays the results of an All Tags search with the Include VBA Scripts in Search option.

86 Mastering iFIX

Page 101: Mastering iFIX

Figure 5-13: Search Results of Including VBA Scripts in Search

If the Cross Reference Tool finds a tag in a script (or the tag or text string that you searched for), the Object column displays the object associated with that script, the Property column displays ScriptSource, and the Current Value column displays the line number and line text of the script that the tag appears in.

NOTE: If the scripts contained in the files that you are searching include variables and those variable names are either custom alarm areas or tag names, the Cross Reference Tool displays the variable as a source.

Selecting Print Options and Printing a Report

The Print dialog box, shown in Figure 5-14, allows you to specify the print settings for a report. When a report completes and displays in the Report Results section of the Cross Reference Tool, you can access this dialog box by clicking the Print button in the toolbar to print the report as it appears. You can also access this dialog box by clicking the Advanced button in the Report Settings tab of the Cross Reference Report Wizard. The Print option in the Report Settings tab allows you to set these options for automatic printing once the report generates.

Chapter 5. The Cross Reference Tool 87

Page 102: Mastering iFIX

Figure 5-14: Cross Reference Tool Print Dialog Box

To select print options and print a report, follow these steps:

[1] Select a Print Range.

[2] Click the Page Setup button to configure page settings. How?

[3] Select any of the following Print Options:

Column Headers – Prints column headers at the top of each page.

Row Headers – Prints row headers on the left side of each page.

Grid Lines – Prints spreadsheet grid lines.

Border – Prints the spreadsheet border.

Data Cells Only – Does not print empty cells beyond the last column and row containing data.

Color – Prints colors in the spreadsheet as they appear on the screen.

Shadows – Prints the shadow effect in the column and row headers.

[4] Click the Printer Setup button to modify the current printer and printer options.

[5] Optionally, click the Print Preview button to view how the Report will appear when printed. Select Close from the Print Preview screen to return to the Print dialog box.

88 Mastering iFIX

Page 103: Mastering iFIX

[6] Click OK.

If you accessed the Print dialog box from the print toolbar button, clicking OK prints the report. If you accessed the Print dialog box from the Cross Reference Report Wizard, clicking OK returns you to the wizard.

Selecting Page Options for Printing

The Page Setup dialog box, shown in Figure 5-15, allows you to:

• Select page orientation

• Enter or modify page margins

• Create or modify headers and footers How?

• Specify the Preview zoom setting

Figure 5-15: Page Setup Dialog Box

Chapter 5. The Cross Reference Tool 89

Page 104: Mastering iFIX

Enter any desired changes to the Page Setup dialog box and click OK to return to the Print dialog box.

Customizing Header or Footer Text

The Change Header and Footer Attributes dialog box, shown in Figure 5-16, allows you to create and modify headers and footers for your printed report. To access the Change Header and Footer Attributes dialog box, click the Change Header and Footer Attributes button on the Page Setup dialog box.

Figure 5-16: Change Header and Footer Attributes Dialog Box

To add a header or footer to your printed report, select either the Header Text or Footer text option from the Apply to section and enter your text in the appropriate column. For example, if you want your text to be centered, enter the text in the Center column.

The Cross Reference Tool also provides some pre-configured common header and footer options, including:

<Default Header> – Inserts the Report Title including the file name, date, and time.

90 Mastering iFIX

Page 105: Mastering iFIX

<Time> – Inserts a time stamp (date and time).

<Page Number> – Inserts the current page number.

To select from these pre-configured strings, select a cell in the table and right-click it. The display toggles through the options.

Creating a Cross Reference Tool Report from the Command-Line

The Cross Reference Tool also allows you create reports or access the Cross Reference Tool Help while the Cross Reference Tool is closed. You can run the command-line options outlined in the following table from the Windows Run prompt.

Option Syntax Description

/r crossreference.exe /r Creates a report with the CrossReference.ini settings. This runs the CrossReference.ini settings which were automatically saved when you last closed the Cross Reference Tool. If no CrossReference.ini is found, the report runs with the defaults.

NOTE: You must use the Cross Reference Report Wizard once before using the /r command. The Cross Reference Tool writes to the CrossReference.ini file when you create reports using the Cross Reference Report Wizard. Reports created using the Quick Report do not get written to the CrossReference.ini file.

The /r parameter allows you to set up an entire search in the Cross Reference Report Wizard, navigate to the Apply and Go tab, and then click the Cancel button to cancel the search. After exiting the Cross Reference Tool, you could then run the crossreference.exe /r command at any point to generate the report with the settings you had entered.

/? crossreference.exe /? Displays Cross Reference Tool Help.

Chapter 5. The Cross Reference Tool 91

Page 106: Mastering iFIX

92 Mastering iFIX

Page 107: Mastering iFIX

6. Creating Picture-specific Help Files

Picture-specific Help files are an efficient means of bringing more information to operators electronically without taking up valuable display space. This section describes how to add your own context-sensitive Help files to iFIX pictures.

Why Create Picture-specific Help Files?

There are several reasons why you might want to create a picture-specific Help file. For example, you may want to provide operators with concise answers to the following questions:

• What piece of equipment does this object represent?

• Where is this equipment located?

• What does this equipment control?

• Who is the manufacturer of this equipment?

• What are the Standard Operating Procedures (SOPs) for this picture?

In general, if you develop pictures that need to provide operators with equipment-specific information or sets of instructions, you should consider creating picture-specific Help files. For example, let's say you are developing a picture that contains a pump. You can design the picture so that when operators click the pump and press <Shift><F1>, they receive a pop-up with information about the pump's manufacturer, voltage, amp rating, and horsepower.

Similarly, you can use picture-specific Help to develop training screens for new operators. If you were developing a training screen for the pump picture in the previous example, you could display Help pop-up windows containing such basic information as how to know when the pump is on or off, and when it is operating properly.

Chapter 6. Creating Picture-specific Help Files 93

Page 108: Mastering iFIX

What's This? Help

Context-sensitive Help within a picture is in the form of What's This? Help. What's This? Help is a simple but highly useful form of Help that is designed to allow operators to quickly access Help information and return to their work. To get Help on an object within an iFIX picture, an operator essentially points at the object and queries it for a brief explanation.

In the following example, an operator has pressed <Shift><F1> while in a picture. The mouse cursor changes to the What's This? Help pointer.

While in What's This? Help mode, operators can click any object in the picture (or even the picture itself) for a Help pop-up window on that object.

94 Mastering iFIX

Page 109: Mastering iFIX

What's This? Help Design

A What’s This? Help file is a compiled file that consists of three source files: a project file, a topic file, and a map file. The Help project (HPJ) file contains the Help file’s project options, such as the source files to include and compile, the name of the Help file, and so forth. The topic file is a rich-text format (RTF) file that contains topics, which are individual pages of text that display in pop-up windows when you invoke What’s This? Help. Using Microsoft Word, you can easily create RTF files by selecting Save As from the File menu and specifying RTF as the file type. The map file is a header file that creates an association between the object that you want to provide Help for and the topics within the topic file.

What’s This? Help files are not difficult to create, since you only have to specify a couple of Help project options in order to build a useful context-sensitive Help file. However, if you are interested in building more complex, robust Help systems, refer to the HCW.HLP Help file located in the iFIX Base path.

Chapter 6. Creating Picture-specific Help Files 95

Page 110: Mastering iFIX

Adding Help to an iFIX Picture

First, specify the Help file name in the HelpFile property of your picture:

[1] Right-click a blank space within the picture and select Properties from the pop-up menu. The Properties dialog box appears with the name of the CFixPicture object as the active object.

[2] In the HelpFile property cell, specify the name of the Help file that contains your context-sensitive topics. Refer to the Creating Picture-specific Help Files section for steps on creating the Help file.

[3] Save the picture.

Next, assign a unique number, called a Help context ID, to each object in your picture that you want the operator to be able to get Help on. To do this:

[1] Right-click each object in your picture (including the picture itself) for which you want to write a Help topic and select the Property Window command. The Properties window appears with the name of the selected object as the active object.

[2] Set the HelpContextID property to the desired number. Remember that all context IDs within the same Help file must be unique. These values are used by the WinHelp application to correctly display the Help topic that is associated with the control. If two controls have the same context ID, the WinHelp compiler will display an error message.

Finally, you need to make any object that you want an operator to be able to get Help on selectable. To do this:

[1] Right-click each object in your picture (including the picture itself) for which you want to write a Help topic and select the Property Window command. The Properties window appears with the name of the selected object as the active object.

[2] Set the IsSelectable property to True.

96 Mastering iFIX

Page 111: Mastering iFIX

Creating the Help File

This section discusses how to create the source files that comprise a picture-specific Help file, and also provides all of the steps required to successfully implement What's This? Help into iFIX pictures.

Requirements

The requirements for creating a picture-specific Help file are:

• Microsoft Word or any other word processor that can save Rich Text Format (RTF) and text files.

• Microsoft Help Workshop. The Help Workshop is included with iFIX and is installed in the iFIX Base path (usually C:\Dynamics\HCW.EXE).

Creating a Topic File

When creating What’s This? Help topic files, keep in mind that each topic must:

• Appear on a separate page in the RTF file. Therefore, you must make sure that there’s a page break between each Help topic. (In Microsoft Word, select Ctrl+Enter to create a manual page break between Help topics.)

• Contain a unique topic ID. Topic IDs are specially-formatted footnotes that uniquely identify each topic in the RTF file. The WinHelp application (WINHLP32.EXE) needs this information to display Help topics correctly.

To create a Help topic file in Microsoft Word:

[1] Create a new document and select Footnote from the Insert menu.

[2] Select the Custom Mark option button, enter a pound sign (#) in the adjacent field, and click OK. The document window splits so you can see the footnote area.

Chapter 6. Creating Picture-specific Help Files 97

Page 112: Mastering iFIX

[3] In the footnote pane, enter a unique context string to the right of the pound sign. Do not include spaces in the context string. One common method is to use underscores for more descriptive context strings, such as:

water_pump_onoff_btn

[4] Click the Close button on the footnote pane to close the footnote area and return to a full-screen document window. (To view the footnote text again, double-click the footnote at the top of the topic.)

[5] To the right of the footnote symbol, enter the information that you want to appear in the Help pop-up window.

[6] Save the document as an RTF file.

Creating a Map File

In order for the WinHelp application to display the correct Help pop-up window when you select <Shift><F1> on a particular object, you must associate each unique Help topic ID (defined in the RTF file) with it’s corresponding Help context ID (defined in the property page of an object). This association, or mapping, is done in the MAP section of a Help project (HPJ) file. The easiest way to map these values is to create a header file in a text editor and include that header in the MAP section.

[1] In a text file, associate each topic ID with an object’s context ID using the following format:

<topic ID> = <context ID>

For example, if you defined the HelpContextID property of the pump in the previous example as 1000, it would appear in the header file as:

water_pump_onoff_btn = 1000

[2] Continue to add these define statements, one per line, until all of your Context IDs have been added to the header file.

[3] Save the file as a text-only file and provide it with an .h file name extension.

98 Mastering iFIX

Page 113: Mastering iFIX

Creating and Compiling a Project File

The final step is to create a Help project file which allows you to compile the map file and topic files into one binary Help file.

[1] In the Microsoft Help Workshop, select New from the File menu.

[2] Select Help Project and click OK.

[3] Enter the Help project file name and path in the File Name field and click Save.

[4] Enter the name of your Help file in the Help File field. Remember to use the same Help file name that you specified in the picture's Properties dialog box.

[5] Click the Options button and select the General tab. Enter the name you want to appear in the title bar of your Help system in the Help Title field.

[6] Select the Files tab and click Change. Click Add and browse for the RTF file that includes your Help topics.

[7] Click OK to return to the main HPJ dialog box.

[8] Click Map. Click Include and browse for the header file that includes all of your map statements. Click OK to exit the Include File dialog box and click OK again to save your changes to the Map dialog box.

[9] When you are ready to compile, click the Save and Compile button.

Testing Your Help File

[1] Copy your compiled Help file to the iFIX Base path.

[2] In the Intellution WorkSpace run-time environment, open your Help-enabled picture.

[3] Press Shift+F1. The cursor changes to a question mark pointer, indicating that it is in What's This? Help mode.

[4] Click an object to which you assigned a Help context ID. The Help topic that you assigned to the object displays in a pop-up window. To dismiss the Help pop-up window, click anywhere on the screen.

Chapter 6. Creating Picture-specific Help Files 99

Page 114: Mastering iFIX

Example: Creating a Picture-specific Help File

This section serves as a mini-tutorial that walks you through the complete process of creating a sample Help file and assigning it to a picture. For clarity, this example assumes that iFIX is installed to the C:\DYNAMICS path and that you are developing your Help file in a working directory entitled C:\DYNAMICS\HELP TEST.

In Microsoft Word

[1] Open a new document and select Footnote from the Insert menu.

[2] Click the Custom Mark option button and enter a pound sign (#) in the adjacent field. Click OK.

[3] In the footnote pane at the bottom half of the window, enter the following text directly to the right of the footnote symbol:

my_square

[4] In the document pane at the top half of the window, type the following text directly to the right of the footnote symbol:

This is the Help topic for my square.

[5] Save the document as an RTF file to C:\DYNAMICS\HELP TEST\SQUARE.RTF.

In the Intellution WorkSpace

[1] Open a new iFIX picture.

[2] Right-click the picture and select the Property Window command.

[3] Enter the following text in the HelpFile property field:

square.hlp

[4] Click the Rectangle button from the Toolbox and draw a rectangle.

[5] Right-click the rectangle and select the Property Window command.

100 Mastering iFIX

Page 115: Mastering iFIX

[6] Enter the following number in the ContextID property field:

1000

[7] Set the IsSelectable property field to True.

In Microsoft Help Workshop

[1] Select New from the File menu, select Help Project, and click OK.

[2] Enter C:\DYNAMICS\HELP TEST\SQUARE.HPJ in the File Name field of the Project File Name dialog box and click Save.

[3] Click the Files button. The Topic Files dialog box appears.

[4] Click Add, select SQUARE.RTF from the list, and click Open. The RTF topic file is added to the Topic Files list. Click OK.

[5] Click the Map button and click Add.

[6] Enter the following text in the Topic ID field:

my_square

[7] Enter the following number in the Mapped Numeric Value field:

1000

[8] Click OK, and then click the Save and Compile button.

Testing the Sample Help File

[1] Copy the SQUARE.HLP Help file to the C:\DYNAMICS directory.

[2] In the Intellution WorkSpace run-time environment, open the HELPTEST picture.

[3] Press <Shift><F1>. The cursor changes to a question mark pointer, indicating that it is in What's This? Help mode.

[4] Click the rectangle. A Help pop-up window with the following text appears:

This is the topic for my square.

Chapter 6. Creating Picture-specific Help Files 101

Page 116: Mastering iFIX

102 Mastering iFIX

Page 117: Mastering iFIX

7. Customizing the System Tree

CAUTION: The instructions in this section are strictly intended for users who are creating their own custom installation CD. We strongly discourage customizing your system tree under any other circumstances. This information is meant for advanced users only.

The Intellution WorkSpace system tree is the main tool for locating files and launching applications. It also provides access to your files and applications during the development of your pictures and schedules.

Depending on your needs, you may want to remove certain applications or folders or add new ones. For example, you may want to add a custom application to the system tree. On the other hand, if you did not purchase FIX SCADA support, you may want to delete the Database Manager application and I/O Drivers folder.

You can customize the system tree by modifying the text file SystemTree.CSV. This file defines the folders, applications, and files that appear when you start the Intellution WorkSpace. The file resides in the Local path.

CAUTION: Any changes made to the SystemTree.CSV file are done so at your own risk. All changes made to the system tree are permanent. We recommend making a backup copy of the SystemTree.CSV file that, if necessary, can be used to reset the system tree to its default settings.

NOTE: We recommend using Microsoft Excel when editing the SystemTree.CSV file. When saving the file in Excel, be sure to save it with a .CSV extension. If prompted to save the file in Microsoft Excel Workbook format, select No. If the SystemTree.CSV file is saved incorrectly, the system may not be usable. When editing the file, you must use a comma (,) as the list separator. Other characters, such as the international list separator (;) cannot be used as the list separator in the SystemTree.CSV file. To view or modify the list separator setting on your system, double-click the Regional Settings icon in the Control Panel and click the Number tab.

The SystemTree.CSV file is divided into two sections. The top section defines the folders in the system tree and the bottom section defines the files. Within each of these sections are attributes that determine how a folder or file appears in the system tree. For example, the Key field contains the name of the file or folder as it appears in the system tree, and the Key Type field defines whether it is a folder or file. The

Chapter 7. Customizing the System Tree 103

Page 118: Mastering iFIX

remaining attributes have Entry and Value fields. The Entry field holds the name of the attribute and the Value field defines the corresponding attribute value. The attributes for folders and files are defined in Table 7-1 and Table 7-2.

NOTE: Although not all of the attributes in this file need to be defined, it is important to note that if the Entry field is completed for an attribute, the corresponding Value field must also be completed.

When you are ready to customize the SystemTree.CSV file, refer to the following figure for an overview of the required steps.

Figure 7-1: System Tree Customization Overview

Open the SystemTree.CSV file. Thisfile resides in the Local path.

Delete any files or folders you do notwant to include.

Add any files and folders you want toinclude.

Save the file in the Local path with a.CSV extension.

Close the Intellution WorkSpace.

Select Run from the Windows NTStart menu and enter the command:WorkSpace /unregserver

Restart the Intellution WorkSpace.

104 Mastering iFIX

Page 119: Mastering iFIX

Adding Folders to the System Tree

You can add folders to the system tree by editing the top section of the SystemTree.CSV file. Use Table 7-1 as a guide to editing the file.

To add a folder to the system tree

[1] Open the SystemTree.CSV file located in the Local path.

[2] Insert a row within the Define Intellution’s Folder section.

[3] Enter the information for the folder in the attribute fields. For example, to add a folder named Events that contains event files enter the following (leave unused fields blank):

[4] Save the file in the Local path with a .CSV extension.

[5] Close the Intellution WorkSpace.

For the attribute… Enter…

Description Events

Folders Folder

Extension Entry Extension

Extension of the files for this folder

Evt

AutoFind Entry AutoFind

Used to find, create, and populate this folder on startup

TRUE

Fix Path Entry Fix Path

Default path for files in this folder

ALM_PATH

Chapter 7. Customizing the System Tree 105

Page 120: Mastering iFIX

[6] Select Run from the Windows menu and enter WorkSpace /unregserver in the Open field.

[7] Click OK.

[8] Restart the Intellution WorkSpace.

Folder definitions include the attributes in the following table.

Table 7-1: Folder Attributes

The attribute… Defines…

Description The names of the folders in the system tree. By adding a new name, you add a new folder to the system tree. If you want the folder to appear inside another folder enter the complete path. For example, to add a folder called Drawings to the Pictures folder you would enter:

Pictures\Drawings

Folders Each entry as a folder and always has the value FOLDER.

AppKey An entry that is reserved for future use and should be left blank.

Vendor of Folder A company name. When you add a folder, enter the name of your company. Completing this attribute is optional.

ProgID of files in this folder

The program identification from the registry of the ActiveX documents residing in the folder. If the folder does not contain ActiveX documents, leave the ProgID blank.

Extension of the files for this folder

The file extension you want to associate with the folder. Completing this attribute is optional. If Used to find create and populate this folder on startup is set to TRUE, this attribute must be completed.

106 Mastering iFIX

Page 121: Mastering iFIX

Adding Files to the System Tree

You can add files to the system tree by editing the bottom section of the SystemTree.CSV file. Use the Table 7-2 as a guide to editing the file.

To add a file to the system tree:

[1] Open the SystemTree.CSV file located in the Local path.

[2] Add a folder named Event as described in the Adding Folders to the System Tree section.

[3] Insert a row within the Define Intellution’s Files section of the file.

Used to find create and populate this folder on startup

Whether the Intellution WorkSpace automatically displays the files with the specified extension. Setting Used to find create and populate this folder on startup to TRUE displays the files; entering FALSE or leaving the extension undefined creates an empty folder. Typically, this attribute is set to TRUE. If set to TRUE, the Extension attribute must be completed.

Fix Path Entry The path to each folder. When you add a folder, enter the complete path to it. This must be a FIX path.

Disable New Entry Whether the New command on the folder’s right mouse menu is grayed out or enabled. Entering TRUE grays out the command; setting the attribute to FALSE or leaving it undefined enables the command. Typically, this attribute is set to FALSE.

OpenExclusive How the documents in the folder are opened. Entering TRUE opens the files exclusively for use in the Intellution WorkSpace; no other applications can read or write to these files. Setting the attribute to FALSE opens documents in a non-exclusive manner so that other applications can read or write the file. Typically, this attribute is set to FALSE.

Table 7-1: Folder Attributes (continued)

The attribute… Defines…

Chapter 7. Customizing the System Tree 107

Page 122: Mastering iFIX

[4] Enter the information for the file in the attribute fields. For example, to add a text file called Text File within the Events folder enter the following (leave unused fields blank):

[5] Save the file in the Local path with a .CSV extension.

[6] Using Notepad, create a text file named Test.txt and save it in your Dynamics\Alm folder.

[7] Close the Intellution WorkSpace.

[8] Select Run from the Windows menu and enter WorkSpace /unregserver in the Open field.

[9] Click OK.

[10] Restart the Intellution WorkSpace.

For the attribute… Enter…

Description Events\Text File

Files File

Fix Path Entry Fix Path

Path of this file ALM_PATH\Test.txt

AutoLoad Entry AutoLoad

Used to determine if this file should be opened on startup by the WorkSpace

FALSE

108 Mastering iFIX

Page 123: Mastering iFIX

Folder definitions include the attributes in the following table.

Table 7-2: File Attributes

The attribute… Defines…

Description The names of the files that appear directly off the system tree root. By adding a new name, you add a new file to the system tree. If you want the file to appear inside a folder, enter the complete path. For example, to add a globals file called OEMGlobals to the Globals folder you would enter:

Globals\OEMGlobals

Files Each entry as a file and always has the value FILE.

AppKey An entry that is reserved for future use and can be left blank.

Vendor of File A company name. When you add a file, enter the name of your company. Completing this attribute is optional.

Path of this File The complete path to each file. This must be a FIX path and the file name.

If the file resides in an iFIX path, you can specify the path with a predefined alias, such as PDB_PATH or BASE_PATH. For example, if you are adding a globals file, enter PIC_PATH since all global files reside in the iFIX Picture path.

Used to determine if this file should be opened on startup by the WorkSpace

Whether the Intellution WorkSpace automatically opens the file on start-up. This attribute is set to TRUE for globals files only. Typically, this attribute is set to FALSE.

Hidden In Tree Entry Whether the file is visible or hidden in the system tree. In general, you only want to set this attribute to TRUE for any non-modifiable globals file you add to the system tree. Typically, this attribute is set to FALSE.

Chapter 7. Customizing the System Tree 109

Page 124: Mastering iFIX

Not In Collection Entry Whether the file should be included in a collection. A collection is one or more open ActiveX documents. Typically, you want to include all files except non-modifiable (system) globals files in collections. Consequently, you enter TRUE for system globals files and FALSE for any other file. Typically, this attribute is set to FALSE.

Disable Close Entry Whether the Close command on the file’s right mouse menu is grayed out or enabled. Entering TRUE grays out the command; entering FALSE or leaving it undefined enables the command. Typically, this attribute is set to FALSE.

Disable Show Entry Whether the Show command on the file’s right mouse menu is grayed out or enabled. Entering TRUE grays out the command; entering FALSE or leaving it undefined enables the command. Typically, this attribute is set to FALSE.

Disable Save Entry Whether the Save command on the file’s right mouse menu is grayed out or enabled. Entering TRUE grays out the command; entering FALSE or leaving it undefined enables the command. Typically, this attribute is set to FALSE.

Type of file we are creating

Whether the file is a globals file. If it is not a globals file, enter DEFAULT. If it is, enter USER for user-defined globals files or SYSTEM for non-modifiable globals files. Typically, you supply system globals to prevent these value from being changed.

ProgID of this file The program identification for your system and user globals files. This attribute is left blank or set to FIXGLOBALSSERVER.FIXGLOBALSSERVER.1

Determines if this file can be renamed and deleted

Whether the Rename and Delete commands on the file’s right mouse menu is grayed out or enabled. Entering TRUE grays out the command; entering FALSE or leaving it undefined enables the command. This attribute is set according to user preference.

Table 7-2: File Attributes (continued)

The attribute… Defines…

110 Mastering iFIX

Page 125: Mastering iFIX

Deleting Folders and Files from the System Tree

You can delete folders and files from the system tree by editing the SystemTree.CSV file.

To delete a folder or file from the system tree

[1] Open the SystemTree.CSV file located in the Local path.

[2] Delete the row with the file or folder information you want to remove from the system tree.

[3] Save the file in the Local path with a .CSV extension.

[4] Close the Intellution WorkSpace.

[5] Select Run from the Windows menu and enter WorkSpace/unregserver in the Open field.

[6] Click OK.

[7] Restart the Intellution WorkSpace.

Chapter 7. Customizing the System Tree 111

Page 126: Mastering iFIX

112 Mastering iFIX

Page 127: Mastering iFIX

8. Validating an Application

The Application Validator is a utility you use to verify the versions of an application’s files, and to ensure that the files associated with the application have not changed. You can run the Application Validator with or without iFIX running.

To use the Application Validator, you first specify the Windows folders that you want to work with. After you specify the folders, you take an initial “snapshot” of the content. This “snapshot” is called a baseline. You can later compare this baseline snapshot to the same folder(s) at another date, or on a regular basis, to see if the contents of each folder have changed.

You will find the Application Validator utility most helpful, for instance, when you finish configuring your iFIX system. Once you configure iFIX, you can create a baseline of the iFIX folders and other ones associated with your process. You can monitor which files were changed since you created the baseline. So, if you ever run into problems, or want to go back to an original configuration, you can determine which files were changed or added, and you can manually rollback to that configuration. You can view these changes, as a summary or detailed report, in online or printed format.

Application Validator Basics

There is certain basic information you should know before using the Application Validator. This section contains information on the following:

• Running the Application Validator

• Running With or Without iFIX

• Running in Demo Mode

• General Configuration for the Application Validator

• Working with Default Settings

• Using the Application Validator Toolbar and Quick Keys

Chapter 8. Validating an Application 113

Page 128: Mastering iFIX

Running the Application Validator

You can run the Application Validator from the iFIX WorkSpace, the Windows Explorer, or the command line. Refer to the following table for more information.

Running With or Without iFIX

You can use the Application Validator with or without iFIX. If you require that iFIX be running, open the AppValConfig.ini file in the Dynamics folder (the folder where you installed iFIX) and specify Yes for the RunningIFixIsRequired key in this file. If you require that iFIX is running, you can also specify whether iFIX Security is required by setting the EnabledSecurityIsRequired key to Yes in the AppValConfig.ini file.

For example, an AppValConfig.ini file with both options enabled appears as follows:

[Security]RunningIFixIsRequired=YesEnabledSecurityIsRequired=Yes

Table 8-1: Running the Application Validator

If you want to start the Application Validator from the...

Do this...

iFIX WorkSpace Double-click the Application Validator icon in the system tree.

Windows Explorer Double-click the AppValidator.exe file in the Dynamics folder (the folder where you installed iFIX).

Command Line From the DOS prompt type the AppValidator command with the desired command line options.

Refer to the Command Line Options for the Application Validator section for a full description of these options.

114 Mastering iFIX

Page 129: Mastering iFIX

If you use iFIX Security, you can modify your iFIX groups to allow the users in the designated groups to create baselines and/or have runtime access to the Application Validator. The iFIX application features name for these privileges are as follows:

• Application Validator - Creation of Baselines

• Application Validator - Run-time Access

For more information on iFIX security setup, refer to the Defining and Assigning Security Privileges in the Implementing Security manual.

Running in Demo Mode

When running the Application Validator in Demo mode (when iFIX starts with the Sample System), you can only work with the iFIX Sample System subdirectory. Demo mode in the Application Validator restricts how you:

• Select directories

• Load application settings

• Save application settings

• Save Detail Reports

If you do not have an iFIX software license, you can only use the Application Validator when iFIX runs in Demo mode. The command line mode for the Application Validator is not available while iFIX is in Demo mode.

Chapter 8. Validating an Application 115

Page 130: Mastering iFIX

General Configuration for the Application Validator

To change the default options for the Application Validator, select Options from the Tools menu to open the Options dialog box. From this dialog box you can:

• Identify specific files or file types to exclude from the comparison.

• Define an application to run if differences are found when running the Application Validator from the command line.

• Specify an automatic report naming convention when running the Application Validator from the command line.

Working with Default Settings

Every time you shutdown the Application Validator, it updates the Default.avs file. The .AVS (Application Validator Settings) file contains the settings that you define in the Application Validator Options dialog box and includes a list of the folders to display in the main window. Each time you restart the Application Validator, it displays the settings from when you last used the Application Validator.

You later can define your own settings, save them in another file, and load them when you want to run specific reports. You could also use these custom .AVS files when running the Application Validator from the command line.

116 Mastering iFIX

Page 131: Mastering iFIX

Using the Application Validator Toolbar and Quick Keys

All of the commands found on the menu bar have corresponding toolbar buttons. For each action that you can perform from the toolbar and menu bar, there are also quick keys that you can enter from the keyboard. The following table summarizes the functions of the toolbar buttons and key combinations that you can use.

Table 8-2: Application Validator Toolbar Buttons

Use this... To...

Select directories for use in the Application Validator.

Load predefined settings.

Open the Save As dialog box to save settings.

Open the Print Preview dialog box.

Open the Print dialog box to print the current screen.

Select all folders displayed in the main window.

Clear the check boxes for all folders selected in the main window.

Create a baseline file for each folder selected in the main window.

Chapter 8. Validating an Application 117

Page 132: Mastering iFIX

Create a baseline for a single folder.

Generate summary information indicating which folders contain changes. This information appears in the third column of the main window.

Generate a detailed summary report. This information appears in another window.

Open the Application Validator Options dialog box.

Show or hide the activity log window in the bottom half of the main window.

View information about the Application Validator version.

Click this button and then an area of the screen or dialog box for Help.

Ctrl+A Select all folders displayed in the main window.

Ctrl+B Create baseline files for each folder selected in the main window.

Ctrl+D Open the Select Directories dialog box from the main window, or if you are in the Comparison Detail Report window, this key combination allows you to display differences only.

Ctrl+G Create a baseline for a single folder. To create a baseline for one folder, only select the check box for that folder.

Table 8-2: Application Validator Toolbar Buttons (continued)

Use this... To...

118 Mastering iFIX

Page 133: Mastering iFIX

Types of Reports from the Application Validator

There are two types of reports that you can run from the Application Validator:

• Summary Report

• Comparison Detail Report

You can view both these reports in online or printed format.

Ctrl+L Open the Open dialog box to load predefined settings.

Ctrl+M Generate summary information indicating which folders contain changes. This information appears in the third column of the main window.

Ctrl+O Open the Application Validator Options dialog box.

Ctrl+P Open the Print dialog box to print the current screen.

Ctrl+S Open the Save As dialog box to save the application settings or detailed report.

Ctrl+T Generate a detailed summary report. This information appears in another window.

Ctrl+U Clear the check boxes for all folders selected in the main window.

Table 8-2: Application Validator Toolbar Buttons (continued)

Use this... To...

Chapter 8. Validating an Application 119

Page 134: Mastering iFIX

Summary Report

When you run a Summary Report, it displays in the main window of the Application Validator. A status for each folder appears in the third column of the main window, indicating if differences were found or if the files in the folder were identical to the original baseline. For instance, the Compare Status field for the folder could be identified as Identical, Differences Found, or Missing a Baseline.

Figure 8-1 shows an example of a Summary Report as it appears in the main window of the Application Validator. Notice the Compare Status column of the far right of the window that includes the Summary Report information.

Figure 8-1: Example of the Summary Report from the Main Window

120 Mastering iFIX

Page 135: Mastering iFIX

Comparison Detail Report

When you run a Comparison Detail Report, it displays in a new window. A Comparison Detail Report describes whether a file in any folder was modified, added, removed, or unchanged. Unlike the Summary Report that details the changes in complete folders, the Comparison Detail Report describes the changes for individual files.

Figure 8-2 shows an example of a Comparison Detail Report. Notice the Status column (the second column from the left) that displays whether the file is Identical, Different, Added to Current (New), or Deleted from the Current folder.

Figure 8-2: Example of Comparison Detail Report Window

Chapter 8. Validating an Application 121

Page 136: Mastering iFIX

Viewing Only the Files that Changed

In the Comparison Detail Report, you can reduce the number of files included in the list by ignoring identical files. If you want to view only the files that changed, select the Differences Only option from the View menu in the Comparison Detail Report window.

Saving the Comparison Detail Report

In addition, you can save the Comparison Detail Report to a .CSV or .TXT file. Select Save from the File menu in the main window to open the Save dialog box, from which you can select a comma-delimited format (.CSV) or text format (.TXT) from the drop-down list.

General Overview of Steps for Using the Application Validator

Once you understand and configure the Application Validator Basics, you can begin to use Application Validator with your application. The steps are generally the same for each application.

To use the Application Validator, follow these steps:

[1] Select the folders you want to work with.

[2] Generate a baseline for the selected directory or directories.

NOTE: The Application Validator cannot create a baseline for files that are open with exclusive rights. For instance, if you attempt to create a baseline of the root drive C:/, where the Pagefile.sys is open with exclusive rights from the operating system, the baseline will fail. The operating system has full control over that file, and no one else, not even the administrator nor the user creating the baseline, has rights to open it.

[3] At a later time when you want to validate the files, run a report:

• Summary Report.

• Comparison Detail Report.

122 Mastering iFIX

Page 137: Mastering iFIX

Command Line Options for the Application Validator

The syntax for the Application Validator command line is as follows:

AppValidator /ConfigFile:"C:\FullPath\Settings.avs" | /Directory:"single directory name"

[/CreateBaseline | /CB] [/OverWrite] [/PrintSingleBaseline | /PSB] [/PrintComparisonSummary | /PCS] [/PrintComparisonDetail | /PCD] [/SaveComparisonDetail:"Full path of output file"

| /SCD:"Full path of output file"] [/CSV] [/DifferencesOnly | /DO] [/? | /Help]

Notes on the Syntax

• The brackets ( [ ] ) indicate that a parameter is optional. The brackets are not part of a command; if a bracketed option is desired, only type the text that is inside the brackets, and not the brackets themselves.

• The pipe bar ( | ) indicates separate items in a group that you can choose from. For instance you can use the /CreateBaseline or the /CB argument with the AppValidator command, and, in this case, both perform the same task.

• Italics are used to represent the information that the user must supply to run the command. The information in italics is not typed exactly as it appears. Instead, the user enters the information specific to the italicized expression.

Chapter 8. Validating an Application 123

Page 138: Mastering iFIX

Descriptions of Optional Arguments

The following table outlines the optional arguments. If an abbreviation is available, that is listed instead of the full argument name. For instance, the /CB argument is listed instead of the /CreateBaseline argument, but either could be used.

Table 8-3: Application Validator Command Line Options

Argument Description

/CB Creates baseline files for the specified directories and folders.

/OverWrite Overwrites any existing baseline files. (Used with the /CB argument only.)

/PSB Prints the existing baseline for the specified folder.

/PCS Prints the Summary Report for the specified folders.

/PCD Prints the Comparison Detail Report for the specified folders.

/SCD:”Full Path Output File”

Saves a copy of the Comparison Detail Report for the specified folders. If you do not use the /CSV argument, the file is saved as a .TXT file.

/CSV Specifies that the Comparison Detail Report be saved in Comma Separated Value (CSV) format. (Used with the /SCD option only.)

/DO Specifies that you only want to display the files with changes in the Comparison Detail Report. (Used with the /SCD option only.)

/? Displays the Help for the command line options.

124 Mastering iFIX

Page 139: Mastering iFIX

Command Line Options You Can Define in the GUI

In addition to the options that you can specify on the command line, some options must be set from within the Application Validator user interface (non-command line version). These options include:

• Using an automatic report naming convention when running the Application Validator from the command line.

• Define an application to run if differences are found when running the Application Validator from the command line.

Command Line Errors

You may encounter errors caused when an invalid command line parameter is passed to the Application Validator. Errors are logged to the AppValidator.log file in the Dynamics folder.

Understanding Auditing for the Application Validator

You can configure the Application Validator to audit all user actions. Once configured, each time you perform an action, such as create a baseline, run a baseline summary report, or run a comparison report, an audit message is sent to the iFIX alarm system. This message is then recorded as part of the standard iFIX audit trail.

In order to enable audited actions in the Application Validator, you must:

[1] Open the AppValConfig.ini file and enable both options in this .ini file by entering Yes for both settings:

RunningIFixIsRequired=Yes EnabledSecurityIsRequired=Yes

[2] Enable the Alarm ODBC Service and configure your relational database to store the audit messages in the ODBC alarm table.

Chapter 8. Validating an Application 125

Page 140: Mastering iFIX

For more information on the AppValConfig.ini, refer to the Understanding the AppValConfig.ini File and Auditing section in this chapter. For more information on enabling and configuring the Alarm ODBC Service, refer to Configuring the Alarm ODBC Service section in the Implementing Alarms and Messages manual.

Understanding the AppValConfig.ini File and Auditing

The AppValConfig.ini file specifies whether iFIX must be running in order to start the Application Validator and if iFIX security applies. This file is located in the Dynamics folder (the folder where you installed iFIX). Both options must be enabled if you want to audit user actions in the Application Validator. With both options enabled, the Application Validator user and node can be tracked in the standard iFIX audit trail.

To configure the AppValConfig.ini file for auditing purposes, follow these steps:

[1] Open the AppValConfig.ini in Notepad or another text editor.

[2] Make that both settings in this file are set to Yes:

[Security]RunningIFixIsRequired=YesEnabledSecurityIsRequired=Yes

NOTE: If you set EnabledSecurityIsRequired to Yes, then the Application Validator only runs when Security is Enabled within iFIX. If you set EnabledSecurityIsRequired to No, then iFIX Security does not have to be enabled in order to run the Application Validator.

[3] Save the file into the Dynamics folder (the same location where you installed iFIX).

[4] Restart the Application Validator.

Viewing the Audited Messages

Use your database tools or VisiconX to view the iFIX audit trail. For information on Microsoft SQL Server or Oracle database tools, refer to your manufacturer’s documentation. For more information on VisiconX, refer to the Using VisiconX manual. For information on using Crystal Reports, a third-party reporting application that supports ODBC queries, refer to the Reporting section in this manual.

126 Mastering iFIX

Page 141: Mastering iFIX

iFIX alarm destinations such as the Alarm File and Alarm Printer also get these audit messages. For information on configuring these alarm locations, refer to the Configuring Alarms chapter in the Implementing Alarms and Messages manual.

NOTE: The Alarm History window only displays the most recent 500 messages; it is not a complete list of messages, and therefore, not an audit trail.

Sample Audit Message from the Application Validator

Figure 8-3 displays a sample of the audit message sent to the iFIX alarm system. Notice that the timestamp, iFIX node name, node name where the user was logged in, plus the name of iFIX operator who performed the action are all included with the audit message.

Figure 8-3: Format of Audit Message Sent to iFIX Alarm System

5/30/2003 18:01:47.9 [FIXK] Application Validator - Create Baseline byFIXK :: SYSTEM ADMINISTRATOR

TimestampName of the

iFIX node Audit Message

Name of the nodewhere the userwas logged in

Name of the currentlylogged-in iFIX user on

the node where theaction occurred

Chapter 8. Validating an Application 127

Page 142: Mastering iFIX

List of Audit Messages from the Application Validator

The following list describes the audit messages associated with the Application Validator. These messages describe the events that can occur (to the operator) when running the Application Validator:

• Application Validator – Baseline File has been tampered with!

• Application Validator – Command-line: Create Baseline

• Application Validator – Command-line: Print Comparison Detail

• Application Validator – Command-line: Print Comparison Summary

• Application Validator – Command-line: Print Single Baseline

• Application Validator – Command-line: Save Comparison Detail

• Application Validator – Create Baseline

• Application Validator – Error retrieving security user

• Application Validator – Error with Compare Directory: %s

• Application Validator – Error with Fill Baseline Detail: Checksum difference for baseline file: [%s]. %s

• Application Validator – Error with Fill Baseline Detail: Failed to read encrypted baseline file: [%s]. %s

• Application Validator – Failed to start Application: %s

• Application Validator – iFIX isn’t running

• Application Validator – Insufficient Security Rights

• Application Validator – Invalid Security Feature

• Application Validator – Print Baseline Status/Comparison Summary

• Application Validator – Report Comparison Detail

128 Mastering iFIX

Page 143: Mastering iFIX

• Application Validator – Report Comparison Summary

• Application Validator – Report Printed

• Application Validator – Report Saved

• Application Validator – Report Single Baseline

• Application Validator – Security not enabled

• Application Validator – User not logged in

NOTE: The %s in these messages is replaced with the actual the directory name when the message appears.

Activity Log in the Main Window

The activity log displays informational messages on the actions performed in the Application Validator since you enabled logging. This log displays the most recent actions first in the list, at the top of the window. By scrolling down, you can review previous actions.

The activity log may be helpful when trying to diagnose problems using the Application Validator.

NOTE: The activity log is not saved when you stop the Application Validator or shut it down.

Figure 8-4 shows an example of the Application Validator main window with the Log window displayed.

Chapter 8. Validating an Application 129

Page 144: Mastering iFIX

Figure 8-4: Application Validator with Log Window Displayed

Best Practices

Some best practices to keep in mind when using the Application Validator include the following:

• Specify that iFIX be running in order to start the Application Validator and that iFIX security be enabled in the AppValConfig.ini file, if you want to use auditing.

• If using iFIX security, limit the creation of baselines to a specified set of users. For each designated user in the Security Configuration tool, select the Application Validator - Creation of Baselines feature from the Application Feature Selection dialog box.

130 Mastering iFIX

Page 145: Mastering iFIX

NOTE: Depending upon your security requirements, you probably can allow run-time access to the Application Validator (Application Validator - Run-time Access feature) more liberally.

For more information on iFIX security setup, refer to the Defining and Assigning Security Privileges in the Implementing Security manual.

Chapter 8. Validating an Application 131

Page 146: Mastering iFIX

132 Mastering iFIX

Page 147: Mastering iFIX

Index

Aactive network path 37active server 21Activity Log

main window 129alarm handling

LAN redundancy 38SCADA server failover 25

Alarm Startup Queue Serviceenabling 43

All Tagssearch in the Cross Reference Tool 68

Application Validator 113audit messages 128auditing 125basics 113command line options 123general configuration 116overview steps 122report types 119running 114toolbar 117

Apply and Go tab 82AppValConfig.ini file 126arguments, Application Validator command line 124audit messages

list 128sample format 127viewing 126

auditingAppValConfig.ini file 126understanding 125

automatic failovertemporarily disabling 44

Automatically Resize Report Columns 82

Bbackground schedules 4background task startup list 8backup node in a SCADA server pair 24backup SCADA servers

See SCADA server failoverbasics, Application Validator 113best practices

Application Validator 130buttons

toolbar buttons for the Application Validator 117toolbar buttons for the Cross Reference Tool 75

Cchanges only in Compare Detail Report 122command line (Application Validator)

errors 125from GUI 125options 123

command-line (Cross Reference Tool) 91Comparison Detail Report

overview 121saving 122

compiling a project file 99configuration for the Application Validator 116configurations

LAN redundancy 39SCADA server failover 27SCADA server failover and LAN redundancy 22

configuringLAN redundancy 40network session timers 42SCADA server failover 35

Index 133

Page 148: Mastering iFIX

SCADA server pair 36continuous entry 11creating

a map file 98a project file 99picture-specific help files 93reports 78the help file 97topic file 97

Cross Reference Report Wizard 78Cross Reference Tool 67

All Tags search 68Apply and Go tab 82automatically saving the report file 81button 72creating Quick Reports 76customizing header and footers 90including the summary report 76introduction 67introduction to 67Object Tree 73One Tag search 68opening 72Page Setup dialog box 89printing a report 87printing report automatically 81Quick Report and Report Wizard 70refreshing 75Report Results 73Report Settings tab 81Report Wizard 72, 78resizing columns 76resolving tags 76running from command-line 91search settings 78search types 68, 69searching for text 69searching through scripts 76selecting multiple files 79selecting print options 87Status Trail 73toolbars 75types of searches 67viewing files open in the WorkSpace 73viewing results 83viewing searches through scripts 86viewing status trail 84

Crystal Reportssample report 64using with iFIX 61

custom scriptswriting for Scheduler 15

customizing the system tree 103

Ddaily entry 11debugging VBA scripts in a schedule 8defining Application Validator command line options(GUI) 125Demo Mode, Application Validator 115descriptions

optional arguments in Application Validatorcommand line 124

Detail Report, Comparison 121diagnostic displays 45diagnostics

entry 15disabling

automatic failover 44LAN redundancy 41network paths 42SCADA server failover 36

displayingthe search results of a report 73

Eenabling

Alarm Startup Queue Service 43disabled network paths 42LAN redundancy 40SCADA server failover 36

entriescontinuous 11creating 13daily 11diagnostics 15editing 13event-based 10monthly 11one-shot 11time-based 11

errors, command line (Application Validator) 125event types 10event-based entries 10Experts

Script Authoring 12, 15

Ffailover

triggering an event 45

134 Mastering iFIX

Page 149: Mastering iFIX

understanding 21failover messages

LAN 38SCADA server failover 25

file attributesSystemTree.CSV file 109

filesadding to the system tree 107deleting from the system tree 111selecting multiple 79

Files tab 79files that changed 122finding

tags in files 71finding tags

in the Cross Reference Tool 76FixBackgroundServer task

as a Windows service 8folder attributes

SystemTree.CSV file 106folders

adding to the system tree 105deleting from the system tree 111

foreground schedules 4

Ggeneral configuration for the Application Validator116GUI, Application Validator command line options 125

HHeaders and Footers

customizing 90help

adding to an iFIX picture 96creating the file 97designing What’s This ? 95understanding What’s This ? 94

HOSTS fileupdating for LAN redundancy 40updating for SCADA server failover 35

IiFIX, running with or without (Application Validator)

114Include Summary 82Include VBA Scripts in Search 76, 86

LLAN failover messages 38LAN redundancy

alarm handling 38configurations 39configurations with SCADA server failover 22configuring 40disabling 41enabling 40overview checklist 24understanding 21, 37updating the HOSTS file 40

listaudit messages from the Application Validator

128local node alias

enabling 57examples 57overview 57THISNODE 57using 57

Log window from the Application Validator 129logical node name

creating displays 47described 28

Mmain window, Activity Log 129manual failover

assigning privileges 37initiating to non-active SCADA 44

map filecreating 98

messages from the Application Validatorauditing 126, 128

mode, Demo 115monthly entry 11multiple files

searching through 79

Nnetwork paths

disabling 42enabling disabled paths 42

Index 135

Page 150: Mastering iFIX

network session timersconfiguring 42

Network Status Serverfields 47working with 43

non-active network path 37non-active server 21notes on the syntax (Application Validator) 123NSS

fields 47working with 43

OObject Tree

Cross Reference Tool 73refreshing 75

One Tagsearching for in Cross Reference Tool 68

one-shot entry 11opening

Cross Reference Tool 72optional arguments, Application Validator commandline 124overview

Application Validator steps for using 122

Pphysical node names

creating displays 47picture-specific help files

creating 93primary and backup groupings 28primary node in a SCADA server pair 24print Crystal Report 62Print Crystal Report Expert 63printing

reports 87, 88reports automatically 81

project filecreating and compiling 99

QQuick Report 76

All Tags 68differences between Report Wizard and 70feature list 71One Tag 68

Quick Reportscreating 76, 77

Rrefresh

Object Tree 75Report

displaying search results 73report

including a summary 76reviewing settings 82saving to a file 81specifying output options 81viewing report results 83viewing search results that resolve tags 85

Report Expertsoverview 61Print Crystal Report 62Print Crystal Report Expert 63using 62

Report Results 83Cross Reference Tool 73

Report Settings TabSave Status Trail 81

Report Settings tab 81automatically print report 81

Report WizardAll Tags 68automatically saving status trail 81creating reports 78differences between Quick Report and 70feature list 72One Tag 68output options 81resolving tags 79search settings 78searching through scripts 79selecting multiple files 79

reportingoverview 61using iFIX Report Experts 61

Reportsoverview 119saving 122Summary 120

reportsautomatically printing 81Comparison Detail 121creating 77, 78displaying status trail 73printing 87, 90resizing columns 76

136 Mastering iFIX

Page 151: Mastering iFIX

selecting page options 89viewing search through script results 86

resizing columns 76Resolve Tags

using All Tag Group Files 76Resolve Tags using All Tag Group Files

viewing results 85resolving schedules 6resolving tags

using the Cross Reference Tool 76using the Report Wizard 79

resultsof tag search 84of text search 84

runningApplication Validator 114Demo Mode 115with or without iFIX 114

Ssample

audit message from the Application Validator127

Save Status Trail 81saving

Comparison Detail Report 122SCADA server failover

alarm handling 25backup node 24configurations 27configurations with LAN redundancy 22configuring 35disabling 36enabling 36failover messages 25primary node 24synchronizing clocks 36understanding 24updating Hosts file 35

SCADA server pairconfiguring 36understanding 21

Schedulerintroduction 1overview 1running as a background task 5running as a foreground task 5script execution 5using the VBE 4using with iFIX 4

schedulesadding to background task startup list 8

debugging VBA scripts 8designing 9resolving 6running in the background 7running in the foreground 7securing 6sorting 14

Script Authoring Experts 12, 15scripts

searching through 76, 79viewing reports 86

Search Settings tab 78searching

for tags 67for text 68for text strings 69through scripts 79types of searches for tags 67

searching forone tag 68

searching for tagsresolving tags 79

securing schedules 6selecting print options 88settings

working with 116sorting a schedule 14Status Trail 84

automatically saving 81Cross Reference Tool 73viewing 84

stepsusing the Application Validator 122

Summary Report 120summary report 76synchronizing SCADA server clocks 36syntax, Application Validator command line 123system performance

optimizing during failover 41system tree

adding files 107adding folders 105customizing 103deleting folders and files 111SystemTree.CSV file 103

SystemTree.CSV file 103

Ttag name

searching for a partial name 69tags

searching for all tags 68

Index 137

Page 152: Mastering iFIX

searching for one tag 68Text

finding in files 69Text search 69THISNODE 57time-based entries 11toolbar, Application Validator 117toolbars

Cross Reference Tool 75topic file

creating 97true links 46types of reports (Application Validator) 119

Uunderstanding

auditing for the Application Validator 125using

Application Validator 122Application Validator toolbar 117

Vvalidating an application 113VBA scripts

to access the Intellution WorkSpace 12writing custom scripts for Scheduler 15

VBEusing with Scheduler 4

viewingaudited messages (Application Validator) 126changed files 122

WWhat’s This ? help

designing 95overview 94

wizardsfeature list for Cross Reference Tool 70Report Wizard 72

workingwith settings 116

138 Mastering iFIX