source: MML/trunk/machine/SOLEIL/doc_html/machine/Soleil/common/getmaxsp.html @ 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: 11.9 KB
Line 
1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
2                "http://www.w3.org/TR/REC-html40/loose.dtd">
3<html>
4<head>
5  <title>Description of getmaxsp</title>
6  <meta name="keywords" content="getmaxsp">
7  <meta name="description" content="GETMAXSP - Maximum value of the setpoint">
8  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
9  <meta name="generator" content="m2html &copy; 2003 Guillaume Flandin">
10  <meta name="robots" content="index, follow">
11  <link type="text/css" rel="stylesheet" href="../../../m2html.css">
12</head>
13<body>
14<a name="_top"></a>
15<div><a href="../../../index.html">Home</a> &gt;  <a href="#">machine</a> &gt; <a href="#">Soleil</a> &gt; <a href="index.html">common</a> &gt; getmaxsp.m</div>
16
17<!--<table width="100%"><tr><td align="left"><a href="../../../index.html"><img alt="<" border="0" src="../../../left.png">&nbsp;Master index</a></td>
18<td align="right"><a href="index.html">Index for machine/Soleil/common&nbsp;<img alt=">" border="0" src="../../../right.png"></a></td></tr></table>-->
19
20<h1>getmaxsp
21</h1>
22
23<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../../../up.png"></a></h2>
24<div class="box"><strong>GETMAXSP - Maximum value of the setpoint</strong></div>
25
26<h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../../../up.png"></a></h2>
27<div class="box"><strong>function S = getmaxsp(Family, DeviceList) </strong></div>
28
29<h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../../../up.png"></a></h2>
30<div class="fragment"><pre class="comment">GETMAXSP - Maximum value of the setpoint
31
32  FamilyName/DeviceList Method
33  SPmax = getmaxsp(Family, DeviceList)
34  SPmax = getmaxsp(DataStructure)
35
36  ChannelName Method
37  SPmax = getmaxsp(ChannelNames)
38
39  CommonName Method
40  SPmax = getmaxsp(Family, CommonName)
41
42  INPUTS
43  1. Family = Family Name
44              Data Structure
45              Accelerator Object
46              Cell Array of Accelerator Objects or Family Names
47              For CommonNames, Family=[] searches all families
48     ChannelName = Channel access channel name
49                   Matrix of channel names
50                   Cell array of channel names
51     CommonName = Common name
52                  Matrix of common names
53                  Cell array of common names
54  2. DeviceList = [Sector Device #] or [element #] list {default or empty list: whole family}
55                   Cell Array of DeviceList
56
57  OUTPUTS
58  1. SPmax = Maximum setpoint of the device
59             Empty if not found
60
61  See also <a href="getminsp.html" class="code" title="function S = getminsp(Family, DeviceList)">getminsp</a>, getfamilydata(Family, Field, 'Range')</pre></div>
62
63<!-- crossreference -->
64<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../../../up.png"></a></h2>
65This function calls:
66<ul style="list-style-image:url(../../../matlabicon.gif)">
67<li><a href="getmaxsp.html" class="code" title="function S = getmaxsp(Family, DeviceList)">getmaxsp</a> GETMAXSP - Maximum value of the setpoint</li></ul>
68This function is called by:
69<ul style="list-style-image:url(../../../matlabicon.gif)">
70<li><a href="getmaxsp.html" class="code" title="function S = getmaxsp(Family, DeviceList)">getmaxsp</a> GETMAXSP - Maximum value of the setpoint</li><li><a href="optics_LT1_LT2.html" class="code" title="function varargout = optics_LT1_LT2(varargin)">optics_LT1_LT2</a>    OPTICS_LT1_LT2 - M-file for optics_LT1_LT2.fig</li></ul>
71<!-- crossreference -->
72
73
74<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../../../up.png"></a></h2>
75<div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function S = getmaxsp(Family, DeviceList)</a>
760002 <span class="comment">%GETMAXSP - Maximum value of the setpoint</span>
770003 <span class="comment">%</span>
780004 <span class="comment">%  FamilyName/DeviceList Method</span>
790005 <span class="comment">%  SPmax = getmaxsp(Family, DeviceList)</span>
800006 <span class="comment">%  SPmax = getmaxsp(DataStructure)</span>
810007 <span class="comment">%</span>
820008 <span class="comment">%  ChannelName Method</span>
830009 <span class="comment">%  SPmax = getmaxsp(ChannelNames)</span>
840010 <span class="comment">%</span>
850011 <span class="comment">%  CommonName Method</span>
860012 <span class="comment">%  SPmax = getmaxsp(Family, CommonName)</span>
870013 <span class="comment">%</span>
880014 <span class="comment">%  INPUTS</span>
890015 <span class="comment">%  1. Family = Family Name</span>
900016 <span class="comment">%              Data Structure</span>
910017 <span class="comment">%              Accelerator Object</span>
920018 <span class="comment">%              Cell Array of Accelerator Objects or Family Names</span>
930019 <span class="comment">%              For CommonNames, Family=[] searches all families</span>
940020 <span class="comment">%     ChannelName = Channel access channel name</span>
950021 <span class="comment">%                   Matrix of channel names</span>
960022 <span class="comment">%                   Cell array of channel names</span>
970023 <span class="comment">%     CommonName = Common name</span>
980024 <span class="comment">%                  Matrix of common names</span>
990025 <span class="comment">%                  Cell array of common names</span>
1000026 <span class="comment">%  2. DeviceList = [Sector Device #] or [element #] list {default or empty list: whole family}</span>
1010027 <span class="comment">%                   Cell Array of DeviceList</span>
1020028 <span class="comment">%</span>
1030029 <span class="comment">%  OUTPUTS</span>
1040030 <span class="comment">%  1. SPmax = Maximum setpoint of the device</span>
1050031 <span class="comment">%             Empty if not found</span>
1060032 <span class="comment">%</span>
1070033 <span class="comment">%  See also getminsp, getfamilydata(Family, Field, 'Range')</span>
1080034
1090035 <span class="comment">%</span>
1100036 <span class="comment">% Written by Gregory J. Portmann</span>
1110037 <span class="comment">% Modified by Laurent S. Nadolski</span>
1120038
1130039 S = [];
1140040
1150041 <span class="keyword">if</span> nargin == 0
1160042     error(<span class="string">'At least one input required'</span>);
1170043 <span class="keyword">end</span>
1180044
1190045 <span class="keyword">if</span> iscell(Family)
1200046     <span class="keyword">if</span> nargin &gt;= 2
1210047         <span class="keyword">if</span> ~iscell(DeviceList)
1220048             error(<span class="string">'If Family is a cell array, then DeviceList must be a cell array.'</span>);
1230049         <span class="keyword">end</span>
1240050         <span class="keyword">if</span> length(Family) ~= length(DeviceList)
1250051             error(<span class="string">'Family and DeviceList must be the same size cell arrays.'</span>);
1260052         <span class="keyword">end</span>
1270053     <span class="keyword">end</span>
1280054     
1290055     <span class="keyword">for</span> i = 1:length(Family)
1300056         <span class="keyword">if</span> nargin == 1
1310057             S{i} = <a href="getmaxsp.html" class="code" title="function S = getmaxsp(Family, DeviceList)">getmaxsp</a>(Family{i});
1320058         <span class="keyword">else</span>           
1330059             S{i} = <a href="getmaxsp.html" class="code" title="function S = getmaxsp(Family, DeviceList)">getmaxsp</a>(Family{i}, DeviceList{i});
1340060         <span class="keyword">end</span>
1350061     <span class="keyword">end</span>
1360062     <span class="keyword">return</span>   
1370063 <span class="keyword">end</span>
1380064
1390065 <span class="keyword">if</span> isstruct(Family)
1400066     <span class="keyword">if</span> any(size(Family) &gt; 1)
1410067         error(<span class="string">'Only structures of size = [1 1] allowed'</span>)
1420068     <span class="keyword">end</span>               
1430069     <span class="keyword">if</span> isfield(Family,<span class="string">'FamilyName'</span>) &amp; isfield(Family,<span class="string">'Field'</span>)
1440070         <span class="comment">% Data structure</span>
1450071         S = getfamilydata(Family.FamilyName, Family.Field, <span class="string">'Range'</span>, Family.DeviceList);
1460072         <span class="keyword">if</span> ~isempty(S)
1470073             S = S(:,2);
1480074         <span class="keyword">end</span>
1490075         <span class="keyword">return</span>
1500076     <span class="keyword">else</span>
1510077         <span class="comment">% AO structure</span>
1520078         <span class="keyword">if</span> nargin &lt; 2
1530079             S = Family.Setpoint.Range;
1540080         <span class="keyword">else</span>
1550081             <span class="keyword">if</span> size(DeviceList,2) == 1
1560082                 Index = findrowindex(DeviceList, ElementList);
1570083             <span class="keyword">else</span>
1580084                 Index = findrowindex(DeviceList, Family.DeviceList);
1590085             <span class="keyword">end</span>
1600086             S = Family.Setpoint.Range(Index,2);
1610087         <span class="keyword">end</span>
1620088     <span class="keyword">end</span>
1630089 <span class="keyword">end</span>
1640090
1650091
1660092 <span class="keyword">if</span> isempty(Family)
1670093     <span class="comment">% Common names with no family name</span>
1680094     <span class="keyword">if</span> nargin &lt; 2
1690095             error(<span class="string">'If Family=[], 2 inputs are required.'</span>);
1700096     <span class="keyword">end</span>
1710097     CommonNames = DeviceList;
1720098     <span class="keyword">for</span> i = 1:size(CommonNames,1)
1730099         Family = common2family(CommonNames(i,:));
1740100         [FamilyIndex, ACCELERATOR_OBJECT] = isfamily(Family);
1750101         DeviceList = common2dev(CommonNames(i,:), ACCELERATOR_OBJECT);
1760102         <span class="keyword">if</span> isempty(DeviceList) | isempty(DeviceList)
1770103             error(<span class="string">'Common name could not be converted to a Family and DeviceList.'</span>);
1780104         <span class="keyword">end</span>
1790105         S(i,:) = <a href="getmaxsp.html" class="code" title="function S = getmaxsp(Family, DeviceList)">getmaxsp</a>(Family, DeviceList);
1800106     <span class="keyword">end</span>
1810107     <span class="keyword">return</span>
1820108         
1830109 <span class="keyword">elseif</span> ~isfamily(Family(1,:))
1840110     <span class="comment">% Channel name method</span>
1850111     <span class="comment">% Try to convert to a family and device</span>
1860112     
1870113     ChannelNames = Family;
1880114     <span class="keyword">for</span> i = 1:size(ChannelNames,1)
1890115         Family = channel2family(ChannelNames(i,:));
1900116         [FamilyIndex, ACCELERATOR_OBJECT] = isfamily(Family);
1910117         DeviceList = channel2dev(ChannelNames(i,:), ACCELERATOR_OBJECT);
1920118         <span class="keyword">if</span> isempty(DeviceList) | isempty(DeviceList)
1930119             error(<span class="string">'Channel name could not be converted to a Family and DeviceList.'</span>);
1940120         <span class="keyword">end</span>
1950121         S(i,:) = <a href="getmaxsp.html" class="code" title="function S = getmaxsp(Family, DeviceList)">getmaxsp</a>(Family, DeviceList);
1960122     <span class="keyword">end</span>
1970123     <span class="keyword">return</span>
1980124 <span class="keyword">end</span>
1990125
2000126
2010127 <span class="keyword">if</span> nargin == 1
2020128     S = getfamilydata(Family, <span class="string">'Setpoint'</span>, <span class="string">'Range'</span>, []);
2030129 <span class="keyword">else</span>           
2040130     <span class="comment">% Convert common name to a DeviceList</span>
2050131     <span class="keyword">if</span> isstr(DeviceList)
2060132         DeviceList = common2dev(DeviceList, Family);
2070133     <span class="keyword">end</span>
2080134     S = getfamilydata(Family, <span class="string">'Setpoint'</span>, <span class="string">'Range'</span>, DeviceList);
2090135 <span class="keyword">end</span>
2100136 <span class="keyword">if</span> ~isempty(S)
2110137     S = S(:,2);
2120138 <span class="keyword">end</span></pre></div>
213<hr><address>Generated on Mon 21-May-2007 15:35:27 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address>
214</body>
215</html>
Note: See TracBrowser for help on using the repository browser.