- Implemented defpos for multiple motors
- Implemented automatic backup on parameter change - Implemented silent restore - Cleaned a couple of unused flags from connection object
This commit is contained in:
@ -63,6 +63,77 @@ number of the motor in the EL734DC motor controller.
|
||||
<dd>Creates a piezo electric positioning device. Again the controller is a
|
||||
Physik Instrumente controller. pararray has the same meaning as for the
|
||||
C804 controller given above.
|
||||
<dt>Motor name ecb ecbcontroller ecb-number lowerlimit upperlimit
|
||||
<dd>This creates a motor which is controlled through the Risoe ECB
|
||||
electronic. The parameters:
|
||||
<dl>
|
||||
<dt>ecbcontroller
|
||||
<dd>The ECB controller to which this motor is connected to. See below
|
||||
for more on ECB controllers.
|
||||
<dt>ecb-number
|
||||
<dd>Number of the motor in the ECB system.
|
||||
<dt>lowerlimit
|
||||
<dd>The lower hardware limit for this motors operation
|
||||
<dt>upperlimit
|
||||
<dd>The upper hardware limit for this motors operation
|
||||
</dl>
|
||||
In contrast to normal motors, the ECB motors have quite a number of
|
||||
hardware parameters which must be configured. The general syntax to
|
||||
configure them is: motorname parametername value. The following
|
||||
parameters are available:
|
||||
<dl>
|
||||
<dt>encoder
|
||||
<dd>0 if there is no encoder for this motor, 1-3 for the encoder used
|
||||
for this motor.
|
||||
<dt>control
|
||||
<dd>The control bit flag. This falg determines if the motor sets a
|
||||
control bit in the ECB controller. This control bit can be used to
|
||||
drive air cushions and the like. If required set to 1, else leave at
|
||||
0.
|
||||
<dt>delay
|
||||
<dd>Delay time to wait after setting a control bit.
|
||||
<dt>range
|
||||
<dd>The speed range for the motor: 0 for slow, 1 for fast
|
||||
<dt>multi
|
||||
<dd>The ECB controller supports up to 24 motors. In some instances
|
||||
this is not enough. Then one ECB channel can be multiplexed into
|
||||
several motors. This flag (),1) determines if this is the case.
|
||||
<dt>multchan
|
||||
<dd>The multiplexer channel for a multiplexed motor.
|
||||
<dt>port
|
||||
<dd>The ECB port a multiplexed motor is using.
|
||||
<dt>acceleration
|
||||
<dd>The speed with which the motor accelerates to its final speed.
|
||||
<dt>rotation_dir
|
||||
<dd>Rotation direction of the motor.
|
||||
<dt>startspeed
|
||||
<dd>Starting speed of the motor.
|
||||
<dt>maxspeed
|
||||
<dd>The maximum speed for this motor.
|
||||
<dt>auto
|
||||
<dd>Speed in automatic mode
|
||||
<dt>manuell
|
||||
<dd>Speed used when driving the motor through the manual control box.
|
||||
<dt>offset
|
||||
<dd>When using an encoder: the offset between the motor zero and the
|
||||
encoder zero.
|
||||
<dt>dtolerance
|
||||
<dd>hardware tolerance of the motor.
|
||||
<dt>step2dig
|
||||
<dd>conversion factor from encoder steps to physical values.
|
||||
<dt>step2deg
|
||||
<dd>Conversion factor from motor pseudo encoder steps to physical
|
||||
values.
|
||||
<dt>backlash
|
||||
<dd>In order to correct for backlash, Risoe motors always approach a
|
||||
target position from the same direction. In order to do this the motor
|
||||
has to overshoot and drive back when driving in the wrong
|
||||
direction. The parameter backlash determines how much to overshoot.
|
||||
</dl>
|
||||
ECB motors have another quirck: 8 motors in a rack share a power
|
||||
supply! This has the consequence that only one of the 8 motors can run
|
||||
at any given time. In SICS this is directed through the anticollider
|
||||
module described elsewhere.
|
||||
</DL>
|
||||
</p>
|
||||
|
||||
@ -78,7 +149,10 @@ failures. This can be used in a instrument simulation server.
|
||||
<DT>MakeCounter name EL737 host port chan
|
||||
<DD>This command creates a single
|
||||
counter name, using an EL737 driver. The counter is at host host, listening
|
||||
at port port and sits at serial port chan.
|
||||
at port port and sits at serial port chan.
|
||||
<dt> MakeCounter name ecb ecb-controller
|
||||
<dd>Installs a counetr on top of the Risoe ECB hardware. The only
|
||||
parameter is the name of the ECB controller to use.
|
||||
<DT>MakeHMControl name counter hm1 hm2 hm3
|
||||
<dd>At some instruments (for instance TRICS) multiple counters or
|
||||
histogram memories are controlled by a master counter which watches
|
||||
@ -109,8 +183,9 @@ HM. Histogram memory objects can be created using the command:
|
||||
<DT> MakeHM name type
|
||||
<DD> The parameter name specifies the name under which the HM will be
|
||||
avialable in the system. type specifies which type of driver to use.
|
||||
Currently two types of drivers are supported: SIM for a simulated HM and
|
||||
SINQHM for the SINQ histogram memory. Please care to note, that the SINQHM
|
||||
Currently three types of drivers are supported: SIM for a simulated HM
|
||||
, SINQHM for the SINQ histogram memory and tdc for the Risoe histogram memory.
|
||||
Please care to note, that the SINQHM
|
||||
requires a EL737 counter box for count control. This counter must have been
|
||||
defined before creating the HM object.
|
||||
</DL>
|
||||
@ -121,7 +196,7 @@ MakeHM banana SINQHM
|
||||
banana configure HistMode Normal
|
||||
banana configure OverFlowMode Ceil
|
||||
banana configure Rank 1
|
||||
banana configure Length 400
|
||||
banana configure dim0 400
|
||||
banana configure BinWidth 4
|
||||
banana preset 100.
|
||||
banana CountMode Timer
|
||||
@ -237,6 +312,122 @@ which the device is connected. This is usally the port number plus 3000.
|
||||
To be expanded. Please note, that environment devices such as temperature
|
||||
controllers are dynamically configured into the system at run time.
|
||||
Therefore the necessary commands are described in the user documentation.
|
||||
</p>
|
||||
<h3>GPIB Controller Access</h3>
|
||||
<p>
|
||||
GPIB is yet another bus system. Up to 30 devices can share the bus and
|
||||
transfer data on it. SICS likest to speak to GPIB devices through the
|
||||
National Instrument ENET-100 TCP/IP bridge. In order for this to work
|
||||
the National Instruments driver software must have been installed on
|
||||
the computer running SICS. SICS has to be compiled with the define
|
||||
HAVENI defined and the proper paths to the header file and library
|
||||
configured. The an GPIB controller can be installed into SICS with the
|
||||
command:
|
||||
<pre>
|
||||
MakeGPIB name drivertype
|
||||
</pre>
|
||||
Name is the name under which the GPIB controller is addressable within
|
||||
SICS afterwards. drivertype is the driver to use for the GPIB
|
||||
device. Supported values are:
|
||||
<dl>
|
||||
<dt>sim
|
||||
<dd>Simulation
|
||||
<dd>ni
|
||||
<>National instruments driver, see above.
|
||||
</dl>
|
||||
The GPIB controller supports a couple of commands for communicating
|
||||
with devices on the GPIB bus directly. Use with extra care because it
|
||||
is very easy to lock things up on the GPIB bus. In the following
|
||||
documantation of the command set it is assumed that a GPIB controller
|
||||
has been configured into the system under the name <b>gpib</>. Please
|
||||
note, that managers privilege is required in order to be allowed to
|
||||
wrestle with this controller.
|
||||
<dL>
|
||||
<dt>
|
||||
</dl>gpib attach controller-no gpib-address gpib-secondary timeout
|
||||
eos eot
|
||||
<dd>This attaches the GPIB controller to a certain device at a certain
|
||||
address for later communication. The return value is an integer
|
||||
handle which will be used later on a s a handle devID when referring
|
||||
to the conenction. The parameters are:
|
||||
<dl>
|
||||
<dt>controller-no
|
||||
<dd>The number of the GPIB controller on the computer. There may be
|
||||
more then one GPIB controllerinstalled on a given system. Usually this
|
||||
is 0.
|
||||
<dt>gpib-address
|
||||
<dd>The GPIB address of the device on the bus.
|
||||
<dt>gpib-secondary
|
||||
<DD>GPIB devices may have a seconadry address. This can be specified
|
||||
with this parameter. Usually this is 0.
|
||||
<dt>timeout
|
||||
<dd>The time to wait for answers on the GPIB bus. 13 is 10 seconds and
|
||||
ussually a good value.
|
||||
<dt>eot
|
||||
<dd>A parameter determining the termination mode on this
|
||||
connection. Consult NI documentation for this or leave at 0.
|
||||
<dt>eoi
|
||||
<dd> A terminator. Set to 1 or understand NI documentation for this
|
||||
parameter.
|
||||
</dt>
|
||||
<dt>gpib detach devID
|
||||
<dd>Breaks the connection described through devID. devID is the return
|
||||
value from attach.
|
||||
<dt>gpib clear devID
|
||||
<dd>Tries to clear the GPIB buffers for the conenction described
|
||||
through devID. Usually in vain.
|
||||
<dt>gpib send devID bal bla bla
|
||||
<dd>sends data to the device at devID.
|
||||
<dt>gpib sendwithterm devID string terminator
|
||||
<dd>Sends string to the device at devID. The terminator character
|
||||
identified through the integer terminator is automatically
|
||||
appended. Use this to send things which require a
|
||||
terminator. Terminators included in strings sent by send get messed up
|
||||
through Tcl!
|
||||
<dt>gpib read devID
|
||||
<dd>Reads data from the device at devID and returns it as a string.
|
||||
<dt>gpib readtillterm devID terminator
|
||||
<dd>Read from teh device devID unti the terminator character described
|
||||
through the interger terminator is read. Then return the data read as
|
||||
a string.
|
||||
</dl>
|
||||
</p>
|
||||
<h3>ECB Controllers</h3>
|
||||
<p>
|
||||
ECB controllers are at the heart of the Risoe data aquisition
|
||||
system. These are essentially Z80 processors wired to the GPIB
|
||||
bus. Functions can be invoked in this processor by sending a function
|
||||
code followed by the contents of 4 8 bit registers. As a result the
|
||||
contents of the registers after the function call are returned. A ECB
|
||||
can be made knwon to SICS through the initialisation command:
|
||||
<pre>
|
||||
MakeECB name gpib-controller gbib-controller-number gpib-address
|
||||
</pre>
|
||||
The parameters:
|
||||
<dl>
|
||||
<dt>name
|
||||
<dd>The name used as a token for this controller later on.
|
||||
<dt>gpib-controller
|
||||
<dd>the name of the GPIB interface to use. See above.
|
||||
<dt>gbib-controller-no
|
||||
<dd>The number of the GPIB board in the system
|
||||
<dt>gpib-address
|
||||
<dd>The GPIB address of the ECB on the GPIB bus.
|
||||
</dl>
|
||||
Once installed, the ECB controller understands a few commands:
|
||||
<dl>
|
||||
<dt>ecb1 func funcode d e bc
|
||||
<dd>Invoke ECB function funcode with the registers d e b c.Returns the
|
||||
contents of the registers d e b c. Function codes and register
|
||||
contents are documented, if at all, in the ECB documentation.
|
||||
<dt>ecb1 clear
|
||||
<dd>Tries, usually in vain, to clear the communications interface to
|
||||
the ECB.
|
||||
<dt>ecb1 toint char
|
||||
<dd>A helper function which converts the character char to an
|
||||
integer. Tcl does not seem to be able to do that.
|
||||
</dl>
|
||||
|
||||
</p>
|
||||
</body>
|
||||
</html>
|
||||
|
Reference in New Issue
Block a user