Changeset 683 for branches/gui/eml/controllers
- Timestamp:
- Nov 19, 2008, 7:21:38 PM (15 years ago)
- Location:
- branches/gui/eml/controllers
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/gui/eml/controllers/Comparator.mso
r354 r683 22 22 23 23 ATTRIBUTES 24 Pallete = true;24 Pallete = false; 25 25 Icon = "icon/Comparator"; 26 26 Brief = "Model Comparator."; -
branches/gui/eml/controllers/HiLoSelect.mso
r354 r683 22 22 23 23 ATTRIBUTES 24 Pallete = true;24 Pallete = false; 25 25 Icon = "icon/HiLoSelect"; 26 26 Brief = "Model HiLo Select."; -
branches/gui/eml/controllers/PIDs.mso
r667 r683 18 18 using "types"; 19 19 20 Model MPorts 20 21 Model PID 21 22 22 23 ATTRIBUTES 23 Pallete = false; 24 Brief = "Model of Ports to be used with PIDs."; 25 26 VARIABLES 27 28 input as control_signal (Brief="Previous scaled input signal", Default=0.5); 29 output as control_signal (Brief="Scaled output signal", Default=0.5); 30 setPoint as control_signal (Brief="Scaled setPoint",Default=0.5); 31 32 end 33 34 Model MInternal_Variables 35 36 ATTRIBUTES 37 Pallete = false; 38 Brief = "Model of Internal Variables to be used with PIDs."; 39 40 VARIABLES 41 42 derivTerm as control_signal (Brief="Derivative term", Default=0); 43 dFilt as control_signal (Brief="Derivative term filtered", Default=0.5); 44 error as control_signal (Brief="Error definition for proportional term"); 45 errorD as control_signal (Brief="Error definition for derivative term"); 46 errorI as control_signal (Brief="Error definition for integral term"); 47 inputFilt as control_signal (Brief="Filtered input"); 48 intTerm as control_signal (Brief="Integral term", Default=0); 49 outp as control_signal (Brief="Sum of proportional, integral and derivative terms"); 50 outps as control_signal (Brief="Variable outp scaled between -1 and 1"); 51 propTerm as control_signal (Brief="Proportional term", Default=0); 52 setPointFilt as control_signal (Brief="Filtered setPoint", Default=0); 53 54 end 55 56 Model PID 57 58 ATTRIBUTES 59 Pallete = false; 24 Pallete = true; 60 25 Icon = "icon/PID"; 61 Brief = "Model of PIDs."; 62 Info = 63 "== Inputs == 64 * scaled processs variable. 65 * scaled bias. 66 * scaled setpoint. 67 68 == Outputs == 69 * scaled output. 70 "; 71 72 PARAMETERS 73 PID_Select as Switcher (Brief="Type of PID Incremental", Valid=["Ideal","Parallel","Series","Ideal_AWBT","Parallel_AWBT","Series_AWBT","Ideal_AW","Parallel_AW","Series_AW"], Default = "Ideal"); 74 Action as Switcher (Brief="Controller action", Valid=["Direct","Reverse"], Default = "Reverse"); 75 Mode as Switcher (Brief="Controller mode", Valid=["Automatic","Manual"], Default = "Automatic"); 76 Clip as Switcher (Brief="Controller mode", Valid=["Clipped","Unclipped"], Default = "Clipped"); 77 78 alpha as positive (Brief="Derivative term filter constant", Default=1); 79 beta as positive (Brief="Proportional term setPoint change filter"); 80 bias as control_signal (Brief="Previous scaled bias", Default=0.5); 81 derivTime as time_sec (Brief="Derivative time constant"); 82 intTime as time_sec (Brief="Integral time constant"); 83 gain as positive (Brief="Controller gain", Default=0.5); 84 gamma as positive (Brief="Derivative term SP change filter"); 85 tau as time_sec (Brief="Input filter time constant"); 86 tauSet as time_sec (Brief="Input filter time constant"); 87 88 VARIABLES 89 Internal as MInternal_Variables; 90 Ports as MPorts; 91 AWFactor as Real (Brief="Integral term multiplier used in anti-reset windup"); 92 action as Real(Protected=true); 93 94 INITIAL 95 Internal.intTerm = 0; 96 diff(Internal.dFilt) = 0/'s'; 97 diff(Internal.inputFilt) = 0/'s'; 98 diff(Internal.setPointFilt) = 0/'s'; 26 27 PARAMETERS 28 29 PID_Select as Switcher (Brief="Type of PID Incremental", Valid=["Ideal","Parallel","Series","Ideal_AWBT","Parallel_AWBT","Series_AWBT","Ideal_AW","Parallel_AW","Series_AW"], Default = "Ideal"); 30 Action as Switcher (Brief="Controller action", Valid=["Direct","Reverse"], Default = "Reverse"); 31 Mode as Switcher (Brief="Controller mode", Valid=["Automatic","Manual"], Default = "Automatic"); 32 Clip as Switcher (Brief="Controller mode", Valid=["Clipped","Unclipped"], Default = "Clipped"); 33 34 alpha as positive (Brief="Derivative term filter constant", Default=1); 35 beta as positive (Brief="Proportional term setPoint change filter"); 36 bias as control_signal (Brief="Previous scaled bias", Default=0.5); 37 derivTime as time_sec (Brief="Derivative time constant"); 38 intTime as time_sec (Brief="Integral time constant"); 39 gain as positive (Brief="Controller gain", Default=0.5); 40 gamma as positive (Brief="Derivative term SP change filter"); 41 tau as time_sec (Brief="Input filter time constant"); 42 tauSet as time_sec (Brief="Input filter time constant"); 43 MinInput as control_signal (Default=-1000); 44 MaxInput as control_signal (Default=1000); 45 MinOutput as control_signal (Default=-1000); 46 MaxOutput as control_signal (Default=1000); 47 48 VARIABLES 49 in Input as control_signal (Protected=true, PosX=0, PosY=0.5); 50 out Output as control_signal (Protected=true, PosX=0.54, PosY=1); 51 SetPoint as control_signal; 52 53 #++++++++++++++++++++ PID Internal Variables ++++++++++++++++++++++++++++++++ 54 PID_derivTerm as control_signal (Brief="Derivative term", Hidden =true , Default=0); 55 PID_dFilt as control_signal (Brief="Derivative term filtered", Hidden =true ,Default=0.5); 56 PID_error as control_signal (Brief="Error definition for proportional term",Hidden =true ); 57 PID_errorD as control_signal (Brief="Error definition for derivative term", Hidden =true ); 58 PID_errorI as control_signal (Brief="Error definition for integral term", Hidden =true); 59 PID_inputFilt as control_signal (Brief="Filtered input", Hidden =true); 60 PID_intTerm as control_signal (Brief="Integral term", Hidden =true , Default=0); 61 PID_outp as control_signal (Brief="Sum of proportional, integral and derivative terms", Hidden =true ); 62 PID_outps as control_signal (Brief="Variable outp scaled between -1 and 1",Hidden =true); 63 PID_propTerm as control_signal (Brief="Proportional term", Default=0 , Hidden =true ); 64 PID_setPointFilt as control_signal (Brief="Filtered setPoint", Default=0, Hidden =true); 65 PID_AWFactor as Real (Brief="Integral term multiplier used in anti-reset windup", Hidden=true); 66 PID_action as Real (Protected=true, Hidden=true); 67 68 PID_input as control_signal (Brief="Previous scaled input signal", Default=0.5, Hidden=true); 69 PID_output as control_signal (Brief="Scaled output signal", Default=0.5, Hidden=true); 70 PID_setPoint as control_signal (Brief="Scaled setPoint",Default=0.5, Hidden=true); 71 #++++++++++++++++++++++++++++++++++++++++++++++++++++ 72 73 EQUATIONS 74 75 "Input " 76 PID_input*(MaxInput - MinInput) = Input - MinInput; 77 78 "Output " 79 Output = PID_output*(MaxOutput-MinOutput) +MinOutput; 80 81 "Set Point " 82 PID_setPoint*(MaxInput - MinInput) = SetPoint - MinInput; 83 84 INITIAL 85 86 PID_intTerm = 0; 87 88 diff(PID_dFilt) = 0/'s'; 89 90 diff(PID_inputFilt) = 0/'s'; 91 92 diff(PID_setPointFilt) = 0/'s'; 99 93 100 94 EQUATIONS … … 102 96 if (tau equal 0) then 103 97 "Input first order filter" 104 (tau + 1e-3*'s')*diff( Internal.inputFilt)= Ports.input - Internal.inputFilt;98 (tau + 1e-3*'s')*diff(PID_inputFilt)= PID_input - PID_inputFilt; 105 99 else 106 100 "Input first order filter" 107 tau*diff( Internal.inputFilt)= Ports.input - Internal.inputFilt;101 tau*diff(PID_inputFilt)= PID_input - PID_inputFilt; 108 102 end 109 103 110 104 if (tauSet equal 0) then 111 105 "setPoint first order filter" 112 (tauSet + 1e-3*'s')*diff( Internal.setPointFilt)= Ports.setPoint - Internal.setPointFilt;106 (tauSet + 1e-3*'s')*diff(PID_setPointFilt)= PID_setPoint - PID_setPointFilt; 113 107 else 114 108 "setPoint first order filter" 115 tauSet*diff( Internal.setPointFilt)= Ports.setPoint - Internal.setPointFilt;109 tauSet*diff(PID_setPointFilt)= PID_setPoint - PID_setPointFilt; 116 110 end 117 111 … … 119 113 case "Manual": 120 114 "Error definition for proportional term" 121 Internal.error = Internal.inputFilt*(beta-1.0);115 PID_error = PID_inputFilt*(beta-1.0); 122 116 "Error definition for derivative term" 123 Internal.errorD= Internal.inputFilt*(gamma-1.0);117 PID_errorD= PID_inputFilt*(gamma-1.0); 124 118 "Error definition for integral term" 125 Internal.errorI= 0;119 PID_errorI= 0; 126 120 case "Automatic": 127 121 "Error definition for proportional term" 128 Internal.error = beta*Internal.setPointFilt - Internal.inputFilt;122 PID_error = beta*PID_setPointFilt - PID_inputFilt; 129 123 "Error definition for derivative term" 130 Internal.errorD = gamma*Internal.setPointFilt - Internal.inputFilt;124 PID_errorD = gamma*PID_setPointFilt - PID_inputFilt; 131 125 "Error definition for integral term" 132 Internal.errorI = Internal.setPointFilt-Internal.inputFilt;126 PID_errorI = PID_setPointFilt-PID_inputFilt; 133 127 end 134 128 135 129 "Calculate proportional term" 136 Internal.propTerm=Internal.error;130 PID_propTerm=PID_error; 137 131 138 132 if (derivTime equal 0) then 139 133 "Derivative term filter" 140 alpha*(derivTime + 1e-3*'s')*diff( Internal.dFilt) = Internal.errorD - Internal.dFilt;134 alpha*(derivTime + 1e-3*'s')*diff(PID_dFilt) = PID_errorD - PID_dFilt; 141 135 else 142 136 "Derivative term filter" 143 alpha*(derivTime)*diff( Internal.dFilt) = Internal.errorD - Internal.dFilt;137 alpha*(derivTime)*diff(PID_dFilt) = PID_errorD - PID_dFilt; 144 138 end 145 139 146 140 "Calculate derivative term" 147 Internal.derivTerm = derivTime*diff(Internal.dFilt);141 PID_derivTerm = derivTime*diff(PID_dFilt); 148 142 149 143 "Scale outp" 150 Internal.outps=2*Internal.outp-1;144 PID_outps=2*PID_outp-1; 151 145 152 146 switch Clip 153 147 case "Clipped": 154 if abs( Internal.outps)>1 then148 if abs(PID_outps)>1 then 155 149 "Calculate clipped output when it´s saturated" 156 P orts.output=(sign(Internal.outps)*1+1)/2;150 PID_output=(sign(PID_outps)*1+1)/2; 157 151 else 158 152 "Calculate clipped output when it´s not saturated" 159 P orts.output=Internal.outp;153 PID_output=PID_outp; 160 154 end 161 155 case "Unclipped": 162 156 "Calculate unclipped output" 163 P orts.output=Internal.outp;157 PID_output=PID_outp; 164 158 end 165 159 166 160 switch Action 167 161 case "Direct": 168 action = -1.0;162 PID_action = -1.0; 169 163 case "Reverse": 170 action = 1.0;164 PID_action = 1.0; 171 165 end 172 166 … … 177 171 178 172 "Calculate integral term with anti-windup" 179 intTime*diff( Internal.intTerm) = AWFactor*Internal.errorI;180 181 "Sum of proportional, integral and derivative terms" 182 Internal.outp = bias + action*gain*(Internal.propTerm + Internal.intTerm + Internal.derivTerm);183 184 if abs( Internal.outps)>1 and (action*sign(Internal.outps)*Internal.errorI)>0 then185 "Calculate AWFactor" 186 AWFactor=-tanh(sign(Internal.outps)*Internal.outps*100-102);187 else 188 "Calculate AWFactor" 189 AWFactor=1;173 intTime*diff(PID_intTerm) = PID_AWFactor*PID_errorI; 174 175 "Sum of proportional, integral and derivative terms" 176 PID_outp = bias + PID_action*gain*(PID_propTerm + PID_intTerm + PID_derivTerm); 177 178 if abs(PID_outps)>1 and (PID_action*sign(PID_outps)*PID_errorI)>0 then 179 "Calculate AWFactor" 180 PID_AWFactor=-tanh(sign(PID_outps)*PID_outps*100-102); 181 else 182 "Calculate AWFactor" 183 PID_AWFactor=1; 190 184 end 191 185 … … 193 187 194 188 "Calculate integral term with anti-windup" 195 intTime*diff( Internal.intTerm) = AWFactor*Internal.errorI;196 197 "Sum of proportional, integral and derivative terms" 198 Internal.outp = bias + action*(gain*Internal.propTerm + Internal.intTerm + Internal.derivTerm);199 200 if abs( Internal.outps)>1 and (action*sign(Internal.outps)*Internal.errorI)>0 then201 "Calculate AWFactor" 202 AWFactor=-tanh(sign(Internal.outps)*Internal.outps*100-102);203 else 204 "Calculate AWFactor" 205 AWFactor=1;189 intTime*diff(PID_intTerm) = PID_AWFactor*PID_errorI; 190 191 "Sum of proportional, integral and derivative terms" 192 PID_outp = bias + PID_action*(gain*PID_propTerm + PID_intTerm + PID_derivTerm); 193 194 if abs(PID_outps)>1 and (PID_action*sign(PID_outps)*PID_errorI)>0 then 195 "Calculate AWFactor" 196 PID_AWFactor=-tanh(sign(PID_outps)*PID_outps*100-102); 197 else 198 "Calculate AWFactor" 199 PID_AWFactor=1; 206 200 end 207 201 … … 210 204 211 205 "Calculate integral term with anti-windup" 212 intTime*diff( Internal.intTerm) = AWFactor*Internal.errorI;213 214 "Sum of proportional, integral and derivative terms" 215 Internal.outp = bias + action*(gain*(Internal.propTerm + Internal.intTerm)*(1 + Internal.derivTerm));216 217 if abs( Internal.outps)>1 and (action*sign(Internal.outps)*Internal.errorI)>0 then206 intTime*diff(PID_intTerm) = PID_AWFactor*PID_errorI; 207 208 "Sum of proportional, integral and derivative terms" 209 PID_outp = bias + PID_action*(gain*(PID_propTerm + PID_intTerm)*(1 + PID_derivTerm)); 210 211 if abs(PID_outps)>1 and (PID_action*sign(PID_outps)*PID_errorI)>0 then 218 212 "Calculate AWFactor" 219 AWFactor=-tanh(sign(Internal.outps)*Internal.outps*100-102);220 else 221 "Calculate AWFactor" 222 AWFactor=1;213 PID_AWFactor=-tanh(sign(PID_outps)*PID_outps*100-102); 214 else 215 "Calculate AWFactor" 216 PID_AWFactor=1; 223 217 end 224 218 … … 226 220 227 221 "Calculate integral term" 228 intTime*diff( Internal.intTerm) = Internal.errorI;222 intTime*diff(PID_intTerm) = PID_errorI; 229 223 230 224 "Sum of proportional, integral and derivative terms" 231 Internal.outp = bias + action*gain*(Internal.propTerm + Internal.intTerm + Internal.derivTerm);232 233 "Calculate AWFactor - Not in use in this mode" 234 AWFactor=1;225 PID_outp = bias + PID_action*gain*(PID_propTerm + PID_intTerm + PID_derivTerm); 226 227 "Calculate AWFactor - Not in use in this mode" 228 PID_AWFactor=1; 235 229 236 230 case "Parallel": 237 231 238 232 "Calculate integral term" 239 intTime*diff( Internal.intTerm) = Internal.errorI;233 intTime*diff(PID_intTerm) = PID_errorI; 240 234 241 235 "Sum of proportional, integral and derivative terms" 242 Internal.outp = bias + action*(gain*Internal.propTerm + Internal.intTerm + Internal.derivTerm);243 244 "Calculate AWFactor - Not in use in this mode" 245 AWFactor=1;236 PID_outp = bias + PID_action*(gain*PID_propTerm + PID_intTerm + PID_derivTerm); 237 238 "Calculate AWFactor - Not in use in this mode" 239 PID_AWFactor=1; 246 240 247 241 case "Series": 248 242 249 243 "Calculate integral term" 250 intTime*diff( Internal.intTerm) = Internal.errorI;251 252 "Sum of proportional, integral and derivative terms" 253 Internal.outp = bias + action*(gain*(Internal.propTerm + Internal.intTerm)*(1 + Internal.derivTerm));254 255 "Calculate AWFactor - Not in use in this mode" 256 AWFactor=1;244 intTime*diff(PID_intTerm) = PID_errorI; 245 246 "Sum of proportional, integral and derivative terms" 247 PID_outp = bias + PID_action*(gain*(PID_propTerm + PID_intTerm)*(1 + PID_derivTerm)); 248 249 "Calculate AWFactor - Not in use in this mode" 250 PID_AWFactor=1; 257 251 258 252 case "Ideal_AWBT": 259 253 260 254 "Calculate integral term with anti-windup and bumpless transfer" 261 action*gain*(intTime*diff(Internal.intTerm)-Internal.errorI) = Ports.output-Internal.outp;255 PID_action*gain*(intTime*diff(PID_intTerm)-PID_errorI) = PID_output-PID_outp; 262 256 263 257 "Sum of proportional, integral and derivative terms" 264 Internal.outp = bias + action*gain*(Internal.propTerm + Internal.intTerm + Internal.derivTerm);265 266 "Calculate AWFactor - Not in use in this mode" 267 AWFactor=1;258 PID_outp = bias + PID_action*gain*(PID_propTerm + PID_intTerm + PID_derivTerm); 259 260 "Calculate AWFactor - Not in use in this mode" 261 PID_AWFactor=1; 268 262 269 263 case "Parallel_AWBT": 270 264 271 265 "Calculate integral term with anti-windup and bumpless transfer" 272 action*gain*(intTime*diff(Internal.intTerm)-Internal.errorI) = Ports.output-Internal.outp;266 PID_action*gain*(intTime*diff(PID_intTerm)-PID_errorI) = PID_output-PID_outp; 273 267 274 268 "Sum of proportional, integral and derivative terms" 275 Internal.outp = bias + action*(gain*Internal.propTerm + Internal.intTerm + Internal.derivTerm);276 277 "Calculate AWFactor - Not in use in this mode" 278 AWFactor=1;269 PID_outp = bias + PID_action*(gain*PID_propTerm + PID_intTerm + PID_derivTerm); 270 271 "Calculate AWFactor - Not in use in this mode" 272 PID_AWFactor=1; 279 273 280 274 case "Series_AWBT": 281 275 282 276 "Calculate integral term with anti-windup and bumpless transfer" 283 action*gain*(intTime*diff(Internal.intTerm)-Internal.errorI) = Ports.output-Internal.outp; 284 285 "Sum of proportional, integral and derivative terms" 286 Internal.outp = bias + action*(gain*(Internal.propTerm + Internal.intTerm)*(1 + Internal.derivTerm)); 287 288 "Calculate AWFactor - Not in use in this mode" 289 AWFactor=1; 290 291 end 292 293 end 294 295 296 Model PID_gui as PID 297 298 ATTRIBUTES 299 Pallete = true; 300 Icon = "icon/PID"; 301 302 PARAMETERS 303 MinInput as control_signal(Default=-1000); 304 MaxInput as control_signal(Default=1000); 305 MinOutput as control_signal(Default=-1000); 306 MaxOutput as control_signal(Default=1000); 307 308 VARIABLES 309 in Input as control_signal(Protected=true, PosX=0, PosY=0.5); 310 out Output as control_signal(Protected=true, PosX=0.7, PosY=1); 311 SetPoint as control_signal; 312 313 EQUATIONS 314 Ports.input*(MaxInput - MinInput) = Input - MinInput; 315 "Output ??????" 316 Output = Ports.output*(MaxOutput-MinOutput) +MinOutput; 317 Ports.setPoint*(MaxInput - MinInput) = SetPoint - MinInput; 277 PID_action*gain*(intTime*diff(PID_intTerm)-PID_errorI) = PID_output-PID_outp; 278 279 "Sum of proportional, integral and derivative terms" 280 PID_outp = bias + PID_action*(gain*(PID_propTerm + PID_intTerm)*(1 + PID_derivTerm)); 281 282 "Calculate AWFactor - Not in use in this mode" 283 PID_AWFactor=1; 284 285 end 318 286 319 287 end … … 341 309 end 342 310 343 344 311 Model StepSignal 345 312 ATTRIBUTES -
branches/gui/eml/controllers/iae.mso
r354 r683 23 23 24 24 ATTRIBUTES 25 Pallete = true;25 Pallete = false; 26 26 Icon = "icon/IAE"; 27 27 Brief = "Model IAE."; -
branches/gui/eml/controllers/icon/PI.svg
r592 r683 13 13 sodipodi:version="0.32" 14 14 inkscape:version="0.46" 15 width="1 83.70662"16 height=" 248.67165"15 width="126.15476" 16 height="135.43953" 17 17 sodipodi:docbase="C:\Documents and Settings\Administrador\Meus documentos\Bolsa Simulação\Controle" 18 sodipodi:docname="PI D.svg"19 inkscape:export-filename="/home/bicca/ desktop/PID.png"18 sodipodi:docname="PI.svg" 19 inkscape:export-filename="/home/bicca/apps/biblioteca/branches/gui/eml/controllers/icon/PI.png" 20 20 inkscape:export-xdpi="161.7" 21 21 inkscape:export-ydpi="161.7" … … 221 221 id="linearGradient2433" 222 222 gradientUnits="userSpaceOnUse" 223 gradientTransform="matrix(0.8111714,0,0,1.0021919,-1 07.16747,-360.99564)"223 gradientTransform="matrix(0.8111714,0,0,1.0021919,-164.71933,-418.54774)" 224 224 x1="225.50159" 225 225 y1="485.76477" … … 244 244 inkscape:cy="114.33841" 245 245 inkscape:window-x="0" 246 inkscape:window-y="2 6"246 inkscape:window-y="25" 247 247 inkscape:current-layer="svg2040" 248 248 borderlayer="false" … … 262 262 width="111.34344" 263 263 height="107.03931" 264 x=" 71.290237"265 y=" 72.314232"264 x="13.738375" 265 y="14.762129" 266 266 inkscape:export-filename="E:\Documentos Pessoais\Gerson\repositorio\branches\gui\eml\controllers\icon\path2396.png" 267 267 inkscape:export-xdpi="89" … … 276 276 sodipodi:ry="49.345654" 277 277 d="M 55.513859,61.621449 A 51.07275,49.345654 0 1 1 -46.631641,61.621449 A 51.07275,49.345654 0 1 1 55.513859,61.621449 z" 278 transform="translate( 122.52368,64.332893)" />278 transform="translate(64.971817,6.7807902)" /> 279 279 <text 280 280 xml:space="preserve" 281 281 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:DejaVu Sans" 282 x=" 105.45886"283 y=" 132.73045"282 x="56.295769" 283 y="73.697975" 284 284 id="text11790" 285 285 sodipodi:linespacing="125%"><tspan 286 286 sodipodi:role="line" 287 287 id="tspan11792" 288 x="105.45886" 289 y="132.73045" 290 style="font-size:24px">PID</tspan></text> 291 <g 292 id="g21467" 293 transform="matrix(0,-2.2449952,1,0,71.668755,318.23702)"> 294 <path 295 id="path21455" 296 d="M 115.80789,55.976356 C 107.50504,56.064346 107.50504,55.976356 107.50504,55.976356 L 107.65464,55.888356" 297 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.93004858;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#EmptyTriangleOutL);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 298 <path 299 id="path21457" 300 d="M 122.88894,55.939445 C 141.42284,55.894571 141.42284,55.939445 141.42284,55.939445 L 141.0889,55.984324" 301 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.99233192;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:0.9923319, 0.9923319;stroke-dashoffset:0;stroke-opacity:1" /> 302 </g> 303 <g 304 id="g2418" 305 transform="matrix(-2.2449952,0,0,-1,318.23702,183.11168)"> 306 <path 307 id="path2420" 308 d="M 115.80789,55.976356 C 107.50504,56.064346 107.50504,55.976356 107.50504,55.976356 L 107.65464,55.888356" 309 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.93004858;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#EmptyTriangleOutL);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 310 <path 311 id="path2422" 312 d="M 122.88894,55.939445 C 141.42284,55.894571 141.42284,55.939445 141.42284,55.939445 L 141.0889,55.984324" 313 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.99233192;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:0.9923319, 0.9923319;stroke-dashoffset:0;stroke-opacity:1" /> 314 </g> 315 <g 316 id="g3318" 317 transform="matrix(1,0,0,1.5899034,5.8212117,187.23145)"> 318 <path 319 id="path3306" 320 d="M 121.81374,19.451543 C 121.72575,38.091401 121.81374,38.091401 121.81374,38.091401 L 121.90174,37.75555" 321 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.39352047;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#EmptyTriangleOutL);stroke-miterlimit:4;stroke-dasharray:1.39352047, 1.39352047;stroke-dashoffset:0;stroke-opacity:1" /> 322 <path 323 id="path3308" 324 d="M 121.61884,9.2681644 C 121.71744,-7.7451158 121.61884,-7.7451158 121.61884,-7.7451158 L 121.52026,-7.4385738" 325 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.40925193;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 326 </g> 288 x="56.295769" 289 y="73.697975" 290 style="font-size:24px">PI</tspan></text> 291 <path 292 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.39352047;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 293 d="M 70.093247,0.69676024 C 70.181237,19.336618 70.093247,19.336618 70.093247,19.336618 L 70.005247,19.000767" 294 id="path21455" /> 295 <path 296 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.39400005;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 297 d="M 0.69700003,69.583217 C 19.336858,69.495227 19.336858,69.583217 19.336858,69.583217 L 19.001007,69.671217" 298 id="path2420" /> 299 <path 300 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.39352047;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 301 d="M 70.681227,116.10291 C 70.769217,134.74277 70.681227,134.74277 70.681227,134.74277 L 70.593227,134.40692" 302 id="path4392" /> 327 303 </svg> -
branches/gui/eml/controllers/icon/PID.svg
r592 r683 13 13 sodipodi:version="0.32" 14 14 inkscape:version="0.46" 15 width="1 83.70662"16 height=" 248.67165"15 width="126.15476" 16 height="135.43953" 17 17 sodipodi:docbase="C:\Documents and Settings\Administrador\Meus documentos\Bolsa Simulação\Controle" 18 18 sodipodi:docname="PID.svg" 19 inkscape:export-filename="/home/bicca/ desktop/PI.png"19 inkscape:export-filename="/home/bicca/apps/biblioteca/branches/gui/eml/controllers/icon/PID.png" 20 20 inkscape:export-xdpi="161.7" 21 21 inkscape:export-ydpi="161.7" … … 221 221 id="linearGradient2433" 222 222 gradientUnits="userSpaceOnUse" 223 gradientTransform="matrix(0.8111714,0,0,1.0021919,-1 07.16747,-360.99564)"223 gradientTransform="matrix(0.8111714,0,0,1.0021919,-164.71933,-418.54774)" 224 224 x1="225.50159" 225 225 y1="485.76477" … … 262 262 width="111.34344" 263 263 height="107.03931" 264 x=" 71.290237"265 y=" 72.314232"264 x="13.738375" 265 y="14.762129" 266 266 inkscape:export-filename="E:\Documentos Pessoais\Gerson\repositorio\branches\gui\eml\controllers\icon\path2396.png" 267 267 inkscape:export-xdpi="89" … … 276 276 sodipodi:ry="49.345654" 277 277 d="M 55.513859,61.621449 A 51.07275,49.345654 0 1 1 -46.631641,61.621449 A 51.07275,49.345654 0 1 1 55.513859,61.621449 z" 278 transform="translate( 122.52368,64.332893)" />278 transform="translate(64.971817,6.7807902)" /> 279 279 <text 280 280 xml:space="preserve" 281 281 style="font-size:12px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-align:start;line-height:125%;writing-mode:lr-tb;text-anchor:start;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:DejaVu Sans" 282 x=" 113.84763"283 y=" 131.25008"282 x="48.893921" 283 y="75.671799" 284 284 id="text11790" 285 285 sodipodi:linespacing="125%"><tspan 286 286 sodipodi:role="line" 287 287 id="tspan11792" 288 x="113.84763" 289 y="131.25008" 290 style="font-size:24px">PI</tspan></text> 291 <g 292 id="g21467" 293 transform="matrix(0,-2.2449952,1,0,71.668755,318.23702)"> 294 <path 295 id="path21455" 296 d="M 115.80789,55.976356 C 107.50504,56.064346 107.50504,55.976356 107.50504,55.976356 L 107.65464,55.888356" 297 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.93004858;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#EmptyTriangleOutL);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 298 <path 299 id="path21457" 300 d="M 122.88894,55.939445 C 141.42284,55.894571 141.42284,55.939445 141.42284,55.939445 L 141.0889,55.984324" 301 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.99233192;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:0.9923319, 0.9923319;stroke-dashoffset:0;stroke-opacity:1" /> 302 </g> 303 <g 304 id="g2418" 305 transform="matrix(-2.2449952,0,0,-1,318.23702,183.11168)"> 306 <path 307 id="path2420" 308 d="M 115.80789,55.976356 C 107.50504,56.064346 107.50504,55.976356 107.50504,55.976356 L 107.65464,55.888356" 309 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.93004858;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#EmptyTriangleOutL);stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 310 <path 311 id="path2422" 312 d="M 122.88894,55.939445 C 141.42284,55.894571 141.42284,55.939445 141.42284,55.939445 L 141.0889,55.984324" 313 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.99233192;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:0.9923319, 0.9923319;stroke-dashoffset:0;stroke-opacity:1" /> 314 </g> 315 <g 316 id="g3318" 317 transform="matrix(1,0,0,1.5899034,5.8212117,187.23145)"> 318 <path 319 id="path3306" 320 d="M 121.81374,19.451543 C 121.72575,38.091401 121.81374,38.091401 121.81374,38.091401 L 121.90174,37.75555" 321 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.39352047;stroke-linecap:butt;stroke-linejoin:miter;marker-start:url(#EmptyTriangleOutL);stroke-miterlimit:4;stroke-dasharray:1.39352047, 1.39352047;stroke-dashoffset:0;stroke-opacity:1" /> 322 <path 323 id="path3308" 324 d="M 121.61884,9.2681644 C 121.71744,-7.7451158 121.61884,-7.7451158 121.61884,-7.7451158 L 121.52026,-7.4385738" 325 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.40925193;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" /> 326 </g> 288 x="48.893921" 289 y="75.671799" 290 style="font-size:24px">PID</tspan></text> 291 <path 292 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.39352047;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 293 d="M 70.093247,0.69676024 C 70.181237,19.336618 70.093247,19.336618 70.093247,19.336618 L 70.005247,19.000767" 294 id="path21455" /> 295 <path 296 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.39400005;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 297 d="M 0.69700003,69.583217 C 19.336858,69.495227 19.336858,69.583217 19.336858,69.583217 L 19.001007,69.671217" 298 id="path2420" /> 299 <path 300 style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.39352047;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" 301 d="M 70.681227,116.10291 C 70.769217,134.74277 70.681227,134.74277 70.681227,134.74277 L 70.593227,134.40692" 302 id="path4392" /> 327 303 </svg> -
branches/gui/eml/controllers/ise.mso
r354 r683 23 23 24 24 ATTRIBUTES 25 Pallete = true;25 Pallete = false; 26 26 Icon = "icon/ISE"; 27 27 Brief = "Model ISE."; -
branches/gui/eml/controllers/lag_1.mso
r354 r683 23 23 24 24 ATTRIBUTES 25 Pallete = true;25 Pallete = false; 26 26 Icon = "icon/Lag_1"; 27 27 Brief = "Model Lag."; -
branches/gui/eml/controllers/lead_lag.mso
r354 r683 23 23 24 24 ATTRIBUTES 25 Pallete = true;25 Pallete = false; 26 26 Icon = "icon/Lead_Lag"; 27 27 Brief = "Model Lead lag."; -
branches/gui/eml/controllers/multiply.mso
r558 r683 23 23 24 24 ATTRIBUTES 25 Pallete = true;25 Pallete = false; 26 26 Icon = "icon/Multiply"; 27 27 Brief = "Model Multiply."; -
branches/gui/eml/controllers/ratio.mso
r354 r683 22 22 23 23 ATTRIBUTES 24 Pallete = true;24 Pallete = false; 25 25 Icon = "icon/Ratio"; 26 26 Brief = "Model Ratio."; -
branches/gui/eml/controllers/sum.mso
r354 r683 22 22 23 23 ATTRIBUTES 24 Pallete = true;24 Pallete = false; 25 25 Icon = "icon/Sum"; 26 26 Brief = "Model Sum.";
Note: See TracChangeset
for help on using the changeset viewer.