At various places the OmsVme58 Tango server ensures the validity of the step position by comparing the internal (software) values and the controller registers. If the internal and controller registers deviate, the following sequence of conditions are tested:
We arrive here because the controller register and the internal value disagree and the controller register is outside the limits. How can this happen? Maybe beause of electronical noise or some other application operated the motor independent of Tango.
If the position is not known, you may inspect the files in the directory /online_dir/MotorLogs. You may also inspect the versions of /online_dir/ipython_log.py (or /online_dir/motor_positions.bck, online.log)
/var/tmp/ds.log/OmsVme58_<instance>.log
, e.g. by:
$ tail -100 /var/tmp/ds.log/OmsVme58_<instance>.log
or use Astor to inspect the stderr of the OmvVme58 server.
Search for the last entry of this kind:
OmsVme58::check_motor_register: Mon Sep 4 12:28:13 2017 OmsVme58::check_motor_register: p99/motor/d1.65, controller -100001 != internal -100000 and controller outside limits OmsVme58::check_motor_register: p99/motor/d1.65, controller -100001, limits [-100000, 100000] OmsVme58::check_motor_register: p99/motor/d1.65, the controller-is-right position is -0.500005 [-0.5, 0.5] OmsVme58::check_motor_register: p99/motor/d1.65, the internal-is-right position is -0.5 [-0.5, 0.5] OmsVme58::check_motor_register: p99/motor/d1.65, see HW manual