ATEasy Examples

ATEasy is provided with several examples that can be used to see how to implement various applications and features as required. This topic will describe briefly the available examples provided in the ATEasy Examples folder. You can load the examples described here by opening one of the workspace files in that folder as described here:

Examples Workspace Files

 

Workspace File

Description

Examples.wsp

Workspace file for all example projects.

Basic.wsp

Workspace file for all Language, Forms and Test Executive projects.

Communication.wsp

Workspace file for ComChat and WsChatMT projects.

Excel.wsp

Workspace file for Excel project.

ATEasy2.wsp

Workspace file for ATEasy2 examples.

Other workspace files and examples projects may be available in that folder.

Examples List

The following examples are provided; additional examples may be available, see the ATEasy examples folder:

AdoDB Example

This example demonstrates the use and programming of databases using a Microsoft ADO Active Data Objects ActiveX library. The example creates, reads and writes a data base, tables, and records. The example is using Microsoft Access and can be easily changed to use any data base format that has ODBC driver. You must install the Microsoft ActiveX Data Objects 2.8 Library from www.microsoft.com.

Files included:

        AdoDB.prj

        AdoDB.prg

ATML Example (v7)

This example demonstrates ATEasy support for IEEE Standard 1671- Automatic Test Markup Language (ATML) for Exchanging Automatic Test Equipment and Test Information via XML support. The support is provided using the ATEasy ATML.drv. The example generates ATML Test Results (.xml file) from an ATEasy program, ATML Test Description (.xml file) from an ATEasy program. It also transforms ATML Test Results to formatted test log using Style sheets (XSL files): AtmlToText.xsl, AtmlToHtml.xsl or AtmlToHtmlStyle1.xsl. 

Please also refer to ATML standard IEEE 1671 - http://grouper.ieee.org/groups/scc20/tii/ .

Files included:

        ATML.prj

        ATML.prg

        ATML.sys

        ATML.drv

        XSD files (schema):

        Common.xsd (published by IEEE 1671)

        TestDescription.xsd (published by IEEE 1671)

        TestResults.xsd (published by IEEE 1671)

        XSL files (style sheet):

        ATMLtoText.xsl - TestResults (xml) - > txt files (similar to ATEasy Text log)

        ATMLtoHtml.xsl - TestResults (xml) - > HTML log files (similar to ATEasy HTML log)  files

        ATMLtoHtmlStyle1.xsl - TestResults (xml) - > HTML files (similar to NI TestStand HTML log)

        ATMLtoPgt.xsl - TestResults (xml) - > ATEasy text program pgt files.

ComChat Example

This example demonstrates the use and programming of COM or serial ports. The application creates a window that is used to type text used to send to a COM port. Any data received from the port is appended and displayed in the window. The example uses ATEasy COM interrupts to display the data received back. The example also shows how to read and write from Windows INI files using windows API.

Files included:

        ComChat.prj - project files for COM port communication

        ComChat.sys - system file for ComChat application

        ComChat.drv - contains a terminal-like application to communicate

DLL Example (modified to Add ATEasyDLL in v7)

This example demonstrates how to write DLL using Visual Studio (C) and use it from ATEasy. Two DLLs are provided with this example. The first, written in C with Microsoft Visual Studio (dll.dll) . The second DLL (ATEasyDll.dll) is written using ATEasy and sources are provided in a separate ATEasy project (ATEasyDll.prj). The provided program contains several tests that call DLL functions with various parameter types.

Files included:

        Dll.prj - project file for the Dll example

        Dll.prg  - example of using the provided Dll.DLL

        DLL Sources and files:

        .\Dll\Dll.dll - the compiled DLL example.

        .\Dll\Dll.dsp - VC++ v6.0 project file for the provided DLL

        .\Dll\Dll.cpp - Main DLL source file

        .\Dll\Dll.h - main DLL header file

        .\Dll\StdAfx.cpp - used to build a pre-compiled header for VC++ 6.0

        .\Dll\StdAfx.h - used to build a pre-compiled header for VC++ 6.0

        ATEasyDll example files (see bellow)

ATEasyDll Example (v7)

This example demonstrates how to create an ATEasy DLL (ATEasyDll.dll) and use it from ATEasy and from other languages such as C and VB. This project contains a driver that includes several exported functions, thus illustrating how to export functions via ATEasy DLL. The example includes three additional projects that show how to call the ATEasy DLL from Microsoft Visual Basic application (ATEasyDllVb.exe), Microsoft Visual C project (ATEasyDllC.exe) and ATEasy application (see DLL example).

