Encoder offsets/corrections.
jun08
The vertex software has encoder corrections that can
be interactively modified via the ocu or lcu interface. The corrections
are added to the encoder value read from the hardware. The
documentation claims that the limit positions are also modified by
these corrections. When adding a correction, the display position
includes the correction. Preset mode works fine with the correction
(eg. start at 270, add correction=1deg, display reads 271, preset to
270 moves the telescope be 1 degree). I think that program track mode
works differently with the offsets.. mainly because we had an offset of
1 degree for 5 months and we could still see sources.
- F8 Parameters
- az, greg, ch values can be entered in degrees.
- F3 returns to main menu and updates offsets.
- The program must be in stop mode before changing the
offsets.
- the log file displays the offset in 1/10000 of a degree
- When the lcu progam starts it reads in the parameter data from
c:\\param.dat with fileptr called datei4. The file contains 6
int*4 and 1 int*2 binary numbers:
- int*4 paramet[0]:az correction .. paramet[], paramet1 is
defined in common.c
- paramet[1]:greg correction
- paramet[2]:2:ch correction
- paramet[3]:time offset
- paramet[4:5]: probably unused
- int*2 paramet1: host timeout
- Whenever a change is made via the lcu/ocu menu, the new data is
written back out to c:\\param.dat
- The corrections get written to the plc by:
- the paramet[0-2] are moved to offset[3]
- schreib(7) is called. It writes the 3 longs of offset[3]
to offset 60 of datei2 in common memory.
- lessen() reads back the offset[3] values that the plc currently
has back into offset[3].
- After some reboots of the plc, 1 degree shows up in the az
correction offset.
- It should be getting the value from the file which should have
had 0 written to it.
- The fclose is not called on the file until main.c exists. If we
continually stop the lcu program by shutting off the power maybe the 0
value never gets flushed to disk??
Note: 13dec08: param.dat files updated to have 0 offsets in them
(during klaus's visit).
Testing the az encoder corrections: 18jun08
- In preset mode:
- moved az to 270. The reference pointer was lined up with the
scribe mark
- changed az offset to 1.
- lcu display now read 271 with the reference pointer still lines
up with the 270 deg scribe mark.
- had the telescope move to preset mode to 270 degrees.
- pointer was now 13 1/8 inches to the left of the scribe mark at
270 degrees (about 1 degree).
- the display still read 270. I then removed the offset. The
display now read 269.
- I did a preset to 270 and thepointer was once again lined up
with the scribe mark.
- Testing the az encoder corrections in program track mode.
- No az correction, pnt tr 270 10 -cx tracks 270,10
- stop telescope, add 1 degree az encoder correction. Display now
read 271 degrees.
- clr ptq, pnt tr 270 10 -cx, trkinit
- The telescope started to move from 271 down toward 270. It
continued past 270 towards 0, it did not slow down.
- It must be that the program track commands were mixing encoder
values with and without the correction... something definitely was
funny.
- Maybe if i had rebooted the entire system with the offset in,
things might have worked better.
- I remember looking at some of the plc code and it may be that
program track mode ignores these offsets (though it needs to be
verified).
home_~phil