forked from epics_driver_modules/motorBase
62 lines
2.8 KiB
Plaintext
62 lines
2.8 KiB
Plaintext
Readme for PIasyn - EPICS support for PI GCS2 stages
|
|
========================================================
|
|
|
|
The PIasyn driver is written to support PI motion controllers which
|
|
support GCS2 (General Command Set) as commanding language.
|
|
Currently this is implemented with different C++ classes where the
|
|
differences and specialties are handled. This can be implemented
|
|
by querying the controller what features are supported. So in future
|
|
developments these classes may disappear.
|
|
|
|
Homing
|
|
========
|
|
|
|
a) stages with absolute sensors
|
|
Some PI stages, mostly piezo stages, use an absolute position sensor.
|
|
The correct absolute position is known to the controller immediately after power up.
|
|
For these stages homing is not necessary and thus not supported.
|
|
These stages will ignore HOMF and HOMR.
|
|
The HOME flag of the MSTA field is meaningless for these stages
|
|
and HOMED is always true,
|
|
|
|
b) stages with incremental sensors
|
|
Some PIStages needs to be referenced after controller power up. The state
|
|
is reflected by the HOMED flag of MSTA. There are different ways to home
|
|
a stage. The default is by using the reference switch. If a stage has
|
|
a reference switch HOMF and HOMR will move to this switch. The direction is
|
|
determined by the controller. The reference signal is edge based, so the controller
|
|
can find out on which side of the reference the stage is and can move using
|
|
the shortest path. HOMF and HOMR will trigger the same move. If the stage has
|
|
no reference switch the built in limit switches can be used to determine the absolute
|
|
position. In this case HOMF will send the stage to its positive limit switch and
|
|
HOMR to its negative limit switch. As the reference is edge based or not present the
|
|
HOME bit of the MSTA field is meaningless for these stages.
|
|
|
|
c) setting the homing velocity
|
|
Reducing the velocity used for homing is usually done to improve the accuracy.
|
|
PI controllers reach the reference every time from the same "side". So only this
|
|
last approach is performed with the homing velocity set with HVEL. The coarse move
|
|
to the proximity of the reference is done with the a velocity limited by the current
|
|
velocity (set with VELO) and the maximum possible velocity to decelerate in case of
|
|
hitting a limit switch.
|
|
|
|
"Motion Errors"
|
|
=================
|
|
|
|
If the controller detects a "motion error", i.e. the difference between target and
|
|
current position is greater than some given limit (also known as "following error"),
|
|
the driver will set the PROBLEM bit in MSTA. Servo control is also switched off.
|
|
The EA_POSITION bit of MSTA will reflect the "servo control" state. To re-enable
|
|
servo control use CNEN.
|
|
|
|
|
|
C-702
|
|
=======
|
|
|
|
The C-702 controller uses an older "dialect" of GCS1.
|
|
That's why at some points different parameter IDs are used and why there is no communication
|
|
during homing. So the position cannot be updated during homing and will "jump" to the final
|
|
position after homing is finished.
|
|
|
|
|