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