Class Name:
<<Device>>lsfMOTOR
Description:
Control of the motorized axes used by a sub-system.
Inheritance:
LCU Server Framework <<Device>>lsfDEVICE
Use Case diagram:
Class diagram:
Architecture:
The <<Device>> class Motor
is a wrapper to the MCM; besides the standard methods associated to
the standard commands, it provides a limited number of methods for
the control of motors. This class is designed for multi-dimensional
axis system; it allows therefore to handle many motors in parallel
(e.g. an X-Y translation stage device).
The public methods are:
- lsfMotorMove(): perform a
motion in Position mode to the given target in user unit. The
motion speed is defaulted to the value configured in the
database. The target position is defined by the signature of the
method:
- lsfMotorMoveAbs(vltDOUBLE target[]):
an absolute position
- lsfMotorMoveRel(vltDOUBLE target[]):
a relative position
- lsfMotorMoveToName(const char *name[],
vltDOUBLE offset[]): a named position + offset
- lsfMotorMoveToIndex(vltINT32 index[],
vltDOUBLE offset[]): an indexed named position + offset
This method waits for the motion to complete.
- getPosition(): return the
actual position of the motor in user unit.
These methods assume that the motors are perfectly configured and
tuned for the foreseen motions (default speed, named positions ...).
The protected methods are:
- lsfMotorConstructor():
this method allocates all the resources needed by the
device. Especially it checks for the availability of the Motor
Control API (mcm),
and installs the motor (register in mcm).
- lsfMotorDestructor(): this
method releases all the allocated resources, especially it
de-installs the motor (de-register from mcm).
- lsfMotorInit(): performs the
SW and HW initialization of the motor.
- lsfMotorStandby():
- lsfMotorOnline():
- lsfMotorStop():
- lsfMotorOff():
- lsfMotorExit():
- lsfMotorSimulat():
- lsfMotorStopsim():
- lsfMotorSelftest():
- lsfMotorTest(): these
methods implement the minimum behaviour associated to the
Standard Commands for the motors; especially the motors are
stopped at any state transition.
In addition the following protected methods realize the interface
to mcm:
- lsfMotorMove: initiate the
motion in the required mode.
- lsfMotorWaitMove: wait for
the motion completion
- lsfMotorSetState /
lsfMotorGetState: set/get the
state of the motor(s)
- lsfMotorSetSubState /
lsfMotorGetSubState: set/get the
sub-state of the motor(s)
The public attributes are:
- motorStatus: motor status
Activity diagram:
The following diagram depicts the activities performed by the
method lsfMotorMove():
Related Packages:
- lcc: The LCU Common Software
- mcm: The Motor Control Module
comprising all necessary modules
- and the associated drivers
(tim,
acro,
mcon,
ampl).
Issues to be Determined or Resolved: None
Last modified: Mon Sep 18 16:50:08 METDST 2000