Submodules are collections of grouped programming elements. Submodules serve as containers for objects such as forms and procedures. Submodules are contained in modules (System, Program, or Driver).
The following core set of submodules can be inserted into Systems and Drivers (except that the Tests submodule can only be inserted into Programs):
|
Submodule |
Description |
|
|
A Form is a window or dialog box that makes up part of an application's user interface. Common uses of forms include making up virtual instrument panels and controlling a test application by retrieving or displaying data from or to the user. An ATEasy form can contain a menubar, toolbar, status bar, and controls. The ATEasy internal library contains a large number of ActiveX controls that the user can use to display and accept data (for example, AChart control). In addition the user may use third-party ActiveX controls. ATEasy forms also contains code that is used to respond to events caused as a result of user action (for example, OnClick). |
|
|
User-defined statements that extend the programming language. Commands can be associated with procedures. In Drivers, Commands can also be associated with an IO Table that is used to send or receive data from an instrument. |
|
|
Procedure are small units of code that can be called by other procedures or test code to perform an action. Procedures allow the code to be modular and re-useable. Procedures have names that are used when called, parameters that receive and set data to or from the procedure, and code comprised of programming statements that are used to perform a certain action at run time. |
|
|
The events submodule contains pre-defined procedures that can be called by the user. Procedures are called by ATEasy when an event occurs. Some events are called at initialization and at the end of a program, system, driver, task and test. These events are used to change the flow control of the application and to log test results or to generate a special test report. Other events are called when an error occurs, to let the programmer to decide at run-time what to do when an error occurs. |
|
|
Variables are used for storing values. Variables have a name and a type. Types can be: Char, Short, Long, Float, Double, Byte, Word, String, String, Object, Variant, Structures, Enum, and others. |
|
|
This submodule holds the user-defined types. Types can be: Structure – which contains fields that have different types; the structure allows the programmer to group different data types under one variable. Enum – which contains named integer constants. Typedef – which is used to alias to a different type. |
|
|
Libraries are external modules that contain procedures and classes and other programming elements. ATEasy uses two kinds of libraries: Dynamic Link Libraries (DLLs) which is a file typically with DLL extensions that contains procedures, and Type Libraries which contains classes and procedures and other programming elements. Type libraries allow the user to make use of classes exposed by external libraries or an application such as ActiveX controls or an MS-Excel spreadsheet. Unlike in a DLL where the user is required to define the programming elements used, Type Libraries contain a complete definition of the programming elements used. |
|
|
A table of commands used to create, send, receive, and decode messages to or from an instrument. IO Tables can be used to control instruments or processes via message-oriented interfaces such as: GPIB, VXI, RS-232, WinSock and more. This submodule can only be used by Drivers. |
|
|
A group of tests grouped usually under tasks that is used to test the Unit Under Test (UUT). The test contains the code and the requirements of the test. The task is a way to group several tests and to arrange them in logical order. At run-time when the program is run, each test generates a status: PASS, FAIL, NONE, or ERROR. This submodule can only be used by Programs. |
|
|
A submodule within a system that contains file shortcuts to all drivers used by the system. A driver shortcut contains the driver file name, the shortcut name, and the driver configuration (for example, interface type, address) as used by the system. The driver itself, when used by the system or program in the project, typically controls an instrument by sending data to and receiving data from its interface (for example, the GPIB interface). |
Note that each type of module has a submodule unique to it:
|
Module |
Unique Submodule |
|
System |
Drivers |
|
Driver |
I/O Tables |
|
Program |
Tests |