Files included:

        ATEasyDLL.prj - project file for the ATEasyDLL example

        ATEasyDLL.sys - system file for the example

        ATEasyDLL.drv - driver contains the exported function used by VB/C projects

        DLL example files (see above)

        ATEasyDll.sln - Visual Studio solution contains both projects (VB/C)

        ATEasyDllVb.exe - example showing how to use the ATEasy DLL from Visual Basic

        ATEasyDllC.exe -  example showing how to use the ATEasy DLL from C

DebugOutput Example  (v10)

This example showing how to use the DebugOutput driver used by application to trace application events, code execution and trace calls to a text file.

Files included:

        DebugOutput.prj

        DebugOutput.prg

        DebugOutput.sys

        DebugOutput.drv

DotNet Example

This example demonstrates how to write and use a .Net assembly classes and how to use the classes from ATEasy. The assembly is created using Microsoft Visual Studio .NET using C# programming language. The provided program contains several tests that create and use the various exported classes in the .NET assembly with various parameter types. You must have the Microsoft .NET framework installed in your computer. Examples include a c# assembly source code, and ATEasy examples for various .Net features, such as creating objects, constructors, overloading, late and early bind objects, generics, examples for collections, .Net control, and more.

Files included:

        DotNet.prj

        DotNet.prg

        DotNet assembly source files (in the Examples\DotNet folder): DotNet.dll, DotNet.dsp, DotNet.cs

Excel Example

This example demonstrates how to use Microsoft Excel using ActiveX/COM and DDE (example requires that you will have Excel installed in your machine). The example creates an excel workbook with two spreadsheets, the first spreadsheet contains data and the second contains a chart that plots the data from the first sheet. The example shows three ways of implementing this:

        The first task, first test  is using the Excel COM object using late binding.

        The first task, second test  is using the Excel COM type library using early binding.

        Second task, implement the example using ATEasy DDE functions.

You must have Microsoft Excel installed on your computer for this example to run.

Files included:

        Excel.prj - project file for the excel example

        Excel.prg - EXCEL using OLE Automation, Type Libraries and DDE

ExcelTestPaarameters Example (v9)

This example demonstrates how to use Microsoft Excel spreadsheet to load external test parameters such as Min/Max to your program. An additional string parameter named Param is also passed into the program test. The parameters are read and set by the EXCELTESTS driver that has a ReadTestParametersFile command. The command reads the spreadsheet and sets the program tests to the new test requirements (min/max), the Param parameter is stored in the test.tag and is used in this example as the value of the test result.

You must have the Microsoft Excel installed in your computer for this example to run.

Files included:

        ExcelTestParameters.prj - project file for the example

        ExcelTestParameters.prg - EXCEL using OLE Automation, Type Libraries and DDE

        ExcelTestParameters.sys - system file

        ExcelTestParameters.drv - Driver to read the excel file and set its parameters to the current tests

        Excel.drv - Excel driver

        TestExec.drv - Test executive

FaultAnalysis Example

This example demonstrates the use of the fault analysis driver (FaultAnalysis.drv) along with the TestExec.drv and Profile.drv. The example contains a program with dummy tests and preset test results set inside the tests. A condition file (FaultAnalysis.cnd) used by the Fault Analysis driver contains conditions that can be analyzed, displayed, and printed to the test log at the end of the run of the program.

Files included:

        FaultAnalysis.prj

        FaultAnalysis.prg

        FaultAnalysis.sys (contains the FaultAnalysis.drv, Profile.drv and TestExec.drv)

        FaultAnalysis.cnd

Fl884x Example

This example demonstrates GPIB programming and how to build a GPIB interface  instrument driver. The example uses a Fluke 8840A digital multimeter. The example demonstrates the use of IO Tables, Commands, GPIB interface and programming using IO Tables or using the internal library GPIB functions.

Files included (in the Drivers folder):

        Fl884x.prj - project file for the forms example

        Fl884x.prg - using theFl884x.drv

        Fl884x.sys

        Fl884x.drv - Fluke 8840aA DMM driver

Forms Example

This example demonstrates how to create and use ATEasy's Forms. The example is divided to tests each creates a different form with different sets and controls and menus.  

Files included:

        Forms.prj - project file for the forms example

        Forms.prg - form programming

HW Example

This example demonstrates the use of the Marvin Test Solutions Hardware Access Driver (HW). The HW driver features can be accessed from the Windows Start, MarvinTest, HW menu in the taskbar. The example shows how to read the computer PCI bus configuration and resources. The HW driver can be used to write prototype driver and to test PCI/PXI/ISA   boards.

