Agilent VEE
Encyclopedia
Agilent VEE is a graphical dataflow programming software development environment from Agilent Technologies
for automated test, measurement, data analysis
and reporting. VEE originally stood for Visual Engineering Environment and developed by HP designated as HP VEE; it has since been officially renamed to Agilent VEE. Agilent VEE has been widely used in various industries, serving the entire stage of a product lifecycle, from design, validation to manufacturing. It is optimized in instrument control and automation with test and measurement devices such as data acquisition instruments like digital voltmeters and oscilloscopes, and source devices like signal generators and programmable power supplies.
A detailed list of features for each version can be found under the References section.
The pins on the left side of an object are called input pins, whereas the pins on the right are output pins. Two objects, A and B, are connected if the output pin of object A is connected to object B’s input pin. Several connection lines can emanate from a single output pin, but at most one connection line can be attached to an input pin. All data input pins and execute pins must be connected, whereas control pins and output pins can be left unconnected.
An object’s execution order is determined by object connections and the data dependency rule. In general, an object with unconnected data input and sequence input pin will operate first.
If an object's sequence input pin is not connected, it will execute as soon as data is present on all data inputs. On the other hand, if a sequence input pin is connected, although data is present on all data input pins, the object will hold its execution until the sequence input pin is pinged. This may not be applicable to some non-primitive objects like the Junction and Collector objects.
For example, if object A’s sequence output pin is connected, it will fire only after object A has executed and no further execution is possible in the objects descended from the data output pins and error pin of object A.
Some examples are taken from and can be referred to for further explanation.
Access to over 2500 MATLAB analysis and visualization functions is made possible with the built-in MATLAB Signal Processing Toolbox. The built-in Microsoft Excel library provides direct access to save, retrieve and generate reports in spreadsheets.
Agilent Technologies
Agilent Technologies , or Agilent, is a company that designs and manufactures electronic and bio-analytical measurement instruments and equipment for measurement and evaluation...
for automated test, measurement, data analysis
Data analysis
Analysis of data is a process of inspecting, cleaning, transforming, and modeling data with the goal of highlighting useful information, suggesting conclusions, and supporting decision making...
and reporting. VEE originally stood for Visual Engineering Environment and developed by HP designated as HP VEE; it has since been officially renamed to Agilent VEE. Agilent VEE has been widely used in various industries, serving the entire stage of a product lifecycle, from design, validation to manufacturing. It is optimized in instrument control and automation with test and measurement devices such as data acquisition instruments like digital voltmeters and oscilloscopes, and source devices like signal generators and programmable power supplies.
Release history
Major Release Version | Release Date | Features |
---|---|---|
A.00.00 | May 9, 1991 | HP-UX Series 300 7.x/8.x release |
A.00.01 | Oct 7, 1991 | First release on Series 700 platforms |
2.0/B.00.00 | Dec 17, 1992 | HP-UX Series 700/Series 300 8.x/9.x |
2.1/B.01.00 | Mar 11, 1993 | Ported to SunOS 4.1.2/4.1.3 |
2.2/B.02.00 | Nov 2, 1993 | Ported to Windows 3.0 |
2.3/B.03.00 | Jun 21, 1994 | Windows 3.1 Release |
3.0 | Feb 2, 1995 | Colors, fonts, hotkeys, panels, bitmaps, dialogs, and resize objects. |
3.1 | Apr 3, 1995 | VXI support, Programmatic Control knobx |
3.2 | Feb 22, 1996 | Windows 95 and Windows NT support, performance, more colors, toolbar, and workspace panning. |
4.0 | Mar 5, 1997 | Completely rewritten interface, runtime performance, MDI, program explorer, and debugging. |
5.0 | May 1, 1998 | ActiveX, multiline formula, user functions, Instrument Manager, display indicators, savePanelImage, and Windows 98 support. |
6.0 | Mar 27, 2000 | 2 versions: VEE Pro and VEE Onelab for students, MATLAB, Real32 datatype, transition from HP to Agilent, and Windows 2000 support. |
6.1 | May 11, 2002 | No support on HP-UX, changed licensing to node locked requiring license file from web, and Windows XP support. |
6.2 | Jul 21, 2003 | Switched back licensing from node locked to product key. |
7.0 | Mar 10, 2004 | Undo, LAN/USB support, IVI-COM,descriptions and panel edit. |
7.5 | May 14, 2005 | Excel Add-in, NI DAQ support (PXI and PCI), .NET controls, and For Each object. |
Lite 7.54 | April 19, 2006 | Same as VEE except supporting USB devices only and without MATLAB engine, later developed into VEE Express branch. |
8.0 | Jan 31, 2007 | Watch window, code completion, Minimap, and Windows Vista support. |
8.5 | Oct 20, 2007 | Modern IDE, MATLAB 2007a, I/O monitor, and color coding. |
9.0 | Sep 19, 2008 | Multithread and multicore, SCPI completion, private userfunctions, database support, conditional breakpoints, and call stack. |
9.2 | Apr 15th, 2010 | Windows 7 support |
A detailed list of features for each version can be found under the References section.
Agilent VEE objects and pins
A VEE program consists of multiple connected VEE objects (sometimes called devices). Each VEE object consists of different types of pins, namely data pins, sequence pins, execute pins (XEQ), control pins and error pins. Data pins govern the data flow propagation while sequence pins determine object execution order.The pins on the left side of an object are called input pins, whereas the pins on the right are output pins. Two objects, A and B, are connected if the output pin of object A is connected to object B’s input pin. Several connection lines can emanate from a single output pin, but at most one connection line can be attached to an input pin. All data input pins and execute pins must be connected, whereas control pins and output pins can be left unconnected.
Data flow and data propagation
Agilent VEE is a dataflow programming language. Within a VEE program, there are multiple connections between objects and data flows through objects from left to right while sequence flows from top to bottom.- When an object executes, it uses the input pin's value to perform an operation. When it finishes, the result is placed on the output pin. The output pin value placed is then propagated to any input pins that are connected to it.
- A sequence pin is used to specify some object execution order. In most cases, sequence pins are left unconnected to allow data propagation to determine the execution order. If an object’s sequence input pin is connected, the object will execute only if all data input pins and the sequence input pin have data.
- When data is present on execute pins, it will force the object to operate and place results on its output pins, regardless of whether the data inputs have values.
- A control pin is used to control the internal state of an object. It doesn’t have effect on data propagation.
- An error pin is used to trap errors when an object execute. If it is present, no error dialog will be shown. When an error occurs, the error pin propagates instead of data output pins, followed by the sequence output pin (if connected).
An object’s execution order is determined by object connections and the data dependency rule. In general, an object with unconnected data input and sequence input pin will operate first.
If an object's sequence input pin is not connected, it will execute as soon as data is present on all data inputs. On the other hand, if a sequence input pin is connected, although data is present on all data input pins, the object will hold its execution until the sequence input pin is pinged. This may not be applicable to some non-primitive objects like the Junction and Collector objects.
For example, if object A’s sequence output pin is connected, it will fire only after object A has executed and no further execution is possible in the objects descended from the data output pins and error pin of object A.
Some examples are taken from and can be referred to for further explanation.
Instrument connectivity
Agilent VEE can connect and control a variety of Agilent and non-Agilent instrumentation via multiple interfaces. Agilent VEE supports the following interfaces:- VXI plug and play drivers
- IVI-COM drivers
- PXI via NI-DAQMX
- SCPI via the DirectIO object
- Panel drivers
Extensive interoperability
Agilent VEE can interact with other programming languages using the built-in ActiveX Automation Server. Other software development programs such as Visual Basic, C/C++, Visual C# and all .NET compliant languages can call Agilent VEE UserFunctions. Agilent VEE is also integrated with Microsoft .NET Framework (Common Language Runtime and Framework Class Libraries) that provides a multitude of functions and controls that can be used to enhance a program such as adding email capability and accessing databases.Access to over 2500 MATLAB analysis and visualization functions is made possible with the built-in MATLAB Signal Processing Toolbox. The built-in Microsoft Excel library provides direct access to save, retrieve and generate reports in spreadsheets.
Agilent VEE GUI panels and runtime deployment
Agilent VEE is notable for its capability to deploy unlimited number of runtime programs with no time limitations at no extra cost. These runtime programs could contain a GUI panel and allows interaction with users, presumably operators to execute and control the program and the test execution.See also
- Dataflow programming
- Graphical programming
- Virtual instrumentationVirtual instrumentationVirtual instrumentation is the use of customizable software and modular measurement hardware to create user-defined measurement systems, called virtual instruments....
- LabviewLabVIEWLabVIEW is a system design platform and development environment for a visual programming language from National Instruments. LabVIEW provides engineers and scientists with the tools needed to create and deploy measurement and control systems.The graphical language is named "G"...
- MATLABMATLABMATLAB is a numerical computing environment and fourth-generation programming language. Developed by MathWorks, MATLAB allows matrix manipulations, plotting of functions and data, implementation of algorithms, creation of user interfaces, and interfacing with programs written in other languages,...