Lambda Genesys Instrument Driver Readme

Table of Contents:

1.  Overview
2.  Required Software
3.  Installation Instructions
4.  Accessing the Driver in LabVIEW
5.  Using the Instrument Driver
6.  Addressing the Instruments
7.  Custom Error Codes
8.  Unsupported Features and Restrictions
9.  IEEE Bus Activity
10. Known Issues
11. Customer Support
12. Revision History

1. Overview

Instrument Driver Technology: VISA
Supported Language(s):        LabWindows/CVI  6.0
Supported Regional Settings:  English desktops only
                              (period separator for number decimal point)
 
Supported Models:             Lambda Genesys Series DC Power Supplies
Models Tested:                All models with the IEEE option installed
Interfaces:                   IEEE-488 with SCPI
Firmware Revision Tested:     1U:1.10-B and later
 
Certified:                    No, but compliant
NI Supported:                 No
Source Code Available:        Yes
 
Driver Revision:              REV A, 08/14/2003, CVI 6.0
Original Release Date:        Aug  2003
Current Revision Date:        Aug  2003

2. Required Software

Some software components need to be installed before using this 
instrument driver. The minimum versions of these components are listed below,
and can be downloaded from the Download Site.
 
LabWindows/CVI 6.0  or later
VISA           2.6  or later
 
Note: VISA has additional software requirements. For example, for the
IEEE-488 port, NI-VISA requires that NI-488.2 be installed on your system. 
Check with VISA help for additional support software and hardware 
requirements. 

3. Installation Instructions

Obtain a copy of the driver software.  It is packaged in a file with a name 
similar to: 
                "Lambda Genesys LabWindows IEEE Drivers.zip" 
 
After the files have been extracted from the ZIP file, there are no special
requirements where the files must be placed. The LabWindows project manager 
will save all the file locations as they are added to the project
 
The following files are in the ZIP file:
 
1.          The driver files. 35 Functions are available through the function panels.
     These may be placed in a separate instrument driver folder
a.               GenPSie.c             driver source code
b.               GenPSie.fp            driver function panel
c.               GenPSie.h             driver header file
 
2.          A demonstration program that shows how each of the driver functions operate.
     Click on any control or indicator in the program panel to set or read the value.
a.               GEN-LW-Demo.c         demonstrator source code
b.               GEN-LW-Demo.h         demonstrator header file
c.               GEN-LW-Demo.uir       demonstrator User Interface Resource (window panel)
 
3.          A simple Graphical User Interface (GUI) program. It continuously updates it’s
     indictors to match the power supply front panel. Use the mouse to change
     some settings on the power supply. Runs using two program threads.
a.               GEN-LW-SimpleGUI.c    GUI source code
b.               GEN-LW-SimpleGUI.h    GUI header file
c.               GEN-LW-SimpleGUI.uir  GUI demonstrator User Interface Resource
                              (the window panel)
d.               GEN-LW-SimpleGUI_dbg.exe
                            GUI executable, compiled with debugging enabled
 
4.          Miscellaneous files
a.               LabWin lambda genesys readme.htm             this file
 

4. Accessing the Driver in LabWindows/CVI

1.          On the project window, select from the menu bar: Instrument -> Load…
     See a “Load Instrument” pop-up window. Navigate to the location of
     the “GenPSie.fp” file. Click the “Load” button
 
2.          While viewing the source code window (*.c), select a Genesys driver
     from the menu bar: Instrument -> Lambda GENESY DC Power…
 
3.          See the “Select Function Panel” window open. Navigate to the desired 
     function and click the “Select” button
 
4.          See the function panel open up. Fill in the controls and indicators.
     You may right-click on these for a description.
 
5.          In the toolbar, click the “Insert Function Call” button. This will place
     the code for the function call at the cursor’s last location in the
     source code window
 

5. Using the Instrument Driver

