source: ETALON/CLIO/control/motor_go_in_and_out_wait_for_data_wide_scan.py @ 744

Last change on this file since 744 was 744, checked in by delerue, 7 years ago

CLIO control system updated

File size: 2.4 KB
Line 
1from clio_constants import *
2import time
3import numpy as np
4import os
5import urllib
6
7global data_directory
8
9WAIT_FOR_N_DATA_TAKEN=5
10
11filedata=data_directory+'position_calibration.txt'
12
13fidata=open(filedata,'a')
14
15#position_list=range(0,5000000,2500000)
16position_list=range(0000000,5500000,500000)
17position_list.extend(range(5600000,0000000,-200000))
18position_list.append(0)
19print repr(position_list)
20print len(position_list)
21time.sleep(10) 
22
23for position in position_list:
24    print position
25
26    #Pause data acquisition
27    filename=FILE_PAUSE
28    fid=open(filename,'w')
29    fid.write("pause")
30    fid.close()
31
32    #move motors
33    fid=open(motor_position_request,'w')
34    fid.write("abs"+str(position)+";\n")
35    fid.close()
36   
37    time.sleep(5) 
38
39    key_values={}
40    key_values['motor_value']=-999999999
41    iread=0
42    while ((not(float(key_values['motor_value'])==position))or(iread<3)):
43        print "Position ", str(position), " ",key_values['motor_value']
44        if (len(glob.glob(motor_position_info))>0):
45            fid=open(motor_position_info,'r')
46            fileline=fid.readline()
47            key_values={}
48            while len(fileline)>0:
49                #print fileline
50                entries=fileline.replace('#','').replace(' ','').replace('\n','').split('=')
51                key_values[entries[0]]=entries[1]
52                fileline=fid.readline()
53            fid.close()
54            fidata.write("pos: "+key_values['motor_value']+" "+key_values['current_value']+"\n")
55            if (float(key_values['motor_value'])==position):
56                print "Position ", str(position), " ",key_values['motor_value'], " ",key_values['current_value']
57                time.sleep(1)
58                iread+=1
59            else:
60                print "Position ", str(position), " not reached "
61                time.sleep(3)
62
63        else:
64            time.sleep(1)
65
66    time.sleep(1)
67    #Wait for data to be taken
68    if (WAIT_FOR_N_DATA_TAKEN>0):
69        print data_directory
70        initial_length=len(glob.glob(data_directory+"data_CLIO*.txt"))
71        #Allow data acquisition
72        os.remove(FILE_PAUSE)
73
74        while (len(glob.glob(data_directory+"data_CLIO*.txt"))<initial_length+WAIT_FOR_N_DATA_TAKEN):
75            print "Waiting for data to be taken. "+str(len(glob.glob(data_directory+"data_CLIO*.txt")))
76            time.sleep(3)
77
78
79       
80fidata.close()
81
82#Pause data acquisition
83filename=FILE_PAUSE
84fid=open(filename,'w')
85fid.write("pause")
86fid.close()
Note: See TracBrowser for help on using the repository browser.