source: MML/trunk/machine/SOLEIL/StorageRing/insertions/PutCurrentAndSaveOrbit.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: 2.9 KB
Line 
1function PutCurrentAndSaveOrbit(IPS1_ref,IPS2_ref,IPS3_ref,IPS1,IPS2,IPS3,SESSION)
2%
3%Example
4%PutCurrentAndSaveOrbit(0,0,0,1,2,3,'SESSION_06_10_06')
5%
6
7FileNameRefStart=['HU640_PS1_' Num2Str(IPS1_ref) '_PS2_' Num2Str(IPS2_ref) '_PS3_' Num2Str(IPS3_ref) '_' Num2Str(IPS1) '_' Num2Str(IPS2) '_' Num2Str(IPS3) '_Start']
8FileName=['HU640_PS1_' Num2Str(IPS1) '_PS2_' Num2Str(IPS2) '_PS3_' Num2Str(IPS3)]
9FileNameRefEnd=['HU640_PS1_' Num2Str(IPS1_ref) '_PS2_' Num2Str(IPS2_ref) '_PS3_' Num2Str(IPS3_ref) '_' Num2Str(IPS1) '_' Num2Str(IPS2) '_' Num2Str(IPS3) '_End']
10
11PathAndFileNameRefStart=['/home/matlabML/measdata/Ringdata/insertions/HU640_DESIRS/' SESSION  '/DataInMatlabFormat/' FileNameRefStart];
12PathAndFileNameRefEnd=['/home/matlabML/measdata/Ringdata/insertions/HU640_DESIRS/' SESSION  '/DataInMatlabFormat/' FileNameRefEnd];
13PathAndFileName=['/home/matlabML/measdata/Ringdata/insertions/HU640_DESIRS/' SESSION  '/DataInMatlabFormat/' FileName];
14idDevServMain01 = 'ans-c05/ei/l-hu640_ps1';
15idDevServMain02 = 'ans-c05/ei/l-hu640_ps2';
16idDevServMain03 = 'ans-c05/ei/l-hu640_ps3';
17
18%Put the Start Reference Current and Save In Matlab Format
19idSetCurrentSync(idDevServMain01, IPS1_ref, 0.1);
20idSetCurrentSync(idDevServMain02, IPS2_ref, 0.1);
21idSetCurrentSync(idDevServMain03, IPS3_ref, 0.1);
22
23pause(20)
24
25Orbit_RefStart=idMeasElecBeamUnd('HU640_DESIRS', 1, PathAndFileNameRefStart, 1);
26
27
28
29
30%Put the Nominal Current and Save In Matlab Format
31idSetCurrentSync(idDevServMain01, IPS1, 0.1);
32idSetCurrentSync(idDevServMain02, IPS2, 0.1);
33idSetCurrentSync(idDevServMain03, IPS3, 0.1);
34
35pause(20)
36
37Orbit=idMeasElecBeamUnd('HU640_DESIRS', 1, PathAndFileName, 1);
38
39
40%Put the End Reference Current and Save In Matlab Format
41idSetCurrentSync(idDevServMain01, IPS1_ref, 0.1);
42idSetCurrentSync(idDevServMain02, IPS2_ref, 0.1);
43idSetCurrentSync(idDevServMain03, IPS3_ref, 0.1);
44
45pause(20)
46
47Orbit_RefEnd=idMeasElecBeamUnd('HU640_DESIRS', 1, PathAndFileNameRefEnd, 1);
48
49%Evaluation of the orbit Distortion
50dOrbit_X=Orbit.X-0.5*(Orbit_RefStart.X+Orbit_RefEnd.X);
51dOrbit_Z=Orbit.Z-0.5*(Orbit_RefStart.Z+Orbit_RefEnd.Z);
52
53% Plot Orbit Distortion
54
55BPMx.Position = getspos('BPMx');
56xdata = BPMx.Position;
57
58
59figure(10)
60plot(xdata,(dOrbit_X),'r.-')
61title('Déplacement relatif d''orbite horizontal')
62xlabel('position des BPM (m)')
63
64figure(11) 
65plot(xdata,(dOrbit_Z),'b.-')
66title('Déplacement relatif d''orbite verticale')
67xlabel('position des BPM (m)') 
68
69% Plot Orbit before and after nominal current change
70
71figure(12)
72plot(xdata,(Orbit_RefStart.X),'b-',xdata,(Orbit_RefEnd.X),'r-')
73title('Déplacement relatif d''orbite horizontal')
74legend('Before nominal current change','After nominal current change')
75xlabel('position des BPM (m)')
76
77
78figure(13)
79plot(xdata,(Orbit_RefStart.Z),'b-',xdata,(Orbit_RefEnd.Z),'r-')
80title('Déplacement relatif d''orbite verticale')
81legend('Before nominal current change','After nominal current change')
82xlabel('position des BPM (m)')
Note: See TracBrowser for help on using the repository browser.