\subsection{Lakeshore 330 Temperature Controller}
\textit{Platforms: All}
\newline

The \textit{ls330\_motor} driver is for the 
LakeShore 330 temperature controller from
LakeShore Cryotronics, Inc.
\newline
(\MxLink{http://www.lakeshore.com/}{http://www.lakeshore.com/}).
Since temperature controllers generally have PID loops, MX usually
treats temperature controllers as if they were motor controllers.
This allows the temperature setpoint to be step scanned.
Both RS-232 and GPIB support has been implemented in the MX driver.

The fields for the \textit{ls330\_motor} driver are:
%
\newline\newline
%
\newcommand{\MxFieldLsDDAZmotorPortZinterface}
{For RS-232 connections, this will be the name of the MX RS-232 record,
such as \textit{lakeshore\_tty1}.

For GPIB connections, this will be the name of the MX GPIB record together
with the GPIB address of the Kohzu controller, such as
\textit{k500s:12} for a controller at GPIB address 12.}
%
%
\newcommand{\MxFieldLsDDAZmotorBusyZdeadband}
{The LakeShore controller does not provide a command to ask for whether or
not the setpoint has been reached.  Instead, we must decide that for ourselves
by computing the difference between the current temperature and the 
temperature setpoint.  If the absolute value of the difference is less
than the \textit{busy\_deadband} value set by this field, then
the ``motor'' move is declared to be complete.}
%
\MxLsDDAZmotorDriverFields
\ \newline

Here is an example MX database for the Lakeshore 330:
\begin{verbatim}
keithley_rs232 interface rs232 tty "" "" 9600 8 N 1 N 0xd 0xd -1 0x0 /dev/ttya
k500s          interface gpib k500serial "" "" 13 0 0xa 0xa 0x0 keithley_rs232
lakeshore      device motor ls330_motor "" "" 296.1 0 0 1000000 0 -1 -1 1 0 K k500s:12 0
\end{verbatim}

The above example uses a Keithley 500-SERIAL module as an RS-232 to GPIB
converter.

