source: MML/trunk/mml/magstep.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.4 KB
Line 
1% HCM Step
2DeltaAmps = 1;
3BPMxFamily = gethbpmfamily;
4BPMxDevList = [1 1;1 4];
5BPMyFamily = getvbpmfamily;
6BPMyDevList = [1 1;1 4];
7CMFamily = gethcmfamily;
8CMDevList = [7 1];
9t = 0:.1:.9;
10
11% Backup starting values
12AM0 = getam(CMFamily, CMDevList);
13BPMx0 = getx(BPMxDevList);
14BPMy0 = gety(BPMxDevList);
15
16
17t0 = gettime;
18
19tic;
20stepsp(CMFamily, DeltaAmps, CMDevList, 0);
21T0 = toc;
22[am, tout] = getam({BPMxFamily, BPMyFamily, CMFamily}, {BPMxDevList, BPMyDevList, CMDevList}, t);
23stepsp(CMFamily,-DeltaAmps, CMDevList, -1);
24pause(1);
25
26tic;
27stepsp(CMFamily, DeltaAmps, CMDevList, -1);
28T1 = toc;
29stepsp(CMFamily,-DeltaAmps, CMDevList, -1);
30pause(1);
31
32
33% stepsp WaitFlag=-2 test
34tic;
35stepsp(CMFamily, DeltaAmps, CMDevList, -2);
36T2 = toc;
37stepsp(CMFamily,-DeltaAmps, CMDevList, -1);
38pause(1);
39
40
41% setsp WaitFlag=-2 test
42SP = getsp(CMFamily, CMDevList);
43tic;
44setsp(CMFamily, SP+DeltaAmps, CMDevList, -2);
45T3 = toc;
46setsp(CMFamily, SP, CMDevList, -1);
47
48
49fprintf('\n');
50fprintf('   T(stepsp w/ waitonsp =  0) = %.3f seconds.\n', T0);
51fprintf('   T(stepsp w/ waitonsp = -1) = %.3f seconds.\n', T1);
52fprintf('   T(stepsp w/ waitonsp = -2) = %.3f seconds.\n', T2);
53fprintf('   T(setsp  w/ waitonsp = -2) = %.3f seconds.\n', T3);
54fprintf('\n');
55
56
57
58% Display
59
60x = am{1};
61y = am{2};
62cm = am{3};
63
64clf reset
65subplot(2,1,1);
66for i = 1:size(BPMxDevList,1)
67    x(i,:) = x(i,:) - x(i,1);
68end
69for i = 1:size(BPMyDevList,1)
70    y(i,:) = y(i,:) - y(i,1);
71end
72
73
74plot(tout,x,'.-b');
75grid on;
76if size(BPMxDevList,1) == 1
77    ylabel(sprintf('%s(%d,%d) [mm]', BPMxFamily, BPMxDevList));
78elseif size(BPMxDevList,1) < 10
79    clear LabelCell
80    ylabel(sprintf('BPM Data [mm]'));
81    for i = 1:size(BPMxDevList,1)
82        LabelCell{i} = sprintf('%s(%d,%d)', BPMxFamily, BPMxDevList(i,:));
83    end
84end
85
86hold on
87plot(tout,y,'.-r');
88hold off;
89if size(BPMyDevList,1) == 1
90    ylabel(sprintf('%s(%d,%d) [mm]', BPMyFamily, BPMyDevList));
91elseif size(BPMxDevList,1) < 10
92    ylabel(sprintf('BPM Data [mm]'));
93    for i = 1:size(BPMyDevList,1)
94        LabelCell{i+size(BPMxDevList,1)} = sprintf('%s(%d,%d)', BPMyFamily, BPMyDevList(i,:));
95    end
96    legend(LabelCell,1);
97end
98
99xlabel('Time [Seconds]');
100title(sprintf('%s(%d,%d):  Delta Amps = %.1f, Time for set: WaitFlag 0 = %.2f, -1 = %.2f, -2 = %.2f', CMFamily, CMDevList, DeltaAmps, T0, T1, T2));
101grid on;
102
103subplot(2,1,2);
104plot(tout,cm,'.-b');
105grid on;
106ylabel(sprintf('%s(%d,%d) [Amps]', CMFamily, CMDevList));
107xlabel('Time [Seconds]');
108grid on;
109
110orient tall
Note: See TracBrowser for help on using the repository browser.