Files included:

        HW.prj 

        HW.prg 

        HW.sys (uses HW.drv)

Hp34401aFP Example

This Example demonstrates Function Panel driver for DMM loaded with the HP34401A digital multi-meter driver from NI (National Instruments) .fp file.  It contains a program utilizing FP functions.

Files included:

        Hp34401aFP.prj

        Hp34401a-FP.prg 

        Hp34401a-FP.sys 

        Hp34401a-FP.drv

IOTables Example

This example demonstrates the creation and use of IO Tables and the File driver interface .The example driver IoTables.drv contains many IO tables with different operations and modes. The example uses a temporary file  to perform the input and output operations.

Files included:

        IoTables.prj - project files for IO Tables example

        IoTables.prg - sample if using the IoTables driver

        IoTables.sys - system file for IoTables application

        IoTables.drv - contains a file based driver with IO Table example

IviDmm Example

This example demonstrates using the standard IVI-C and IVI-COM class DMM drivers. The example contains two tasks; the IVI-C task requires installing National Instrument driver for HP34401A while the IVI-COM task requires the Agilent driver. You will need to download and install the drivers from these vendors. VISA resource manager also needs to be configured with the DMM logical name before using the example.

Files included:

        IviDmm.prj

        IviDmm.prg

        IviDmm.sys

        IviDmm.drv

LabVIEW Example

This example demonstrates using and calling LabVIEW VI and LLB files from ATEasy.. The example program contains procedures generated by importing ViExamples.llb VIs to ATEasy using the Insert LabVIEW VIs command. The example requires National Instruments LabVIEW 7.0 run-time (www.ni.com) installed on your computer (ATEasy will work with LabVIEW v6.0 or above).

Files included:

        LabVIEW.prj 

        LabVIEW.prg 

        ViExamples.llb

Language Example

This example demonstrates the ATEasy programming language. The examples contains  several tasks to demonstrate Control statements, expressions and assignments, user defined procedures, using variants variables, internal library, using DLLs, using the log window and customizing the log output, interrupts, multi-threading, conditional compilation and error and exception handling.

Files included:

        Language.prj - project file for the language example

        Language.prg - programming language features

MMTimer Example

This example demonstrates how to use the Windows Multimedia timers to perform 1ms accurate timing events. The example is provided with DLL sources that can serve as a template for an application that requires performing operations in an accurate timing manner.

Files included:

        MMTimer.prj - project files for Multi-Media timers example

        MMTimer.prg - sample if using the MMTimer

        ..\MMTimer\MMTimer.dll - the compiled DLL example

        ..\MMTimer\MMTimer.dsp - VC++ v6.0 project file for the provided DLL

        ..\MMTimer\MMTimer.cpp - Main DLL source file

        ..\MMTimer\MMTimer.h - main DLL header file

        ..\MMTimer\StdAfx.cpp - used to build a precompiled header for VC++ 6.0

        ..\MMTimer\StdAfx.h - used to build a pre-compiled header for VC++ 6.0

ModuleEvents Example

This example demonstrates ATEasy's program, system, and driver module events. Running or using the debug command on this example will generate trace output from each of the ATEasy's module event procedures, which shows the sequence in which these events are called by ATEasy.

Files included:

        ModuleEvents.prj - project files for the ModuleEvents example

        ModuleEvents.prg - sample test program

        ModuleEvents.sys - sample test system

        ModuleEvents.drv - sample driver

MultiPad Example

A complete text editor with MDI user interface (Multi Document Interface) implemented with ATEasy. This example is provided to show how to use the MDI user interface, MDI Form, MDI Child Form, AMenu, AToolbar, ACommonDialog (file open, save and print, font selection), AImageList, ATimer and more.

Files included:

        MultiPad.prj 

        MultiPad.sys 

        MultiPad.drv

MyProject Example

This example is provided as a reference to the files created in this manual. It contains all the examples created in the ATEasy getting started manual.

Files included:

        MyProject.prj - project files for the Getting Started Manual samples

        MyProgram.prg - sample test program

        MySystem.sys - sample test system

        MyDMM.drv - sample driver for Hp34401

        MyRELAY.drv - sample driver for GX6138

ProcessDiagnostics Example  (v8)

This example is provided as a tool to diagnose memory, threads or file handle leaks created by calls to external libraries such as DLLs. .Net or COM. The example is using the ProcessDiagnostics.drv driver provided with ATEasy. The driver can report the current process memory consumption, handles count, thread count, modules, and CPU usage.

