source: MML/trunk/machine/SOLEIL/Booster/setrframp.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: 1.8 KB
Line 
1function setrampRF(varargin)
2% SETRFRAMP - Loads a new AC ramp the the RF voltage
3%
4%  INPUTS
5%  1. AC ramp maximum between 0 and 5 in kV
6%        0 means 0 kV
7%        5 means mean 500 kV at maximum
8%
9%  NOTES
10%  1. do not forget the DC value which is added
11%
12%
13%  See Also getrframp
14
15%
16%  Written by Laurent S. Nadolski
17
18DisplayFlag = 1;
19devName = 'BOO/RF/SAO.1';
20
21for i = length(varargin):-1:1
22    if strcmpi(varargin{i},'Display')
23        DisplayFlag = 1;
24        varargin(i) = [];
25    elseif strcmpi(varargin{i},'NoDisplay')
26        DisplayFlag = O;
27        varargin(i) = [];
28    elseif strcmpi(varargin{i},'NoArchive')
29        ArchiveFlag = O;
30        varargin(i) = [];
31    elseif strcmpi(varargin{i},'Archive')
32        ArchiveFlag = 1;
33        varargin(i) = [];
34    end
35end
36
37if isempty(varargin)
38    disp('Missing factor exiting ...')
39    return;
40else
41    factor = varargin{1};
42    if factor > 8
43        error('Too large')
44    end
45end
46
47rampe = getrframp('NoDisplay');
48
49figure
50
51plot(rampe*100)
52
53%rampe2 = rampe/2;
54rampe2= rampe/max(rampe)*factor;
55
56hold on
57plot(rampe2*100,'r.')
58hold off
59legend('Old RF voltage Ramp','New RF voltage ramp')
60grid on
61ylabel('RF voltage (kV)');
62title('RF ramp')
63addlabel(1,0,sprintf('%s', datestr(clock)));
64
65
66reply = input('Do you want to apply this ramp? Y/N [N]: ','s');
67
68if isempty(reply)
69    reply = 'N';
70end
71
72switch reply
73    case 'Y'   
74        % build the property
75        prop.name = 'Channel0WaveForm';
76        prop.value = {num2str(rampe2)};
77
78        for k=1:100
79            prop.value{k} = num2str(rampe2(k));
80        end
81
82        % write the new ramp
83        tango_command_inout2(devName, 'Stop');
84        tango_put_properties2(devName,prop)
85        tango_command_inout2(devName, 'Init');
86        tango_command_inout2(devName, 'Start');
87       
88    otherwise
89        disp('Ramp not applied')
90end
Note: See TracBrowser for help on using the repository browser.