To verify communication with your instrument and test a typical remote
instrument operation, you should first open the Getting Started or Example 
VIs the instrument driver. Look over each of the controls and set them 
appropriately.  Generally, with the exception of the address field, the 
defaults for most controls will be sufficient for your first run. You will 
need to set the instrument resource name appropriately. After running the VI, 
check to see that reasonable data was returned and an error was not reported 
in the error cluster.
 
After you have verified basic communication with your instrument, you might 
want to customize instrument control for your needs. If your application 
needs are similar to the Getting Started or Example VI, the simplest means of 
creating a customized VI is to save a copy of the Getting Started or Example 
VI by selecting "Save As" from the File menu. You can then modify this example 
to meet your specific needs.
 
For more details, reference the LabVIEW Help under:
                                       Help » VI, Function, and How-To Help. 

6. Addressing the Instruments

The “Initialize” driver has a "VISA" input that identifies which IEEE port is 
being used and which Genesys power supply is being communicated to. The return 
value from this driver is a handle.
 
The syntax for the VISA name is:  
               GPIB[board]::<Genesys address>::INSTR
 
Following are examples of valid values for this name (do not type the quotes):
"GPIB::6::INSTR"      GPIB board address 0, Genesys set to address 6
"GPIB0::12::INSTR"    GPIB board address 0, Genesys set to address 12
"GPIB1::09::INSTR"    GPIB board address 1, Genesys set to address 9
 
Also acceptable are alias names created with the National Instruments 
"Measurement and Automation Explorer", or "MAX", program.
 
Note:  "GenPSie_init" should be executed once for each Genesys instrument 
       on the IEEE bus. This function is required to enable reading back 
       instrument errors.

7. Custom Error Codes

Every driver checks for errors and warnings. Any found are returned in the 
"Status" variable. There are three sources of errors and only the highest 
priority error is returned:
 
                      ERROR TYPES
Priority
Type
Description
Highest
VISA Error
Returned by VISA functions such as Write or Read
Examples: No device at the address detected.
          After query sent, no response received

 

Device Error
Returned by the instrument's "SYSTEM:ERROR" queue
Examples: see "CUSTOM DEVICE ERRORS" table below
Lowest
Response Error
Driver received response but it is invalid
Examples: see "CUSTOM RESPONSE ERRORS" table below
 
 
Device warnings and errors are ones reported from a "SYSTEM:ERR?" query.
The difference is:
WARNINGS:
·              A warning number is greater than zero
·              A warning is returned if the intention of the command is understood, 
but the power supply cannot carry out the command at this time
ERRORS:
·              An error number is less than zero
·              An error is returned if the power supply cannot determine what the
command is trying to do
·              An error is returned if the command is recognized but it can never
be carried out by the power supply
 
For example, if a Genesys is rated to 100 volts but the over-voltage 
protection is set to 70 volts, attempting to program to 80 volts will 
return a warning and attempting to program to 200 volts will return 
an error
 
Checking for errors is done automatically by most drivers.  If an error is 
returned, it is in the SCPI error format:
               <number -500 to +500> <comma> <message string in quotes>
For a complete list of possible errors, refer to the: 
               Technical Manual for IEE Programming Interface, 
                  Section 3, "System:Error Messages" 
 
The VISA standard allows:
·              Custom ERROR codes in the range:
               -1073999873 to -1074001919  (BFFC0900 to BFFC0FFF hex)
·              Custom WARNING codes in the range:
               -1073999873 to -1074001919  (3FFC0900 to 3FFC0FFF hex)
 
The SCPI error number is converted to a VISA error number using this formula:
               <absolute value of SCPI error number> + <BFFC0900 hex>
The SCPI warning number is converted to a VISA error number using this formula:
               <absolute value of SCPI error number> + <3FFC0900 hex>
 
See function "GenPSie_convertErrNumb" for details on the code conversion.
 
               EXAMPLES:  CUSTOM DEVICE ERRORS
               (for additional errors, see the IEEE Technical Manual AND
                      the file “GenPSie.h”)
 