Files included:

        ProcessDiagnostics.prj

        ProcessDiagnostics.prg

        ProcessDiagnostics.sys

        ProcessDiagnostics.drv

Profile Example

This example shows how to create profile programmatically and dynamically.  First it selects the second profile of the given profile file, Profile.prf in the ATEasy Examples folder.  When the Test Executive driver displays the selected profile in its tree view, you can run the profile.  At the end of a program run, it asks you to perform its diagnostics if there are any failed tests - upon which if you respond Yes, then it creates a diagnostic profile and a file, "Diagnostics.prf" in the current folder and runs it. The newly created profile includes all failed tests.

Files included:

        Profile1.prg 

        Profile2.prg 

        Profile.sys 

        Profile.drv 

        TestExec.drv

Python Example

This example shows how to use or run Python script from ATEasy. The example uses the ATEasy python driver that uses the embedded python DLL to execute scripts, call functions, pass parameters and more. The example and driver is based on Python 3.12.  You must install the Python before running the example from https://www.python.org/downloads/windows/  

Files included:

        Python.prg 

        Python.sys 

        Python.drv 

Simulation Example  (v9)

This example shows how to use ATEasy simulation. Simulation is a powerfull tool allowing you to run your application with no or partial hardware. You can simulate any procedure or code included in your application to analyze your application logic, debug, and measure performance. Various simulation techniques and procedures are demonstrated in SIM driver, InInit() and OnSimulation() events. The example uses a DMM (Hp34401a.drv), you can run the example without any hardware when in simulation mode. See the user’s guide Simulation topic for more information.

Files included:

        Simulation.prj

        Simulation.prg

        Language.prg

        Simulation.sys

        Simulation.drv

        HP34401a.drv

        TestExec.drv

StdIoProcess Example (v8)

