Python, move home

The following script shows how a motor is homed. This works only for axes with encoders.

#!/usr/bin/env python

import time
import string
from PyTango import *

name = "p15/motor/exp.56"
proxy = DeviceProxy( name)

try:
    status = proxy.command_inout( "MoveHome")
    while( proxy.state() == DevState.MOVING):
	print " state ", proxy.state()
	time.sleep(0.2)
    print "motor position %g " % proxy.read_attribute( "Position").value
    print "encoder position %g " % proxy.read_attribute( "PositionEncoder").value
except DevFailed:
    extype, value = sys.exc_info()[:2]
    print "Failed with exception ", extype
    for err in value:
	print " reason ", err[ "reason"]
	print " desc ", err[ "desc"]
	print " origin ", err[ "origin"]
	print " severity ", err[ "severity"]
except:
    print sys.exc_info()[0]
    sys.exit()