Decimal Code
Hex Code
Meaning
-1074001564
BFFC0964
-100,"Command error"
general error, IEEE command not executed
-1074001560
BFFC0968
-104,"Data type error"
value missing from command or wrong value type
-1074001442
BFFC09DE
-222,"Data out of range"
attempt to program beyond instrument's ratings
applies to volt limit, current limit, OVP and UVL
 1073482285
3FFC0A2D
+301,"PV above OVP"
attempt to program voltage above the Over-Voltage 
setting but within the instrument's ratings
 1073482291
3FFC0A33
+307,"On during fault"
attempt to turn power supply output ON while a 
fault is keeping the output off
 
 
               CUSTOM RESPONSE ERRORS
               (see the file “GenPSie.h” for declarations)
 
Decimal Code
Hex Code
Meaning
-1074001656
BFFC0908
Revision of IEEE firmware is not compatible with 
these drivers. Rev “1.4-B” or later is required 
-1074001654
BFFC090A
Could not parse fields from identity string to 
find model ratings, serial number or revision
-1074001632
BFFC0920
"BUSY" bit in Status Byte stuck high after command
sent. Command not processed correctly
-1074001630
BFFC0922
Sent “SYST:ERR?” query but no response message 
became available
-1074001628
BFFC0924
Sent “SYST:ERR?” query but response is invalid
because it is less than 11 characters long
-1074001626
BFFC0926
"SYS" bit in Status Byte set high after 
“SYST:ERR?” sent, but no error found in queue
-1074001624
BFFC0928
After sending command, the message available
status bit was set
-1074001622
BFFC092A
After sending query, the status register shows
no response available and no error occurred
 

8. Unsupported Features and Restrictions

A. Unsupported Features
The following Genesys capabilities are not supported by these drivers:
- SRQ interrupts 
- Event and Enable registers
- Triggered events
- Self-Test
- Calibration commands
B. Applicable Genesys Firmware Revisions
1. These drivers are not compatible with Genesys units having firmware
   revision "1.4-B" or earlier (made before July 2003)
 
   Note: The Genesys firmware revision is found in the last field returned 
         by the IEEE "*IDN?" query, the serial "IDN?" query or by running 
         the driver "GenPSie_revisionQuery"
C. Restriction for Service Requesting
These drivers are not compatible with any programs that enables the
Genesys Service Request registers (the "*SRE nn" command). This is because
the drivers automatically read the serial poll after each command so
the Service Request signal will be cleared
D. Restriction for SYSTEM:ERROR Fault Event Reporting
Custom programs may not use the System Error queue to report power supply 
Fault events. This is because the drivers clear the error queue prior to
sending any command or query

9. IEEE Bus Activity

The user who attaches an IEEE bus analyzer while these drivers are
being used will see the following bus activity with each driver call:
 
1. A serial poll is read from the addressed power supply. If a
   pending SYSTEM:ERROR or response Message exist, they are cleared.
2. The command or query is sent to the addressed supply.
3. A serial poll is taken every 10 milliseconds until the BUSY bit goes 
   low.  The SYST bit or MAV bit will go high at this time if there was 
   an error in the command or if a response message is available.
4. If the SYST bit shows an error occurred, a "SYST:ERR?" query is sent
   and the response read. 
5. If the MAV bit was set, the response is read.

10. Known Issues

There are currently no known issues with this instrument driver.

11. Customer Support

For technical support and driver upgrades, you can contact Lambda at 
the following telephone number:
 
      Lambda Americas         (732)922-9300 Ext 209 
      Customer Service        dave.ransom@lambda.com
      405 Essex Road
      Neptune, New Jersey, 07753  USA
 
Or visit our support web page at: 
                              http://www.lambda-hp.com/service.htm
 
Or contact your Lambda Representative

12. Revision History

    Rev_0.2,  08/2003
       1. Initial Beta release. Drivers and Demo program only 
 
    Rev_A,    08/2003
       1. Add GEN-LW-SimpleGUI program
 
    Rev_A,    02/2006
       1. Change “aReadme.txt” file to this file, “lambda genesys readme.htm”.
          No change to the LabWindows files