Download SpecClient user's guide
Transcript
2.2 Moving a motor
Moving a motor from the Python interpreter can be achieved using the SpecMotor class*. Each
SpecMotor object represents a motor in the remote Spec version.
The SpecMotor constructor takes the following arguments :
•
Spec motor name
•
'host:version' string representing the Spec version to connect to
•
optional timeout in milliseconds
If timeout occurs while trying to connect Spec, a SpecClientTimeoutError exception is raised.
Let's create a SpecMotor object bound to a motor named 'tth' controlled by a 'spec' Spec version
running on the 'boom' host :
Python 2.3.3 (#1, May 13 2004, 14:45:22)
[GCC 2.95.3 20010315 (SuSE)] on linux2
Type "help", "copyright", "credits" or "license" for more
information.
>>> from SpecClient import SpecMotor
>>> m = SpecMotor.SpecMotor('tth', 'boom:spec', 500)
FIG. 3 : creating a new SpecMotor object
You can obtain the absolute position of a motor using the getPosition() method. You can move it
using the move() method :
>>> m.getPosition()
12.5
>>> m.move(m.getPosition() + 1)
>>> m.getPosition()
13.5
>>>
FIG. 4 : getting a motor position and moving
2.3 Counting
Counting in the SpecClient package can be achieved using SpecCounter* objects. Each SpecCounter
object represents a counter in the remote Spec version. Creating a SpecCounter object is much like the
same as for a SpecMotor object :
Python 2.3.3 (#1, May 13 2004, 14:45:22)
[GCC 2.95.3 20010315 (SuSE)] on linux2
Type "help", "copyright", "credits" or "license" for more
information.
>>> from SpecClient import SpecCounter
>>> c = SpecCounter.SpecCounter('sec', 'boom:spec', 500)
>>>
FIG. 5 : creating a SpecCounter object
* Class: SpecMotor, module: SpecMotor, package: SpecClient
* Class: SpecCounter, module: SpecCounter, package: SpecClient
5