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