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:	Plug and Play
Supported Language(s):  	LabVIEW  6.1
Supported Regional Settings:	English and Universal desktops
					(period or comma separator for 
					 number decimal point)

Supported Models:  		Lambda Genesys Series DC Power Supplies
Models Tested:  		750 and 1500 Watt, and Half-Rack,  
					with the IEEE option installed
Interfaces:			IEEE-488
				IEEE-488 with Multi-Drop
Firmware Revision Tested:  	2.0-C

Certified:  			No
NI Supported:  			No
Source Code Available:  	Yes

Driver Revision:  		REV_C00, 09/2005, LV_6.1
Original Release Date:  	April 2005
Current Revision Date:  	Sept  2005

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.

LabView 6.1  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: 
                "GENie.zip" 

A)  Use Windows Explorer and navigate to folder:
	...\Program Files \National Instruments \LabVIEW...\instr.lib

B)  Create a new folder: GENie

C)  Use the ZIP utility, such as WinZip.exe,  to extract the driver files 
    into the "GENie" folder

D)  You will now have a "...\instr.lib\GENie\" folder containing:
	"GENie.llb"
	"_GENie.llb"
	five MNU menu files
	"lambda genesys readme.htm" (this file) and two GIF pictures

The menu files and VI libraries (LLB) make up an instrument driver. 
The menu files allow you to view the driver VIs from the Functions palette.
The " GENie.llb" VI library contains the instrument driver VIs.
The "_GENie.llb"  VI library contains support drivers not normally used
  by the programmer and they do not appear on the Function pallet (see next)

4. Accessing the Driver in LabVIEW

There is normally no need to view the library file because the driver 
functions may be picked from a palette menu.

A)  Right-click on a blank place on the VI diagram
    See the "Functions" palette open.  Navigate:
	Functions ->  
		Instrument I/O ->  
			Instrument Drivers ->  
				Lambda GENESYS IEEE DC Power

B)  Alternately,  click diagram's menu bar:  
	Window ->  "Show Functions Palette" and navigate the above menus 

5. Using the Instrument Driver

LabVIEW:
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

Each driver has two address inputs for the two ways that multiple Genesys 
power supplies may be used on the IEEE-488 bus. The inputs are "VISA" and 
"Slave Addr (none)".

    Note: In diagrams below, "GEN Initialize.vi" is not shown. This VI 
          is required to enable reading back instrument errors.

POINT-TO-POINT ADDRESSING
This is the traditional IEEE where each Genesys power supply has its own IEEE 
cable connecting it to the IEEE Controller. Do not wire anything to the 
"Slave Addr" input (or keep the input at it's default "-1").


MULTI-DROP ADDRESSING
This is a configuration where one Genesys power supply has an IEEE 
connection, but it then 'daisy-chains' to other power supplies using the 
RS-485 (4-wire serial) bus. The IEEE ("Master") has an IEEE address, the 
other ("Slave") instruments have serial addresses that must be different than 
the Master's address.

To use Multi-Drop addressing:
A. The Master device "VISA" input is set to the Master's IEEE address
B. The Slave device "VISA" input is wired to the Master's "VISA out"
C. The Slave device "Slave Addr" is set to the device's Serial address
D. The "Slave Addr" is sticky (or latched or cached).  If it is set once 
     (to anything but the default -1), any more driver calls will be to
     the same slave until a new slave address is wired to any driver call.

7. Custom Error Codes

Every driver checks for errors and any found are returned in the "error out"
cluster. 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 errors are ones reported from a "SYSTEM:ERR?" query. This 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  ( BFFC0801 to BFFC0FFF hex)

The SCPI error number is converted to a VISA error number using this formula:
		<absolute value of SCPI error number> + <BFFC0900 hex>
See "GEN Error Query.vi" for details on the code conversion.
All returns are errors; there are no warnings.

			EXAMPLES:  CUSTOM DEVICE ERRORS
Decimal Code
Hex Code
Meaning
-1074001564
BFFC0964
-100,"Command error;address nn"
general error, IEEE command not executed
-1074001560
BFFC0968
-104,"Data type error;address nn"
value missing from command or wrong value type
-1074001442
BFFC09DE
-222,"Data out of range;address nn"
attempt to program beyond instrument's ratings
applies to volt limit, current limit , OVP and UVL
-1074001423
BFFC09F1
-241,"Hardware missing;address nn"
in an IEEE Multi-Drop system, error while opening
comm to a slave device at serial address "nn".
Slave device not detected
-1074001363
BFFC0A2D
+301,"PV above OVP;address nn"
attempt to program voltage above the Over-Voltage
setting but within the instrument's ratings
-1074001357
BFFC0A33
+307,"On during fault;address nn"
attempt to turn power supply output ON while
a fault is keeping the output off
-1074001321
BFFC0A57
+343,"Internal timeout;address nn"
in an IEEE Multi-Drop system, no response from
an addressed slave device

			CUSTOM RESPONSE ERRORS
Decimal Code
Hex Code
Meaning
-1074003951
BFFC0011
No response from "ID Query" in "Initialize.vi".
May be an incorrect address setting or the
instrument is not communicating
-1074001904
BFFC0810
Could not parse identity fields to find revisions
-1074001902
BFFC0812
Could not parse identity fields to get the
model number ("GENvvv-ccc")
-1074001900
BFFC0814
Attempt to send query to "Write to Instrument".
Cannot have "?" in command string
-1074001898
BFFC0816
Attempt to send command to "Read Instrument Data".
Must have "?" in query string
-1074001896
BFFC0818
"BUSY" bit in Status Byte stuck high after command 
sent. Command not processed correctly

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)
2. For Multi-Drop systems, which use serial Slave addressing, all devices
   must have firmware revision "2.0-C" or later (made after Oct 2005)

   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 "GEN Revision Query.vi"
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
The programmer 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-emi.com/service.htm

Or contact your Lambda Representative

12. Revision History

RevDbeta1, 08/2003, LV_6.1
	Original Release
	Drivers are not "Plug and Play" compatible
	by Walter Heyck
	   Lambda Americas

REV_B03, 07/2005, LV_6.1
	- Re-wrote drivers to be "Plug and Play" compatible.
	- Driver icons now use glyphs instead of text.
	- Added function pallet menu (*.mnu) files).
	- Made instrument errors return VISA compliant error values.
	- Deleted separate "GEN Errors.txt" file, error descriptions now
	 formulated in the driver Vis.
	- Added this "readme.htm" file.
	by Walter Heyck
	   Lambda Americas

REV_C00, 09/2005, LV_6.1
	- Added IEEE Multi-Drop capability
	- Added "Slave Addr (none)" control to most driver VIs
	by Walter Heyck
	   Lambda Americas