In the following example data is retrieved after a scan has been executed:
import PyTango, time, HasyUtils
def main():
if not HasyUtils.isSardanaMonitorAlive():
print "SardanaMonitor is NOT alive"
return
d = PyTango.DeviceProxy( "p09/door/haso107d1.01")
#
# set the measurement group
#
d.runMacro( [ "change_mg", "-g", "mg_pynb", "-t", "d1_t01", "-c", "sig_gen,d1_c01"])
while d.state() != PyTango.DevState.ON:
time.sleep(0.1)
#
# execute an ascan
#
d.runMacro( ["ascan", "exp_dmy01", "0", "1", "2", "0.1"])
while d.state() != PyTango.DevState.ON:
time.sleep(0.1)
#
# fetch the data
#
hsh = HasyUtils.toSardanaMonitor( {'getData': True})
if hsh[ 'result'].upper() != 'DONE':
print "no or bad reply from SardanaMonitor", hsh[ 'result']
return
HasyUtils.dct_print( hsh)
main()
{
u'getData':
{
u'D1_C01':
{
u'x': [0.0, 0.5, 1.0],
u'y': [-0.02761096, 0.12093281502987421, 10.069768820644976],
},
u'SIG_GEN':
{
u'x': [0.0, 0.5, 1.0],
u'y': [1.5443633089821673, 399.48143087942117, 2.308103245799023e-05],
},
u'symbols':
{
u'file_name_': u'tst_08901.fio',
u'scan_cmd': u'ascan exp_dmy01 0.0 1.0 2 0.1',
u'scan_date': u'Thu Dec 6 13:56:38 2018',
u'scan_dir': u'/home/kracht/Misc/IVP/temp',
u'scan_id': u'8901',
},
},
u'result': u'done',
}
Notice the returned symbols. The can be helpful when analysing the data.