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

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

Initial import--MML version from SOLEIL@2013

File size: 4.7 KB
Line 
1function ID_RegisterBumpParmeters_MV(Created,TxtFileNameWithoutExt,Section,BPM_E,BPM_S,xBPM_E,xBPM_S,Plane,EntPosValue,ExPosValue,NbBPMs,Arg1,Arg2)
2%%Arg1,Arg2 can be what we want Nᅵ of spectrum or diagon or 0
3%%Plane must be 'H' or 'V'
4%%Section,BPM_E,BPM_S : used to build the BPM Matrix
5%%EntPosValue,ExPosValue : used to settle the bump
6
7    %%
8%%Chargement et creation du fichier de sauvegarde
9    if (strcmp(Plane, 'H')==1)
10        Plan = 0;
11        BpmStr = 'BPMx';
12        CorrStr = 'HCOR';
13            BumpZ_Ent = 0;
14            BumpZ_Ex = 0;
15            BumpX_Ent = EntPosValue;
16            BumpX_Ex = ExPosValue;
17    elseif (strcmp(Plane, 'V')==1)
18        Plan = 1;
19        BpmStr = 'BPMz';
20        CorrStr = 'VCOR';
21            BumpX_Ent = 0;
22            BumpX_Ex = 0;
23            BumpZ_Ent = EntPosValue;
24            BumpZ_Ex = ExPosValue;
25    else
26        error('Plane must be H or V')
27    end
28   
29   FileName = strcat(TxtFileNameWithoutExt,'.txt');
30   ResultMatrix = 0;
31   
32   if (Created==0)
33      %crée le fichier avec l'entete
34      %Entete = 'Nb \t BPM1x \t BPM1z \t BPM2x \t BPM2z \t xBPM1x \t xBPM1z \t xBPM2x \t xBPM2z \t BumpX_Ent \t BumpZ_Ent \t BumpX_Ex \t BumpZ_Ex \t Nux \t Nuz \t I \t LifeTime \t Arg1 \t Arg2';
35      save(FileName,'ResultMatrix','-ASCII')
36      msgbox('The file were bumps parameters are saved has successfully been created...','This is not an error message !!!!!!!!','help');
37      return
38   end
39         
40   ResultMatrix = load(FileName,'-ASCII');
41   fprintf('File loaded...')
42    PosMatrix = [EntPosValue ExPosValue];
43    NbBpmMatrixPos = [1:1:NbBPMs];
44    NbBpmMatrixNeg = sort(-NbBpmMatrixPos);
45    NbBpmMatrix =  [NbBpmMatrixNeg NbBpmMatrixPos];
46    BpmMatrix = [Section BPM_E;Section BPM_S];
47   
48    SetOrbitBump(BpmStr,BpmMatrix,PosMatrix,CorrStr,NbBpmMatrix);
49    sleep(5)
50
51    %%
52%%Lecture des BPMs entrée et sortie
53fprintf ('\nBPMs values :')
54CellValue = sprintf('%d',Section);
55   BumpNb = size(ResultMatrix,1)+1;
56
57   %%
58%%Construction des différents parametres pour fabriquer le bump
59EntBPMValue = sprintf('%d',BPM_E);
60ExBPMValue = sprintf('%d',BPM_S);
61BPM1_DServName = strcat('ans-c',CellValue,'/dg/bpm.',EntBPMValue);
62BPM2_DServName = strcat('ans-c',CellValue,'/dg/bpm.',ExBPMValue);
63    BPM1x = tango_read_attribute(BPM1_DServName, 'XPosSA');
64        fprintf('\n\tEntrance X position : %f',BPM1x.value)
65    BPM1z = tango_read_attribute(BPM1_DServName, 'ZPosSA');
66        fprintf('\n\tEntrance Z position : %f',BPM1z.value)
67    BPM2x = tango_read_attribute(BPM2_DServName, 'XPosSA');
68        fprintf('\n\tExit X position : %f',BPM2x.value)
69    BPM2z = tango_read_attribute(BPM2_DServName, 'ZPosSA');
70        fprintf('\n\tExit Z position : %f',BPM2z.value)
71
72    %%
73%%Lecture des xBPMs
74fprintf ('\nxBPMs values :')
75xEntBPMValue = sprintf('%d',xBPM_E);
76xExBPMValue = sprintf('%d',xBPM_S);
77xBPM1_DServName = strcat('tdl-i',CellValue,'-m/dg/xbpm.',xEntBPMValue);
78xBPM2_DServName = strcat('tdl-i',CellValue,'-m/dg/xbpm.',xExBPMValue);   
79    xBPM1x = tango_read_attribute(xBPM1_DServName, 'xPos');
80        fprintf('\n\tEntrance X position : %f',xBPM1x.value)
81    xBPM1z = tango_read_attribute(xBPM1_DServName, 'zPos');
82        fprintf('\n\tEntrance Z position : %f',xBPM1z.value)
83    xBPM2x = tango_read_attribute(xBPM2_DServName, 'xPos');
84        fprintf('\n\tExit X position : %f',xBPM2x.value)
85    xBPM2z = tango_read_attribute(xBPM2_DServName, 'zPos');
86        fprintf('\n\tExit Z position : %f',xBPM2z.value)
87
88    %%
89%%Lecture des nombres d'onde, courant,...
90Nux =      tango_read_attribute('ans/dg/bpm-tunex', 'Nu');
91        fprintf('\nNux : %f',Nux.value)
92Nuz =      tango_read_attribute('ans/dg/bpm-tunez', 'Nu');
93        fprintf('\nNuz : %f',Nuz.value)
94I =        tango_read_attribute('ans/dg/dcct-ctrl', 'current');
95        fprintf('\nI : %f',I.value)
96Lifetime = tango_read_attribute('ans/dg/dcct-ctrl', 'lifeTime');
97        fprintf('\nLifeTime : %f',Lifetime.value)
98         
99    %%
100%%Sauvegarde des résultats dans le fichier crée
101            ResultMatrix(BumpNb,1) = BumpNb;
102            ResultMatrix(BumpNb,2) = BPM1x.value;ResultMatrix(BumpNb,3) = BPM1z.value;ResultMatrix(BumpNb,4) = BPM2x.value;ResultMatrix(BumpNb,5) = BPM2z.value;
103            ResultMatrix(BumpNb,6) = xBPM1x.value;ResultMatrix(BumpNb,7) = xBPM1z.value;ResultMatrix(BumpNb,8) = xBPM2x.value;ResultMatrix(BumpNb,9) = xBPM2z.value;
104            ResultMatrix(BumpNb,10) = BumpX_Ent;ResultMatrix(BumpNb,11) = BumpZ_Ent;ResultMatrix(BumpNb,12) = BumpX_Ex;ResultMatrix(BumpNb,13) = BumpZ_Ex;
105            ResultMatrix(BumpNb,14) = Nux.value;ResultMatrix(BumpNb,15) = Nuz.value;ResultMatrix(BumpNb,16) = I.value;ResultMatrix(BumpNb,17) = Lifetime.value;
106            ResultMatrix(BumpNb,18) = Arg1;ResultMatrix(BumpNb,19) = Arg2;
107
108    save(FileName,'ResultMatrix','-ASCII');
109    fprintf ('\nFile saved...\n')
110           
111end
Note: See TracBrowser for help on using the repository browser.