This Example shows how to control a console application. The example shows  four console applications. The windows Command prompt (cmd.exe), TCL. PERL and PYTHON interpreters. The PERL interpreter used in this example is Strawberry Perl (http://www.strawberryperl.com). The TCL interpreter used in this example is ActiveState ActiveTcl (http://www.activestate.com/activetcl). The PYTHON interpreter used is Python Software Foundation (http://www.python.org). The example uses the ATEasy StdIoProcess driver that can be used to control console applications by redirection their standard input, output and error pipes. The driver offers synchronous and asynchronous way to redirect the input to the console application. The driver uses .NET System.Diagnostics.Process class).

Files included:

        StdIoProcess.prj

        StdIoProcess.prg 

        StdIoProcess.sys 

        StdIoProcess.drv 

        StdIoProcessAdd.tcl

        StdIoProcessAdd.pl

        StdIoProcessAdd.py

TestExecMini Example

This example can be used as a basic building block for building your own test executive. It displays a form that allows the user to select a test from the program tests and run it.:

Files included:

        TestExecMini.prj 

        TestExecMini.prg 

        TestExecMini.drv

TestExec Example

This example demonstrates the use of TestExec and Profile drivers and their user interface. A Profile file (TestExec.prf) is provided and contain several profiles ready to run.

Files included:

        TestExec.prj - project files for sample test executive

        TestExec-1.prg - sample test program

        TestExec-2.prg - sample test program

        TestExec.sys - system file for test exec which uses the three files below:

        Profile.drv - profile driver

        TestExec.drv - test executive driver

        TestExec.prf - profile file for the example

TestExecMultipleUUTs Example (v8)

This example demonstrates the use of the TestExec to run multiple UUTs in parallel and sequential mode. The example is like the TestExec example with the exception of additional code that was added to the System.OnInit() event to setup and run multiple UUTs.

Files included:

        TestExecMultipleUUts.prj - project files for sample test executive

        TestExec-1.prg - sample test program (run in sequential mode)

        TestExec-2.prg - sample test program (run in sequential mode)

        Language.prg - language example (run in parallel mode)

        TestExecMultipleUUts.sys - system file for test exec which uses the three files below:

        Profile.drv - profile driver

        TestExec.drv - test executive driver

TestExecUsers Example

This example demonstrates the use of Test Executive Users file.  The users file allows you to create a multi-users environment where an administrator sets each user group’s privileges.

Files included:

        TestExecUsers.prj 

        TestExec-1.prg 

        TestExec-2.prg 

        TestExecUser.prg 

        TestExecUser.sys 

        Profile.drv 

        TestExec.drv

Visual Basic Example

This example demonstrates how to use an ActiveX object, ActiveX control, enumerated type and structures created using Microsoft Visual basic. The example is provided with sources safe for the Visual Basic project. You should have VB 6.0 to compile the VB examples, and VB 6.0 run-time in order to run it.

Files included:

        VB.prj - project files for using Visual Basic objects from ATEasy

        VB.prg - example showing how to use the ATEasyVB.ocx control

        ..\VB\ATEasyVB.ocx - the compiled DLL example

        ..\VB\ATEasyVB.vbp - VB 6.0 project file

        ..\VB\Class1.bas - VB sample class module file

        ..\VB\CPShapeL.ctl - VB sample ShapeLabel control

        ..\VB\CPShapeL.ctx - VB sample ShapeLabel property page

        ..\VB\CPShapeL.pag - VB sample ShapeLabel property page

WinSNMP Example (v8)

This example demonstrates how to use WinSNMP using the Microsoft Windows SNMP Application Programming Interface (the WinSNMP API). WinSNMP allows you to develop SNMP-based network management applications that are executed in the Windows environment. The Simple Network Management Protocol (SNMP) is a request-response protocol that transfers management information between protocol entities. To run the example, you must install the SNMP service (a Windows Features), see the example program source for more information.

Files included:

        WinSNMP.prj - project files for WinSock (TCP or UDP connection) communication using interface events

        WinSNMP.prg - program file contains several examples showing how to use the ATEasy SNMP driver.

        WinSNMP.sys - system file for WinSNMP application

        WinSNMP.drv - the ATEasy SNMP driver using the Windows SNMP API DLL.

WsChatIE Example

This example demonstrates how to use WinSock and TCP/IP communication protocol to communicate between applications. The application creates a window that is used to type text used to send to a TCP/IP port. Any data received from the port is appended and displayed in the window. The application can be set to function as a client or as a server. The example uses ATEasy Interface Events to receive data from the port (client or server) or accept the client connection (server). This example is similar to the WsChatMT, however, the communication is done here using interface events instead of using a separate thread to receive data.

Files included:

        WsChatIE.prj - project files for WinSock (TCP or UDP connection) communication using interface events

        WsChatIE.sys - system file for WsChatIE application

        WsChatIE.drv - contains a terminal-like application to communicate using WinSock ports

WsChatMT Example

This example demonstrates how to use WinSock and TCP/IP communication protocol to communicate between applications. The application creates a window that is used to type text used to send to a TCP/IP port. Any data received from the port is appended and displayed in the window. The application can be set to function as a client or as a server. The example uses a separate thread to receive data from the port (client or server) or accept the client connection (server). This example is similar to the WsChatIE, however, communication is done here in separate thread instead of using interface events.

Files included:

        WsChatMT.prj - project files for WinSock (TCP or UDP connection) communication using multi-threading

        WsChatMT.sys - system file for WsChatMTapplication

        WsChatMT.drv - contains a terminal-like application to communicate using WinSock ports

ATEasy 2.x Migration Examples

The following examples require the ATEasy 2.x migration to be installed when installing ATEasy:

AtezTxt Example

This example is provided for ATEasy 2.x compatibility. It demonstrates the ATEasy 2.x TXTLOG control used to display the test log.

Files included:

        AtezTxt.prj - project files for ATEasy 2 ATEZTXT sample

        AtezTxt.prg - demonstrates ATEasy 2 ATEZTXT driver

        AtezTxt.sys - demonstrates ATEasy 2 ATEZTXT driver

        AtezTxt.drv - provides the ATEZ2 Log control

Dialogs Example

This example is provided for ATEasy 2.x compatibility. It demonstrates creating and using ATEasy 2.x Dialogs created using DlgEasy and the ATEZUSER driver. Note you must have the correct DLG files path in ATEasy.INI in the [DlgEasy] section (e.g. Path=C:\ATEASY2\DLG). This example is available only if you've selected to install ATEasy 2.x Migration files during the setup.

Files included:

        Dialogs.prj - project files for ATEasy 2 Dialogs sample

        Dialogs.prg - demonstrates ATEasy 2 dialogs

        Dialogs.dlg - ATEasy 2.x dialog file for the example

        User.sys - system file that contains the ATEZUSER driver

User Example

This example is provided for ATEasy 2.x compatibility. It demonstrates creating and using ATEasy 2.x Dialogs created using ATEZUSER driver. This example is available only if you've selected to install ATEasy 2.x Migration files during the setup.

Files included:

        User.prj - project files for ATEasy 2 User sample

User.prg - demonstrates ATEasy 2 ATEZUSER driver dialogs

User.sys - system file that contains the ATEZUSER driver