source: MML/trunk/machine/SOLEIL/StorageRing/insertions/IdCorCalibInVac.m @ 4

Last change on this file since 4 was 4, checked in by zhangj, 11 years ago

Initial import--MML version from SOLEIL@2013

File size: 2.9 KB
Line 
1function IdCorCalibInVac(UndName,DeviceServerName,CurMin,CurMax,CurStep)
2% UndName: Full name of the undulator: for example 'U24_PROXIMA2'
3% DeviceServerName: Full path of the DeviceServer name: for example 'ANS-C11/EI/M-U24'
4% CurMin, CurMax, CurStep: Minimum, maximum Current and current step of each Corrector
5% Example: IdCorCalibInVac('U24_PROXIMA2','ANS-C11/EI/M-U24',-6,6,2)
6%          IdCorCalibInVac('U20_GALAXIES','ANS-C07/EI/C-U20',-6,6,2)
7%          IdCorCalibInVac('WSV50_PSICHE','ANS-C03/EI/C-WSV50',-6,6,2)
8%          IdCorCalibInVac('U20_NANO','ANS-C13/EI/L-U20.2',-6,6,2)
9
10t0=15;
11CellName=DeviceServerName(1:7)
12SSType=DeviceServerName(11:11)
13Position_SourceX=[CellName '/DG/CALC-SD' SSType '-POSITION-ANGLE/positionX'];
14Position_SourceZ=[CellName '/DG/CALC-SD' SSType '-POSITION-ANGLE/positionZ'];
15Date=datestr(clock,'mmm-dd-yyyy HH:MM:SS')
16CalibrationFolder=['/home/operateur/GrpGMI/' UndName '/CALIBRATION-' Date]
17mkdir(CalibrationFolder)
18idDevServCHEAttr=[DeviceServerName '_CHAN1']
19idDevServCVEAttr=[DeviceServerName '_CHAN2']
20idDevServCHSAttr=[DeviceServerName '_CHAN3']
21idDevServCVSAttr=[DeviceServerName '_CHAN4']
22i=1;
23for Cur=CurMin:CurStep:CurMax
24    idSetCurrentSync(idDevServCHEAttr, Cur, 0.01);
25    pause(t0)
26    stMeas=idMeasElecBeamUnd(UndName,0,['/home/operateur/GrpGMI/' UndName '/' UndName '_CHE_' num2str(Cur)],0,0)
27    copyfile(['/home/operateur/GrpGMI/' UndName '/' UndName '_CHE_' num2str(Cur) '.mat'],[CalibrationFolder '/' UndName '_CHE_' num2str(Cur) '.mat'])
28    fprintf ('%8.4f\n',Cur)
29end
30idSetCurrentSync(idDevServCHEAttr, 0, 0.01);
31pause(t0)
32for Cur=CurMin:CurStep:CurMax
33    idSetCurrentSync(idDevServCHSAttr, Cur, 0.01);
34    pause(t0)
35    stMeas=idMeasElecBeamUnd(UndName,0,['/home/operateur/GrpGMI/' UndName '/' UndName '_CHS_' num2str(Cur)],0,0)
36    copyfile(['/home/operateur/GrpGMI/' UndName '/' UndName '_CHS_' num2str(Cur) '.mat'],[CalibrationFolder '/' UndName '_CHS_' num2str(Cur) '.mat'])
37    fprintf ('%8.4f\n',Cur)
38end
39idSetCurrentSync(idDevServCHSAttr, 0, 0.01);
40pause(t0)
41for Cur=CurMin:CurStep:CurMax
42    idSetCurrentSync(idDevServCVEAttr, Cur, 0.01);
43    pause(t0)
44    stMeas=idMeasElecBeamUnd(UndName,0,['/home/operateur/GrpGMI/' UndName '/' UndName '_CVE_' num2str(Cur)],0,0)
45    copyfile(['/home/operateur/GrpGMI/' UndName '/' UndName '_CVE_' num2str(Cur) '.mat'],[CalibrationFolder '/' UndName '_CVE_' num2str(Cur) '.mat'])
46    fprintf ('%8.4f\n',Cur)
47end
48idSetCurrentSync(idDevServCVEAttr, 0, 0.01);
49pause(t0)
50for Cur=CurMin:CurStep:CurMax
51    idSetCurrentSync(idDevServCVSAttr, Cur, 0.01);
52    pause(t0)
53    stMeas=idMeasElecBeamUnd(UndName,0,['/home/operateur/GrpGMI/' UndName '/' UndName '_CVS_' num2str(Cur)],0,0)
54    copyfile(['/home/operateur/GrpGMI/' UndName '/' UndName '_CVS_' num2str(Cur) '.mat'],[CalibrationFolder '/' UndName '_CVS_' num2str(Cur) '.mat'])   
55    fprintf ('%8.4f\n',Cur)
56end
57idSetCurrentSync(idDevServCVSAttr, 0, 0.01);
58pause(t0)
59end
Note: See TracBrowser for help on using the repository browser.