The following example demonstrates how motor attributes are set to some default values:
#!/usr/bin/env python
from PyTango import *
def setDefaults( name):
defaults = {'Acceleration': 10000,
'BaseRate': 20,
'Conversion': 1000,
'SettleTime': 0.1,
'SlewRate': 10000,
'SlewRateMax': 1044000,
'SlewRateMin': 0,
'StepBacklash': 100,
'StepCalibration': 0,
'StepCalibrationUser': 0,
'StepLimitMax': 500000,
'StepLimitMin': -500000,
'UnitCalibration': 0,
'UnitCalibrationUser': 0}
dev = DeviceProxy( name)
try:
print( "Device %s " % name)
for key in list( defaults.keys()):
print( " %s to %s " % ( str(key) defaults[ key]))
attr = dev.read_attribute( key)
attr.value = defaults[ key]
dev.write_attribute( attr.name, attr.value)
except DevFailed:
extype, value = sys.exc_info()[:2]
print( "Failed with exception %s" % str(extype))
for err in value:
print( " reason ", err.reason)
print( " desc ", err.desc)
print( " origin ", err.origin)
print( " severity ", err.severity)
sys.exit()
except:
print( " Failed to access ", name)
print( sys.exc_info()[0])
sys.exit()
return 1
#
# ---- main
#
db = Database()
devices = db.get_device_exported( "*mot*")
for name in devices:
setDefaults( name)