Date: Fri, 7 Feb 2003 11:28:15 -0800 From: Russell E Owen Subject: Re: 2.5m obslog 20030206 (MJD 52677) At 12:14 PM -0700 2/7/03, Jon Brinkmann wrote: >The TCL proc "mechPiston" calls "mechMoveColl", which in turn calls >"mechMotor", which sends the specMech "m" command to the spectrographs, > > mechSend "m$motor$leftover" > >for each motor. So the commands "ma-1000", "mb-1000" and "mc-1000" >were supposed to be sent to specMech. The "ma-1000" command was >received properly, but the "mb-1000" probably didn't complete within >the timeout period, SOP didn't see the "OK" and so "mechMoveColl" >aborted. The command "mc-1000" was never sent, so it's not surprising >that that motor didn't move. However, motor b did move the requested >-1000 steps. Perhaps the timeout in SOP should be lengthened? > >A move of -1000 was sent rather than the commanded -4255 because >of specMech limits. There is a limit of 1000 steps per command built into >the code. The "mechMotor" command breaks larger moves into 1000 unit >moves. I think this was put in to keep a large errant number from >driving the collimator to far. Alan may remember the reasons better than >I. Note that specMech does have a command (probably "p") to piston all motors at once. That might be a better choice for mechPiston. It's a more natural "fit" and it prevents large tilts from being introduced unnecessarily (It sounds as if the current system moves A the full distance, then B, then C). I'm not sure if it really matters, but introducing unneeded large tilts in mirror positions generally makes me me uncomfortable. Given the error message, I agree with Jon that a timeout is likely. It seems strange, though. I don't recall moves ever taking much time. Perhaps I never tested any 1000 step moves. Finally, I doubt it's relevant, but the status command does output the status of the motors. It might be worth checking. -- Russell