No BSD License  

Highlights from
Lambda-Physik FL3002 GPIB Instrument Drivers

Lambda-Physik FL3002 GPIB Instrument Drivers

by

 

15 May 2008 (Updated )

Provides a basic command set to control the FL3001/2 dye laser over GPIB.

GPIBBoardConfig();
% Written by Tom Spinka on Oct. 3, 2007 for initializing the GPIB board.

% To Do:
% Determine shorter IbcTMO times (it is known to work consistently at IbcTMO = 9 = 100 ms.)
% Determine if parallel poll parameters are necessary
% Determine if the IbcRsv bit setting is necessary.
function [Err, Bd] = GPIBBoardConfig();

% Initialize the GPIB Board handle. 'Bd' is the board handle later used to
% access board-level command calls.
Bd = ibfind('GPIB0');

% The following are the GPIB Board settings. Many of these settings are
% specific to the Lambda-Physik FL3001/3002 Dye Laser, so some of them may
% need to be reset any time you are communicating with a different
% instrument.
Err = ibconfig(Bd,hex2dec('07'),1); % IbcAUTOPOLL = 1
Err = ibconfig(Bd,hex2dec('12'),1); % IbcDMA = 1
Err = ibconfig(Bd,hex2dec('1A'),1); % IbcEndBitIsNormal = 1
Err = ibconfig(Bd,hex2dec('0F'),13); % IbcEOSchar = 13 = 0xd = carriage return
Err = ibconfig(Bd,hex2dec('0E'),0); % IbcEOScmp = 0 (7-bit EOS compare)
Err = ibconfig(Bd,hex2dec('0C'),1); % IbcEOSrd = 1 (Terminate reads when an EOS charater is read)
Err = ibconfig(Bd,hex2dec('0D'),1); % IbcEOSwrt = 1 (Assert the EOI line when an EOS character is written)
Err = ibconfig(Bd,hex2dec('04'),1); % IbcEOT = 1 (EOI is asserted at the end of writes)
Err = ibconfig(Bd,hex2dec('1F'),0); % IbcHSCableLength = 0 (High-speed communication is disabled)
Err = ibconfig(Bd,hex2dec('09'),1); % IbcIRQ = 1 (Allow interrupts)
Err = ibconfig(Bd,hex2dec('20'),0); % IbcIST = 0 (The board's ist bit is cleared)
Err = ibconfig(Bd,hex2dec('22'),0); % IbcLON = 0 (Listen-Only mode is disabled)
Err = ibconfig(Bd,hex2dec('01'),0); % IbcPAD = 0 (The primary GPIB address of the board is 0)
% Err = ibconfig(Bd,hex2dec('10'),0); % I don't think this is necessary.
% Err = ibconfig(Bd,hex2dec('21'),0); % I don't think this is necessary. IbcRsv = 0
Err = ibconfig(Bd,hex2dec('02'),0); % IbcSAD = 0 (The secondary GPIB address is disabled)
Err = ibconfig(Bd,hex2dec('0A'),1); % IbcSC = 1 (The GPIB board is the system controller)
Err = ibconfig(Bd,hex2dec('17'),1); % IbcSendLLO = 1 (Send the Local-Lockout command when putting a device online (ibfind or ibdev)
Err = ibconfig(Bd,hex2dec('0B'),1); % IbcSRE = 1 (Assert the REM line)
Err = ibconfig(Bd,hex2dec('11'),2); % IbcTIMING = 2 (The GPIB source handshake timing is 500 ns)
Err = ibconfig(Bd,hex2dec('03'),9); % IbcTMO = Board-level calls timeout after 100 ms

% This briefly asserts the Interface Clear control line, calling all active
% devices to attention.
ibsic(Bd);

Contact us