National Instruments BridgeVIEW User Manual

National instruments bridge user manual
Table of Contents

Advertisement

Quick Links

Advertisement

Table of Contents
loading

Summary of Contents for National Instruments BridgeVIEW

  • Page 2 Netherlands 0348 433466, Norway 32 84 84 00, Singapore 2265886, Spain 91 640 0085, Sweden 08 730 49 70, Switzerland 056 200 51 51, Taiwan 02 377 1200, United Kingdom 01635 523545 6504 Bridge Point Parkway Austin, Texas 78730-5039 USA Tel: 512 794 0100 Copyright 1996, 1998 National Instruments Corporation. All rights reserved.
  • Page 3 Any action against National Instruments must be brought within one year after the cause of action accrues. National Instruments shall not be liable for any delay in performance due to causes beyond its reasonable control. The warranty provided herein does not cover damages, defects, malfunctions, or service failures caused by owner’s failure to follow the National Instruments...
  • Page 4: Table Of Contents

    Tag Configuration ...1-5 Data Type ...1-5 General ...1-5 Connection ...1-6 Scaling...1-6 Operations ...1-6 Alarms ...1-6 Events ...1-7 Historical Data Logging and Extraction...1-7 Security...1-7 What Is the BridgeVIEW System Architecture? ...1-8 User HMI Application...1-8 BridgeVIEW Engine ...1-9 Device Servers...1-9 Where Should I Start?...1-10...
  • Page 5 String ... 2-7 Tag ... 2-8 BridgeVIEW Environment Project Menu ... 2-10 What Is the BridgeVIEW Engine Manager? ... 2-12 What Are System Errors and Events? ... 2-15 What Is the Tag Browser? ... 2-16 What Is the Tag Monitor?... 2-18 How Do You Access Online Help?...
  • Page 6 What Is the Tag Configuration Editor?...3-3 How Do You Create a Tag? ...3-5 How Do You Edit a Tag? ...3-5 How Do You Delete a Tag? ...3-5 What are Network Tags? ...3-6 How Do You Add Network Tags? ...3-7 How Do You Set Default Values for Tag Configuration Fields? ...3-7 How Do You Use Spreadsheet Files for Tag Configuration? ...3-8 How Do You Configure Tags? ...3-10 Data Type ...3-10...
  • Page 7 Alarms ... 3-31 How Do You Configure Alarms for a Tag? ... 3-34 Analog Tags ... 3-34 Discrete Tags... 3-35 Bit Array Tags... 3-35 String Tags ... 3-36 What Is Alarm Deadband on Analog Tags? ... 3-36 How Do You Keep an Alarm Unacknowledged after the Alarm Returns to Normal? ...
  • Page 8 General Principles of G HMI Programming...4-25 How Do You Implement Event-Driven Programming in G?...4-25 How Do You Implement Polled Programming in G? ...4-27 How Do You Initialize and Shut Down Multiple-Loop Applications?...4-28 How Do You Display Real-Time Trends? ...4-29 How Can You Use Tag Attributes to Configure HMI Indicator Attributes Programmatically? ...4-31 What are Alarms and Events?...5-1 Alarm States ...5-1...
  • Page 9 How Do You Control Panel Visibility?... 7-7 BridgeVIEW System Control... 7-7 System VIs ... 7-7 How Do You Start or Stop the BridgeVIEW Engine from Your Application?... 7-8 How Do You Start or Stop Historical Logging from Your Application?... 7-8 How Do You Start or Stop Event Logging from Your Application?...
  • Page 10 How Do You Programmatically Log an Operator Out of Your Application?...7-17 How Do You Identify the Current Operator? ...7-17 How Do You Restrict Access to the BridgeVIEW Environment? ...7-17 How Do You Create and Modify User Accounts? ...7-17 How Do You Modify the List of Available User Access Levels? ...7-19...
  • Page 11 What is a Virtual Instrument?... 9-1 How Do You Build a VI?... 9-1 VI Hierarchy ... 9-1 Controls, Constants, and Indicators ... 9-2 Terminals ... 9-3 Wires ... 9-3 Tip Strips ... 9-4 Wire Stretching... 9-5 Selecting and Deleting Wires ... 9-5 Bad Wires ...
  • Page 12 Shift Registers...11-11 Using Uninitialized Shift Registers ...11-15 For Loops ...11-20 Numeric Conversion...11-21 Case Structure ...12-2 Sequence Structures ...12-5 Formula Node ...12-11 Artificial Data Dependency ...12-15 Arrays...14-1 How Do You Create and Initialize Arrays? ...14-1 Array Controls, Constants, and Indicators ...14-2 Auto-Indexing...14-2 Using Array Functions ...14-9 Build Array ...14-9...
  • Page 13 Watch Out for Missing Dependencies ... 16-7 Avoid Overuse of Sequence Structures ... 16-8 Study the Examples... 16-8 Figure 1-1. BridgeVIEW Architecture ... 1-8 Figure 2-1. Engine Manager Display... 2-12 Figure 2-2. Engine Manager with System Events Displayed ... 2-14 Figure 2-3.
  • Page 14 Figure 2-6. Select Tags to Monitor Dialog Box...2-22 Figure 2-7. Write to Tag dialog box...2-22 Figure 2-8. Tag Monitor Preferences Dialog Box ...2-23 Figure 3-1. Tag Configuration Editor ...3-4 Figure 3-2. Flowchart of Server/Client Interaction...3-6 Figure 3-3. Select Tags for Network Import Dialog Box ...3-7 Figure 3-4.
  • Page 15 Browse OPC Servers on Network Dialog Box ... 8-8 Figure 8-4. Server Browser... 8-11 Figure 8-5. View Server Information Dialog Box... 8-12 Table 2-1. BridgeVIEW Project Menu Items ... 2-10 Table 2-2. Engine Manager Field Descriptions ... 2-13 Table 2-3. Tag Browser Field Descriptions ... 2-17 Table 2-4.
  • Page 16 Activity 3-1. Configure a Tag, and View the Tag Configuration Parameters and Tag Values ...3-40 Activity 4-1. Use the HMI G Wizard ...4-8 Activity 4-2. Import a Graphic Image into BridgeVIEW ...4-13 Activity 4-3. Read a Tag...4-20 Activity 5-1. Build an Alarm Summary Display ...5-3 Activity 5-2.
  • Page 17: Virtual Instruments

    The BridgeVIEW User Manual contains the information you need to get started with the BridgeVIEW software package. This manual explains the BridgeVIEW environment, tag configuration, human machine interfaces, alarms and events, and historical data logging and extraction. This manual also reviews the concepts of G programming.
  • Page 18: Subvi Node Setup

    BridgeVIEW Engine Manager, system errors and events, the Tag Monitor utility, and the Tag Browser utility. This chapter also explains how to access online help for BridgeVIEW and provides an activity that illustrates how to examine the front panel and block diagram of a virtual instrument (VI).
  • Page 19: Arrays

    • Appendix A, HMI Function for BridgeVIEW VIs and contains an explanation of the VIs in the BridgeVIEW VI library. In this appendix, the VIs are arranged alphabetically, first by VI Library name (Alarms and Events, Historical Data, System, Tags, and Tag Attributes), then by VI name.
  • Page 20 The following conventions are used in this manual: bold Bold text denotes a parameter, menu name, palette name, menu item, return value, function panel item, or dialog box button or option. italic Italic text denotes mathematical variables, emphasis, a cross reference, or an introduction to a key concept.
  • Page 21 BridgeVIEW Online Reference, available online by selecting Help»Online Reference National Instruments wants to receive your comments on our products and manuals. We are interested in the applications you develop with our products, and we want to help if you have problems with them. To make it easy for you to contact us, this manual contains comment and configuration forms for you to complete.
  • Page 22 BridgeVIEW Engine Manager, system errors and events, the Tag Monitor utility, and the Tag Browser utility. This chapter also explains how to access online help for BridgeVIEW and provides an activity that illustrates how to examine the front panel and block diagram of a virtual instrument (VI).
  • Page 23 Panel G Wizard, BridgeVIEW System Control, Tag Attributes VIs, and BridgeVIEW Security. • Chapter 8, Servers, explains how to use servers with BridgeVIEW. BridgeVIEW supports several types of servers including OPC Servers, DDE Servers, and IA Device Servers. Extraction, explains the...
  • Page 24 PLC connectivity to a premiere graphical development environment, G. BridgeVIEW makes use of an intuitive graphical user interface combined with a powerful graphical programming language, G, that enables you to perform data acquisition and analysis, create an operator interface or Human Machine Interface (HMI), and develop advanced supervisory control applications.
  • Page 25: Welcome To Bridgeview

    After selecting an installation, follow the instructions that appear on your screen. If you plan to use National Instruments Data Acquisition (DAQ) devices, VISA, or GPIB instrumentation, you can perform either the Full installation, which installs all necessary drivers and example programs, or the Custom installation, in which you select the items to install.
  • Page 26 BridgeVIEW also operates directly with OPC servers. BridgeVIEW uses a combination of tags, events, and data. A tag is a connection to a real-world I/O point, while an event is anything that happens to a tag or to the BridgeVIEW Engine in general.
  • Page 27: G Programming

    G and enhanced it for your industrial automation needs. G Tutorial section of this manual covers the functionality of G that you need to get started with most BridgeVIEW applications. For a more extensive explanation of BridgeVIEW functionality, see the G Programming Reference Manual.
  • Page 28: Tag Configuration

    VI Control VIs, refer to Chapter 15, A tag value is acquired and/or controlled by a device server that communicates with the BridgeVIEW Engine and can be read or set by a VI in your HMI application. Tags can be of the following types: input, output, Input/Output, or memory.
  • Page 29: Connection

    Scaling controls the type of scaling to perform on a tag when communicating with a device server, and the expected engineering range and units for the tag. You can specify how the BridgeVIEW Engine updates the Database (RTDB), when it logs the tag data to disk, if it logs events associated with the tag, and what value exists in the database at startup.
  • Page 30: Events

    An event is something that happens within the BridgeVIEW system. Events can be divided into two groups: those that pertain to individual tags and those that pertain to the overall BridgeVIEW system. Events pertaining to tags include the following: •...
  • Page 31: User Hmi Application

    EU scaling converts the Raw Range value from the device server to the engineering value used in the user application and vice versa. The end user of the BridgeVIEW system sees and interacts with an HMI. The HMI application is a collection of VIs that you build with the G programming language in BridgeVIEW.
  • Page 32: Bridgeview Engine

    I/O poll rates, and device addresses. A server completes operation only when the BridgeVIEW Engine shuts down. Input items are polled by servers at a rate determined by the BridgeVIEW I/O group configuration. For each input item, the device server passes...
  • Page 33 BridgeVIEW concepts, and review any G programming techniques that you might be familiar with already. Save all of the VIs you create with the BridgeVIEW activities in the directory. There is also a Solution directory BridgeVIEW\Activity...
  • Page 34 ) that contains the completed VIs BridgeVIEW\Activity\Solutions for each activity in this manual. You can view the VI for an activity that you have not completed yet, or use the VIs in this directory as a means of verifying your work.
  • Page 35 BridgeVIEW is built, the BridgeVIEW Engine Manager, system errors and events, the Tag Monitor utility, and the Tag Browser utility. This chapter also explains how to access online help for BridgeVIEW and provides an activity that illustrates how to examine the front panel and block diagram of a virtual instrument (VI).
  • Page 36 VIs have both an interactive user interface and a source code equivalent, and accept parameters from higher-level VIs. VIs have three main parts: • The front panel • The block diagram • The icon/connector With these features, G promotes and adheres to the concept of modular programming.
  • Page 37 Stop button—Aborts VI execution. Pause/Continue button—Pauses VI execution/Continues VI execution. Font ring—Sets font options, including font type, size, style, and color. Alignment ring—Sets alignment options, including vertical, top edge, left, and so on, for two or more objects. Distribution ring—Sets distribution options, including gaps, compression, and so on, for two or more objects.
  • Page 38: Tools Palette

    BridgeVIEW has a floating Tools palette, which you can use to edit and debug VIs. You use the <Tab> key to tab through the commonly used tools on the palette. If you have closed the Tools palette, select Windows»Show Tools Palette to display the palette. A shortcut for bringing up the Tools palette is to right click while pressing the <Shift>...
  • Page 39: Controls Palette

    The Controls palette consists of a graphical, floating palette that opens when you launch BridgeVIEW. You use this palette to place controls and indicators on the front panel of a VI. Each top-level icon contains subpalettes. If the Controls palette is not visible, you can open it by selecting Windows»Show Controls Palette from the front panel menu.
  • Page 40: Numeric

    To access the pop-up menu, right-click on any object that has a pop-up menu. The primary data types you use in BridgeVIEW applications — numeric, Boolean, string, and tag, are described in the following sections.
  • Page 41 Label Increment Buttons Label You use Boolean controls and indicators for entering and displaying Boolean (TRUE/FALSE) values. Boolean objects simulate switches, buttons, and LEDs. The most commonly used Boolean objects are the vertical switch and the round LED, shown below, found in the Boolean subpalette.
  • Page 42 Your objective is to familiarize yourself with the basic concepts of virtual instruments. You will open, examine, and operate the front panel and block diagram of a VI. Select File»Open, and open BridgeVIEW\Examples\G Examples\Apps\tankmntr.llb The front panel appears as shown in the following illustration. .scf Tag Data Interface.
  • Page 43 Open the block diagram of the Tank Simulator VI by choosing Windows»Show Diagram. The following illustration shows the block diagram. Examine the different objects in the block diagram. Every front panel in BridgeVIEW has an accompanying block diagram, which is the VI equivalent of a program. Think of the block...
  • Page 44 You can access these tools through the Project menu in your BridgeVIEW system. Table 2-1 provides a brief description of the items in the Project menu. Project Menu Item...
  • Page 45 Opens a utility you can use to add, remove, and modify access levels in your BridgeVIEW system. If user accounts are defined in your system, you must have Administration privileges to edit the list of access levels. For more information about security and...
  • Page 46: What Is The Tag Browser?

    Description Launches the Tag Browser. You can use the Tag Browser to view information on all of the tags in the currently-loaded If the BridgeVIEW Engine is not running, you can use the Tag Browser to load a different .scf the Tag Browser, see the section this chapter.
  • Page 47 Manager dialog box. This table provides basic information about the Engine Manager dialog box options. For a more complete understanding of how or why you might use the Engine Manager in a BridgeVIEW application, you must understand how to configure tags. See Chapter 3,...
  • Page 48 Once the BridgeVIEW Engine is launched and running, the Engine Manager is minimized and appears in your Windows taskbar. Click on the BridgeVIEW Engine icon in your taskbar to bring up the Engine Manager display. You can leave the BridgeVIEW Engine Manager display minimized unless you want to start or stop the Engine, or start or stop historical logging, event logging and printing, view system events, or view server information.
  • Page 49 (as opposed to a per tag basis) that result in problematic functioning of the BridgeVIEW system. When a system error occurs, BridgeVIEW prompts the user with a dialog box. You can turn this dialog box on or off.
  • Page 50 Detailed system error and event messages are logged to a system log file. The messages are written to an ASCII file with a extension in the .log directory. BridgeVIEW automatically creates this directory, if SYSLOG it does not exist already. The system log file names take the format, where...
  • Page 51 Configuration File Displays the name of the configuration file you are browsing. Browse If the BridgeVIEW Engine is not running, press this button to select a different configuration file. Location Displays the full path of the directory containing the configuration file you are browsing.
  • Page 52 Displays the engineering unit for the tag. This is displayed for analog tags only. If the BridgeVIEW Engine is loaded, you can view the tags currently loaded with the Tag Browser. If the BridgeVIEW Engine is not loaded, the Tag Browser displays the currently loaded button to change the The Tag Browser is a useful tool if you need to look at how a tag is configured while you are building your MMI VIs.
  • Page 53 Note Selecting the Tag Monitor from the Project menu automatically launches the BridgeVIEW Engine if it is not running already. Tag information is shown in a table format, sorted by tag name. When a tag has a non-zero tag status, the Status column indicates if the tag status is Warning Table 2-4 describes the fields and captions in the Tag Monitor Utility.
  • Page 54 The Status Details dialog box, shown in Figure 2-6, displays a summary of the status for each tag in the system. Tags that have a warning are highlighted in blue, and tags in error are red. BridgeVIEW provides a description of the error or warning when possible. Internal codes are reported by BridgeVIEW;...
  • Page 55 Figure 2-6. With the Select Tags to Monitor dialog box, shown in Figure 2-7, you can select which tags to monitor and configure how often to refresh the monitor display. The Available Tags list box shows the tags not displayed in the Tag Display Table.
  • Page 56 Select Tag Monitor»Preferences to bring up the Tag Monitor Preferences dialog box, shown in Figure 2-8, which lets you choose how certain types of tags are displayed. You can control how the displayed precision for analog tags by modifying the Digits of Precision field. For bit array tags, the values can be in binary, octal, or hexadecimal format.
  • Page 57 In the Help window, you can specify whether you want to display the simple or complex view for block diagram objects. When you open the Help window, BridgeVIEW automatically defaults to the simple help view. In simple help view, BridgeVIEW displays only the required and recommended inputs for VIs and functions.
  • Page 58 This Connection Is submenu. In the Help Window, you can click on the Online Help button to access BridgeVIEW online help as well as help files you have created using a help compiler. For more information on creating help files, see the section Creating Your Own Help Files, in Chapter 5, Printing and Documenting VIs in G, in the G Programming Reference Manual.
  • Page 59 Tag Configuration Editor. Before you can run a BridgeVIEW application, you must specify a tag configuration. is a data value in the BridgeVIEW Engine. Tags can be used to monitor an I/O point, to store a result of a calculation based on other tags, or to monitor a tag on another BridgeVIEW Engine.
  • Page 60: General Attributes

    General attributes include data type, maximum length for string and bit array tags, and the name, description, and tag group of the tag. The BridgeVIEW system supports four types of tags: analog, discrete, string, and bit array. These types differ by the inclusion of attributes within the operations, scaling, and alarm categories.
  • Page 61: Alarm Attributes

    Topics. The Tag Configuration Editor is a tool that assists you in configuring all the parameters of the BridgeVIEW Engine. The chief component of this tool is the configuration of all tags in the system. Other configuration components include Alarm and Event Logging, and Historical Logging.
  • Page 62 The Tag Configuration Editor records all tag information and Engine parameters and stores this information in a BridgeVIEW Configuration File with the extension BridgeVIEW Engine reads this file to determine all of the configuration parameters for execution. With the Tag Configuration Editor, you can specify the following: •...
  • Page 63 Communication between the BridgeVIEW Engine and any device server is stopped temporarily when the Engine shuts down and restarts. From the main panel of the Tag Configuration Editor, press one of the following buttons: Create Analog Tag(s)…, Create Discrete Tag(s)…, Create String Tag(s)…, or Create Bit Array Tag(s)….
  • Page 64 .scf machine. A BridgeVIEW server can also act as a client and get its data from other BridgeVIEW server machines, as shown in the illustration below. file, the tag and its configuration information .scf...
  • Page 65 .scf On the BridgeVIEW client, open the Tag Configuration Editor and select File»Import Network Tags…. The Select Tags for Network Import dialog box, shown in Figure 3-3, allows you to browse the network for an file and select tags you wish to import.
  • Page 66 The default values apply when creating a new tag, importing a tag from the server registry, or importing a tag from a spreadsheet. In the case of spreadsheet, a value in the spreadsheet overrides the default value for the field. For more information about the individual fields, see the How Do You Configure Tags? section in this chapter.
  • Page 67 For easy viewing and editing in the spreadsheet, press the Use Default Order button. After you edit the file, save it as a Configuration Editor, select File»Import… to import the information from the spreadsheet file. If you use spreadsheet files with the Tag Configuration Editor, it is important that you understand the following points: •...
  • Page 68 When you configure a tag with the Tag Configuration Editor, you define several attributes for the tag. You can separate these attributes into five categories: general, connection, operations, scaling, and alarms. Each of these categories is explained in detail later in this section. If you import tag configuration information from a spreadsheet, follow the same format in your spreadsheet as indicated in the Attribute column of each of the tables listed above.
  • Page 69 string tag is an ASCII character representation of a connection to a real-world I/O point or memory variable. Use a string tag when you have binary information or an ASCII value. For example, you might use a string tag to obtain values from a bar code reader, or if you have data that does not fit into any other data type.
  • Page 70 Applies to Attribute Data Types Tag Name Tag Group Description Maximum string, Length bit array You associate a tag with its real-world I/O point by assigning it a Server, I/O Group, and Item in the Connection tab of the Tag Configuration dialog box, shown in Figure 3-5.
  • Page 71 Figure 3-5. If a device server does not appear in the server name list, you must run the configuration or registration utility for your server before BridgeVIEW can access the server. Table 3-2 provides descriptions of the connection attributes, and indicates the data types to which each attribute applies.
  • Page 72 Description Determines the data type of the tag you are configuring. BridgeVIEW tags can be analog, discrete, bit array, or string. Determines the access rights for a tag. Tags can have access rights of Memory, Input only, Output only, or Input/Output.
  • Page 73 server uses devices, with only one device. A server can have multiple I/O Groups associated with it. The Create… button invokes the I/O Group Configuration dialog box, which you can use to specify group name and timing parameters. For servers that support resource configuration, you also can use this dialog box to select and configure devices and to configure communication resources.
  • Page 74 I/O Group. The server can have other configuration options that determine the actual update rate. This is the rate at which BridgeVIEW requests all tags configured with this update rate be updated. I/O Group Deadband...
  • Page 75 For IAK servers, use the Create… button to invoke a new, untitled IAK Create Communication Resource Configuration dialog box. This configuration option is not used for other classes of servers. For IAK servers, use the Edit… button to invoke the IAK Edit Communication Resource dialog box for the currently selected communication resource.
  • Page 76 Use the Edit… button to invoke the Edit Device Configuration dialog box for the device currently selected in the device list. The options in this dialog box vary depending on the type of server. If the server does not support device configuration, this button is disabled.
  • Page 77 Memory tags are tags not connected directly to I/O points. They exist only in the BridgeVIEW RTDB. To configure a memory tag, set the Access Rights of a tag to Memory. Use memory tags when you want to perform alarm calculations,...
  • Page 78 Interface. Use the Configuration Wizard to create tags from the server information. The Configuration Wizard is useful if you want the BridgeVIEW Engine to monitor a large number of the I/O points in your system. To invoke the Configuration Wizard, press the Configuration Wizard button on the main screen of the Tag Configuration Editor or select Edit»Configuration...
  • Page 79 Select DDE Server as your server in the Connection tab of the Tag Configuration Editor to communicate with DDE servers. DDE Servers have an Application Name, Topic, and Item. In BridgeVIEW, the device in the I/O Group Configuration dialog box is set to (| = the “pipe”...
  • Page 80 Engine startup. Figure 3-7 shows the Operations Tab of the Analog Tag Configuration dialog box. With this section of the dialog box, you can inform the BridgeVIEW Engine of what to do with the data in the RTDB. Table 3-4 provides descriptions of the operations attributes, and indicates the data types to which each attribute applies.
  • Page 81 For analog tags, Update Deadband is a percent of full scale. The BridgeVIEW Engine writes new analog tag values to historical files only when a new tag value is different than the last logged value by at least the Log Data Deadband.
  • Page 82 The initial value used for this tag when Set Initial Value is ON. If the tag is an Output only or Input/Output tag, the BridgeVIEW Engine sends the Initial Value to the server at Engine startup.
  • Page 83 While editing a tag, click on the Log Data or Log/Print Events checkbox. If you want to log historical data or events, the BridgeVIEW Engine must have these processes enabled. To turn them on, open the Engine Manager and turn on the processes with the panel buttons, or configure the Engine to turn on these processes automatically at startup by selecting Configure»...
  • Page 84 Mask The next sections explain how to scale data. Often your application needs BridgeVIEW to manipulate the raw data used in the device server to put it in a form, called engineering units, suitable for the operators. The following sections describe the options for individual data types.
  • Page 85 Raw Full Scale and Raw Zero Scale, refers to the values used by the device server. Engineering range, defined by Engineering Full Scale and Engineering Zero Scale, refers to the values used by the BridgeVIEW Engine and HMI. Pull down the Scaling ring and select Linear to enable a linear (mx + b) conversion between raw and engineering ranges.
  • Page 86 GPM. The only scaling available for discrete tags is invert scaling. Click the Invert Data checkbox, shown in Figure 3-9 to advise the BridgeVIEW Engine to invert the discrete value when it communicates with the...
  • Page 87 BridgeVIEW Engine. You can use the select mask to determine the bits you do not need. Figure 3-10 shows the Scaling tab of the Bit Array Tag Configuration dialog box, and Table 3-6 provides examples of tags configured for bit array scaling.
  • Page 88 Tag Name Length Raw Value Tag 1 Tag 2 Tag 3 Tag 4 Tag 5 Tag 6 0x0FF0 Invert Mask 0x0F 0x00 0x0F 0x33 0x0F 0x33 0x0F 0x00 0x0F 0x33 0x000F Select Mask Scaled Value 0xFF 0x0F 0xFF 0x3C 0x0F 0x0C 0x33 0x30...
  • Page 89: Alarm Priority

    Each alarm limit has a priority, ranging between 1 and 15. In BridgeVIEW, 15 is the highest priority and 1 is the lowest. There are two main types of alarms: •...
  • Page 90 Applies to Attribute Data Types HI_HI Limit analog HI_HI analog Priority HI Enabled analog HI Limit analog HI Priority analog LO Enabled analog LO Limit analog LO Priority analog LO_LO analog Enabled LO_LO Limit analog LO_LO analog Priority Discrete discrete, Enabled bit array Description...
  • Page 91 Applies to Attribute Data Types Alarm on discrete, bit array Discrete discrete, Priority bit array Alarm Invert bit array Mask Alarm Select bit array Mask Alarm discrete, Message bit array Tag Last Modified Description Determines whether a discrete tag should be alarm on ON (high) or OFF (low).
  • Page 92 While editing a tag, click the Enable Alarms checkbox. Alarms are generated depending on the value or state of a tag. The alarms based on value vary with the tag data type. But for any tag, if the status is bad, a Bad Status alarm is generated.
  • Page 93 Discrete tags have one alarm state—either the tag is in alarm or it is not. You can determine whether a tag is in alarm when it is ON (High) or OFF (Low). Figure 3-12 shows the Alarms tab of the Discrete Tag Configuration dialog box.
  • Page 94 String tags have no alarm states based on tag value. They only support Bad Status alarms. Alarm Deadband is a method commonly used to avoid repetitive alarm messages because of a tag value that hovers near the alarm limit. Alarm Deadband defines how much a tag value must change from the alarm limit before it is considered normal.
  • Page 95 Time Value 9:15:15 40.1 9:15:20 38.5 This type of situation clogs event files with redundant information and can cause operators some frustration in having to acknowledge alarms constantly when the tag has not changed significantly. You can use the Alarm Deadband to alleviate this problem. For the tag to go into alarm, it must go above the exact Alarm Value (in the above example, 40).
  • Page 96 Register Tanks Server VI, as indicated in the steps below. For more information about registering servers, see Chapter 8, Servers. Open the Register Tanks Server VI, which is located in the BridgeVIEW\_servers\Tanks Server Run the VI. Close the VI.
  • Page 97 This configuration file uses data simulated by the Tanks Server. You must ensure that the is registered with the BridgeVIEW Engine by selecting Tanks Server Project»Server Tools»Server Browser. If you do not see Registered Servers list, run the BridgeVIEW\_servers\Tanks Server...
  • Page 98 Category Attribute General Tag Name Tag Group Tag Description Connection Tag Access Server Name I/O Group Item Operations Update Deadband (% of range) Set Initial Value Log/Print Events Log Data Log Deadband (% of range) Log Resolution (engineering units) Scaling Engineering Unit Scaling Raw Full Scale...
  • Page 99 Category Attribute Alarms Enable Alarms Alarm Acknowledge Mode Alarm Deadband (% of range) HI_HI LO_LO Bad Status Alarm Modify the Mixer Liquid Table 3-11, to configure them for Historical Logging and Alarm Acknowledgement. To edit a tag configuration, double-click the tag in the Tag Configuration Editor listbox or press the Edit Tag…...
  • Page 100 12. View the tag value and status of the Product tag with the Tag Monitor. Select Project»Tag»Monitor…. Select Product and click on the Add>> button. Then select OK. The Select Tags to Monitor dialog box is shown in the following illustration. Setting Enabled User must Ack BridgeVIEW\Activity\Solutions .scf...
  • Page 101 The Tag Monitor is a quick way to look at tag values and alarm states without building an HMI. It is also a great debugging tool. When you launch the Tag Monitor, it automatically launches the Engine. The Engine loads the last file saved.
  • Page 102 Configuration dialog box by selecting Configure»Engine… from the Tag Configuration Editor. The BridgeVIEW Engine allocates certain amounts of memory for various queues. You can configure some of the parameters used by the Engine and Tags VIs to allocate memory for the Engine buffers yourself, but it is recommended you use the default values.
  • Page 103: Event History

    Parameter System Events Determines the maximum number of lines of text to be display (lines displayed in the System Errors and Events display of the Engine Manager. Error Message Determines the time, in seconds, that recurring error repeat rate messages should be repeated to the user. For example, (seconds) an undefined tag message error repeats only after this value is exceeded.
  • Page 104 When you register a server in your system, BridgeVIEW registers the location of its configuration utility, if it exists. You can access the server configuration utilities from the Servers menu of the Tag Configuration Editor. When you update the server registry while the Tag Configuration Editor is running, select Servers»Refresh to prompt the Tag Configuration Editor to...
  • Page 105: Hmi G Wizard

    To monitor the changes in configured tags in real time, you can build one or more Human Machine Interface (HMI) applications. BridgeVIEW includes a set of VIs with which you can control your HMI, access the Real-Time Database and Citadel, perform calculations and logic, and switch between different displays.
  • Page 106 View and acknowledge alarm states and events • Display historical and real-time data • Read tag configuration and security information • Control the BridgeVIEW system programmatically • Access and change tag attributes • Control output tags G Tutorial section of this Front Panel Object Control.
  • Page 107 A front panel is the user interface of a virtual instrument (VI). You build the front panel of a VI with a combination of controls and indicators representing the values of the tags. Controls are the means of supplying data to your VI, and indicators display data that your VI generates. There are many types of controls and indicators available from the Controls palette, shown in the following illustration.
  • Page 108 The HMI G Wizard associates a front panel control or indicator with a tag, and generates the necessary Wizard subdiagram for a configuration that you specify. Table 4-1 provides a list of front panel objects, and explains how the HMI G Wizard operates on each of them. HMI Function Front Panel Object Control analog tags...
  • Page 109 HMI Function Front Panel Object Display discrete Boolean Indicator values Indicate an alarm state Control string tags String Control Display string String Indicator values Display alarm Alarm Summary summary Display or any Table Indicator Description Invoke the HMI G Wizard on a Boolean indicator to associate a discrete input tag value or an alarm state with that indicator.
  • Page 110 HMI Function Front Panel Object Display event Event History history information Display or any Table Indicator Display a real-time Real-Time Trend or trend Waveform Chart Indicator Display a historical Historical Trend or trend XY Graph Indicator Description Invoke the HMI G Wizard on a table indicator to obtain a history of past events and alarms (Event History).
  • Page 111 To invoke the Wizard, pop up on a front panel object, and select HMI G Wizard…. For example, the HMI G Wizard dialog box for an analog input tag appears in Figure 4-1 by popping up on a numeric indicator. When you invoke the HMI G Wizard on one of the front panel objects listed in Table 4-1, a dialog box appears for that object.
  • Page 112 Once you associate a front panel object with a tag and set the various parameters, the HMI G Wizard generates the appropriate code and places it on the block diagram. For example, using the HMI G Wizard for Analog Indicator, shown in Figure 4-1, the following Wizard subdiagram appears on the block diagram.
  • Page 113 Pop up on the trend and select HMI G Wizard…. Now you can select a list of tags to monitor. Select Mixer, and click on Add, as shown in the following illustration. mytanks.scf BridgeVIEW\Activity in the label. , which Values,...
  • Page 114 If you do not see a list of available tags or the tag name Mixer is not in the list when you click on the Tag menu ring, pop up on the menu ring and select Tag Browser… to select the correct file.
  • Page 115 The locked code is very tightly coupled with the front panel object. If you delete the front panel object, the block diagram associated with it is deleted automatically. Save the VI as My Tank HMI.vi directory. and launches the mytanks.scf in the BridgeVIEW\Activity...
  • Page 116 You can customize BridgeVIEW controls and indicators to change their default appearance on the front panel with the Control Editor. You also can save these controls for use in other VIs. Programmatically, they function the same as standard BridgeVIEW controls.
  • Page 117 You can import graphics from other programs for use as background pictures, as items in ring controls, or parts of other front panel controls. Before you use a picture in BridgeVIEW, you must load it into the BridgeVIEW clipboard. To load an example of this type of control, right-click the front panel and select Controls»Select a Control…, and...
  • Page 118 A file dialog box prompts you to select a picture file to open. Open from the boat1.wmf Pop up on the pointer of the slide and select Import Picture. The boat image is imported onto the triangular pointer of the slide, as shown in the following illustration. directory. BridgeVIEW\Activity...
  • Page 119 10. Save this control as Boat1.ctl directory. BridgeVIEW has objects called attribute nodes which are special block diagram nodes you can use to control the appearance and functional characteristics of controls and indicators from your diagram. You can set attributes such as display colors, visibility, position, blinking, trend scales, and many more.
  • Page 120 There are other VI libraries that contain VIs with which you can add additional functionality and sophistication to your HMI. These VIs do not interact directly with the BridgeVIEW RTDB. Instead, you can query as well as control other features of the BridgeVIEW system. These VI libraries are as follows: •...
  • Page 121 BridgeVIEW has a special data type called the tag data type that is aware of the available tag names and tag group names contained in the current file. All BridgeVIEW functions that can operate on tags or tag groups .scf use the tag data type.
  • Page 122 You also can enter the name of the tag you want to use. The tag control performs a Type Look Ahead as you type, and displays the closest tag or group name to what you enter. By default, the tag control does not allow you to enter a name that is not contained in the current file.
  • Page 123 .scf want to use. This is possible as long as the BridgeVIEW Engine is not running. When the Engine is launched, the Tag Browser runs the currently selected file.
  • Page 124 The Tags VIs and Alarms and Events VIs return several flags that indicate the state of the BridgeVIEW Engine. They return a Boolean error flag to indicate whether the operation was successful. If the error flag is TRUE, the tag specific information returned by the VI might not be valid.
  • Page 125 HMI. All VIs that read information form the BridgeVIEW database have a changed? output that is TRUE if the returned information is new or updated. If the VI returns and changed? is FALSE, the VI might have timed out, or the information in the database did not change since the last time you read it.
  • Page 126 To create the block diagram, pop up on the tank and select HMI G Wizard…. Select Product for the Tag and click OK, as shown in the following illustration.
  • Page 127 The HMI G Wizard generates a diagram for you that calls the Read Tag VI, as shown in the following illustration. Pop up on the lock in the top right corner of the While Loop and select Release Wizard Lock. Using the Labeling tool, edit the timeout input to the Read Tag VI from its default (indefinite) to...
  • Page 128 ON, indicating an alarm condition. When a user-defined VI runs and executes one of the Tags VIs or Alarms and Events VIs, that VI checks the status of the BridgeVIEW Engine. If it is not running, executing the VI automatically starts execution of the BridgeVIEW Engine.
  • Page 129 You can choose how to monitor and control tag values as well as operator interface controls and indicators in your HMI. Normally, you use one or more While Loops in a VI diagram with a single wait operation inside of each loop.
  • Page 130 Alarm VI is TRUE. This example demonstrates how you might use the changed? output. In this example, it is not important to use the Case structure because BridgeVIEW indicators update only when the displayed information actually changes. If you use a large number of indicators or attribute nodes or more complex...
  • Page 131 Start Batch button at 100 m/s intervals. When you leave the timeout input unwired, all Read Tag VIs read the BridgeVIEW database immediately by default. In this case, you must explicitly program the loop wait time by using the Wait Until Next ms Multiple VI.
  • Page 132 When you have a multiple-loop application, you can add initialization code before executing the loops, and some cleanup or shutdown code after all the loops finish executing. You can use the Sequence structure for this purpose. Put the initialization code in the first frame of the Sequence structure, put all your loops in the second frame of the Sequence structure, and put the shutdown code in your final sequence.
  • Page 133 You can build a real-time trend by dropping a real-time trend indicator on your front panel and popping up on it to select the HMI G Wizard. Alternatively, you can assemble the diagram manually using a While Loop and the Trend Tags VI. Wire the output of the Trend Tags VI to the terminal for a real-time trend indicator.
  • Page 134 The real-time trend indicator updates with a value for each tag every time the indicator is written to. If a VI using this indicator is executed several times, it still has previous data displayed. For this reason, you might want to initialize the real-time trend indicator before the loop begins execution.
  • Page 135 This example illustrates the use of dataflow programming to enforce the order of two structures that otherwise are not related by data flow. By wiring the time interval (secs) constant through the Sequence structure and into the While Loop, the While Loop does not begin execution until the code in the Sequence structure has completed execution.
  • Page 136 Figure 4-8 illustrates the subsequent frame of the Sequence structure. The HMI runs in a loop, monitoring the various tags and front panel controls until the BridgeVIEW Engine shuts down.
  • Page 138 Events can be divided into two groups: those that pertain to individual tags and those that pertain to the overall BridgeVIEW system. An example of a tag event is a change of alarm state for a tag. Examples of system events include a user logging on, the Engine starting up, or historical logging being turned on.
  • Page 139 An event history is a collection of all the alarms and events pertaining to tag values that have occurred in the BridgeVIEW system since the Engine was started. You can report recent events to your HMI by using the Event...
  • Page 140 can change the default colors of alarms, acknowledged alarms and unacknowledged tags that have returned to normal with the Color Codes for Alarm Summary control, which also is available in the Alarms and Events palette. Your objective is to use the HMI G Wizard to display alarm summary information.
  • Page 141 Now, you can select the tags to monitor. In the tag list, select <ALL> view alarms on all the tags that have alarms configured. Click on the Add button to add all tags to the list. If you do not see a list of available tags when you click on the Tag menu ring, pop up with your right mouse button on the menu ring and select Tag Browser….
  • Page 142 If there are no alarms being displayed, launch the Tag Configuration Editor (Project»Tag»Configuration) and open Activity 3-1, save it, and relaunch the Engine. in the BridgeVIEW\ . Edit it as indicated in mytanks.scf...
  • Page 143 To read all the alarms and events in the BridgeVIEW system that have occurred since the Engine was started (unless limited by buffer size) drop the Event History Display from the Alarms and Events palette on your front panel. Then, you can invoke the HMI G Wizard to create the diagram code for an event history.
  • Page 144 remains at until the user presses the ACK button on the HMI and UNACK acknowledges the alarm. You can select the tags for which you want to acknowledge alarms. It is a good idea for this tag list to be identical to the list of tags you display alarms for in the Alarm Summary or Event History Display.
  • Page 145 Select Alarm Acknowledgement for the Attach Control to: option. Select the tags to monitor. In the tag list, select on all the tags that have alarms configured. Click the Add button to add all tags to the list. Click OK. The HMI G Wizard creates the diagram shown below.
  • Page 146 Run the VI. When alarms appear in the Alarm Summary, click on the ACK button. You can see the color of the Alarms change from red to yellow. Acknowledged alarms that are normal disappear from the display. in the BridgeVIEW\...
  • Page 147 You can configure logging and printing options for Alarms and Events through the Event Configuration dialog box, shown in Figure 5-1. This configures the format of alarms and events written to You can reach this dialog box by choosing Project»Tag»Configuration, and then Configure»Events from the Tag Configuration Editor.
  • Page 148 Selection Start event Determines whether the BridgeVIEW Engine automatically begins logging logging on events when the Engine launches. system start-up Days to keep Determines how many days worth of event files are kept on disk. Anything event files older than the number of days specified here is deleted automatically.
  • Page 149 Selection Date Determines whether the date is logged or printed. Date Format A menu ring that allows you to pick a format for the date to be printed. This selection is valid only if Date is selected. The menu items are: DD/MM/YYYY Time Determines whether the time is logged or printed.
  • Page 150 For programmatic control, you can call the Enable Event Logging VI in the System palette. With this VI, you can turn event logging on or off dynamically for all the tags in the system, while the BridgeVIEW Engine is running.
  • Page 151 For programmatic control, you can call the Enable Printing VI in the System palette. With this VI, you can turn event printing on or off dynamically for all the tags in the system, while the BridgeVIEW Engine is running. •...
  • Page 152: Historical Trend Viewer (Htv)

    Historical Trend Viewer (HTV), a utility that displays historical data that has been logged to disk with BridgeVIEW. A trend is a display of tag values against time. BridgeVIEW displays tag values with two types of trends: real-time trends and historical trends. You can find these trends in the Controls palette.
  • Page 153 Configure a path for the historical database. To choose the path, select Configure»Historical… in the Tag Configuration Editor. Turn on historical logging for the BridgeVIEW Engine, according to one of the three techniques outlined below. There are three techniques for turning historical data logging on or off: •...
  • Page 154 Store absolute path Determines whether the absolute path is stored. Start logging on system Determines whether the BridgeVIEW Engine automatically begins start-up logging historical data when the Engine launches. Days to keep historical Determines how many days worth of historical log files to keep on disk.
  • Page 155 There are several VIs you can use in your HMI to manipulate data logged in Citadel files. These VIs access disk files and do not require the BridgeVIEW Engine to be running. You can use these VIs to browse files, extract the information in a format that can be displayed in a Historical Trend indicator, or export the data to a spreadsheet file format.
  • Page 156 If the Citadel Path is empty, the File Dialog function is executed. This brings up a File dialog box that lets the operator select the directory containing the historical data files. The example then uses the returned by the Get Historical Tag tag list List VI to set up a list of names in the front panel Tag List listbox, found by selecting List &...
  • Page 157 Citadel and determines statistical information of the data. In this activity, you will read previously logged data, which is included in BridgeVIEW\Activity\Data in the BridgeVIEW\Activity Configure a Tag, and View the Tag Configuration Parameters and Tag Values.
  • Page 158 You will display previously logged data, which is included in the BridgeVIEW\Activity\Data of data. You can change the time axis to display the first minute of this data. Run the VI. The trend displays one minute of data. You can use the panning tool to grab the plot and scroll to the left or right to show more data.
  • Page 159 On the front panel, create an array of numeric indicators. Stretch the array indicator so that four fields are showing. Then pop up on the array indicator and select Show»Index Display to deselect the index display, as shown below. Run the VI. Initially, the historical trend displays the first minute of data in the set, along with the averages for the four tags.
  • Page 160 If you want to look at more tags in a single historical trend, you should build your own utility using the Historical Data VIs. To start the HTV, select Project»Historical Trend Viewer…. The HTV is shown in the following illustration. in the BridgeVIEW\...
  • Page 161: Panning Buttons

    Citadel files. The default is to choose a file you choose must point to a valid directory of Citadel files. If the .scf BridgeVIEW Engine is running, the BridgeVIEW Engine is displayed. You can look at data from only one Citadel database at a time.
  • Page 162 The Panning buttons allow you to move backward and forward through the historical data in the trend. The buttons do not affect the timespan of the trend. For example, if the trend displays data from 9:45 to 9:55 on the same day, the timespan is ten minutes.
  • Page 163 The timespan indicator displays the amount of relative time between the start and end points of the time axis. To change the amount of time between these points, you either can manually reenter data in the start or end point on the time axis, or pull down the ring for the timespan indicator.
  • Page 164 Click on the Trend Legend. The pop-up window contains several options with which you can change the plot colors and styles used in the trend. The HTV Trend palette contains a Zoom tool that allows you to zoom in on points of interest. The Zoom tool has five modes with which you can zoom in on the trend: •...
  • Page 165 Select the Remember settings on exit checkbox if you want to update your settings each time you exit the HTV. You can use Live Mode to watch incoming data after it has been logged. When the Engine is turned on with historical logging enabled, the Live button appears to the right of the panning buttons.
  • Page 166 Mixer, Liquid, and Product tags from the list of Available Tags and add them to the Tags to Display list. Click OK. When you close the Select Tags for HTV dialog box, the Historical Trend Viewer appears, as shown in the following illustration. directory, as BridgeVIEW\Activity BridgeVIEW\...
  • Page 167 The HTV displays the trends for the Powder, Mixer, Liquid and Product tags. The Available Data display shows the start and stop timestamps of the logged data. The status of the HTV is displayed on top of the Historical Trend. You can see it change from Accessing Disk to Running.
  • Page 168 © To see the value of a particular data point, use the two vertical cursors on the trend. You can see the value of the data point on each trend at the given cursor location in the Data Display. Select File»Exit to terminate the HTV.
  • Page 169 Buttons are the most common mechanism for navigating through different panels. Operators can use buttons to close windows, invoke login prompts, or display different panels. BridgeVIEW contains a variety of different buttons that you can use and customize. Buttons are located in the Controls»Boolean subpalette.
  • Page 170 The Panel G Wizard only operates on Boolean controls. To invoke the Wizard, pop up on a front panel Boolean control and select Panel G Wizard…. Popping up on a button control brings up the Panel G Wizard shown in Figure 7-1. Because the code created by the Panel G Wizard contains file path information, some features do not generate correct code until the calling panel is saved to disk.
  • Page 171 Like all user interface controls in BridgeVIEW, front panel buttons are monitored using a polling loop mechanism. Polling will occur either until the BridgeVIEW Engine shuts down, or, if the Always option is selected, until the VI stops. Your objective is to use the Panel G Wizard to attach buttons to VIs that you have created, to the HTV, and to a Login prompt.
  • Page 172 The locking mechanism works the same way as it does for the HMI G Wizard. in the BridgeVIEW\Activity My Alarm Summary with Ack.vi Acknowledge Alarms in the Alarm...
  • Page 173 If the engine is currently running, you can check the Engine Manager display. If an incorrect the engine and open the Tag Browser. Select Tag Browser… to configure BridgeVIEW to open the BridgeVIEW\Activity Engine Manager display or by selecting Project»Launch Engine….
  • Page 174 For example, you might find it unnecessary to load certain panels into your application until they are needed. By using these functions, you can control when your panels are loaded into memory. You can reach the VI Server functions through the Functions»Application Control palette, shown below.
  • Page 175 Application Control. As you develop more sophisticated user interfaces, you might find that you need to exercise control over portions of the BridgeVIEW environment from your own applications. The System VIs palette provides mechanisms to programmatically control the BridgeVIEW Engine.
  • Page 176 Use the Engine Launch VI to launch the BridgeVIEW Engine programmatically with a specified configuration file. Use the Engine Shutdown VI to stop the BridgeVIEW Engine and the servers currently executing. For more detailed information about these or any other VIs,...
  • Page 177 There is a set of VIs in the Tag Attributes palette with which you can read or change configuration information about tags programmatically. Most of these tag attributes are parameters you can configure for a tag with the Tag Configuration Editor. They fall into five categories: •...
  • Page 178 You created this VI in Activity 4-3, not complete this activity, you can open the VI from the BridgeVIEW\Activity\Solutions Open the block diagram, select the While loop, and delete it. Because you released the Wizard Lock in Activity 4-3, the HMI G Wizard will no longer replace the old code, but will generate additional code instead.
  • Page 179 Run the VI. Because the Product tag is configured to go into HI alarm when it exceeds a value of 800, you can see that the tank color is blue while the tag value is below 800. It changes from blue to red when the value goes above 800.
  • Page 180 Save the VI as Change Alarm Limit.vi BridgeVIEW\Activity Run this VI. This dynamically changes the HI limit for the Product tag from 800 to 500. 10. Look at Monitor Product.vi now you should see the color change from blue to red when the value exceeds 500, instead of 800.
  • Page 181 Access to most BridgeVIEW utilities and the BridgeVIEW Engine can be configured on a per-user basis. For example, not all users should be able to configure the tags in the system or create and edit user accounts. The privileges that can be assigned to a user are defined in Table 7-1.
  • Page 182 Create/Edit Access Levels Create/Edit User Accounts Configure User Privileges A user’s BridgeVIEW Environment privileges are completely independent of the user’s access level, and do not directly affect access to objects in the operator interfaces that you develop for your application. See the...
  • Page 183: How Do You Find Your Environment Privileges?

    To log in, choose Project»Security»Login. Type in your account name and password. If you do not know your login name, or have forgotten your password, contact your BridgeVIEW administrator. To log out, choose Project»Security»Logout. After you have logged in, you can find your access level by choosing Project»Security»Access Levels….
  • Page 184 For more information about BridgeVIEW user privileges, refer to Table 7-1. You must be logged in to change your password. Choose Project»Security»Change Password. Type in your old password, then your new password. Type in your new password again to verify it.
  • Page 185 HMI Function Reference. When you install BridgeVIEW, no user accounts exist, so all users have full access to the system. You must create user accounts for the normal security features to take effect. When you create user accounts, you assign an access level to each account.
  • Page 186 choose Project»Security»Edit User Accounts…, and the Edit User Accounts dialog box appears, as shown in Figure 7-4. Click the Add New Users>> button to create a new user account. Type in a name, select an access level, and provide a password for the account. To modify the privileges for the account, click the Privileges…...
  • Page 187 example, change the access level of several accounts to be the same value), hold down the <Shift> key when selecting users from the list. Once you have defined user accounts, you must have at least one “super user” account (Access Level 255, privileges to Create/Edit user Accounts and Configure User Privileges), unless you remove all user accounts.
  • Page 188 Registry access does not function unless the Remote Administration service is installed and running on the Windows 95 machine attempting to access another computer’s BridgeVIEW account list, or whose account list is to be accessed by another computer. Consult your Windows 95 documentation to determine if Remote Administration is enabled, and how to install it if it is not.
  • Page 189 You Export a List of Users to a File? You can import BridgeVIEW user accounts from other computers from a text or binary file or by choosing File»Import»Network BridgeVIEW.
  • Page 190 Remote Administration service is installed and running on any Windows 95 machine that attempts to access another computer’s BridgeVIEW account list, or whose account list is to be accessed by another computer. Consult your Windows 95 documentation to determine if Remote Administration is enabled, and how to install it if it is not.
  • Page 191 You can use security information to control visibility attributes on HMI objects. There is a set of security VIs you can use to implement security in your HMI, found in the System»Security palette. For more information about these or any other VIs, refer to Appendix A, HMI Function Reference.
  • Page 192 Activity 5-2, Summary Display. You also will associate specific access levels to an Acknowledge Boolean on your front panel. Configure the BridgeVIEW environment security by selecting Project»Security»Edit User Accounts. Select Add New Users>> and create the following new accounts: User Name:...
  • Page 193 After creating the two accounts, select << Done Adding Users. Click the OK button. Unless you were previously logged in, a Login dialog box appears. Log in as Administrator Open the My Alarm Summary With Ack.vi Activity 5-2, Acknowledge Alarms in the Alarm Summary Edit the block diagram of operability of the Ack button depending on the user logged in.
  • Page 194 Save the VI as Alarm Summary with Security.vi BridgeVIEW\Activity The completed block diagram, including the new While Loop with the Security Monitor VI, is shown in the following illustration. Run the VI. Because you are logged in as privileges to acknowledge alarms.
  • Page 195 Anyone Project»Security»Login. The Acknowledge button is now disabled. This is because operability access is given to users with Level 50 or above in BridgeVIEW. User has an access level of 25. Anyone 10. Close the VI and log in as...
  • Page 196 I/O layer for BridgeVIEW. An item in BridgeVIEW is a channel or variable in a real-world device. For more information about how to connect a tag to a server and item, see Chapter 3,...
  • Page 197 In addition, you can use other servers available from companies other than National Instruments. To use a device server with BridgeVIEW, first you must install the device server and register it or run its configuration utility. More specific information on installing and registering National Instruments servers follows later in this section.
  • Page 198 BridgeVIEW. The NI-DAQ OPC Server is available as part of NI-DAQ 6.x, and is included on the BridgeVIEW CD. You can choose to install the NI-DAQ OPC Server at the same time you install NI-DAQ, or you can install the NI-DAQ OPC Server at a later time.
  • Page 199 To register each server, open its register VI, Server.vi run it, and close the VI. The server then appears in the BridgeVIEW list of servers whenever you configure a tag or look at servers in the Server Tanks Server...
  • Page 200 OPC Servers are listed in the Server Name List when you configure a BridgeVIEW tag using the Tag Configuration Editor. To connect a BridgeVIEW tag to an OPC Server item, you select the server and enter or choose the item name along with other parameters you might need to specify, such as the access path.
  • Page 201 When an OPC server is selected in the Servers list, you can press the View Server Information… button to bring up the View Server Information for OPC Servers dialog box, as shown in Figure 8-2.
  • Page 202 This brings up the Browse OPC Servers on Network dialog box shown below. Use this dialog to view the OPC servers registered on other machines on your network. The Registered Remote OPC Servers list shows which remote servers have been added to the BridgeVIEW servers list. If you wish...
  • Page 203 Add Server>> button. The information for the remote OPC server is now stored in your local machine registry, and the server will appear in your BridgeVIEW servers list with the server name format of ( machine name )programID the remote machine when you configure a tag to use that server.
  • Page 204 Edit Tag screens. You also can use the Server Browser to view information about the device servers registered with BridgeVIEW as well as the OPC Servers present in your system and on the network. Launch the Server Browser by selecting Projects»Server Tools»Server Browser…...
  • Page 205 Edit Tag screens. Notice that this invalidates any tags that use that server. Once you have unregistered a server, you can no longer connect to it from BridgeVIEW, and you must run its configuration utility again to register it with BridgeVIEW.
  • Page 206 Unregistering a server means that BridgeVIEW can no longer access that server, and any tag configured to use that server no longer has a valid configuration. Do this only if no tags are configured to use that server and you no longer want to access it from the Tag Configuration Editor.
  • Page 207 You can write an IA Device Server as a BridgeVIEW VI. Several of the example simulation servers installed with BridgeVIEW are VI-based servers. Writing a VI-based IA server is a simple way to emulate hardware or connect BridgeVIEW to a simple device. You can use the same BridgeVIEW development environment to create the server as you used to develop your application.
  • Page 208 Chapter 15, Application Control, introduces the VI Server and provides an activity that explains how to use it within BridgeVIEW. The VI Server allows you to control when a VI is loaded into memory, run, and unloaded from memory. •...
  • Page 209 VIs, but do not have front panels or block diagrams as VIs do. Function icons always have a yellow background. One of the keys to creating BridgeVIEW applications is understanding and using the hierarchical nature of the VI. After you create a VI, you can use it as a subVI in the block diagram of a higher-level VI.
  • Page 210 VI library, either. There is no way to list the VIs in a VI library outside the BridgeVIEW environment. After you create a VI library, it appears in the BridgeVIEW file dialog box as a folder with VI on the folder icon. Regular directories appear as a folder without the VI label.
  • Page 211 Each time you create a new control or indicator on the front panel, BridgeVIEW creates the corresponding terminal in the block diagram. The terminal symbols suggest the data type of the control or indicator.
  • Page 212 floating-point numbers, green wires carry Booleans, and pink wires carry strings. For more information about wire styles and colors, see the G Programming Quick Reference Card. To wire from one terminal to another, click the Wiring tool on the first terminal, move the tool to the second terminal, and click on the second terminal.
  • Page 213 When you place the Wiring tool over a node, G displays wire stubs that indicate each input and output. The wire stub has a dot at its end if it is an input to the node. You can move wired objects individually or in groups by dragging the selected objects to a new location with the Positioning tool.
  • Page 214 Segment Junction Segment Bend Selects a Segment A dashed wire represents a bad wire. You can get a bad wire for a number of reasons, such as connecting two controls, or connecting a source terminal to a destination terminal when the data types do not match (for instance, connecting a numeric to a Boolean).
  • Page 215 Open a new front panel by selecting File»New. If you have closed all VIs, select New VI from the BridgeVIEW dialog box. If the Controls palette is not visible, select Windows»Show Controls Palette to display the palette. You also can access the Controls palette by popping up in an open area of the front panel.
  • Page 216 To view the inputs and outputs of a function or a VI, select Show Help from the Help menu and then drag the cursor over each function and VI. The Help window for the Process Monitor VI is shown below. BridgeVIEW\...
  • Page 217 To move objects around on the block diagram, click on the Positioning tool in the Tools palette. 11. Select File»Save and save the VI as BridgeVIEW\Activity 12. From the front panel, run the VI by clicking on the Run button. Notice values for Volume and Temperature are displayed on the front panel.
  • Page 218 Your objective is to document a VI that you have created. Open the Temp & Vol.vi BridgeVIEW\Activity Select Windows»Show VI Info…. Type the description for the VI, as shown in the following illustration, and click on OK. created in Activity 9-1 from the...
  • Page 219 Pop up on the tank and choose Data Operations»Description…. Type the description for the indicator, as shown in the following illustration, and click OK.
  • Page 220: Vi Hierarchy

    Pop up on the thermometer and choose Data Operations» Description…. Type in the description: temperature (deg F) measurement Select Show Help from the Help menu. Place the cursor on Volume and then on Temp. You can see the descriptions you typed in appear in the help window.
  • Page 221 Full VI Path in Label options that you cannot access on the toolbar. As you move the Operating tool over objects in the Hierarchy window, BridgeVIEW displays the name of the VI below the VI icon. Use the <Tab> key to toggle between the Positioning and Scroll window tools.
  • Page 222 Every VI has a default icon displayed in the upper-right corner of the Front Panel and Diagram windows. For VIs, the default is the BridgeVIEW VI icon and a number indicating how many new VIs you have opened since launching BridgeVIEW.
  • Page 223 The tools to the left of the editing area perform the following functions: Pencil tool—Draws and erases pixel by pixel. Line tool—Draws straight lines. Press <Shift> and then drag this tool to draw horizontal, vertical, and diagonal lines. Color Copy tool—Copies the foreground color from an element in the icon. Fill bucket tool—Fills an outlined area with the foreground color.
  • Page 224 To use a VI as a subVI, you must create an icon to represent it on the block diagram of another VI, and a connector pane to which you can connect inputs and outputs. BridgeVIEW provides several tools with which you can create or edit an icon for your VIs.
  • Page 225 Define the connector terminal pattern by popping up in the icon pane on the front panel and choosing Show Connector. By default, BridgeVIEW selects a terminal pattern based on the number of controls and indicators on the front panel. Because there are two objects on the front panel, the connector has two terminals, as shown at left.
  • Page 226 Pop up on the connector pane and select Rotate 90 Degrees. Notice how the connector pane changes, as shown at left. Assign the terminals to Temp and Volume. Click on the top terminal in the connector. The cursor automatically changes to the Wiring tool, and the terminal turns black.
  • Page 227 You can open a VI used as a subVI from the block diagram of the calling VI by double-clicking on the subVI icon or by selecting Project»This VI’s SubVIs. You will see a palette containing all the subVIs of the calling VI. Select the subVI you want to open.
  • Page 228 Functions»Select a VI…. A dialog box appears. Select in the Temp & Vol.vi BridgeVIEW\Activity Open in the dialog box. BridgeVIEW places the Temp & Vol VI on the block diagram. Add the other objects to the block diagram as shown in the following illustration.
  • Page 229 Chapter 4, Executing and Debugging VIs and SubVIs, in the G Programming Reference Manual. For more information about block diagrams, and the options available from the block diagram window, see the section Block Diagram in Chapter 2, BridgeVIEW Environment.
  • Page 230 The volume values that appear on your screen may be different than what is shown in this illustration. Refer to the Loops and Charts, for more information. from the BridgeVIEW\Activity and a yellow glyph with the number of the Probe 1 displays the value in liters. Tank Volume...
  • Page 231 Close the Probe window by clicking in the close box at the top of the Probe window title bar. Another useful debugging technique is to examine the flow of data in the block diagram using the execution highlighting feature. Return to the block diagram of the VI. Begin execution highlighting by clicking on the Highlight Execution button, in the toolbar.
  • Page 232 This chapter introduces the basic concepts used for customizing VIs. There are several ways to configure how your VIs execute. You access these options by popping up on the icon pane in the upper-right corner of the front panel and choosing VI Setup…. A VI Setup dialog box appears showing setup options for execution of the VI, appearance of the panel, and documentation.
  • Page 233 calling VI), and choosing SubVI Node Setup…. The following illustration shows the SubVI Node Setup dialog box. If you select an option from the VI Setup… dialog box of a VI, the option applies to every instance of that VI. If you select an option from the SubVI Node Setup dialog box, the option applies only to that particular node.
  • Page 234 Build the block diagram shown in the following illustration. Create the icon for the VI as shown at left. To access the Icon Editor, pop up on the icon pane of the front panel and select Edit Icon. Switch to the connector pane by popping up on the icon pane and selecting Show Connector.
  • Page 235 Now you can customize the VI with the VI setup options to make it look like a dialog box. Pop up on the icon and select VI Setup. Configure the Execution Options as shown in the following illustration. in the BridgeVIEW\ ©...
  • Page 236 Select Window Options and make the selections shown in the following illustration. After you finish with the VI Setup options, resize the front panel as shown in the following illustration so you do not see the three string indicators. Save and close the VI. Now you will use this VI as a subVI.
  • Page 237 10. Open a new front panel. 11. Place a Waveform Chart (Controls»Graph) on the front panel and label it Temperature Data 12. Modify the scale of the chart, so that its upper limit is set to 90.0 and its lower limit is set to 70.0. Pop up on the chart and choose Show»Legend to hide the legend.
  • Page 238 Get Date/Time String function (Functions»Time & Dialog)—Outputs the current date and time. Get Operator Info VI (Functions»Select a VI… from the BridgeVIEW\Activity prompts the user to enter a name, the date, and the time. Boolean constant (Functions»Boolean)—Controls whether the input date and time string are TRUE.
  • Page 239 The front panel of the Get Operator Info VI opens because of the options you selected from the VI Setup dialog box. Do not try to open the front panel of the subVI from the block diagram of the My Pop-Up Panel Demo VI. 20. Close all windows. BridgeVIEW\ in the BridgeVIEW\...
  • Page 240: Chart Modes

    This chapter introduces structures and explains the basic concepts of charts, the While Loop, and the For Loop. This chapter also provides activities that illustrate how to accomplish the following: • Learn about different chart modes • Use a While Loop and a chart •...
  • Page 241 A chart is a numeric plotting indicator which is updated with new data periodically. You can find two types of charts in the Controls»Graph palette: waveform chart (or real-time trend) and intensity chart. You can customize charts to match your data display requirements or to display more information.
  • Page 242 With the VI still running, pop up on any chart, and select Update Mode, and change the current mode to that of another chart. Notice the difference between the various charts and modes. Stop and close the VI. example charts.vi G Examples\General\ BridgeVIEW\...
  • Page 243 A While Loop is a structure that repeats a section of code until a condition is met. It is comparable to a Do Loop or a Repeat-Until Loop in traditional programming language. The While Loop, shown in the following illustration, is a resizable box you use to execute the diagram inside it until the Boolean value passed to the conditional terminal (an input terminal) is FALSE.
  • Page 244 Open a new front panel by selecting File»New. Place a Vertical Switch (Controls»Boolean) on the front panel. Label the switch Use the Labeling tool to create free labels for Labeling tool, and type in the label text. With the Color tool, shown at left, make the border of the free label transparent by selecting the T in the bottom left corner of the Color palette.
  • Page 245 The While Loop is an indefinite looping structure. The diagram within it executes as long as the specified condition is TRUE. In this example, as long as the switch is on (TRUE), the diagram continues to generate random numbers and display them on the chart. in the 10.0 in the BridgeVIEW\Activity...
  • Page 246 13. Stop the VI by clicking on the vertical switch. Turning the switch off sends the value FALSE to the loop conditional terminal and stops the loop. 14. Scroll through the chart. Click and hold down the mouse button on either arrow in the scrollbar.
  • Page 247: Mechanical Action Of Boolean Switches

    Boolean switches. Open the Random Signal.vi BridgeVIEW\Activity switch is FALSE. Modify the vertical switch so it is used only to stop the VI. Change the switch so that you do not need to turn on the switch each time you run the VI.
  • Page 248: Timing

    Run the VI. Click on the The switch moves to the OFF position momentarily and is reset back to the ON position. Save the VI. For your reference, BridgeVIEW contains an example that demonstrates these behaviors, called Mechanical Action of Booleans.vi Examples\G Examples\General\Controls\booleans.llb.
  • Page 249 Signal Save the VI as Random Signal with Delay.vi BridgeVIEW\Activity The While Loop always executes at least once, because G performs the loop test for continuation after the diagram executes. You can construct a While Loop that pretests its conditional terminal by including a Case structure inside the loop.
  • Page 250: Shift Registers

    The subdiagram for the TRUE condition contains the work of the While Loop. The test for continuation occurs outside the Case structure, and the results are wired to the conditional terminal of the While Loop and the selector terminal of the Case structure. In the following illustration, labels represent the pretest condition.
  • Page 251 The shift register contains a pair of terminals directly opposite each other on the vertical sides of the loop border. The right terminal stores the data upon the completion of an iteration. That data shifts at the end of the iteration and appears in the left terminal at the beginning of the next iteration, as shown in the following illustration.
  • Page 252 For example, if a shift register contains three elements in the left terminal, you can access values from the last three iterations, as shown in the following illustration. Contains i–1 Previous values are available at Contains i–2 the left terminal. Contains i–3 Pop up on left terminal to add...
  • Page 253 After adding the vertical switch, pop up on it and select Mechanical Action»Latch When Pressed and set the ON state to be the default by choosing Operate»Make Current Values Default. Build the block diagram shown in the following illustration. Add the While Loop (Functions»Structures) in the block diagram and create the shift register.
  • Page 254 VI. The following illustration shows an example of a subVI that calculates the running average of four data points. The VI uses an uninitialized shift register (with three additional elements) to store previous data points. in the BridgeVIEW\Activity...
  • Page 255 Each time the VI is called, is computed from the new running average input and the previous three values. Then the new value is saved into the shift register, and the previous two values are moved up in the shift register. There is no input value wired to the input side of the left shift registers, so all three values are preserved for the next execution of the VI.
  • Page 256 Your objective is to create a chart that can accommodate more than one plot. Open the Random Average.vi Modify the Front Panel as shown in the following illustration. Using the Positioning tool, stretch the legend to include two plots. Show the digital display by popping up on the chart, and choosing Show»Digital Display.
  • Page 257 Modify the block diagram, as shown in the following illustration, to display both the average and the current random number on the same chart. Bundle function (Functions»Cluster)—In this activity, the Bundle function bundles the average and current value for plotting on the chart.
  • Page 258 buttons to explore their operation, scroll the area displayed, or zoom in on areas of the chart. Format the scales of the waveform chart to represent either absolute or relative time. To select the x scale time format, pop up on the x-scale and select Formatting….
  • Page 259 For Loop. When you release the mouse button, G creates a For Loop of the size and position you selected. You place the For Loop on the block diagram by selecting it from Functions»Structures. in the BridgeVIEW\...
  • Page 260 Loop Count Numerical Input Numerical Output The For Loop executes the diagram inside its border a predetermined number of times. The For Loop has two terminals, explained below. Count terminal (an input terminal)—The count terminal specifies the number of times to execute the loop. Iteration terminal (an output terminal)—The iteration terminal contains the number of times the loop has executed.
  • Page 261 terminal. As a reminder, G places a gray dot, called a coercion dot, on the terminal where the conversion takes place. For example, consider the For Loop count terminal. The terminal representation is a long integer. If you wire a double-precision, floating-point number to the count terminal, G converts the number to a long integer.
  • Page 262 Place a digital indicator on the front panel and label it Value Place a waveform chart on the front panel and label it . Change the scale of the chart to range from Data Pop up on the chart and choose Show»Scrollbar and Show»Digital Display.
  • Page 263 Updating indicators each time a loop iterates is time-consuming and you should try to avoid it when possible to increase execution speed. Run the VI. Save the VI as Calculate Max.vi directory. in the BridgeVIEW\Activity...
  • Page 264 This chapter introduces the basic concepts of Case and Sequence structures and the Formula Node, and provides activities that explain the following: • How to use the Case structure • How to use the Sequence structure • What sequence locals are and how to use them •...
  • Page 265: Case Structure

    The Case structure has two or more subdiagrams, or cases, exactly one of which executes when the structure executes. This depends on the value of an integer, Boolean, string, or enum value you wire to the external side of the selection terminal or selector. A Case structure is shown in the following illustration.
  • Page 266 Build the diagram as shown in the following illustration. Selection Terminal Place a Case structure in the block diagram by selecting it from Functions»Structures. The Case structure is a resizable box that is not dropped on the diagram immediately. Instead, you have the chance to position it and resize it.
  • Page 267 Number to a negative number, BridgeVIEW displays the error message you set up in the FALSE case of the Case structure. Save the VI as Square Root.vi...
  • Page 268: Sequence Structures

    The Sequence structure, which looks like frames of film, executes block diagrams sequentially. In conventional programming languages, the program statements execute in the order in which they appear. In data flow programming, a node executes when data is available at all of the node inputs, although sometimes it is necessary to execute one node before another.
  • Page 269 Time to Match matching number. By default, BridgeVIEW displays values in numeric controls in decimal notation with two decimal places (for example, 3.14). You can use the Format & Precision… option of a control or indicator pop-up menu to change the precision or to display the numeric controls and indicators in scientific or engineering notation.
  • Page 270 With the Data Range… option, you can prevent a user from setting a control or indicator value outside a preset range or increment. Your options are to ignore the value, coerce it to within range, or suspend execution. The range error symbol appears in place of the run button in the toolbar when a range error suspends execution.
  • Page 272 Frame 0 in the previous illustration contains a small box with an arrow in it. That box is a sequence local variable which passes data between frames of a Sequence structure. You can create sequence locals on the border of a frame. Then, the data wired to a frame sequence local is available in subsequent frames.
  • Page 273 15. Return to the front panel and enter a number inside the control and run the VI. Match 16. Save the VI as Time to Match.vi directory. Number to in the BridgeVIEW\Activity...
  • Page 274: Formula Node

    The Formula Node is a resizable box that you can use to enter formulas directly into a block diagram. You place the Formula Node on the block diagram by selecting it from Functions»Structures. This feature is useful when an equation has many variables or is otherwise complicated. For example, consider the equation below: If you implement this equation using regular G arithmetic functions, the block diagram looks like the one in the following illustration.
  • Page 275 The following example shows how you can perform a conditional assignment inside a Formula Node. Consider a code fragment that computes the square root of is positive, and assigns the result to . If is negative, the code assigns –99 to if (x >= 0) then y = sqrt(x) else...
  • Page 276 Your objective is to build a VI that uses the Formula Node to calculate the following equations. where ranges from 0 to 10. You will use only one Formula Node for both equations, and you will graph the results on the same graph. For more information on graphs, see Chapter 14, Arrays, Clusters, and Open a new front panel and build the front panel shown in following...
  • Page 277 Build the block diagram shown in the following illustration. Formula Node (Functions»Structures). With this node, you can enter formulas directly. Create the three input terminals by popping up on the border and choosing Add Input. You create the output terminal by choosing Add Output from the pop-up menu.
  • Page 278: Artificial Data Dependency

    You can open the Timing Template (data dep).vi G Examples\General\structs.llb has been altered to use artificial data dependency rather Template than a sequence structure. in the BridgeVIEW/Activity from to see how the Timing...
  • Page 279 This chapter describes objects called attribute nodes, which are special block diagram nodes that control the appearance and functional characteristics of controls and indicators. With attribute nodes, you can set attributes such as display colors, visibility, position, blinking, trend scales, and many more. To create an attribute node, select Create»Attribute Node from the pop-up menu of the front panel object or from the terminal in the block diagram, as shown in the following illustration.
  • Page 280: How Do You Access Online Help?

    Help window to display the descriptions, data types, and acceptable values of attributes. Access the Help window by selecting Help»Show Help. For more information about accessing help in BridgeVIEW, see the section How Do You Access Online Help? in Chapter 2,...
  • Page 281 Your objective is to create a VI that indicates a high limit condition using attribute nodes. You will use the Fill Color attribute of a to indicate whether a randomly generated tank Tank indicator level has gone above the user-defined limit. Open a new front panel and create it as shown in the following illustration.
  • Page 282 If the tank value is greater than or equal to the Limit Setting value, the tank turns red. If the data falls below the limit, the tank turns blue. Save the VI as Tank Limit.vi directory. in the BridgeVIEW \Activity...
  • Page 283 This chapter introduces the basic concepts of polymorphism, arrays, clusters, and graphs and provides activities that explain auto-indexing and the Graph and Analysis VIs. An array is a collection of data elements that are all the same type. An array has one or more dimensions and up to 2 –...
  • Page 284: Array Controls, Constants, And Indicators

    You also can create an array and its corresponding control on the front panel and then copy or drag the array control to the block diagram to create a corresponding constant. For more information on how to create array controls and indicators on the front panel, see Chapter 14, Array and Cluster Controls and Indicators, in the G Programming Reference Manual.
  • Page 285 tunnel By default, auto-indexing is disabled for every array wired to a While Loop. Pop up on the array tunnel of a While Loop to enable auto-indexing. Your objective is to create an array using the auto-indexing feature of a For Loop and plot the array in a waveform graph.
  • Page 286: Terminals

    Use the Text tool to rescale the Y axis to range from Build the block diagram shown in the following illustration. Generate Waveform VI (Functions»Select a VI… from the BridgeVIEW\Activity waveform. The VI requires a scalar index input, so wire the loop iteration terminal to this input.
  • Page 287 Bundle function (Functions»Cluster)—Assembles the plot components into a cluster. You need to resize the Bundle function icon before you can wire it properly. Place the Positioning tool on the lower-left corner of the icon. The tool transforms into the Resizing cursor shown at left.
  • Page 288 In the previous block diagram, you specified an initial X and a delta X value for the waveform. The default initial X value is zero and the delta X value is 1. So, you can wire the waveform array directly to the waveform graph terminal without the initial X and delta X specified, as the following illustration shows.
  • Page 289: Build Array

    Activity directory In the previous example, the For Loop executed 100 times because a constant of was wired to the count terminal. The following activity illustrates another means of determining how many times a loop will execute. in the BridgeVIEW\...
  • Page 290 Your objective is to open and operate a VI that uses auto-indexing in a For Loop to process an array. Open the Separate Array Values VI by selecting File»Open…. The VI is located in Examples\G Examples\General\arrays.llb Open the block diagram. The following illustration shows the block diagram with both TRUE and FALSE cases visible.
  • Page 291 Notice that the count terminal is left unwired. When you use auto-indexing on an array entering a For Loop, the loop executes according to the size of the array, eliminating the need to wire a value to the count terminal. If you use auto-indexing for more than one array, or if you set the count in addition to auto-indexing an array, the actual number of iterations is the smallest number possible.
  • Page 292: Initialize Array

    Build Array function (Functions»Array)—You can use it to create an array from scalar values or from other arrays. Initially, the Build Array function appears with one scalar input. You can add as many inputs as you need to the Build Array function, and each input can be either a scalar or an array.
  • Page 293: Array Size

    is a long integer with the value of five and element dimension size has a value of 100, the result is a 1D array of 100 long integers all set to five. You can wire the inputs from front panel control terminals, as shown in the preceding illustration, from block diagram constants, or from calculations on other parts of your diagram.
  • Page 294: Array Subset

    2D Array You can use this function to extract a portion of an array or matrix. Array Subset returns a portion of an array starting at index and containing length elements. The following illustrations show examples of Array Subsets. Notice that the array index begins with 0. 1D Array 2D Array Row Index...
  • Page 295: Index Array

    The Index Array function accesses an element of an array. The following illustration shows an example of an Index Array function accessing the third element of an array. Notice that the index of the third element is 2 because the first element has index 0. 1D Array You also can use this function to slice off one or more dimensions of a multi-dimensional array to create a subarray of the original.
  • Page 296 Notice that the index terminal symbol changes from a solid to an empty box when you disable indexing. To restore a disabled index, use the Enable Indexing command from the same menu. You can extract subarrays along any combination of dimensions. The following illustration shows how to extract a 1D row or column arrays from a 2D array.
  • Page 297 Thus, you can interpret the lower left preceding example as a command to generate a 1D array of all elements at column 0 and row 3. You can interpret the upper right example as a command to generate a 2D array of page 1. The new, 0 element is the one closest to the original, as shown in the preceding illustration.
  • Page 298 Monitoring Memory Usage in Chapter 28, Performance Issues, in the G Programming Reference Manual. followed by array 1 scalar 1 array 2 scalar 3 scalar 1 scalar 2 appear in a single 1D array. array 2 in the BridgeVIEW\Activity , as the...
  • Page 299 Polymorphism is the ability of a function to adjust to input data of different types, dimensions, or representations. Most G functions are polymorphic. For example, the following illustrations show some of the polymorphic combinations of the Add function. Combination Scalar + Scalar Scalar + Array Array + Array In the first combination, the two scalars are added together, and the result...
  • Page 300 Intensity graph This palette also contains the Historical Trend, which is an XY Graph specifically configured for displaying logged data in BridgeVIEW. The difference between a graph and a chart (discussed in Chapter 10, Charts, in this manual) is that a graph plots data as a block, whereas a chart plots data point by point, or array by array.
  • Page 301 Major Grids Minor Grids Y Scale Legend X Scale Palette You can place cursors and a cursor display on all the graphs in G, and you can label the cursor on the plot. You can set a cursor to lock onto a plot, and you can move multiple cursors at the same time.
  • Page 302 You can format the scales of a graph to represent either absolute or relative time. Use absolute time format to display the time, date, or both for your scale. If you do not want G to assume a date, use relative time format. To select absolute or relative time format, pop up on the chart and select the scale you want to modify.
  • Page 303 After acquisition, the VI plots the data in . The Temp Graph , and digital indicators display the average, maximum, Mean and minimum temperatures. Build the block diagram as shown in the following illustration: Digital Thermometer VI (Functions»Select a VI from the directory)—Returns one temperature BridgeVIEW\Activity measurement.
  • Page 304 X value of 0.25. The VI requires a delta X value of 0.25 so that the VI plots the temperature array points every 0.25 seconds on the waveform graph. Return to the front panel and run the VI. Save the VI as Temperature Analysis.vi directory. Activity Temp Graph in the BridgeVIEW\...
  • Page 305 BridgeVIEW has two methods for displaying 3D data: the intensity chart and the intensity graph. Both intensity plots accept 2D arrays of numbers, where each number is mapped to a color. You can define the color mapping interactively, using an optional color ramp scale, or programmatically, using an attribute node for the chart.
  • Page 306 This chapter introduces the VI Server and provides an activity that explains how to use it within BridgeVIEW. The VI Server allows you to control when a VI is loaded into memory, run, and unloaded from memory. The VI Server also allows you to accomplish the following dynamically: •...
  • Page 307 Reference, or by right-clicking on the VI Server function and select Online Help. As you develop larger BridgeVIEW applications, you might find it inconvenient to have all of the subVIs in memory at once. For example, assume you have written a number of VIs that act as user interfaces (HMIs) for several subsystems within your process.
  • Page 308 the TRUE value is passed into a Case structure and each case contains the appropriate subVI, as shown in the previous illustration. The disadvantage of the above approach is that all subVIs are in memory at all times, regardless of which ones are needed. If each subVI is large, your main menu VI might require a large amount of memory.
  • Page 309 Open a new front panel. Place a cluster with two rectangular buttons labeled HMI#1 HMI#2 the end of this exercise, you will have three front panels, which will appear as shown below. Close directory. BridgeVIEW\Activity . Create a button and label it Shutdown . Save . At...
  • Page 310 Save this VI as VI Control2.vi directory. This VI will call the HMI#1 and HMI#2 VIs. Build the block diagram of following illustrations. in the BridgeVIEW\Activity , as shown in the VI Control2.vi...
  • Page 311 The elements of the VI are described below. Open VI Reference (Functions»Application Control)—Opens the two VIs dynamically and loads them into memory. Path Control (Right-click on the Path input of the Open VI Reference and choose Create Control)—Provides the path to the subVIs to be called.
  • Page 312 Save the VI. Build the block diagram of HMI#1, as shown in the following illustration. Save Save a copy of this VI as HMI#1.vi BridgeVIEW\Activity Close HMI#1.vi HMI#2.vi . Make sure that you have entered the correct VI Control2.vi path in the VI path to HMI#1.vi &...
  • Page 313 Now that you are familiar with many aspects of G programming, you need to apply that knowledge to develop your own applications. This chapter suggests some techniques to use when creating programs and offers programming-style recommendations. When you have a large project to manage, incorporate top-down design. G has an advantage over other programming languages with respect to top-down design because you can start with the final user interface then animate it.
  • Page 314 Initialize Read Data In some cases you might not need all these blocks or you might need different blocks. For example, some applications might include monitoring only, thus, you would not need to write data to the Real-Time Database. Alternatively, you might need additional blocks, such as blocks representing user prompts.
  • Page 315: Create The Program

    Now you are ready to create the program in G: • Use a modular approach by building subVIs where you find a logical division of labor or the potential for code reuse. • Solve your general problems along with your specific ones. •...
  • Page 316 output that is used as the input to another subVI, try to align the input and output connections. This technique simplifies your wiring patterns. On the front panel, you can edit required inputs for subVIs by clicking the icon pane on the upper-right side of the window and choosing Show Connector»This Connection Is.
  • Page 317 For example, examine the following diagram in which three similar operations run independently. An alternative to this design is a loop, which performs the operation three times. You can build an array of the different arguments and use auto-indexing to set the correct value for each iteration of the loop. If the array elements are constant, you can use an array constant instead of building the array on the block diagram.
  • Page 318 The BridgeVIEW Engine handles system events and errors reported by device servers. However, your VIs must handle any error conditions within their diagrams. For example, if a VI is unable to open a file properly, you might want the VI to halt or inform the user of the error through a dialog box.
  • Page 319 One of the main advantages in using the error input and output clusters is that you can use them to control the execution order of dissimilar operations. The error information generally is represented using a cluster containing a numeric error code, a string containing the name of the function that generated the error, and an error Boolean for quick testing.
  • Page 320 I/O operation occurs before another. For further information about program design, you can examine the many example block diagrams included in BridgeVIEW. These sample programs provide you with insights into G programming style and technique. To view these block diagrams, open any of the VIs in the Examples directory.
  • Page 321 Events, Historical Data, System, Tags, and Tag Attributes), then by VI name. Errors that occur in the VIs in the BridgeVIEW VI Library can be handled in one of two ways: by the BridgeVIEW Engine or by each VI. The BridgeVIEW Engine handles errors for the Tags VIs and the Alarms and Events VIs.
  • Page 322 message. Using error in and error out clusters is a convenient way to check errors and to specify execution order by wiring the error output from one subVI to the error input of the next. status is TRUE if an error occurred before this VI was called, or FALSE if not.
  • Page 323 Many of the VIs in the BridgeVIEW VI Library are specific to BridgeVIEW, and are not part of the standard G library. These VIs include Alarms and Events VIs, Historical Data VIs, System VIs, Tags VIs, and Tag Attributes VIs. This section contains an explanation of the VIs specific to BridgeVIEW.
  • Page 324 Use the Alarms and Events VIs to acknowledge alarms, display alarm summary or event history information, or obtain alarm summary status information. The Alarms and Events subpalette is shown in the following illustration.
  • Page 325 Alarm VI. This is probably a result of the tag or group name not being found. shutdown indicates that the BridgeVIEW Engine is shutting down. In this case, the Acknowledge Alarm VI returns immediately with shutdown TRUE. You can use shutdown to exit any loop that uses the Acknowledge...
  • Page 326 Use the Get Alarm Summary Status VI to check the status of alarms in the BridgeVIEW system. You can call this VI multiple times from your HMI. group/tag names determines the tags for which alarm status is to be read.
  • Page 327 Use the Read Alarm Summary VI to display current alarm information for a set of tags or tag groups within a given alarm priority range. You also can filter out acknowledged alarms. This VI formats the alarm summary information for display in an Alarm Summary Display in your HMI.
  • Page 328 max priority is the maximum priority of alarms to read. If left unwired, alarms corresponding to priority level 15 and below are reported. filter ACK alarms? determines whether acknowledged alarms are read. group/tag names determines the tags for which alarm conditions are read. timeout (secs) (1) specifies how many seconds to wait before reading the tag alarms.
  • Page 329 Cell FG Color attribute of the Alarm Summary Display in your HMI. alarm summary status contains information about the alarms currently in the BridgeVIEW system. # active alarms is the number of alarms currently in the BridgeVIEW system.
  • Page 330 BridgeVIEW Engine is shutting down. In this case, the Read Alarm Summary VI returns immediately with shutdown TRUE. You can use shutdown to exit any While Loop that calls Read Alarm Summary VI. changed? is TRUE if a new alarm was read. If changed? is FALSE, the Read Alarm Summary VI probably timed out before the Alarm Summary Display was updated.
  • Page 331 Use the Read Event History VI to display all the alarms and events that have occurred for a set of tags or tag groups within a given alarm priority range. You also can filter out acknowledged tags. The Read Event History VI formats the event history information for display in an Event History Display indicator in your HMI.
  • Page 332 max priority is the maximum priority of alarms read. If left unwired, alarms corresponding to priority level 15 and below are reported. filter ACK alarms? determines whether acknowledged alarms are read. group/tag names determines the tags for which alarm conditions and events are read.
  • Page 333 Wire this output to the Cell FG Color attribute of the Event History Display in your HMI. alarm summary status contains information about the alarms currently in the BridgeVIEW system. # active alarms is the number of alarms currently in the BridgeVIEW system.
  • Page 334 Read Event History VI. It was probably a problem with the group/tag name. shutdown indicates that the BridgeVIEW Engine is shutting down. In this case, the Read Event History VI returns immediately with shutdown TRUE.
  • Page 335 Use the Read Tag Alarm VI to read detailed alarm status for a tag from the Real-Time Database. You probably want to use the Read Tag Alarm VI in the portion of your program where you monitor alarm information for specific tags. The Read Tag Alarm VI indicates whether a tag is in alarm, which alarm state it is in, when the alarm occurred, at which value it occurred, and whether it has been acknowledged.
  • Page 336 Read Alarm Tag, or that the value returned by Read Tag Alarm is not valid. shutdown indicates that the BridgeVIEW Engine is shutting down. In this case, the Read Tag Alarm VI no longer waits for a change in the tag alarm state and returns immediately with both timeout and shutdown TRUE.
  • Page 337 Use the Historical Data VIs to obtain or read historical data about a tag, resample trend data, compute statistical data for a historical trend, or convert historical trend data to a spreadsheet format. The Historical Data subpalette is shown below.
  • Page 338 Use the Call HTV VI to include the Historical Trend Viewer (HTV) in your HMI application programmatically. Wire no inputs to launch the HTV in its default state, or wire one or more inputs to override the defaults. If the HTV is running when this VI is called, already running returns TRUE and the HTV appears at the front of the screen.
  • Page 339 VI executes. For more information about this control, see the section Reported by the BridgeVIEW Engine start time is the time to be displayed at the beginning of the trend.
  • Page 340 Use the Decimate Historical Trend VI to take XY historical trend data, and decimate (resample) it from the start timestamp to the stop timestamp. The decimated trend output is a 1D array of the value at each time interval from the start timestamp to the stop timestamp.
  • Page 341 Use the Decimate Historical Trends VI to decimate (resample) XY historical trend data over the time interval specified from start timestamp to stop timestamp. The decimated trend output is a 2D array of instantaneous values, each time interval seconds apart, starting at start timestamp.
  • Page 342 decimated trends is a list of decimated historical trends starting at first timestamp. Each trend value is time interval seconds apart. first timestamp is the actual time associated with the first point in the decimated trend. last timestamp is the actual time associated with the last point in the decimated trend.
  • Page 343 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine history tag list is the list of tag names that have historical data logged.
  • Page 344 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine data type is the type of tag, whether discrete, analog, or bit array.
  • Page 345 Use the Historical Trend Statistics VI to compute statistical data for a historical trend. Statistics include minimum value, maximum value, average and standard deviations. The statistics skip invalid input points (where value = NaN). The average and standard deviation are weighted according to the time duration of each valid input point. The last point in the historical trend is not included in the average and standard deviation because the time interval associated with it is unknown.
  • Page 346 The last point in the trend is not included in the standard deviation, because there is no known time interval associated with it. # stops is the number of transitions from logging on to logging off in the trend. # starts is the number of transitions from logging off to logging on in the trend.
  • Page 347 Use the Historical Trends to Spreadsheet VI to converts a set of historical trends into the tab delimited string format, which spreadsheet programs can read. The columns created are date, time, tag name 1 value, tag name 2 value, and so on. A header is created labelling the date, time, and tag names.
  • Page 348 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Errors Not Reported by the BridgeVIEW Enginein this appendix. start timestamp is the timestamp for which the spreadsheet rows start. If start timestamp is unwired, the spreadsheet rows start at the first timestamp in the historical data.
  • Page 349 This VI stores the data from a set of historical trends into a spreadsheet file format. The columns created are date, time, tag1data, tag2data, and so on. A header is created labelling the date, time, and tag names. The default delimiter is the tab character; sending a different value via the format info input (such as a comma) will change the character used to separate columns.
  • Page 350 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine sample interval (1 sec) determines the time interval for each spreadsheet row.
  • Page 351 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine stop timestamp (now) is the date and time associated with the last data point to be retrieved from the historical database.
  • Page 352 VI executes. For more information about this indicator, see the section Reported by the BridgeVIEW Engine Errors Not in this appendix.
  • Page 353 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine start timestamp is the date and time associated with the first data point to be retrieved from the historical database.
  • Page 354 VI executes. For more information about this indicator, see the section Reported by the BridgeVIEW Engine Errors Not in this appendix.
  • Page 355 Use the System VIs to obtain information or monitor the access level of the current operator, to launch or shut down BridgeVIEW, or to enable or disable event logging, historical data logging or printing. The System subpalette is shown below.
  • Page 356 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine error out is a cluster that describes the error status after this VI executes.
  • Page 357 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine error out is a cluster that describes the error status after this VI executes.
  • Page 358 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine error out is a cluster that describes the error status after this VI executes.
  • Page 359 Use the Engine Launch VI to launch the BridgeVIEW Engine programmatically. Normally the BridgeVIEW Engine is launched automatically when you execute any of the VIs that access the Real-Time Database. Use this VI if you want to control when the Engine is launched explicitly.
  • Page 360 Use the Engine Shutdown VI to shut down the BridgeVIEW Engine from your HMI. You must terminate your application immediately after calling this VI. The BridgeVIEW Engine does not shut down until all VIs that are accessing the Real-Time Database finish. If you do not terminate your application, after a few seconds a dialog box prompts you to stop your application so that the BridgeVIEW Engine can complete shutdown.
  • Page 361 Use this VI to query the BridgeVIEW engine status. The outputs indicate whether the engine is loaded, running, or shutting down, and which configuration file is being used. configuration file in use indicates which BridgeVIEW configuration file currently is in use.
  • Page 362 (F): error (T) indicates if the portion of status reported by BridgeVIEW is an error (if it is negative), or a warning (if it is positive). server status/user error is either the numeric value of the portion of tag status posted by the device server (refer to your server documentation for details on this value) or an indication of user error.
  • Page 363 Engine Manager. The message you post is logged to the system log file in the directory. The format of the message is as follows: BridgeVIEW\Syslog EVENT/ERROR <date> <time> <Message> The date and time represent the timestamp when the message is posted.
  • Page 364 Use the Tag Status Handler VI to obtain a description of the tag status, by breaking it down into warning or error conditions coming from BridgeVIEW as well as the device server. It also identifies where the error or warning occurred. The information for looking up status is...
  • Page 365 returned by the device server. The part of the message describing the server error code comes from the input you specify in server error descriptions. It also contains information about the source of the error.
  • Page 367 BridgeVIEW user does not have the requested privilege, and the input TRUE dialog type (none) displays a dialog box if the current BridgeVIEW user does not have the requested privilege, and the message input is not empty. The type of dialog box is determined by the following input: •...
  • Page 368 Use the Get Operator Name VI to obtain the current operator name, access level, and access level name. operator name is the login name of the current BridgeVIEW user. access level is the numeric access level assigned to the current BridgeVIEW user.
  • Page 369 Use the Invoke Login Dialog VI to launch the BridgeVIEW Login dialog box. If the user selects Cancel in the Login dialog box, the previous user remains active. operator name is the login name of the current BridgeVIEW user. access level is the numeric access level assigned to the current BridgeVIEW user.
  • Page 370 BridgeVIEW. user name out is the name of the user to be logged in to BridgeVIEW. If the login fails, this is the name of the user currently logged in to BridgeVIEW.
  • Page 371 Use this VI to log out the current user, so no operator is logged into the system. logout (T) determines if the current BridgeVIEW user should be logged out of the system. If TRUE, the current user is logged out of the BridgeVIEW system.
  • Page 372 Use this VI to monitor the access level of the current BridgeVIEW operator. By default, this VI times out after one second, returning to the current operator access level. When an operator logs in, this VI returns immediately. timeout (secs) (1) specifies how long to wait for a user to log in.
  • Page 373 Use this VI to generate a list of BridgeVIEW user accounts. user accounts is a list of BridgeVIEW user accounts. Use the Tags VIs to read the latest value for a tag, write a new value to a tag, or obtain data for a real-time trend. The Tags subpalette is shown...
  • Page 374 If value status is less than 0, either the device server has reported an error indicating there is a problem with the tag, or BridgeVIEW has reported an error indicating there is a problem using the tag.
  • Page 375 Read Tag is not valid. See value status for the specific error condition. shutdown indicates that the BridgeVIEW Engine is shutting down. In this case, the Read Tag VI no longer waits for tags to be updated and returns immediately with both timeout and shutdown TRUE.
  • Page 376 Tag (bit array) VI reads the Real-Time Database immediately and returns the tag value without waiting. If timeout is –1, Read Tag (bit array) waits indefinitely until the tag value is updated, or the BridgeVIEW Engine shuts down, whichever occurs first. If a timeout occurs before the value is updated, Read Tag (bit array) returns the most recent value from the Real-Time Database, and timeout is set to TRUE.
  • Page 377 VI, or that the value output returned by Read Tag (bit array) is not valid. See value status for the specific error condition. shutdown indicates that the BridgeVIEW Engine is shutting down. In this case, Read Tag (bit array) no longer waits for tags to be updated and returns immediately with both timeout and shutdown TRUE.
  • Page 378 Real-Time Database immediately and returns the tag value without waiting. If timeout is –1, Read Tag (discrete) waits indefinitely until the tag value is updated, or the BridgeVIEW Engine shuts down, whichever occurs first. If a timeout occurs before the value is updated, Read Tag (discrete) returns the most recent value from the Real-Time Database, and timeout is set to TRUE.
  • Page 379 (discrete) VI, or that the value output returned by Read Tag(discrete) is not valid. See value status for the specific error condition. shutdown indicates that the BridgeVIEW Engine is shutting down. In this case, Read Tag (discrete) no longer waits for tags to be updated and returns immediately with both timeout and shutdown TRUE.
  • Page 380 If value status is less than 0, either the device server has reported an error indicating there is a problem with the tag, or BridgeVIEW has reported an error indicating there is a problem using the tag.
  • Page 381 VI, or that the value output returned by Read Tag(string) is not valid. See value status for the specific error condition. shutdown indicates that the BridgeVIEW Engine is shutting down. In this case, Read Tag (string) no longer waits for Tags to be updated and returns immediately with both timeout and shutdown TRUE.
  • Page 382 Trend Tags, or that one or more tag values could not be accessed. shutdown indicates that the BridgeVIEW Engine is shutting down. In this case, Trend Tags returns immediately with shutdown TRUE, and trend data might no longer be valid.
  • Page 383 Write Tag VI is called but not written to the RTDB. The RTDB is updated with the new value when the server polls it and passes it back to the BridgeVIEW Engine. This maintains correct time synchronization in the RTDB.
  • Page 384 Input/Output tag, the tag value is passed to the server when Write Tag (bit array) VI is called but not written to the RTDB. The RTDB is updated with the new value when the server polls it and passes it back to the BridgeVIEW Engine. This maintains correct time synchronization in the RTDB.
  • Page 385 Input/Output tag, the tag value is passed to the server when Write Tag (discrete) VI is called but not written to the RTDB. The RTDB is updated with the new value when the server polls it and passes it back to the BridgeVIEW Engine. This maintains correct time synchronization in the RTDB.
  • Page 386 Input/Output tag, the tag value is passed to the server when Write Tag (string) VI is called but not written to the RTDB. The RTDB is updated with the new value when the server polls it and passes it back to the BridgeVIEW Engine. This maintains correct time synchronization in the RTDB.
  • Page 387 Write Tag on Change VI is called but not written to the RTDB. The RTDB is updated with the new value when the server polls it and passes it back to the BridgeVIEW Engine. This maintains correct time synchronization in the RTDB. tag name is the name of the output tag.
  • Page 388 Write Tag on Change (bit array)VI is called but not written to the RTDB. The RTDB is updated with the new value when the server polls it and passes it back to the BridgeVIEW Engine. This maintains correct time synchronization in the RTDB.
  • Page 389 Write Tag on Change (discrete)VI is called but not written to the RTDB. The RTDB is updated with the new value when the server polls it and passes it back to the BridgeVIEW Engine. This maintains correct time synchronization in the RTDB.
  • Page 390 Write Tag on Change (string) VI is called but not written to the RTDB. The RTDB is updated with the new value when the server polls it and passes it back to the BridgeVIEW Engine. This maintains correct time synchronization in the RTDB.
  • Page 391 Use the Tag Attributes VIs to get and set tag configuration parameters currently used by the BridgeVIEW Engine for tag processing programmatically. The Tag Attributes subpalette is shown below.
  • Page 392 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine alarms enabled indicates whether alarms are enabled for a tag. If TRUE, tag value alarms as well as bad status alarms are enabled for this tag, depending on the enable setting for the particular alarm types.
  • Page 393 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine alarms enabled indicates whether alarms are enabled for this tag. If TRUE, alarms are enabled for this tag.
  • Page 394 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine alarms enabled indicates whether alarms are enabled for a tag. If TRUE, tag value alarms as well as bad status alarms are enabled for this tag, depending on the enable setting for the particular alarm types.
  • Page 395 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine group list is the list of currently configured groups.
  • Page 396 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine enabled indicates whether alarms are enabled for a tag. If TRUE, tag value alarms as well as bad status alarms are enabled for this tag, depending on the enable setting for the particular alarm types.
  • Page 397 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine value is the numeric value of the attribute being queried. If the attribute returns a Boolean, value returns 1 or 0 corresponding to value (discrete).
  • Page 398 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine alarms enabled indicates whether alarms are enabled for this tag. If TRUE, tag value alarms as well as bad status alarms are enabled for this tag, depending on the enable setting for the particular alarm types.
  • Page 399 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine data type is the tag type (analog, discrete, bit array, or string).
  • Page 400 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine data type is the tag type (analog, discrete, string, or bit array).
  • Page 401 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine tag list is the list of tags contained in group.
  • Page 402 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine log data is TRUE if the tag is configured for logging data to the Citadel historical database.
  • Page 403 Minimum, Maximum, and Increment. You can wire this format to a scale attribute node for a graph, slide, or vessel. Increment is set to 0, which means that BridgeVIEW calculates the scale increment automatically. units is the tag engineering units.
  • Page 404 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine error out is a cluster that describes the error status after this VI executes.
  • Page 405 (no error) is a cluster that describes the error status before this VI executes. For more information about this control, see the section Not Reported by the BridgeVIEW Engine error out is a cluster that describes the error status after this VI executes.
  • Page 406 Because Citadel allows simultaneous real-time access by multiple applications, the ODBC Driver can retrieve data from the Citadel database even while BridgeVIEW is running. There is no need to interrupt data collection in order to query the database. In fact, the ODBC Driver allows multiple ODBC applications to perform SQL queries simultaneously.
  • Page 407 For example, if you want to query the historical data created by the Tanks System example, directory, modify the database path to C:\BridgeVIEW\Examples\User Applications\Tank . You also can modify the name of the data source to System\Data reflect the application. An example of a modified ODBC Setup dialog box is shown below.
  • Page 408 Maximum Column Name Lengthare excluded from queries. If you plan to use Microsoft Access or Visual Basic, select Convert special characters. This forces BridgeVIEW tag names into a format acceptable by these applications by replacing characters within the tag names as follows: Original Character period ( .
  • Page 409 The following where clause from a query takes advantage of Intervaland LocalTime to select data over a specified time at one minute intervals. Notice that time and date formats are the same as those used in BridgeVIEW. SELECT * FROM Threads WHERE LocalTime > "12/1 10:00"...
  • Page 410 ON state across the interval. There might be gaps in the historical data threads in Citadel because of machine shutdown or BridgeVIEW shutdown. Qual returns the ratio of time for which valid data exists for a datapoint across the interval, to the length of the interval itself.
  • Page 411 Assume, for example, that you want to find out how many times a compressor motor started in December. You also want to know its total runtime for the month. The following query provides the answers: SELECT "Starts{MotorRun}", "ETM{MotorRun}" FROM Threads WHERE LocalTime >= "12/1/95"...
  • Page 412 • Retrieves an oven’s temperature set point and value at 3:00 p.m. and shows the highest, lowest, and average temperatures between 2:00 p.m. and 3:00 p.m. SELECT LocalTime, "OVEN1_SP", "OVEN1_PV", "Max{OVEN1_PV}", "Min{OVEN1_PV}", "Avg{OVEN1_PV}" FROM Threads WHERE LocalTime >= "14:00" AND LocalTime < "15:00" AND Interval = "1:00:00"...
  • Page 413 If MS Query is unable to connect to a Citadel data source, you have not yet logged data to Citadel; or the Database pathyou specified in the ODBC Setup dialog box is incorrect. If the Citadel data source is not listed in the Select Data Source dialog box, you might not have accessed it yet.
  • Page 414 To view a data transform value, enter the function directly into a blank column. For example, to view the minimum value of , you would Liquid enter " . Take special note of the use of quotation marks min{Liquid}" and braces. The above data set was retrieved using no specifying criteria, so the ODBC driver used the default criteria.
  • Page 415 When you enter qualifying criteria values, be sure to use the syntax demonstrated in the where clauses of the SQL Examples found in this chapter. To specify a starting time of 9:45 today, for example, you would enter >= "9:45" As soon as you specify a criteria, Microsoft Query immediately retrieves the specified data.
  • Page 416 The exact operation of Microsoft Excel might change from version to version. Look in the online help for Microsoft Excel for how to connect to an ODBC Data Source for the exact instructions for your version of Microsoft Excel. To extract data from Citadel, activate Excel and chooseData»Get External Data….
  • Page 417 ( . ) ampersand ( & ) exclamation ( ! ) Therefore, Access recognizes a BridgeVIEW identifier such as Modbus1.40001 as the delimited identifier Modbus1\40001. When you query Citadel data using MS Access, You must use Microsoft Access’s non-standard SQL syntax in your select statement. Be sure to use the special characters that are converted for Access compatibility and double quotes around BridgeVIEW thread names.
  • Page 418 In the Import Objects dialog box, choose Threads. The new table attaches to your database. Now you can build queries in Access that extract data directly from the Citadel database. The exact operation of Visual Basic might change from version to version. Look in the online help for Visual Basic for how to connect to an ODBC Data Source for the exact instructions for your version of Visual Basic.
  • Page 419 You must use the SQL syntax of Microsoft Access in your select statement. Also remember to use the special characters that are converted for Access compatibility and double quotes around BridgeVIEW thread names to identify them as delimited identifiers. Finally, Access SQL requires square brackets [ ] around identifiers, and #s around time stamps.
  • Page 420 National Instruments has BBS and FTP sites dedicated for 24-hour support with a collection of files and documents to answer most common customer questions. From these sites, you can also download the latest instrument drivers, updates, and example programs.
  • Page 421 National Instruments has branch offices all over the world. Use the list below to find the technical support number for your country. If there is no National Instruments office in your country, contact the source from which you purchased your software to obtain support.
  • Page 422 National Instruments for technical support helps our applications engineers answer your questions more efficiently. If you are using any National Instruments hardware or software products related to this problem, include the configuration forms from their user manuals. Include additional pages if necessary.
  • Page 423 Complete a new copy of this form each time you revise your software or hardware configuration, and use this form as a reference for your current configuration. Completing this form accurately before contacting National Instruments for technical support helps our applications engineers answer your questions more efficiently.
  • Page 424 National Instruments encourages you to comment on the documentation supplied with our products. This information helps us provide quality products to meet your needs. BridgeVIEW™ User Manual May 1998 321294C-01 Please comment on the completeness, clarity, and organization of the manual.
  • Page 425 The sequence action that indicates recognition of a new alarm. alarm An abnormal process condition. In BridgeVIEW, an alarm occurs if a tag value goes out of its defined alarm limits or if a tag has bad status. Alarm Summary A display of tags currently in alarm, or a display of tags previously in an unacknowledged alarm state that have returned to a normal state.
  • Page 426 A multibit value representation of a connection to a real-world I/O point or memory variable. In BridgeVIEW, this type of tag can be comprised of up to 32 discrete values. block diagram A pictorial description or representation of a program or algorithm. In...
  • Page 427 Device servers pass tag values to the BridgeVIEW Engine in real time. discrete tag A two-state (on/off) value representation of a connection to a real-world I/O point. In BridgeVIEW, this type of tag can be either a one (TRUE) or a zero (FALSE).
  • Page 428 Tag attributes that do not require the BridgeVIEW Engine to be restarted when they are edited or reconfigured. Examples of dynamic attributes include enabling logging operations, alarm attributes, and some scaling attributes. See also static attributes. Engine See BridgeVIEW Engine.
  • Page 429 HMI G Wizard A utility in BridgeVIEW that automates the process of generating HMI diagram code. Human Machine A graphical user interface for the user to interact with the BridgeVIEW Interface (HMI) system. I/O Group A set of related server items, all of which share the same server update rate and deadband.
  • Page 430 A tag not connected to a real-world I/O point. Memory tags are used for user-defined calculations. See also tag and network tag. network tag A tag remotely connected to any type of tag on another BridgeVIEW Engine. See also tag and memory tag. object Generic term for any item on the front panel or block diagram, including controls, nodes, wires, and imported pictures.
  • Page 431: Panel G Wizard

    Real-Time Database. palette A display of pictures that represent possible options. Panel G Wizard A utility in BridgeVIEW that automates the process of creating front panel controls. Panel window VI window that contains the front panel, the execution palette and the icon/connector pane.
  • Page 432 range The region between the limits within which a quantity is measured, received, or transmitted expressed by stating the lower and upper range values. Real-Time Database An in-memory snapshot of all tags in the system. (RTDB) real-time trend A plot of data (values versus time) that is updated as each new point is acquired in the Real-Time Database.
  • Page 433 Tag attributes that require the BridgeVIEW Engine to be restarted if they are edited or reconfigured. Examples of static attributes are general attributes and I/O connection attributes, such as server, device, or item. See also dynamic attributes. string tag An ASCII character representation of a connection to a real-world I/O point.
  • Page 434 Tag Monitor A utility to view the current value of a tag, along with its status and alarm state. tag status A variable that determines the validity of a tag value. A negative status represents an error, a positive status represents a warning, and a status of zero represents a good tag value.
  • Page 435 See HMI G Wizard and Panel G Wizard. Wizard lock A glyph that appears on a tag loop to indicate BridgeVIEW has protected the association between a front panel object and the automatically generated block diagram. If a Wizard lock exists on a tag loop, you cannot modify that block diagram.
  • Page 436 access levels and privileges, 7-1 See also security. defaults (table), 7-13 finding access levels, 7-15 finding environment access privileges, 7-15 modifying access privileges, 7-22 list of available user access levels, 7-19 Access Levels dialog box, 7-15 Acknowledge Alarm VI, A-5 adding network tags, 3-7 alarm attributes, 3-3 alarm limit, 5-1...
  • Page 437: Efficient Memory Usage: Minimizing Data Copies

    array functions Array Size, 14-11 Array Subset, 14-12 Build Array, 14-9 Index Array, 14-13 Initialize Array, 14-10 using Build Array function (activity), 14-15 Array Max & Min function, 14-22 array shell, 14-1 Array Size function, 14-11 array string constant, 15-6 Array Subset function, 14-12 arrays, 14-1 auto-indexing, 14-2...
  • Page 438: Required System Configuration

    Project menu items (table), 2-10 system errors and events, 2-15 Tag Browser utility, 2-16 Tag Monitor, 2-18 BridgeVIEW server, 3-6 BridgeVIEW System Log file, 2-14 BridgeVIEW VI Library Alarms and Events VIs, A-4 Acknowledge Alarm, A-5 effect on startup and shutdown, 4-24...
  • Page 439: Tag Attributes Vis

    Security VIs Check Operator Privileges, A-47 Get Operator Name, A-48 Invoke Login Dialog, A-49 Programmatic Login, A-50 Programmatic Logout, A-51 Security Monitor, A-52 User Account List, A-53 System VIs, A-35 Enable Event Logging, 7-8, A-36 Enable historical data logging, 7-8, A-37 Enable printing, 7-8, A-38 Engine Launch, 7-8, A-39 Engine Shutdown, A-39...
  • Page 440: Clusters

    G, 2-1 data logging See historical data logging and extraction. DDE server connecting tag to, 3-21 using with BridgeVIEW, 8-9 deadband alarm deadband on analog tags, 3-36 debugging VIs, 9-21 activity, 9-21 overview, 9-21...
  • Page 441: Environment Security

    Server Browser, 2-13 Show/Hide System Event Display, 2-13 Engine Shutdown VI, A-39 engineering units assigning to an analog tag, 3-28 conversion by BridgeVIEW Engine, 1-8 environment security. See security. error handling in BridgeVIEW VI Library, A-1 errors error checking in programs, 16-5...
  • Page 442: Numeric Conversion

    7-20 extracting historical data See historical data logging and extraction. file , 3-4 .scf BridgeVIEW Configuration, 3-4 SCADA Configuration, 3-4 Font ring, 2-3 For Loops, 11-20 See also shift registers. activity, 11-22 count terminal, 11-21...
  • Page 443: Graph Cursors

    Get Alarm Summary Status VI, A-6 Get Analog Tag Alarm Limit VI, A-72 Get Bit Array Tag Alarm Setting VI, A-73 Get Discrete Tag Alarm Setting VI, A-74 Get Engine Status VI, A-41 Get Group List VI, A-75 Get Historical Tag List, A-23 Get Historical Tag List VI example, 6-4 purpose and use, A-23...
  • Page 444: Front Panel Object And Wizard Subdiagram Association

    4-6 Wizard lock, 4-8 HMI. See Human Machine Interface. HTV. See Historical Trend Viewer (HTV). Human Machine Interface, 4-1 See also BridgeVIEW VI Library. building, 4-2 front panel objects, 4-3 HMI G Wizard, 4-3 customizing front panel objects, 4-12...
  • Page 445: Subvis With Required Inputs

    7-21 Increment function, 12-10 Index Array function, 14-13 industrial automation device servers. See servers. Initialize Array function, 14-10 installing BridgeVIEW, 1-2 Interval query field, B-4 Invoke Login Dialog, A-49 invoke node, 15-6 item, 8-1 configuration options, 3-18 junction, 9-5...
  • Page 446: Simple/Complex Help View

    Historical Trend Viewer (HTV), 6-13 links to online help files, 2-24 simple/complex help view, 2-23 OPC servers connecting to tags, 3-21 remote, 8-7 using with BridgeVIEW, 8-5 Open Database Connectivity (ODBC) driver, B-1 Open VI Reference, 15-6 operability, 7-23 Operating tool, 2-4...
  • Page 447: Good Diagram Style

    operator interface panel controlling visibility, 7-7 Operator Interface Security, 7-22 controlling visibility attributes, 7-23 limiting user access to operator interface panels, 7-23 Panel G Wizard, 7-1 how to use, 7-2 panel size and visibility, controlling, 7-6 password, changing, 7-16 path control, 15-6 Pause/Continue button, 2-3 pi constant, 14-7 polled programming, implementing, 4-27...
  • Page 448 Read Tag (string) VI, A-60 Read Tag Alarm VI, A-15 Real-Time Database, 1-6, 1-9 See also BridgeVIEW Engine; tag configuration; operations real-time trends, displaying, 4-29 registered server device and item parameters, 8-11 Release Instrument VI, 15-6 Reorder ring, 2-3 RTDB. See Real-Time Database.
  • Page 449: Static Vs. Dynamic Attributes

    BridgeVIEW Device Servers CD, 8-4 items, 8-1 overview, 1-9 purpose and use, 8-1 Server Browser, 8-5 using OPC servers with BridgeVIEW, 8-5 using remote OPC servers, 8-7 viewing server configuration registered server device and item parameters, 8-11 Server Browser, 8-5...
  • Page 450 Stop button, 2-3 string constant, 12-4 string controls and indicators, 2-7 string tags alarm configuration, 3-36 creating, 3-5 purpose and use, 3-11 strip chart, 11-2 Structured Query Language (SQL) examples, B-6 structures, 11-1 See also Case structure; loops; Sequence structure. Subtract function, 12-10 subVI node setup activity, 10-2...
  • Page 451 Get Tag Range and Units, A-83 location of, 4-16 Set Multiple Tag Attributes, A-84 Set Tag Attribute, A-85 tag attributes, 3-1, 3-11 activity, 7-10 alarm, 3-3 connection, 3-2 general, 3-2 operation, 3-2 reading or changing programmatically, 7-9 scaling, 3-2 static vs. dynamic, 3-3 Tag Attributes palette, 7-9 Tag Browser utility, 2-16 fields...
  • Page 452: Data Type

    LO Limit, 3-32 LO Priority, 3-32 LO_LO Enabled, 3-32 LO_LO Limit, 3-32 LO_LO Priority, 3-32 Tag Last Modified, 3-33 connecting to OPC server, 3-21 connection connecting tag to DDE server, 3-21 defining group of tags for alarming, 3-21 generate tags from server information, 3-20 I/O Group configuration server configuration...
  • Page 453: Alarms

    Engine parameter configuration, 3-44 configurable memory allocation parameters (table), 3-45 overriding default settings, 3-44 setting file paths for historical and event files, 3-44 shift configuration, 3-44 turning on historical and event logging at startup, 3-44 illustration, 3-4 launching, 2-12, 3-3 launching server configuration utilities, 3-46 Set Tag Parameter Defaults dialog...
  • Page 454: Tip Strips

    VI Setup dialog box, 10-1 View Server Device Information dialog box, 8-11 viewing new data automatically after logging, 6-14 VIs, 2-1 See also BridgeVIEW VI Library; program design; subVIs. block diagram, 2-3 components, 1-4, 2-2 creating, 9-1 activity, 9-7 controls, constants, and...
  • Page 455: Bad Wires

    front panel, 2-2 icon/connector, 2-3 opening and running (activity), 2-8 overview, 1-3 purpose and use, 1-4, 9-1 subVI node setup, 10-1 activity, 10-2 System VIs, 7-7 VI Server Functions, 7-5 VI Setup dialog box, 10-1 visibility, 7-23 Visual Basic retrieving Citadel data, B-14 Wait Until Next ms Multiple function adding to subVI, 10-8 attribute node, 13-4...

Table of Contents