├── OptimizationAlgorithm.docx ├── mpc_qp10_int.m ├── mpc_qp11_int.m ├── sfun_mpc10_int.m ├── sfun_mpc11_int.m ├── sofc_system5_mpc11_int.mdl ├── xseqlse10_int.m └── xseqlse11_int.m /OptimizationAlgorithm.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bspivey/MatlabOptimization/870d4a41dd4fcd59e2789eee67aa3275e8f21d02/OptimizationAlgorithm.docx -------------------------------------------------------------------------------- /mpc_qp10_int.m: -------------------------------------------------------------------------------- 1 | % SOFC MPC QP Controller 2 | 3 | function [f,g] = mpc_qp10_int(uaug,x0,upast,A,B,C,yrvec,ph,ch,Qweights,Rweights,O,L,Ct,P,R,Qt,V,W,nx,ny,nu,UP1,UP2,UP3,t,sim_t_final) 4 | 5 | %% System Matrices 6 | %% Initialize variables 7 | % x0 = zeros(nx,1); 8 | yrvec = yrvec(1:ph*ny,1); 9 | 10 | %% Input handling 11 | u = uaug(1:nu*ch,1); 12 | slk = uaug(nu*ch+1:nu*ch+2*ny*(ph-1),1); 13 | % slk2 = uaug(nu*ch+2*ny*(ph-1)+1:length(uaug)); DEBUG 14 | 15 | %% Solve for the optimal u profile using QP 16 | du = (UP1 - UP2)*u - UP3*upast; 17 | 18 | % Regulatory approach 19 | % xdiff = L*(du - dusvec) + O*(x0 - xs) 20 | % Tracking approach 21 | xdiff = L*du + O*x0 - Ct*yrvec; 22 | 23 | % f = 0.5*xdiff'*Qt*xdiff + 0.5*du'*R*du + 0.5*slk'*V*slk + 24 | % 0.5*slk2'*W*slk2; DEBUG 25 | f = 0.5*xdiff'*Qt*xdiff + 0.5*du'*R*du + 0.5*slk'*V*slk; 26 | 27 | if nargout > 1 28 | g = [[xdiff'*Qt*L*(UP1 - UP2) + du'*R*(UP1 - UP2)], slk'*V]; 29 | % g = [[xdiff'*Qt*L*(UP1 - UP2) + du'*R*(UP1 - UP2)], slk'*V, slk2'* 30 | % W]; DEBUG 31 | end 32 | 33 | % if flag == 1 34 | % save('TEST_u0.mat','xdiff','du','slk','f'); 35 | % elseif flag == 2 36 | % save('TEST_uaug.mat','xdiff','du','slk','f'); 37 | % end 38 | 39 | if t > sim_t_final 40 | % GAMS CODE 41 | size(xdiff) 42 | size(du) 43 | size(slk) 44 | size(x0) 45 | size(yrvec) 46 | size(uaug) 47 | 48 | save('mpcdata.mat','Qt','R','V','L','O','Ct','UP1','UP2','UP3','x0','upast','yrvec'); 49 | save('debug.mat','xdiff','Qt','yrvec','Ct','J'); 50 | end 51 | 52 | 53 | 54 | 55 | -------------------------------------------------------------------------------- /mpc_qp11_int.m: -------------------------------------------------------------------------------- 1 | % SOFC MPC QP Controller 2 | 3 | function J = mpc_qp11_int(uaug,x0,upast,A,B,C,yrvec,ph,ch,Qweights,Rweights,O,L,Ct,P,R,Qt,V,nx,ny,nu,UP1,UP2,UP3) 4 | 5 | %% System Matrices 6 | %% Initialize variables 7 | % x0 = zeros(nx,1); 8 | yrvec = yrvec(1:ph*ny,1); 9 | 10 | %% Input handling 11 | u = uaug(1:nu*ch,1); 12 | slk = uaug(nu*ch+1:length(uaug),1); 13 | 14 | %% Solve for the optimal u profile using QP 15 | du = (UP1 - UP2)*u - UP3*upast; 16 | 17 | % Regulatory approach 18 | % xdiff = L*(du - dusvec) + O*(x0 - xs) 19 | % Tracking approach 20 | xdiff = L*du + O*x0 - Ct*yrvec; 21 | 22 | J = 0.5*xdiff'*Qt*xdiff + 0.5*du'*R*du + 0.5*slk'*V*slk; 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /sfun_mpc10_int.m: -------------------------------------------------------------------------------- 1 | function [sys,x0,str,ts] = sfun_mpc10_int(t,x,u,flag) 2 | 3 | switch flag, 4 | 5 | %%%%%%%%%%%%%%%%%% 6 | % Initialization % 7 | %%%%%%%%%%%%%%%%%% 8 | case 0, 9 | sizes = simsizes; 10 | 11 | sizes.NumContStates = 0; 12 | sizes.NumDiscStates = 1; 13 | sizes.NumOutputs = 5; 14 | sizes.NumInputs = 28; 15 | sizes.DirFeedthrough = 1; 16 | sizes.NumSampleTimes = 1; % at least one sample time is needed 17 | 18 | sys = simsizes(sizes); 19 | str = []; 20 | x0 = [1]; 21 | ts = [10 0]; 22 | 23 | %%%%%%%%%%% 24 | % Outputs % 25 | %%%%%%%%%%% 26 | case 3, 27 | disp('sample time') 28 | disp(t) 29 | tic 30 | disp('mpc case 3 is called') 31 | 32 | ny = 5; 33 | nu = 4; 34 | nx = 21; 35 | 36 | % Assigns inputs 37 | ymeas = u(1:ny,1) 38 | yref = u(ny+1:2*ny,1); 39 | umin = u(2*ny+1:2*ny+nu,1); 40 | umax = u(2*ny+nu+1:2*ny+2*nu,1); 41 | ymin = u(2*ny+2*nu+1:2*ny+2*nu+ny,1); 42 | ymax = u(3*ny+2*nu+1:3*ny+2*nu+ny,1); 43 | 44 | if (t > 1000) && (t <= 1500) 45 | yref(1) = -0.35; 46 | elseif (t > 1500) && (t <= 2000) 47 | yref(1) = 0.65; 48 | elseif (t > 2000) && (t <= 2500) 49 | yref(1) = -0.1; 50 | else 51 | yref(1) = 1.2; 52 | end 53 | 54 | % Create obsdata matrix 55 | obsdata(:,1) = ones(ny,1); % time 56 | obsdata(:,2) = ymeas; % observations 57 | obsdata(:,3) = 100*ones(ny,1); % weight 58 | obsdata(:,4) = [1:ny]'; % obsnumber 59 | 60 | % Estimate the state vector 61 | if exist('dupast.mat', 'file') 62 | dustruc = load('dupast.mat'); 63 | dupast = dustruc.du; 64 | else 65 | dupast = zeros(nu,1); 66 | end 67 | xseqlse10_int; 68 | disp('x0') 69 | x0 = X(:,obsfinal) 70 | 71 | % Solve for the next optimal 'move' 72 | if exist('upast.mat', 'file') 73 | ustruc = load('upast.mat'); 74 | upast = ustruc.upast; 75 | else 76 | upast = zeros(nu,1); 77 | end 78 | run_mpc10_int; 79 | 80 | ypred = yp; 81 | disp('ypred size') 82 | size(ypred) 83 | ypred 84 | delete('ypred.mat'); 85 | save('ypred.mat','ypred'); 86 | 87 | yp_temp = yp; 88 | if exist('yp.mat') 89 | load('yp.mat'); 90 | size(yp) 91 | size(yp_temp) 92 | yp = [yp; yp_temp] 93 | delete('yp.mat'); 94 | save('yp.mat','yp'); 95 | else 96 | save('yp.mat','yp'); 97 | end 98 | 99 | % Print output to screen 100 | disp('mpc inputs') 101 | fprintf('ymeas = %f\n\n', ymeas); 102 | fprintf('yref = %f\n\n', yref); 103 | fprintf('umin = %f\n\n', umin); 104 | fprintf('umax = %f\n\n', umax); 105 | disp('mpc outputs') 106 | disp(mv) 107 | 108 | sys = [mv(1:nu); 109 | obj] 110 | 111 | % Store calculated MV for future retrieval 112 | upast = mv(1:nu); 113 | save('upast.mat','upast'); 114 | save('dupast.mat','du'); 115 | yref0=yref; 116 | save('yref.mat','yref0'); 117 | try 118 | y = evalin('base','y'); 119 | u1 = evalin('base','u1'); 120 | u2 = evalin('base','u2'); 121 | u3 = evalin('base','u3'); 122 | u4 = evalin('base','u4'); 123 | catch 124 | y=[]; 125 | u1=[]; 126 | u2=[]; 127 | u3=[]; 128 | u4=[]; 129 | end 130 | save('y.mat','y'); 131 | save('u1.mat','u1'); 132 | save('u2.mat','u2'); 133 | save('u3.mat','u3'); 134 | save('u4.mat','u4'); 135 | 136 | disp('MPC time:') 137 | toc 138 | 139 | yref 140 | 141 | %%%%%%%%%%%%%%%%%%%%%%% 142 | % GetTimeOfNextVarHit % 143 | %%%%%%%%%%%%%%%%%%%%%%% 144 | case {1 2 4 9} % 1: continuous 145 | % 2: discrete 146 | sys=[]; % 4: calcTimeHit 147 | % 9: termination 148 | %%%%%%%%%%%%%%%%%%%% 149 | % Unexpected flags % 150 | %%%%%%%%%%%%%%%%%%%% 151 | otherwise 152 | error(['Unhandled flag = ',num2str(flag)]); 153 | 154 | end 155 | 156 | % end sfuntmpl 157 | -------------------------------------------------------------------------------- /sfun_mpc11_int.m: -------------------------------------------------------------------------------- 1 | function [sys,x0,str,ts] = sfun_mpc11_int(t,x,u,flag) 2 | 3 | switch flag, 4 | 5 | %%%%%%%%%%%%%%%%%% 6 | % Initialization % 7 | %%%%%%%%%%%%%%%%%% 8 | case 0, 9 | sizes = simsizes; 10 | 11 | sizes.NumContStates = 0; 12 | sizes.NumDiscStates = 1; % a discrete state is chosen for default purposes but not used 13 | sizes.NumOutputs = 2; 14 | sizes.NumInputs = 6; 15 | sizes.DirFeedthrough = 1; 16 | sizes.NumSampleTimes = 1; % at least one sample time is needed 17 | 18 | sys = simsizes(sizes); 19 | str = []; 20 | x0 = [1]; 21 | ts = [10 0]; 22 | 23 | %%%%%%%%%%% 24 | % Outputs % 25 | %%%%%%%%%%% 26 | case 3, 27 | disp('sample time') 28 | disp(t) 29 | tic 30 | disp('mpc case 3 is called') 31 | 32 | ny = 1; 33 | nu = 1; 34 | nx = 1; 35 | 36 | % Assigns inputs 37 | ymeas = u(1:ny,1) 38 | yref = u(ny+1:2*ny,1); 39 | umin = u(2*ny+1:2*ny+nu,1); 40 | umax = u(2*ny+nu+1:2*ny+2*nu,1); 41 | ymin = u(2*ny+2*nu+1:2*ny+2*nu+ny,1); 42 | ymax = u(3*ny+2*nu+1:3*ny+2*nu+ny,1); 43 | 44 | % Create obsdata matrix 45 | obsdata(:,1) = ones(ny,1); % time 46 | obsdata(:,2) = ymeas; % observations 47 | obsdata(:,3) = 100*ones(ny,1); % weight 48 | obsdata(:,4) = [1:ny]'; % obsnumber 49 | 50 | % Estimate the state vector 51 | if exist('dupast2.mat', 'file') 52 | dustruc = load('dupast2.mat'); 53 | dupast = dustruc.du; 54 | else 55 | dupast = zeros(nu,1); 56 | end 57 | xseqlse11_int; 58 | disp('x0') 59 | x0 = X(:,obsfinal) 60 | 61 | % Solve for the next optimal 'move' 62 | if exist('upast2.mat', 'file') 63 | ustruc = load('upast2.mat'); 64 | upast = ustruc.upast; 65 | else 66 | upast = zeros(nu,1); 67 | end 68 | run_mpc11_int; 69 | 70 | ypred = yp; 71 | disp('ypred size') 72 | size(ypred) 73 | ypred 74 | delete('ypred2.mat'); 75 | save('ypred2.mat','ypred'); 76 | 77 | yp_temp = yp; 78 | if exist('yp2.mat') 79 | load('yp2.mat'); 80 | size(yp) 81 | size(yp_temp) 82 | yp = [yp; yp_temp] 83 | delete('yp2.mat'); 84 | save('yp2.mat','yp'); 85 | else 86 | save('yp2.mat','yp'); 87 | end 88 | 89 | % Print output to screen 90 | disp('mpc inputs') 91 | fprintf('ymeas = %f\n\n', ymeas); 92 | fprintf('yref = %f\n\n', yref); 93 | fprintf('umin = %f\n\n', umin); 94 | fprintf('umax = %f\n\n', umax); 95 | disp('mpc outputs') 96 | disp(mv) 97 | 98 | sys = [mv(1:nu); 99 | obj] 100 | 101 | % Store calculated MV for future retrieval 102 | upast = mv(1:nu); 103 | save('upast2.mat','upast'); 104 | save('dupast2.mat','du'); 105 | yref0=yref; 106 | save('yref2.mat','yref0'); 107 | try 108 | y = evalin('base','y'); 109 | u1 = evalin('base','u1'); 110 | u2 = evalin('base','u2'); 111 | u3 = evalin('base','u3'); 112 | u4 = evalin('base','u4'); 113 | catch 114 | y=[]; 115 | u1=[]; 116 | u2=[]; 117 | u3=[]; 118 | u4=[]; 119 | end 120 | % save('y.mat','y'); 121 | % save('u1.mat','u1'); 122 | % save('u2.mat','u2'); 123 | % save('u3.mat','u3'); 124 | % save('u4.mat','u4'); 125 | 126 | disp('MPC time:') 127 | toc 128 | 129 | %%%%%%%%%%%%%%%%%%%%%%% 130 | % GetTimeOfNextVarHit % 131 | %%%%%%%%%%%%%%%%%%%%%%% 132 | case {1 2 4 9} % 1: continuous 133 | % 2: discrete 134 | sys=[]; % 4: calcTimeHit 135 | % 9: termination 136 | %%%%%%%%%%%%%%%%%%%% 137 | % Unexpected flags % 138 | %%%%%%%%%%%%%%%%%%%% 139 | otherwise 140 | error(['Unhandled flag = ',num2str(flag)]); 141 | 142 | end 143 | 144 | % end sfuntmpl 145 | -------------------------------------------------------------------------------- /sofc_system5_mpc11_int.mdl: -------------------------------------------------------------------------------- 1 | Model { 2 | Name "sofc_system5_mpc11_int" 3 | Version 7.6 4 | MdlSubVersion 0 5 | GraphicalInterface { 6 | NumRootInports 0 7 | NumRootOutports 1 8 | Outport { 9 | BusObject "" 10 | BusOutputAsStruct "off" 11 | Name "Out1" 12 | } 13 | ParameterArgumentNames "" 14 | ComputedModelVersion "1.1744" 15 | NumModelReferences 1 16 | ModelReference { 17 | ModelRefBlockPath "sofc_system5_mpc11_int/SOFC Model|sofc_system5_clean3" 18 | } 19 | NumTestPointedSignals 0 20 | } 21 | SavedCharacterEncoding "windows-1252" 22 | SaveDefaultBlockParams on 23 | ScopeRefreshTime 0.035000 24 | OverrideScopeRefreshTime on 25 | DisableAllScopes off 26 | DataTypeOverride "UseLocalSettings" 27 | DataTypeOverrideAppliesTo "AllNumericTypes" 28 | MinMaxOverflowLogging "UseLocalSettings" 29 | MinMaxOverflowArchiveMode "Overwrite" 30 | MaxMDLFileLineLength 120 31 | Created "Mon Aug 16 22:06:54 2010" 32 | Creator "Ben" 33 | UpdateHistory "UpdateHistoryNever" 34 | ModifiedByFormat "%" 35 | LastModifiedBy "Ben" 36 | ModifiedDateFormat "%" 37 | LastModifiedDate "Fri Sep 23 11:19:15 2011" 38 | RTWModifiedTimeStamp 238380426 39 | ModelVersionFormat "1.%" 40 | ConfigurationManager "None" 41 | SampleTimeColors off 42 | SampleTimeAnnotations off 43 | LibraryLinkDisplay "none" 44 | WideLines off 45 | ShowLineDimensions off 46 | ShowPortDataTypes off 47 | ShowLoopsOnError on 48 | IgnoreBidirectionalLines off 49 | ShowStorageClass off 50 | ShowTestPointIcons on 51 | ShowSignalResolutionIcons on 52 | ShowViewerIcons on 53 | SortedOrder on 54 | ExecutionContextIcon off 55 | ShowLinearizationAnnotations on 56 | BlockNameDataTip off 57 | BlockParametersDataTip off 58 | BlockDescriptionStringDataTip off 59 | ToolBar on 60 | StatusBar on 61 | BrowserShowLibraryLinks off 62 | BrowserLookUnderMasks off 63 | SimulationMode "normal" 64 | LinearizationMsg "none" 65 | Profile off 66 | ParamWorkspaceSource "MATLABWorkspace" 67 | AccelSystemTargetFile "accel.tlc" 68 | AccelTemplateMakefile "accel_default_tmf" 69 | AccelMakeCommand "make_rtw" 70 | TryForcingSFcnDF off 71 | RecordCoverage off 72 | CovPath "/" 73 | CovSaveName "covdata" 74 | CovMetricSettings "dw" 75 | CovNameIncrementing off 76 | CovHtmlReporting on 77 | CovForceBlockReductionOff on 78 | covSaveCumulativeToWorkspaceVar on 79 | CovSaveSingleToWorkspaceVar on 80 | CovCumulativeVarName "covCumulativeData" 81 | CovCumulativeReport off 82 | CovReportOnPause on 83 | CovModelRefEnable "Off" 84 | CovExternalEMLEnable off 85 | ExtModeBatchMode off 86 | ExtModeEnableFloating on 87 | ExtModeTrigType "manual" 88 | ExtModeTrigMode "normal" 89 | ExtModeTrigPort "1" 90 | ExtModeTrigElement "any" 91 | ExtModeTrigDuration 1000 92 | ExtModeTrigDurationFloating "auto" 93 | ExtModeTrigHoldOff 0 94 | ExtModeTrigDelay 0 95 | ExtModeTrigDirection "rising" 96 | ExtModeTrigLevel 0 97 | ExtModeArchiveMode "off" 98 | ExtModeAutoIncOneShot off 99 | ExtModeIncDirWhenArm off 100 | ExtModeAddSuffixToVar off 101 | ExtModeWriteAllDataToWs off 102 | ExtModeArmWhenConnect on 103 | ExtModeSkipDownloadWhenConnect off 104 | ExtModeLogAll on 105 | ExtModeAutoUpdateStatusClock on 106 | BufferReuse on 107 | ShowModelReferenceBlockVersion on 108 | ShowModelReferenceBlockIO on 109 | Array { 110 | Type "Handle" 111 | Dimension 1 112 | Simulink.ConfigSet { 113 | $ObjectID 1 114 | Version "1.10.0" 115 | Array { 116 | Type "Handle" 117 | Dimension 8 118 | Simulink.SolverCC { 119 | $ObjectID 2 120 | Version "1.10.0" 121 | StartTime "0.0" 122 | StopTime "3500" 123 | AbsTol "auto" 124 | FixedStep "1" 125 | InitialStep "auto" 126 | MaxNumMinSteps "-1" 127 | MaxOrder 5 128 | ZcThreshold "auto" 129 | ConsecutiveZCsStepRelTol "10*128*eps" 130 | MaxConsecutiveZCs "1000" 131 | ExtrapolationOrder 4 132 | NumberNewtonIterations 1 133 | MaxStep "1" 134 | MinStep "auto" 135 | MaxConsecutiveMinStep "1" 136 | RelTol "1e-3" 137 | SolverMode "Auto" 138 | ConcurrentTasks off 139 | Solver "FixedStepDiscrete" 140 | SolverName "FixedStepDiscrete" 141 | SolverJacobianMethodControl "auto" 142 | ShapePreserveControl "DisableAll" 143 | ZeroCrossControl "UseLocalSettings" 144 | ZeroCrossAlgorithm "Nonadaptive" 145 | AlgebraicLoopSolver "TrustRegion" 146 | SolverResetMethod "Fast" 147 | PositivePriorityOrder off 148 | AutoInsertRateTranBlk off 149 | SampleTimeConstraint "Unconstrained" 150 | InsertRTBMode "Whenever possible" 151 | } 152 | Simulink.DataIOCC { 153 | $ObjectID 3 154 | Version "1.10.0" 155 | Decimation "1" 156 | ExternalInput "[t, u]" 157 | FinalStateName "xFinal" 158 | InitialState "xInitial" 159 | LimitDataPoints on 160 | MaxDataPoints "1000" 161 | LoadExternalInput off 162 | LoadInitialState off 163 | SaveFinalState off 164 | SaveCompleteFinalSimState off 165 | SaveFormat "Array" 166 | SaveOutput on 167 | SaveState off 168 | SignalLogging on 169 | DSMLogging on 170 | InspectSignalLogs off 171 | SaveTime on 172 | ReturnWorkspaceOutputs off 173 | StateSaveName "xout" 174 | TimeSaveName "tout" 175 | OutputSaveName "yout" 176 | SignalLoggingName "logsout" 177 | DSMLoggingName "dsmout" 178 | OutputOption "RefineOutputTimes" 179 | OutputTimes "[]" 180 | ReturnWorkspaceOutputsName "out" 181 | Refine "1" 182 | } 183 | Simulink.OptimizationCC { 184 | $ObjectID 4 185 | Version "1.10.0" 186 | Array { 187 | Type "Cell" 188 | Dimension 7 189 | Cell "BooleansAsBitfields" 190 | Cell "PassReuseOutputArgsAs" 191 | Cell "PassReuseOutputArgsThreshold" 192 | Cell "ZeroExternalMemoryAtStartup" 193 | Cell "ZeroInternalMemoryAtStartup" 194 | Cell "OptimizeModelRefInitCode" 195 | Cell "NoFixptDivByZeroProtection" 196 | PropName "DisabledProps" 197 | } 198 | BlockReduction on 199 | BooleanDataType on 200 | ConditionallyExecuteInputs on 201 | InlineParams off 202 | UseIntDivNetSlope off 203 | UseSpecifiedMinMax off 204 | InlineInvariantSignals off 205 | OptimizeBlockIOStorage on 206 | BufferReuse on 207 | EnhancedBackFolding off 208 | StrengthReduction off 209 | ExpressionFolding on 210 | BooleansAsBitfields off 211 | BitfieldContainerType "uint_T" 212 | EnableMemcpy on 213 | MemcpyThreshold 64 214 | PassReuseOutputArgsAs "Structure reference" 215 | ExpressionDepthLimit 2147483647 216 | FoldNonRolledExpr on 217 | LocalBlockOutputs on 218 | RollThreshold 5 219 | SystemCodeInlineAuto off 220 | StateBitsets off 221 | DataBitsets off 222 | UseTempVars off 223 | ZeroExternalMemoryAtStartup on 224 | ZeroInternalMemoryAtStartup on 225 | InitFltsAndDblsToZero off 226 | NoFixptDivByZeroProtection off 227 | EfficientFloat2IntCast off 228 | EfficientMapNaN2IntZero on 229 | OptimizeModelRefInitCode off 230 | LifeSpan "inf" 231 | MaxStackSize "Inherit from target" 232 | BufferReusableBoundary on 233 | SimCompilerOptimization "Off" 234 | AccelVerboseBuild off 235 | } 236 | Simulink.DebuggingCC { 237 | $ObjectID 5 238 | Version "1.10.0" 239 | RTPrefix "error" 240 | ConsistencyChecking "none" 241 | ArrayBoundsChecking "none" 242 | SignalInfNanChecking "none" 243 | SignalRangeChecking "none" 244 | ReadBeforeWriteMsg "UseLocalSettings" 245 | WriteAfterWriteMsg "UseLocalSettings" 246 | WriteAfterReadMsg "UseLocalSettings" 247 | AlgebraicLoopMsg "warning" 248 | ArtificialAlgebraicLoopMsg "warning" 249 | SaveWithDisabledLinksMsg "warning" 250 | SaveWithParameterizedLinksMsg "warning" 251 | CheckSSInitialOutputMsg on 252 | UnderspecifiedInitializationDetection "Classic" 253 | MergeDetectMultiDrivingBlocksExec "none" 254 | CheckExecutionContextPreStartOutputMsg off 255 | CheckExecutionContextRuntimeOutputMsg off 256 | SignalResolutionControl "UseLocalSettings" 257 | BlockPriorityViolationMsg "warning" 258 | MinStepSizeMsg "warning" 259 | TimeAdjustmentMsg "none" 260 | MaxConsecutiveZCsMsg "error" 261 | MaskedZcDiagnostic "warning" 262 | IgnoredZcDiagnostic "warning" 263 | SolverPrmCheckMsg "warning" 264 | InheritedTsInSrcMsg "warning" 265 | DiscreteInheritContinuousMsg "warning" 266 | MultiTaskDSMMsg "error" 267 | MultiTaskCondExecSysMsg "error" 268 | MultiTaskRateTransMsg "error" 269 | SingleTaskRateTransMsg "none" 270 | TasksWithSamePriorityMsg "warning" 271 | SigSpecEnsureSampleTimeMsg "warning" 272 | CheckMatrixSingularityMsg "none" 273 | IntegerOverflowMsg "warning" 274 | Int32ToFloatConvMsg "warning" 275 | ParameterDowncastMsg "error" 276 | ParameterOverflowMsg "error" 277 | ParameterUnderflowMsg "none" 278 | ParameterPrecisionLossMsg "warning" 279 | ParameterTunabilityLossMsg "warning" 280 | FixptConstUnderflowMsg "none" 281 | FixptConstOverflowMsg "none" 282 | FixptConstPrecisionLossMsg "none" 283 | UnderSpecifiedDataTypeMsg "none" 284 | UnnecessaryDatatypeConvMsg "none" 285 | VectorMatrixConversionMsg "none" 286 | InvalidFcnCallConnMsg "error" 287 | FcnCallInpInsideContextMsg "Use local settings" 288 | SignalLabelMismatchMsg "none" 289 | UnconnectedInputMsg "warning" 290 | UnconnectedOutputMsg "warning" 291 | UnconnectedLineMsg "warning" 292 | SFcnCompatibilityMsg "none" 293 | UniqueDataStoreMsg "none" 294 | BusObjectLabelMismatch "warning" 295 | RootOutportRequireBusObject "warning" 296 | AssertControl "UseLocalSettings" 297 | EnableOverflowDetection off 298 | ModelReferenceIOMsg "none" 299 | ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" 300 | ModelReferenceVersionMismatchMessage "none" 301 | ModelReferenceIOMismatchMessage "none" 302 | ModelReferenceCSMismatchMessage "none" 303 | UnknownTsInhSupMsg "warning" 304 | ModelReferenceDataLoggingMessage "warning" 305 | ModelReferenceSymbolNameMessage "warning" 306 | ModelReferenceExtraNoncontSigs "error" 307 | StateNameClashWarn "warning" 308 | SimStateInterfaceChecksumMismatchMsg "warning" 309 | InitInArrayFormatMsg "warning" 310 | StrictBusMsg "ErrorLevel1" 311 | BusNameAdapt "WarnAndRepair" 312 | NonBusSignalsTreatedAsBus "none" 313 | LoggingUnavailableSignals "error" 314 | BlockIODiagnostic "none" 315 | SFUnusedDataAndEventsDiag "warning" 316 | SFUnexpectedBacktrackingDiag "warning" 317 | SFInvalidInputDataAccessInChartInitDiag "warning" 318 | SFNoUnconditionalDefaultTransitionDiag "warning" 319 | SFTransitionOutsideNaturalParentDiag "warning" 320 | } 321 | Simulink.HardwareCC { 322 | $ObjectID 6 323 | Version "1.10.0" 324 | ProdBitPerChar 8 325 | ProdBitPerShort 16 326 | ProdBitPerInt 32 327 | ProdBitPerLong 32 328 | ProdBitPerFloat 32 329 | ProdBitPerDouble 64 330 | ProdBitPerPointer 32 331 | ProdLargestAtomicInteger "Char" 332 | ProdLargestAtomicFloat "None" 333 | ProdIntDivRoundTo "Undefined" 334 | ProdEndianess "Unspecified" 335 | ProdWordSize 32 336 | ProdShiftRightIntArith on 337 | ProdHWDeviceType "32-bit Generic" 338 | TargetBitPerChar 8 339 | TargetBitPerShort 16 340 | TargetBitPerInt 32 341 | TargetBitPerLong 32 342 | TargetBitPerFloat 32 343 | TargetBitPerDouble 64 344 | TargetBitPerPointer 32 345 | TargetLargestAtomicInteger "Char" 346 | TargetLargestAtomicFloat "None" 347 | TargetShiftRightIntArith on 348 | TargetIntDivRoundTo "Undefined" 349 | TargetEndianess "Unspecified" 350 | TargetWordSize 32 351 | TargetTypeEmulationWarnSuppressLevel 0 352 | TargetPreprocMaxBitsSint 32 353 | TargetPreprocMaxBitsUint 32 354 | TargetHWDeviceType "Specified" 355 | TargetUnknown off 356 | ProdEqTarget on 357 | } 358 | Simulink.ModelReferenceCC { 359 | $ObjectID 7 360 | Version "1.10.0" 361 | UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" 362 | CheckModelReferenceTargetMessage "error" 363 | EnableParallelModelReferenceBuilds off 364 | ParallelModelReferenceErrorOnInvalidPool on 365 | ParallelModelReferenceMATLABWorkerInit "None" 366 | ModelReferenceNumInstancesAllowed "Multi" 367 | PropagateVarSize "Infer from blocks in model" 368 | ModelReferencePassRootInputsByReference on 369 | ModelReferenceMinAlgLoopOccurrences off 370 | PropagateSignalLabelsOutOfModel off 371 | SupportModelReferenceSimTargetCustomCode off 372 | } 373 | Simulink.SFSimCC { 374 | $ObjectID 8 375 | Version "1.10.0" 376 | SFSimEnableDebug on 377 | SFSimOverflowDetection on 378 | SFSimEcho on 379 | SimBlas on 380 | SimCtrlC on 381 | SimExtrinsic on 382 | SimIntegrity on 383 | SimUseLocalCustomCode off 384 | SimParseCustomCode on 385 | SimBuildMode "sf_incremental_build" 386 | } 387 | Simulink.RTWCC { 388 | $BackupClass "Simulink.RTWCC" 389 | $ObjectID 9 390 | Version "1.10.0" 391 | Array { 392 | Type "Cell" 393 | Dimension 6 394 | Cell "IncludeHyperlinkInReport" 395 | Cell "GenerateTraceInfo" 396 | Cell "GenerateTraceReport" 397 | Cell "GenerateTraceReportSl" 398 | Cell "GenerateTraceReportSf" 399 | Cell "GenerateTraceReportEml" 400 | PropName "DisabledProps" 401 | } 402 | SystemTargetFile "grt.tlc" 403 | GenCodeOnly off 404 | MakeCommand "make_rtw" 405 | GenerateMakefile on 406 | TemplateMakefile "grt_default_tmf" 407 | GenerateReport off 408 | SaveLog off 409 | RTWVerbose on 410 | RetainRTWFile off 411 | ProfileTLC off 412 | TLCDebug off 413 | TLCCoverage off 414 | TLCAssert off 415 | ProcessScriptMode "Default" 416 | ConfigurationMode "Optimized" 417 | ConfigAtBuild off 418 | RTWUseLocalCustomCode off 419 | RTWUseSimCustomCode off 420 | IncludeHyperlinkInReport off 421 | LaunchReport off 422 | TargetLang "C" 423 | IncludeBusHierarchyInRTWFileBlockHierarchyMap off 424 | IncludeERTFirstTime off 425 | GenerateTraceInfo off 426 | GenerateTraceReport off 427 | GenerateTraceReportSl off 428 | GenerateTraceReportSf off 429 | GenerateTraceReportEml off 430 | GenerateCodeInfo off 431 | GenerateSLWebview off 432 | RTWCompilerOptimization "Off" 433 | CheckMdlBeforeBuild "Off" 434 | CustomRebuildMode "OnUpdate" 435 | Array { 436 | Type "Handle" 437 | Dimension 2 438 | Simulink.CodeAppCC { 439 | $ObjectID 10 440 | Version "1.10.0" 441 | Array { 442 | Type "Cell" 443 | Dimension 19 444 | Cell "IgnoreCustomStorageClasses" 445 | Cell "IgnoreTestpoints" 446 | Cell "InsertBlockDesc" 447 | Cell "SFDataObjDesc" 448 | Cell "SimulinkDataObjDesc" 449 | Cell "DefineNamingRule" 450 | Cell "SignalNamingRule" 451 | Cell "ParamNamingRule" 452 | Cell "InlinedPrmAccess" 453 | Cell "CustomSymbolStr" 454 | Cell "CustomSymbolStrGlobalVar" 455 | Cell "CustomSymbolStrType" 456 | Cell "CustomSymbolStrField" 457 | Cell "CustomSymbolStrFcn" 458 | Cell "CustomSymbolStrFcnArg" 459 | Cell "CustomSymbolStrBlkIO" 460 | Cell "CustomSymbolStrTmpVar" 461 | Cell "CustomSymbolStrMacro" 462 | Cell "ReqsInCode" 463 | PropName "DisabledProps" 464 | } 465 | ForceParamTrailComments off 466 | GenerateComments on 467 | IgnoreCustomStorageClasses on 468 | IgnoreTestpoints off 469 | IncHierarchyInIds off 470 | MaxIdLength 31 471 | PreserveName off 472 | PreserveNameWithParent off 473 | ShowEliminatedStatement off 474 | IncAutoGenComments off 475 | SimulinkDataObjDesc off 476 | SFDataObjDesc off 477 | MATLABFcnDesc off 478 | IncDataTypeInIds off 479 | MangleLength 1 480 | CustomSymbolStrGlobalVar "$R$N$M" 481 | CustomSymbolStrType "$N$R$M" 482 | CustomSymbolStrField "$N$M" 483 | CustomSymbolStrFcn "$R$N$M$F" 484 | CustomSymbolStrFcnArg "rt$I$N$M" 485 | CustomSymbolStrBlkIO "rtb_$N$M" 486 | CustomSymbolStrTmpVar "$N$M" 487 | CustomSymbolStrMacro "$R$N$M" 488 | DefineNamingRule "None" 489 | ParamNamingRule "None" 490 | SignalNamingRule "None" 491 | InsertBlockDesc off 492 | InsertPolySpaceComments off 493 | SimulinkBlockComments on 494 | MATLABSourceComments off 495 | EnableCustomComments off 496 | InlinedPrmAccess "Literals" 497 | ReqsInCode off 498 | UseSimReservedNames off 499 | } 500 | Simulink.GRTTargetCC { 501 | $BackupClass "Simulink.TargetCC" 502 | $ObjectID 11 503 | Version "1.10.0" 504 | Array { 505 | Type "Cell" 506 | Dimension 16 507 | Cell "GeneratePreprocessorConditionals" 508 | Cell "IncludeMdlTerminateFcn" 509 | Cell "CombineOutputUpdateFcns" 510 | Cell "SuppressErrorStatus" 511 | Cell "ERTCustomFileBanners" 512 | Cell "GenerateSampleERTMain" 513 | Cell "GenerateTestInterfaces" 514 | Cell "ModelStepFunctionPrototypeControlCompliant" 515 | Cell "CPPClassGenCompliant" 516 | Cell "MultiInstanceERTCode" 517 | Cell "PurelyIntegerCode" 518 | Cell "PortableWordSizes" 519 | Cell "SupportComplex" 520 | Cell "SupportAbsoluteTime" 521 | Cell "SupportContinuousTime" 522 | Cell "SupportNonInlinedSFcns" 523 | PropName "DisabledProps" 524 | } 525 | TargetFcnLib "ansi_tfl_table_tmw.mat" 526 | TargetLibSuffix "" 527 | TargetPreCompLibLocation "" 528 | TargetFunctionLibrary "ANSI_C" 529 | UtilityFuncGeneration "Auto" 530 | ERTMultiwordTypeDef "System defined" 531 | ERTCodeCoverageTool "None" 532 | ERTMultiwordLength 256 533 | MultiwordLength 2048 534 | GenerateFullHeader on 535 | GenerateSampleERTMain off 536 | GenerateTestInterfaces off 537 | IsPILTarget off 538 | ModelReferenceCompliant on 539 | ParMdlRefBuildCompliant on 540 | CompOptLevelCompliant on 541 | IncludeMdlTerminateFcn on 542 | GeneratePreprocessorConditionals "Disable all" 543 | CombineOutputUpdateFcns off 544 | CombineSignalStateStructs off 545 | SuppressErrorStatus off 546 | ERTFirstTimeCompliant off 547 | IncludeFileDelimiter "Auto" 548 | ERTCustomFileBanners off 549 | SupportAbsoluteTime on 550 | LogVarNameModifier "rt_" 551 | MatFileLogging on 552 | MultiInstanceERTCode off 553 | SupportNonFinite on 554 | SupportComplex on 555 | PurelyIntegerCode off 556 | SupportContinuousTime on 557 | SupportNonInlinedSFcns on 558 | SupportVariableSizeSignals off 559 | EnableShiftOperators on 560 | ParenthesesLevel "Nominal" 561 | PortableWordSizes off 562 | ModelStepFunctionPrototypeControlCompliant off 563 | CPPClassGenCompliant off 564 | AutosarCompliant off 565 | UseMalloc off 566 | ExtMode off 567 | ExtModeStaticAlloc off 568 | ExtModeTesting off 569 | ExtModeStaticAllocSize 1000000 570 | ExtModeTransport 0 571 | ExtModeMexFile "ext_comm" 572 | ExtModeIntrfLevel "Level1" 573 | RTWCAPISignals off 574 | RTWCAPIParams off 575 | RTWCAPIStates off 576 | GenerateASAP2 off 577 | } 578 | PropName "Components" 579 | } 580 | } 581 | PropName "Components" 582 | } 583 | Name "Configuration" 584 | CurrentDlgPage "Diagnostics/Sample Time" 585 | ConfigPrmDlgPosition " [ 531, 133, 1389, 887 ] " 586 | } 587 | PropName "ConfigurationSets" 588 | } 589 | Simulink.ConfigSet { 590 | $PropName "ActiveConfigurationSet" 591 | $ObjectID 1 592 | } 593 | BlockDefaults { 594 | ForegroundColor "black" 595 | BackgroundColor "white" 596 | DropShadow off 597 | NamePlacement "normal" 598 | FontName "Helvetica" 599 | FontSize 10 600 | FontWeight "normal" 601 | FontAngle "normal" 602 | ShowName on 603 | BlockRotation 0 604 | BlockMirror off 605 | } 606 | AnnotationDefaults { 607 | HorizontalAlignment "center" 608 | VerticalAlignment "middle" 609 | ForegroundColor "black" 610 | BackgroundColor "white" 611 | DropShadow off 612 | FontName "Helvetica" 613 | FontSize 10 614 | FontWeight "normal" 615 | FontAngle "normal" 616 | UseDisplayTextAsClickCallback off 617 | } 618 | LineDefaults { 619 | FontName "Helvetica" 620 | FontSize 9 621 | FontWeight "normal" 622 | FontAngle "normal" 623 | } 624 | BlockParameterDefaults { 625 | Block { 626 | BlockType Constant 627 | Value "1" 628 | VectorParams1D on 629 | SamplingMode "Sample based" 630 | OutMin "[]" 631 | OutMax "[]" 632 | OutDataTypeStr "Inherit: Inherit from 'Constant value'" 633 | LockScale off 634 | SampleTime "inf" 635 | FramePeriod "inf" 636 | PreserveConstantTs off 637 | } 638 | Block { 639 | BlockType Demux 640 | Outputs "4" 641 | DisplayOption "none" 642 | BusSelectionMode off 643 | } 644 | Block { 645 | BlockType From 646 | IconDisplay "Tag" 647 | TagVisibility "local" 648 | } 649 | Block { 650 | BlockType Goto 651 | IconDisplay "Tag" 652 | } 653 | Block { 654 | BlockType Inport 655 | Port "1" 656 | OutMin "[]" 657 | OutMax "[]" 658 | OutDataTypeStr "Inherit: auto" 659 | LockScale off 660 | BusOutputAsStruct off 661 | PortDimensions "-1" 662 | VarSizeSig "Inherit" 663 | SampleTime "-1" 664 | SignalType "auto" 665 | SamplingMode "auto" 666 | LatchByDelayingOutsideSignal off 667 | LatchInputForFeedbackSignals off 668 | Interpolate on 669 | } 670 | Block { 671 | BlockType ModelReference 672 | Variant off 673 | GeneratePreprocessorConditionals off 674 | CopyOfModelProtected off 675 | DefaultDataLogging off 676 | } 677 | Block { 678 | BlockType Mux 679 | Inputs "4" 680 | DisplayOption "none" 681 | UseBusObject off 682 | BusObject "BusObject" 683 | NonVirtualBus off 684 | } 685 | Block { 686 | BlockType Outport 687 | Port "1" 688 | OutMin "[]" 689 | OutMax "[]" 690 | OutDataTypeStr "Inherit: auto" 691 | LockScale off 692 | BusOutputAsStruct off 693 | PortDimensions "-1" 694 | VarSizeSig "Inherit" 695 | SampleTime "-1" 696 | SignalType "auto" 697 | SamplingMode "auto" 698 | SourceOfInitialOutputValue "Dialog" 699 | OutputWhenDisabled "held" 700 | InitialOutput "[]" 701 | } 702 | Block { 703 | BlockType Product 704 | Inputs "2" 705 | Multiplication "Element-wise(.*)" 706 | CollapseMode "All dimensions" 707 | CollapseDim "1" 708 | InputSameDT on 709 | OutMin "[]" 710 | OutMax "[]" 711 | OutDataTypeStr "Inherit: Same as first input" 712 | LockScale off 713 | RndMeth "Zero" 714 | SaturateOnIntegerOverflow on 715 | SampleTime "-1" 716 | } 717 | Block { 718 | BlockType RateTransition 719 | Integrity on 720 | Deterministic on 721 | X0 "0" 722 | OutPortSampleTimeOpt "Specify" 723 | OutPortSampleTimeMultiple "1" 724 | OutPortSampleTime "-1" 725 | } 726 | Block { 727 | BlockType "S-Function" 728 | FunctionName "system" 729 | SFunctionModules "''" 730 | PortCounts "[]" 731 | SFunctionDeploymentMode off 732 | } 733 | Block { 734 | BlockType Scope 735 | ModelBased off 736 | TickLabels "OneTimeTick" 737 | ZoomMode "on" 738 | Grid "on" 739 | TimeRange "auto" 740 | YMin "-5" 741 | YMax "5" 742 | SaveToWorkspace off 743 | SaveName "ScopeData" 744 | LimitDataPoints on 745 | MaxDataPoints "5000" 746 | Decimation "1" 747 | SampleInput off 748 | SampleTime "-1" 749 | } 750 | Block { 751 | BlockType SubSystem 752 | ShowPortLabels "FromPortIcon" 753 | Permissions "ReadWrite" 754 | PermitHierarchicalResolution "All" 755 | TreatAsAtomicUnit off 756 | CheckFcnCallInpInsideContextMsg off 757 | SystemSampleTime "-1" 758 | RTWFcnNameOpts "Auto" 759 | RTWFileNameOpts "Auto" 760 | RTWMemSecFuncInitTerm "Inherit from model" 761 | RTWMemSecFuncExecute "Inherit from model" 762 | RTWMemSecDataConstants "Inherit from model" 763 | RTWMemSecDataInternal "Inherit from model" 764 | RTWMemSecDataParameters "Inherit from model" 765 | SimViewingDevice off 766 | DataTypeOverride "UseLocalSettings" 767 | DataTypeOverrideAppliesTo "AllNumericTypes" 768 | MinMaxOverflowLogging "UseLocalSettings" 769 | Variant off 770 | GeneratePreprocessorConditionals off 771 | } 772 | Block { 773 | BlockType Sum 774 | IconShape "rectangular" 775 | Inputs "++" 776 | CollapseMode "All dimensions" 777 | CollapseDim "1" 778 | InputSameDT on 779 | AccumDataTypeStr "Inherit: Inherit via internal rule" 780 | OutMin "[]" 781 | OutMax "[]" 782 | OutDataTypeStr "Inherit: Same as first input" 783 | LockScale off 784 | RndMeth "Floor" 785 | SaturateOnIntegerOverflow on 786 | SampleTime "-1" 787 | } 788 | Block { 789 | BlockType ToFile 790 | Filename "untitled.mat" 791 | MatrixName "ans" 792 | SaveFormat "Array" 793 | Decimation "1" 794 | SampleTime "-1" 795 | } 796 | Block { 797 | BlockType ToWorkspace 798 | VariableName "simulink_output" 799 | MaxDataPoints "1000" 800 | Decimation "1" 801 | SampleTime "0" 802 | FixptAsFi off 803 | } 804 | Block { 805 | BlockType ZeroOrderHold 806 | SampleTime "1" 807 | } 808 | } 809 | System { 810 | Name "sofc_system5_mpc11_int" 811 | Location [823, 361, 1767, 999] 812 | Open on 813 | ModelBrowserVisibility off 814 | ModelBrowserWidth 200 815 | ScreenColor "white" 816 | PaperOrientation "landscape" 817 | PaperPositionMode "auto" 818 | PaperType "usletter" 819 | PaperUnits "inches" 820 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 821 | TiledPageScale 1 822 | ShowPageBoundaries off 823 | ZoomFactor "48" 824 | ReportName "simulink-default.rpt" 825 | SIDHighWatermark "1362" 826 | Block { 827 | BlockType Demux 828 | Name "Demux" 829 | SID "353" 830 | Ports [1, 5] 831 | Position [870, 207, 875, 423] 832 | ShowName off 833 | Outputs "5" 834 | DisplayOption "bar" 835 | } 836 | Block { 837 | BlockType Demux 838 | Name "Demux1" 839 | SID "1357" 840 | Ports [1, 2] 841 | Position [825, 540, 830, 635] 842 | ShowName off 843 | Outputs "2" 844 | DisplayOption "bar" 845 | } 846 | Block { 847 | BlockType "S-Function" 848 | Name "LMPC Controller" 849 | SID "947" 850 | Ports [1, 1] 851 | Position [550, 204, 755, 426] 852 | Priority "3" 853 | FunctionName "sfun_mpc10_int" 854 | EnableBusSupport off 855 | } 856 | Block { 857 | BlockType "S-Function" 858 | Name "LMPC Controller1" 859 | SID "1352" 860 | Ports [1, 1] 861 | Position [530, 479, 735, 701] 862 | Priority "3" 863 | FunctionName "sfun_mpc11_int" 864 | EnableBusSupport off 865 | } 866 | Block { 867 | BlockType Goto 868 | Name "Limits" 869 | SID "634" 870 | Position [220, 1160, 300, 1180] 871 | BackgroundColor "yellow" 872 | Priority "1" 873 | GotoTag "umin" 874 | TagVisibility "local" 875 | } 876 | Block { 877 | BlockType Goto 878 | Name "Limits1" 879 | SID "637" 880 | Position [550, 1155, 630, 1175] 881 | BackgroundColor "yellow" 882 | Priority "1" 883 | GotoTag "umax" 884 | TagVisibility "local" 885 | } 886 | Block { 887 | BlockType Goto 888 | Name "Limits10" 889 | SID "1329" 890 | Position [220, 1280, 300, 1300] 891 | BackgroundColor "yellow" 892 | Priority "1" 893 | GotoTag "mairmin" 894 | TagVisibility "local" 895 | } 896 | Block { 897 | BlockType Goto 898 | Name "Limits11" 899 | SID "1330" 900 | Position [550, 1280, 630, 1300] 901 | BackgroundColor "yellow" 902 | Priority "1" 903 | GotoTag "mairmax" 904 | TagVisibility "local" 905 | } 906 | Block { 907 | BlockType From 908 | Name "Limits12" 909 | SID "1347" 910 | Position [380, 638, 450, 662] 911 | BackgroundColor "yellow" 912 | Priority "1" 913 | GotoTag "uamin" 914 | } 915 | Block { 916 | BlockType From 917 | Name "Limits13" 918 | SID "1348" 919 | Position [380, 678, 450, 702] 920 | BackgroundColor "yellow" 921 | Priority "1" 922 | GotoTag "uamax" 923 | } 924 | Block { 925 | BlockType From 926 | Name "Limits14" 927 | SID "1349" 928 | Position [380, 558, 450, 582] 929 | BackgroundColor "yellow" 930 | Priority "1" 931 | GotoTag "mairmin" 932 | } 933 | Block { 934 | BlockType From 935 | Name "Limits15" 936 | SID "1350" 937 | Position [380, 598, 450, 622] 938 | BackgroundColor "yellow" 939 | Priority "1" 940 | GotoTag "mairmax" 941 | } 942 | Block { 943 | BlockType From 944 | Name "Limits2" 945 | SID "638" 946 | Position [380, 278, 450, 302] 947 | BackgroundColor "yellow" 948 | Priority "1" 949 | GotoTag "umin" 950 | } 951 | Block { 952 | BlockType From 953 | Name "Limits3" 954 | SID "639" 955 | Position [380, 328, 450, 352] 956 | BackgroundColor "yellow" 957 | Priority "1" 958 | GotoTag "umax" 959 | } 960 | Block { 961 | BlockType From 962 | Name "Limits4" 963 | SID "1022" 964 | Position [380, 378, 450, 402] 965 | BackgroundColor "yellow" 966 | Priority "1" 967 | GotoTag "ymin" 968 | } 969 | Block { 970 | BlockType From 971 | Name "Limits5" 972 | SID "1023" 973 | Position [380, 428, 450, 452] 974 | BackgroundColor "yellow" 975 | Priority "1" 976 | GotoTag "ymax" 977 | } 978 | Block { 979 | BlockType Goto 980 | Name "Limits6" 981 | SID "1024" 982 | Position [220, 845, 300, 865] 983 | BackgroundColor "yellow" 984 | Priority "1" 985 | GotoTag "ymin" 986 | TagVisibility "local" 987 | } 988 | Block { 989 | BlockType Goto 990 | Name "Limits7" 991 | SID "1042" 992 | Position [550, 845, 630, 865] 993 | BackgroundColor "yellow" 994 | Priority "1" 995 | GotoTag "ymax" 996 | TagVisibility "local" 997 | } 998 | Block { 999 | BlockType Goto 1000 | Name "Limits8" 1001 | SID "1311" 1002 | Position [210, 1015, 290, 1035] 1003 | BackgroundColor "yellow" 1004 | Priority "1" 1005 | GotoTag "uamin" 1006 | TagVisibility "local" 1007 | } 1008 | Block { 1009 | BlockType Goto 1010 | Name "Limits9" 1011 | SID "1312" 1012 | Position [550, 1015, 630, 1035] 1013 | BackgroundColor "yellow" 1014 | Priority "1" 1015 | GotoTag "uamax" 1016 | TagVisibility "local" 1017 | } 1018 | Block { 1019 | BlockType Mux 1020 | Name "Mux" 1021 | SID "459" 1022 | Ports [8, 1] 1023 | Position [1230, 189, 1235, 431] 1024 | ShowName off 1025 | Inputs "8" 1026 | DisplayOption "bar" 1027 | } 1028 | Block { 1029 | BlockType Mux 1030 | Name "Mux1" 1031 | SID "1002" 1032 | Ports [5, 1] 1033 | Position [895, 37, 900, 183] 1034 | BlockMirror on 1035 | ShowName off 1036 | Inputs "5" 1037 | DisplayOption "bar" 1038 | } 1039 | Block { 1040 | BlockType Mux 1041 | Name "Mux2" 1042 | SID "974" 1043 | Ports [5, 1] 1044 | Position [345, 118, 350, 362] 1045 | ShowName off 1046 | Inputs "5" 1047 | DisplayOption "bar" 1048 | } 1049 | Block { 1050 | BlockType Mux 1051 | Name "Mux3" 1052 | SID "991" 1053 | Ports [4, 1] 1054 | Position [185, 1073, 190, 1262] 1055 | ShowName off 1056 | DisplayOption "bar" 1057 | } 1058 | Block { 1059 | BlockType Mux 1060 | Name "Mux4" 1061 | SID "1192" 1062 | Ports [4, 1] 1063 | Position [500, 1068, 505, 1257] 1064 | ShowName off 1065 | DisplayOption "bar" 1066 | } 1067 | Block { 1068 | BlockType Mux 1069 | Name "Mux5" 1070 | SID "948" 1071 | Ports [6, 1] 1072 | Position [500, 170, 505, 460] 1073 | ShowName off 1074 | Inputs "6" 1075 | DisplayOption "bar" 1076 | } 1077 | Block { 1078 | BlockType Mux 1079 | Name "Mux6" 1080 | SID "1025" 1081 | Ports [5, 1] 1082 | Position [185, 723, 190, 987] 1083 | ShowName off 1084 | Inputs "5" 1085 | DisplayOption "bar" 1086 | } 1087 | Block { 1088 | BlockType Mux 1089 | Name "Mux7" 1090 | SID "1127" 1091 | Ports [5, 1] 1092 | Position [500, 723, 505, 987] 1093 | ShowName off 1094 | Inputs "5" 1095 | DisplayOption "bar" 1096 | } 1097 | Block { 1098 | BlockType Mux 1099 | Name "Mux8" 1100 | SID "1351" 1101 | Ports [6, 1] 1102 | Position [500, 475, 505, 705] 1103 | ShowName off 1104 | Inputs "6" 1105 | DisplayOption "bar" 1106 | } 1107 | Block { 1108 | BlockType Constant 1109 | Name "Power_max" 1110 | SID "1128" 1111 | Position [330, 740, 390, 770] 1112 | Priority "1" 1113 | FontName "Arial" 1114 | FontSize 14 1115 | Value "250" 1116 | } 1117 | Block { 1118 | BlockType Constant 1119 | Name "Power_min" 1120 | SID "1041" 1121 | Position [15, 740, 75, 770] 1122 | Priority "1" 1123 | FontName "Arial" 1124 | FontSize 14 1125 | Value "0" 1126 | } 1127 | Block { 1128 | BlockType RateTransition 1129 | Name "Rate Transition" 1130 | SID "741" 1131 | Position [790, 294, 830, 336] 1132 | Deterministic off 1133 | OutPortSampleTimeMultiple "5" 1134 | OutPortSampleTime "1" 1135 | } 1136 | Block { 1137 | BlockType RateTransition 1138 | Name "Rate Transition1" 1139 | SID "1353" 1140 | Position [760, 569, 800, 611] 1141 | Deterministic off 1142 | OutPortSampleTimeMultiple "5" 1143 | OutPortSampleTime "1" 1144 | } 1145 | Block { 1146 | BlockType Constant 1147 | Name "SCR" 1148 | SID "1248" 1149 | Position [160, 324, 220, 356] 1150 | Priority "1" 1151 | FontName "Arial" 1152 | FontSize 14 1153 | Value "3" 1154 | } 1155 | Block { 1156 | BlockType Constant 1157 | Name "SCR_max" 1158 | SID "1129" 1159 | Position [330, 940, 390, 970] 1160 | Priority "1" 1161 | FontName "Arial" 1162 | FontSize 14 1163 | Value "10" 1164 | } 1165 | Block { 1166 | BlockType Constant 1167 | Name "SCR_min" 1168 | SID "1119" 1169 | Position [15, 940, 75, 970] 1170 | Priority "1" 1171 | FontName "Arial" 1172 | FontSize 14 1173 | Value "2" 1174 | } 1175 | Block { 1176 | BlockType ModelReference 1177 | Name "SOFC Model" 1178 | SID "723" 1179 | Ports [6, 8] 1180 | Position [940, 196, 1190, 424] 1181 | Priority "1" 1182 | ModelNameDialog "sofc_system5_clean3" 1183 | SimulationMode "Normal" 1184 | ModelReferenceVersion "1.62" 1185 | List { 1186 | ListType InputPortNames 1187 | port0 "In1" 1188 | port1 "In2" 1189 | port2 "In3" 1190 | port3 "In4" 1191 | port4 "In5" 1192 | port5 "In7" 1193 | } 1194 | List { 1195 | ListType OutputPortNames 1196 | port0 "Out22" 1197 | port1 "Out23" 1198 | port2 "Out24" 1199 | port3 "Out25" 1200 | port4 "Out26" 1201 | port5 "Out27" 1202 | port6 "Out1" 1203 | port7 "Out2" 1204 | } 1205 | List { 1206 | ListType OutputPortOutputBusAsStructs 1207 | port0 "off" 1208 | port1 "off" 1209 | port2 "off" 1210 | port3 "off" 1211 | port4 "off" 1212 | port5 "off" 1213 | port6 "off" 1214 | port7 "off" 1215 | } 1216 | CopyOfModelName "sofc_system5_clean3" 1217 | MaskDisplay "image(imread('sofc.png'))" 1218 | MaskIconFrame on 1219 | MaskIconOpaque on 1220 | MaskIconRotate "none" 1221 | MaskPortRotate "default" 1222 | MaskIconUnits "autoscale" 1223 | } 1224 | Block { 1225 | BlockType SubSystem 1226 | Name "ScaleIn" 1227 | SID "756" 1228 | Ports [1, 1] 1229 | Position [110, 1176, 155, 1204] 1230 | MinAlgLoopOccurrences off 1231 | PropExecContextOutsideSubsystem off 1232 | RTWSystemCode "Auto" 1233 | FunctionWithSeparateData off 1234 | Opaque off 1235 | RequestExecContextInheritance off 1236 | MaskHideContents off 1237 | System { 1238 | Name "ScaleIn" 1239 | Location [573, 259, 1097, 574] 1240 | Open off 1241 | ModelBrowserVisibility off 1242 | ModelBrowserWidth 200 1243 | ScreenColor "white" 1244 | PaperOrientation "landscape" 1245 | PaperPositionMode "auto" 1246 | PaperType "usletter" 1247 | PaperUnits "inches" 1248 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 1249 | TiledPageScale 1 1250 | ShowPageBoundaries off 1251 | ZoomFactor "100" 1252 | Block { 1253 | BlockType Inport 1254 | Name "In1" 1255 | SID "757" 1256 | Position [50, 53, 80, 67] 1257 | IconDisplay "Port number" 1258 | } 1259 | Block { 1260 | BlockType Sum 1261 | Name "Add" 1262 | SID "868" 1263 | Ports [2, 1] 1264 | Position [115, 52, 145, 83] 1265 | Inputs "+-" 1266 | InputSameDT off 1267 | OutDataTypeStr "Inherit: Inherit via internal rule" 1268 | SaturateOnIntegerOverflow off 1269 | } 1270 | Block { 1271 | BlockType Product 1272 | Name "Multiply" 1273 | SID "867" 1274 | Ports [2, 1] 1275 | Position [170, 60, 200, 95] 1276 | Inputs "*/" 1277 | InputSameDT off 1278 | OutDataTypeStr "Inherit: Inherit via internal rule" 1279 | RndMeth "Floor" 1280 | SaturateOnIntegerOverflow off 1281 | } 1282 | Block { 1283 | BlockType Constant 1284 | Name "Unom" 1285 | SID "870" 1286 | Position [50, 95, 80, 125] 1287 | Value "8e5" 1288 | } 1289 | Block { 1290 | BlockType Constant 1291 | Name "dUnom" 1292 | SID "869" 1293 | Position [50, 150, 80, 180] 1294 | Value "1e5" 1295 | } 1296 | Block { 1297 | BlockType Outport 1298 | Name "Out1" 1299 | SID "764" 1300 | Position [260, 73, 290, 87] 1301 | IconDisplay "Port number" 1302 | } 1303 | Line { 1304 | SrcBlock "Unom" 1305 | SrcPort 1 1306 | Points [5, 0; 0, -35] 1307 | DstBlock "Add" 1308 | DstPort 2 1309 | } 1310 | Line { 1311 | SrcBlock "In1" 1312 | SrcPort 1 1313 | DstBlock "Add" 1314 | DstPort 1 1315 | } 1316 | Line { 1317 | SrcBlock "Add" 1318 | SrcPort 1 1319 | DstBlock "Multiply" 1320 | DstPort 1 1321 | } 1322 | Line { 1323 | SrcBlock "dUnom" 1324 | SrcPort 1 1325 | Points [65, 0; 0, -80] 1326 | DstBlock "Multiply" 1327 | DstPort 2 1328 | } 1329 | Line { 1330 | SrcBlock "Multiply" 1331 | SrcPort 1 1332 | DstBlock "Out1" 1333 | DstPort 1 1334 | } 1335 | } 1336 | } 1337 | Block { 1338 | BlockType SubSystem 1339 | Name "ScaleIn1" 1340 | SID "983" 1341 | Ports [1, 1] 1342 | Position [110, 1086, 155, 1114] 1343 | MinAlgLoopOccurrences off 1344 | PropExecContextOutsideSubsystem off 1345 | RTWSystemCode "Auto" 1346 | FunctionWithSeparateData off 1347 | Opaque off 1348 | RequestExecContextInheritance off 1349 | MaskHideContents off 1350 | System { 1351 | Name "ScaleIn1" 1352 | Location [573, 259, 1097, 574] 1353 | Open off 1354 | ModelBrowserVisibility off 1355 | ModelBrowserWidth 200 1356 | ScreenColor "white" 1357 | PaperOrientation "landscape" 1358 | PaperPositionMode "auto" 1359 | PaperType "usletter" 1360 | PaperUnits "inches" 1361 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 1362 | TiledPageScale 1 1363 | ShowPageBoundaries off 1364 | ZoomFactor "100" 1365 | Block { 1366 | BlockType Inport 1367 | Name "In1" 1368 | SID "984" 1369 | Position [50, 53, 80, 67] 1370 | IconDisplay "Port number" 1371 | } 1372 | Block { 1373 | BlockType Sum 1374 | Name "Add" 1375 | SID "985" 1376 | Ports [2, 1] 1377 | Position [115, 52, 145, 83] 1378 | Inputs "+-" 1379 | InputSameDT off 1380 | OutDataTypeStr "Inherit: Inherit via internal rule" 1381 | SaturateOnIntegerOverflow off 1382 | } 1383 | Block { 1384 | BlockType Product 1385 | Name "Multiply" 1386 | SID "986" 1387 | Ports [2, 1] 1388 | Position [170, 60, 200, 95] 1389 | Inputs "*/" 1390 | InputSameDT off 1391 | OutDataTypeStr "Inherit: Inherit via internal rule" 1392 | RndMeth "Floor" 1393 | SaturateOnIntegerOverflow off 1394 | } 1395 | Block { 1396 | BlockType Constant 1397 | Name "Unom" 1398 | SID "987" 1399 | Position [50, 95, 80, 125] 1400 | Value "373" 1401 | } 1402 | Block { 1403 | BlockType Constant 1404 | Name "dUnom" 1405 | SID "988" 1406 | Position [50, 150, 80, 180] 1407 | Value "125" 1408 | } 1409 | Block { 1410 | BlockType Outport 1411 | Name "Out1" 1412 | SID "989" 1413 | Position [260, 73, 290, 87] 1414 | IconDisplay "Port number" 1415 | } 1416 | Line { 1417 | SrcBlock "Unom" 1418 | SrcPort 1 1419 | Points [5, 0; 0, -35] 1420 | DstBlock "Add" 1421 | DstPort 2 1422 | } 1423 | Line { 1424 | SrcBlock "In1" 1425 | SrcPort 1 1426 | DstBlock "Add" 1427 | DstPort 1 1428 | } 1429 | Line { 1430 | SrcBlock "Add" 1431 | SrcPort 1 1432 | DstBlock "Multiply" 1433 | DstPort 1 1434 | } 1435 | Line { 1436 | SrcBlock "dUnom" 1437 | SrcPort 1 1438 | Points [65, 0; 0, -80] 1439 | DstBlock "Multiply" 1440 | DstPort 2 1441 | } 1442 | Line { 1443 | SrcBlock "Multiply" 1444 | SrcPort 1 1445 | DstBlock "Out1" 1446 | DstPort 1 1447 | } 1448 | } 1449 | } 1450 | Block { 1451 | BlockType SubSystem 1452 | Name "ScaleIn2" 1453 | SID "1193" 1454 | Ports [1, 1] 1455 | Position [425, 1171, 470, 1199] 1456 | MinAlgLoopOccurrences off 1457 | PropExecContextOutsideSubsystem off 1458 | RTWSystemCode "Auto" 1459 | FunctionWithSeparateData off 1460 | Opaque off 1461 | RequestExecContextInheritance off 1462 | MaskHideContents off 1463 | System { 1464 | Name "ScaleIn2" 1465 | Location [573, 259, 1097, 574] 1466 | Open off 1467 | ModelBrowserVisibility off 1468 | ModelBrowserWidth 200 1469 | ScreenColor "white" 1470 | PaperOrientation "landscape" 1471 | PaperPositionMode "auto" 1472 | PaperType "usletter" 1473 | PaperUnits "inches" 1474 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 1475 | TiledPageScale 1 1476 | ShowPageBoundaries off 1477 | ZoomFactor "100" 1478 | Block { 1479 | BlockType Inport 1480 | Name "In1" 1481 | SID "1194" 1482 | Position [50, 53, 80, 67] 1483 | IconDisplay "Port number" 1484 | } 1485 | Block { 1486 | BlockType Sum 1487 | Name "Add" 1488 | SID "1195" 1489 | Ports [2, 1] 1490 | Position [115, 52, 145, 83] 1491 | Inputs "+-" 1492 | InputSameDT off 1493 | OutDataTypeStr "Inherit: Inherit via internal rule" 1494 | SaturateOnIntegerOverflow off 1495 | } 1496 | Block { 1497 | BlockType Product 1498 | Name "Multiply" 1499 | SID "1196" 1500 | Ports [2, 1] 1501 | Position [170, 60, 200, 95] 1502 | Inputs "*/" 1503 | InputSameDT off 1504 | OutDataTypeStr "Inherit: Inherit via internal rule" 1505 | RndMeth "Floor" 1506 | SaturateOnIntegerOverflow off 1507 | } 1508 | Block { 1509 | BlockType Constant 1510 | Name "Unom" 1511 | SID "1197" 1512 | Position [50, 95, 80, 125] 1513 | Value "8e5" 1514 | } 1515 | Block { 1516 | BlockType Constant 1517 | Name "dUnom" 1518 | SID "1198" 1519 | Position [50, 150, 80, 180] 1520 | Value "1e5" 1521 | } 1522 | Block { 1523 | BlockType Outport 1524 | Name "Out1" 1525 | SID "1199" 1526 | Position [260, 73, 290, 87] 1527 | IconDisplay "Port number" 1528 | } 1529 | Line { 1530 | SrcBlock "Unom" 1531 | SrcPort 1 1532 | Points [5, 0; 0, -35] 1533 | DstBlock "Add" 1534 | DstPort 2 1535 | } 1536 | Line { 1537 | SrcBlock "In1" 1538 | SrcPort 1 1539 | DstBlock "Add" 1540 | DstPort 1 1541 | } 1542 | Line { 1543 | SrcBlock "Add" 1544 | SrcPort 1 1545 | DstBlock "Multiply" 1546 | DstPort 1 1547 | } 1548 | Line { 1549 | SrcBlock "dUnom" 1550 | SrcPort 1 1551 | Points [65, 0; 0, -80] 1552 | DstBlock "Multiply" 1553 | DstPort 2 1554 | } 1555 | Line { 1556 | SrcBlock "Multiply" 1557 | SrcPort 1 1558 | DstBlock "Out1" 1559 | DstPort 1 1560 | } 1561 | } 1562 | } 1563 | Block { 1564 | BlockType SubSystem 1565 | Name "ScaleIn3" 1566 | SID "1168" 1567 | Ports [1, 1] 1568 | Position [110, 1131, 155, 1159] 1569 | MinAlgLoopOccurrences off 1570 | PropExecContextOutsideSubsystem off 1571 | RTWSystemCode "Auto" 1572 | FunctionWithSeparateData off 1573 | Opaque off 1574 | RequestExecContextInheritance off 1575 | MaskHideContents off 1576 | System { 1577 | Name "ScaleIn3" 1578 | Location [573, 259, 1097, 574] 1579 | Open off 1580 | ModelBrowserVisibility off 1581 | ModelBrowserWidth 200 1582 | ScreenColor "white" 1583 | PaperOrientation "landscape" 1584 | PaperPositionMode "auto" 1585 | PaperType "usletter" 1586 | PaperUnits "inches" 1587 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 1588 | TiledPageScale 1 1589 | ShowPageBoundaries off 1590 | ZoomFactor "100" 1591 | Block { 1592 | BlockType Inport 1593 | Name "In1" 1594 | SID "1169" 1595 | Position [50, 53, 80, 67] 1596 | IconDisplay "Port number" 1597 | } 1598 | Block { 1599 | BlockType Sum 1600 | Name "Add" 1601 | SID "1170" 1602 | Ports [2, 1] 1603 | Position [115, 52, 145, 83] 1604 | Inputs "+-" 1605 | InputSameDT off 1606 | OutDataTypeStr "Inherit: Inherit via internal rule" 1607 | SaturateOnIntegerOverflow off 1608 | } 1609 | Block { 1610 | BlockType Product 1611 | Name "Multiply" 1612 | SID "1171" 1613 | Ports [2, 1] 1614 | Position [170, 60, 200, 95] 1615 | Inputs "*/" 1616 | InputSameDT off 1617 | OutDataTypeStr "Inherit: Inherit via internal rule" 1618 | RndMeth "Floor" 1619 | SaturateOnIntegerOverflow off 1620 | } 1621 | Block { 1622 | BlockType Constant 1623 | Name "Unom" 1624 | SID "1172" 1625 | Position [50, 95, 80, 125] 1626 | Value "3.5e5" 1627 | } 1628 | Block { 1629 | BlockType Constant 1630 | Name "dUnom" 1631 | SID "1173" 1632 | Position [50, 150, 80, 180] 1633 | Value "5e4" 1634 | } 1635 | Block { 1636 | BlockType Outport 1637 | Name "Out1" 1638 | SID "1174" 1639 | Position [260, 73, 290, 87] 1640 | IconDisplay "Port number" 1641 | } 1642 | Line { 1643 | SrcBlock "Unom" 1644 | SrcPort 1 1645 | Points [5, 0; 0, -35] 1646 | DstBlock "Add" 1647 | DstPort 2 1648 | } 1649 | Line { 1650 | SrcBlock "In1" 1651 | SrcPort 1 1652 | DstBlock "Add" 1653 | DstPort 1 1654 | } 1655 | Line { 1656 | SrcBlock "Add" 1657 | SrcPort 1 1658 | DstBlock "Multiply" 1659 | DstPort 1 1660 | } 1661 | Line { 1662 | SrcBlock "dUnom" 1663 | SrcPort 1 1664 | Points [65, 0; 0, -80] 1665 | DstBlock "Multiply" 1666 | DstPort 2 1667 | } 1668 | Line { 1669 | SrcBlock "Multiply" 1670 | SrcPort 1 1671 | DstBlock "Out1" 1672 | DstPort 1 1673 | } 1674 | } 1675 | } 1676 | Block { 1677 | BlockType SubSystem 1678 | Name "ScaleIn4" 1679 | SID "1184" 1680 | Ports [1, 1] 1681 | Position [110, 1221, 155, 1249] 1682 | MinAlgLoopOccurrences off 1683 | PropExecContextOutsideSubsystem off 1684 | RTWSystemCode "Auto" 1685 | FunctionWithSeparateData off 1686 | Opaque off 1687 | RequestExecContextInheritance off 1688 | MaskHideContents off 1689 | System { 1690 | Name "ScaleIn4" 1691 | Location [573, 259, 1097, 574] 1692 | Open off 1693 | ModelBrowserVisibility off 1694 | ModelBrowserWidth 200 1695 | ScreenColor "white" 1696 | PaperOrientation "landscape" 1697 | PaperPositionMode "auto" 1698 | PaperType "usletter" 1699 | PaperUnits "inches" 1700 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 1701 | TiledPageScale 1 1702 | ShowPageBoundaries off 1703 | ZoomFactor "100" 1704 | Block { 1705 | BlockType Inport 1706 | Name "In1" 1707 | SID "1185" 1708 | Position [50, 53, 80, 67] 1709 | IconDisplay "Port number" 1710 | } 1711 | Block { 1712 | BlockType Sum 1713 | Name "Add" 1714 | SID "1186" 1715 | Ports [2, 1] 1716 | Position [115, 52, 145, 83] 1717 | Inputs "+-" 1718 | InputSameDT off 1719 | OutDataTypeStr "Inherit: Inherit via internal rule" 1720 | SaturateOnIntegerOverflow off 1721 | } 1722 | Block { 1723 | BlockType Product 1724 | Name "Multiply" 1725 | SID "1187" 1726 | Ports [2, 1] 1727 | Position [170, 60, 200, 95] 1728 | Inputs "*/" 1729 | InputSameDT off 1730 | OutDataTypeStr "Inherit: Inherit via internal rule" 1731 | RndMeth "Floor" 1732 | SaturateOnIntegerOverflow off 1733 | } 1734 | Block { 1735 | BlockType Constant 1736 | Name "Unom" 1737 | SID "1188" 1738 | Position [50, 95, 80, 125] 1739 | Value ".63" 1740 | } 1741 | Block { 1742 | BlockType Constant 1743 | Name "dUnom" 1744 | SID "1189" 1745 | Position [50, 150, 80, 180] 1746 | Value ".04" 1747 | } 1748 | Block { 1749 | BlockType Outport 1750 | Name "Out1" 1751 | SID "1190" 1752 | Position [260, 73, 290, 87] 1753 | IconDisplay "Port number" 1754 | } 1755 | Line { 1756 | SrcBlock "Unom" 1757 | SrcPort 1 1758 | Points [5, 0; 0, -35] 1759 | DstBlock "Add" 1760 | DstPort 2 1761 | } 1762 | Line { 1763 | SrcBlock "In1" 1764 | SrcPort 1 1765 | DstBlock "Add" 1766 | DstPort 1 1767 | } 1768 | Line { 1769 | SrcBlock "Add" 1770 | SrcPort 1 1771 | DstBlock "Multiply" 1772 | DstPort 1 1773 | } 1774 | Line { 1775 | SrcBlock "dUnom" 1776 | SrcPort 1 1777 | Points [65, 0; 0, -80] 1778 | DstBlock "Multiply" 1779 | DstPort 2 1780 | } 1781 | Line { 1782 | SrcBlock "Multiply" 1783 | SrcPort 1 1784 | DstBlock "Out1" 1785 | DstPort 1 1786 | } 1787 | } 1788 | } 1789 | Block { 1790 | BlockType SubSystem 1791 | Name "ScaleIn5" 1792 | SID "1270" 1793 | Ports [1, 1] 1794 | Position [425, 1081, 470, 1109] 1795 | MinAlgLoopOccurrences off 1796 | PropExecContextOutsideSubsystem off 1797 | RTWSystemCode "Auto" 1798 | FunctionWithSeparateData off 1799 | Opaque off 1800 | RequestExecContextInheritance off 1801 | MaskHideContents off 1802 | System { 1803 | Name "ScaleIn5" 1804 | Location [573, 259, 1097, 574] 1805 | Open off 1806 | ModelBrowserVisibility off 1807 | ModelBrowserWidth 200 1808 | ScreenColor "white" 1809 | PaperOrientation "landscape" 1810 | PaperPositionMode "auto" 1811 | PaperType "usletter" 1812 | PaperUnits "inches" 1813 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 1814 | TiledPageScale 1 1815 | ShowPageBoundaries off 1816 | ZoomFactor "100" 1817 | Block { 1818 | BlockType Inport 1819 | Name "In1" 1820 | SID "1271" 1821 | Position [50, 53, 80, 67] 1822 | IconDisplay "Port number" 1823 | } 1824 | Block { 1825 | BlockType Sum 1826 | Name "Add" 1827 | SID "1272" 1828 | Ports [2, 1] 1829 | Position [115, 52, 145, 83] 1830 | Inputs "+-" 1831 | InputSameDT off 1832 | OutDataTypeStr "Inherit: Inherit via internal rule" 1833 | SaturateOnIntegerOverflow off 1834 | } 1835 | Block { 1836 | BlockType Product 1837 | Name "Multiply" 1838 | SID "1273" 1839 | Ports [2, 1] 1840 | Position [170, 60, 200, 95] 1841 | Inputs "*/" 1842 | InputSameDT off 1843 | OutDataTypeStr "Inherit: Inherit via internal rule" 1844 | RndMeth "Floor" 1845 | SaturateOnIntegerOverflow off 1846 | } 1847 | Block { 1848 | BlockType Constant 1849 | Name "Unom" 1850 | SID "1274" 1851 | Position [50, 95, 80, 125] 1852 | Value "373" 1853 | } 1854 | Block { 1855 | BlockType Constant 1856 | Name "dUnom" 1857 | SID "1275" 1858 | Position [50, 150, 80, 180] 1859 | Value "125" 1860 | } 1861 | Block { 1862 | BlockType Outport 1863 | Name "Out1" 1864 | SID "1276" 1865 | Position [260, 73, 290, 87] 1866 | IconDisplay "Port number" 1867 | } 1868 | Line { 1869 | SrcBlock "Unom" 1870 | SrcPort 1 1871 | Points [5, 0; 0, -35] 1872 | DstBlock "Add" 1873 | DstPort 2 1874 | } 1875 | Line { 1876 | SrcBlock "In1" 1877 | SrcPort 1 1878 | DstBlock "Add" 1879 | DstPort 1 1880 | } 1881 | Line { 1882 | SrcBlock "Add" 1883 | SrcPort 1 1884 | DstBlock "Multiply" 1885 | DstPort 1 1886 | } 1887 | Line { 1888 | SrcBlock "dUnom" 1889 | SrcPort 1 1890 | Points [65, 0; 0, -80] 1891 | DstBlock "Multiply" 1892 | DstPort 2 1893 | } 1894 | Line { 1895 | SrcBlock "Multiply" 1896 | SrcPort 1 1897 | DstBlock "Out1" 1898 | DstPort 1 1899 | } 1900 | } 1901 | } 1902 | Block { 1903 | BlockType SubSystem 1904 | Name "ScaleIn6" 1905 | SID "1277" 1906 | Ports [1, 1] 1907 | Position [425, 1126, 470, 1154] 1908 | MinAlgLoopOccurrences off 1909 | PropExecContextOutsideSubsystem off 1910 | RTWSystemCode "Auto" 1911 | FunctionWithSeparateData off 1912 | Opaque off 1913 | RequestExecContextInheritance off 1914 | MaskHideContents off 1915 | System { 1916 | Name "ScaleIn6" 1917 | Location [573, 259, 1097, 574] 1918 | Open off 1919 | ModelBrowserVisibility off 1920 | ModelBrowserWidth 200 1921 | ScreenColor "white" 1922 | PaperOrientation "landscape" 1923 | PaperPositionMode "auto" 1924 | PaperType "usletter" 1925 | PaperUnits "inches" 1926 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 1927 | TiledPageScale 1 1928 | ShowPageBoundaries off 1929 | ZoomFactor "100" 1930 | Block { 1931 | BlockType Inport 1932 | Name "In1" 1933 | SID "1278" 1934 | Position [50, 53, 80, 67] 1935 | IconDisplay "Port number" 1936 | } 1937 | Block { 1938 | BlockType Sum 1939 | Name "Add" 1940 | SID "1279" 1941 | Ports [2, 1] 1942 | Position [115, 52, 145, 83] 1943 | Inputs "+-" 1944 | InputSameDT off 1945 | OutDataTypeStr "Inherit: Inherit via internal rule" 1946 | SaturateOnIntegerOverflow off 1947 | } 1948 | Block { 1949 | BlockType Product 1950 | Name "Multiply" 1951 | SID "1280" 1952 | Ports [2, 1] 1953 | Position [170, 60, 200, 95] 1954 | Inputs "*/" 1955 | InputSameDT off 1956 | OutDataTypeStr "Inherit: Inherit via internal rule" 1957 | RndMeth "Floor" 1958 | SaturateOnIntegerOverflow off 1959 | } 1960 | Block { 1961 | BlockType Constant 1962 | Name "Unom" 1963 | SID "1281" 1964 | Position [50, 95, 80, 125] 1965 | Value "3.5e5" 1966 | } 1967 | Block { 1968 | BlockType Constant 1969 | Name "dUnom" 1970 | SID "1282" 1971 | Position [50, 150, 80, 180] 1972 | Value "5e4" 1973 | } 1974 | Block { 1975 | BlockType Outport 1976 | Name "Out1" 1977 | SID "1283" 1978 | Position [260, 73, 290, 87] 1979 | IconDisplay "Port number" 1980 | } 1981 | Line { 1982 | SrcBlock "Unom" 1983 | SrcPort 1 1984 | Points [5, 0; 0, -35] 1985 | DstBlock "Add" 1986 | DstPort 2 1987 | } 1988 | Line { 1989 | SrcBlock "In1" 1990 | SrcPort 1 1991 | DstBlock "Add" 1992 | DstPort 1 1993 | } 1994 | Line { 1995 | SrcBlock "Add" 1996 | SrcPort 1 1997 | DstBlock "Multiply" 1998 | DstPort 1 1999 | } 2000 | Line { 2001 | SrcBlock "dUnom" 2002 | SrcPort 1 2003 | Points [65, 0; 0, -80] 2004 | DstBlock "Multiply" 2005 | DstPort 2 2006 | } 2007 | Line { 2008 | SrcBlock "Multiply" 2009 | SrcPort 1 2010 | DstBlock "Out1" 2011 | DstPort 1 2012 | } 2013 | } 2014 | } 2015 | Block { 2016 | BlockType SubSystem 2017 | Name "ScaleIn7" 2018 | SID "1214" 2019 | Ports [1, 1] 2020 | Position [425, 1216, 470, 1244] 2021 | MinAlgLoopOccurrences off 2022 | PropExecContextOutsideSubsystem off 2023 | RTWSystemCode "Auto" 2024 | FunctionWithSeparateData off 2025 | Opaque off 2026 | RequestExecContextInheritance off 2027 | MaskHideContents off 2028 | System { 2029 | Name "ScaleIn7" 2030 | Location [573, 259, 1097, 574] 2031 | Open off 2032 | ModelBrowserVisibility off 2033 | ModelBrowserWidth 200 2034 | ScreenColor "white" 2035 | PaperOrientation "landscape" 2036 | PaperPositionMode "auto" 2037 | PaperType "usletter" 2038 | PaperUnits "inches" 2039 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 2040 | TiledPageScale 1 2041 | ShowPageBoundaries off 2042 | ZoomFactor "100" 2043 | Block { 2044 | BlockType Inport 2045 | Name "In1" 2046 | SID "1215" 2047 | Position [50, 53, 80, 67] 2048 | IconDisplay "Port number" 2049 | } 2050 | Block { 2051 | BlockType Sum 2052 | Name "Add" 2053 | SID "1216" 2054 | Ports [2, 1] 2055 | Position [115, 52, 145, 83] 2056 | Inputs "+-" 2057 | InputSameDT off 2058 | OutDataTypeStr "Inherit: Inherit via internal rule" 2059 | SaturateOnIntegerOverflow off 2060 | } 2061 | Block { 2062 | BlockType Product 2063 | Name "Multiply" 2064 | SID "1217" 2065 | Ports [2, 1] 2066 | Position [170, 60, 200, 95] 2067 | Inputs "*/" 2068 | InputSameDT off 2069 | OutDataTypeStr "Inherit: Inherit via internal rule" 2070 | RndMeth "Floor" 2071 | SaturateOnIntegerOverflow off 2072 | } 2073 | Block { 2074 | BlockType Constant 2075 | Name "Unom" 2076 | SID "1218" 2077 | Position [50, 95, 80, 125] 2078 | Value ".63" 2079 | } 2080 | Block { 2081 | BlockType Constant 2082 | Name "dUnom" 2083 | SID "1219" 2084 | Position [50, 150, 80, 180] 2085 | Value ".04" 2086 | } 2087 | Block { 2088 | BlockType Outport 2089 | Name "Out1" 2090 | SID "1220" 2091 | Position [260, 73, 290, 87] 2092 | IconDisplay "Port number" 2093 | } 2094 | Line { 2095 | SrcBlock "Unom" 2096 | SrcPort 1 2097 | Points [5, 0; 0, -35] 2098 | DstBlock "Add" 2099 | DstPort 2 2100 | } 2101 | Line { 2102 | SrcBlock "In1" 2103 | SrcPort 1 2104 | DstBlock "Add" 2105 | DstPort 1 2106 | } 2107 | Line { 2108 | SrcBlock "Add" 2109 | SrcPort 1 2110 | DstBlock "Multiply" 2111 | DstPort 1 2112 | } 2113 | Line { 2114 | SrcBlock "dUnom" 2115 | SrcPort 1 2116 | Points [65, 0; 0, -80] 2117 | DstBlock "Multiply" 2118 | DstPort 2 2119 | } 2120 | Line { 2121 | SrcBlock "Multiply" 2122 | SrcPort 1 2123 | DstBlock "Out1" 2124 | DstPort 1 2125 | } 2126 | } 2127 | } 2128 | Block { 2129 | BlockType SubSystem 2130 | Name "ScaleIn8" 2131 | SID "1321" 2132 | Ports [1, 1] 2133 | Position [110, 1276, 155, 1304] 2134 | MinAlgLoopOccurrences off 2135 | PropExecContextOutsideSubsystem off 2136 | RTWSystemCode "Auto" 2137 | FunctionWithSeparateData off 2138 | Opaque off 2139 | RequestExecContextInheritance off 2140 | MaskHideContents off 2141 | System { 2142 | Name "ScaleIn8" 2143 | Location [378, 354, 902, 669] 2144 | Open off 2145 | ModelBrowserVisibility off 2146 | ModelBrowserWidth 200 2147 | ScreenColor "white" 2148 | PaperOrientation "landscape" 2149 | PaperPositionMode "auto" 2150 | PaperType "usletter" 2151 | PaperUnits "inches" 2152 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 2153 | TiledPageScale 1 2154 | ShowPageBoundaries off 2155 | ZoomFactor "100" 2156 | Block { 2157 | BlockType Inport 2158 | Name "In1" 2159 | SID "1322" 2160 | Position [50, 53, 80, 67] 2161 | IconDisplay "Port number" 2162 | } 2163 | Block { 2164 | BlockType Sum 2165 | Name "Add" 2166 | SID "1323" 2167 | Ports [2, 1] 2168 | Position [115, 52, 145, 83] 2169 | Inputs "+-" 2170 | InputSameDT off 2171 | OutDataTypeStr "Inherit: Inherit via internal rule" 2172 | SaturateOnIntegerOverflow off 2173 | } 2174 | Block { 2175 | BlockType Product 2176 | Name "Multiply" 2177 | SID "1324" 2178 | Ports [2, 1] 2179 | Position [170, 60, 200, 95] 2180 | Inputs "*/" 2181 | InputSameDT off 2182 | OutDataTypeStr "Inherit: Inherit via internal rule" 2183 | RndMeth "Floor" 2184 | SaturateOnIntegerOverflow off 2185 | } 2186 | Block { 2187 | BlockType Constant 2188 | Name "Unom" 2189 | SID "1325" 2190 | Position [50, 95, 80, 125] 2191 | Value ".634" 2192 | } 2193 | Block { 2194 | BlockType Constant 2195 | Name "dUnom" 2196 | SID "1326" 2197 | Position [50, 150, 80, 180] 2198 | Value ".08" 2199 | } 2200 | Block { 2201 | BlockType Outport 2202 | Name "Out1" 2203 | SID "1327" 2204 | Position [260, 73, 290, 87] 2205 | IconDisplay "Port number" 2206 | } 2207 | Line { 2208 | SrcBlock "Unom" 2209 | SrcPort 1 2210 | Points [5, 0; 0, -35] 2211 | DstBlock "Add" 2212 | DstPort 2 2213 | } 2214 | Line { 2215 | SrcBlock "In1" 2216 | SrcPort 1 2217 | DstBlock "Add" 2218 | DstPort 1 2219 | } 2220 | Line { 2221 | SrcBlock "Add" 2222 | SrcPort 1 2223 | DstBlock "Multiply" 2224 | DstPort 1 2225 | } 2226 | Line { 2227 | SrcBlock "dUnom" 2228 | SrcPort 1 2229 | Points [65, 0; 0, -80] 2230 | DstBlock "Multiply" 2231 | DstPort 2 2232 | } 2233 | Line { 2234 | SrcBlock "Multiply" 2235 | SrcPort 1 2236 | DstBlock "Out1" 2237 | DstPort 1 2238 | } 2239 | } 2240 | } 2241 | Block { 2242 | BlockType SubSystem 2243 | Name "ScaleIn9" 2244 | SID "1331" 2245 | Ports [1, 1] 2246 | Position [425, 1276, 470, 1304] 2247 | MinAlgLoopOccurrences off 2248 | PropExecContextOutsideSubsystem off 2249 | RTWSystemCode "Auto" 2250 | FunctionWithSeparateData off 2251 | Opaque off 2252 | RequestExecContextInheritance off 2253 | MaskHideContents off 2254 | System { 2255 | Name "ScaleIn9" 2256 | Location [378, 354, 902, 669] 2257 | Open off 2258 | ModelBrowserVisibility off 2259 | ModelBrowserWidth 200 2260 | ScreenColor "white" 2261 | PaperOrientation "landscape" 2262 | PaperPositionMode "auto" 2263 | PaperType "usletter" 2264 | PaperUnits "inches" 2265 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 2266 | TiledPageScale 1 2267 | ShowPageBoundaries off 2268 | ZoomFactor "100" 2269 | Block { 2270 | BlockType Inport 2271 | Name "In1" 2272 | SID "1332" 2273 | Position [50, 53, 80, 67] 2274 | IconDisplay "Port number" 2275 | } 2276 | Block { 2277 | BlockType Sum 2278 | Name "Add" 2279 | SID "1333" 2280 | Ports [2, 1] 2281 | Position [115, 52, 145, 83] 2282 | Inputs "+-" 2283 | InputSameDT off 2284 | OutDataTypeStr "Inherit: Inherit via internal rule" 2285 | SaturateOnIntegerOverflow off 2286 | } 2287 | Block { 2288 | BlockType Product 2289 | Name "Multiply" 2290 | SID "1334" 2291 | Ports [2, 1] 2292 | Position [170, 60, 200, 95] 2293 | Inputs "*/" 2294 | InputSameDT off 2295 | OutDataTypeStr "Inherit: Inherit via internal rule" 2296 | RndMeth "Floor" 2297 | SaturateOnIntegerOverflow off 2298 | } 2299 | Block { 2300 | BlockType Constant 2301 | Name "Unom" 2302 | SID "1335" 2303 | Position [50, 95, 80, 125] 2304 | Value ".634" 2305 | } 2306 | Block { 2307 | BlockType Constant 2308 | Name "dUnom" 2309 | SID "1336" 2310 | Position [50, 150, 80, 180] 2311 | Value ".08" 2312 | } 2313 | Block { 2314 | BlockType Outport 2315 | Name "Out1" 2316 | SID "1337" 2317 | Position [260, 73, 290, 87] 2318 | IconDisplay "Port number" 2319 | } 2320 | Line { 2321 | SrcBlock "Unom" 2322 | SrcPort 1 2323 | Points [5, 0; 0, -35] 2324 | DstBlock "Add" 2325 | DstPort 2 2326 | } 2327 | Line { 2328 | SrcBlock "In1" 2329 | SrcPort 1 2330 | DstBlock "Add" 2331 | DstPort 1 2332 | } 2333 | Line { 2334 | SrcBlock "Add" 2335 | SrcPort 1 2336 | DstBlock "Multiply" 2337 | DstPort 1 2338 | } 2339 | Line { 2340 | SrcBlock "dUnom" 2341 | SrcPort 1 2342 | Points [65, 0; 0, -80] 2343 | DstBlock "Multiply" 2344 | DstPort 2 2345 | } 2346 | Line { 2347 | SrcBlock "Multiply" 2348 | SrcPort 1 2349 | DstBlock "Out1" 2350 | DstPort 1 2351 | } 2352 | } 2353 | } 2354 | Block { 2355 | BlockType SubSystem 2356 | Name "ScaleOut1" 2357 | SID "976" 2358 | Ports [1, 1] 2359 | Position [250, 221, 315, 259] 2360 | Priority "1" 2361 | FontName "Arial" 2362 | FontSize 14 2363 | MinAlgLoopOccurrences off 2364 | PropExecContextOutsideSubsystem off 2365 | RTWSystemCode "Auto" 2366 | FunctionWithSeparateData off 2367 | Opaque off 2368 | RequestExecContextInheritance off 2369 | MaskHideContents off 2370 | System { 2371 | Name "ScaleOut1" 2372 | Location [484, 390, 795, 633] 2373 | Open off 2374 | ModelBrowserVisibility off 2375 | ModelBrowserWidth 200 2376 | ScreenColor "white" 2377 | PaperOrientation "landscape" 2378 | PaperPositionMode "auto" 2379 | PaperType "usletter" 2380 | PaperUnits "inches" 2381 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 2382 | TiledPageScale 1 2383 | ShowPageBoundaries off 2384 | ZoomFactor "100" 2385 | Block { 2386 | BlockType Inport 2387 | Name "In1" 2388 | SID "977" 2389 | Position [50, 53, 80, 67] 2390 | IconDisplay "Port number" 2391 | } 2392 | Block { 2393 | BlockType Product 2394 | Name "Divide" 2395 | SID "978" 2396 | Ports [2, 1] 2397 | Position [170, 60, 200, 95] 2398 | Inputs "*/" 2399 | InputSameDT off 2400 | OutDataTypeStr "Inherit: Inherit via internal rule" 2401 | RndMeth "Floor" 2402 | SaturateOnIntegerOverflow off 2403 | } 2404 | Block { 2405 | BlockType Sum 2406 | Name "Subtract" 2407 | SID "979" 2408 | Ports [2, 1] 2409 | Position [115, 52, 145, 83] 2410 | Inputs "+-" 2411 | InputSameDT off 2412 | OutDataTypeStr "Inherit: Inherit via internal rule" 2413 | SaturateOnIntegerOverflow off 2414 | } 2415 | Block { 2416 | BlockType Constant 2417 | Name "Ynom" 2418 | SID "980" 2419 | Position [25, 95, 80, 125] 2420 | Value "1002.9" 2421 | } 2422 | Block { 2423 | BlockType Constant 2424 | Name "dYnom" 2425 | SID "981" 2426 | Position [115, 120, 145, 150] 2427 | Value "10" 2428 | } 2429 | Block { 2430 | BlockType Outport 2431 | Name "Out1" 2432 | SID "982" 2433 | Position [225, 73, 255, 87] 2434 | IconDisplay "Port number" 2435 | } 2436 | Line { 2437 | SrcBlock "In1" 2438 | SrcPort 1 2439 | DstBlock "Subtract" 2440 | DstPort 1 2441 | } 2442 | Line { 2443 | SrcBlock "Ynom" 2444 | SrcPort 1 2445 | Points [5, 0; 0, -35] 2446 | DstBlock "Subtract" 2447 | DstPort 2 2448 | } 2449 | Line { 2450 | SrcBlock "Subtract" 2451 | SrcPort 1 2452 | DstBlock "Divide" 2453 | DstPort 1 2454 | } 2455 | Line { 2456 | SrcBlock "Divide" 2457 | SrcPort 1 2458 | DstBlock "Out1" 2459 | DstPort 1 2460 | } 2461 | Line { 2462 | SrcBlock "dYnom" 2463 | SrcPort 1 2464 | Points [0, -50] 2465 | DstBlock "Divide" 2466 | DstPort 2 2467 | } 2468 | } 2469 | } 2470 | Block { 2471 | BlockType SubSystem 2472 | Name "ScaleOut10" 2473 | SID "1144" 2474 | Ports [1, 1] 2475 | Position [425, 792, 465, 818] 2476 | Priority "1" 2477 | FontName "Arial" 2478 | MinAlgLoopOccurrences off 2479 | PropExecContextOutsideSubsystem off 2480 | RTWSystemCode "Auto" 2481 | FunctionWithSeparateData off 2482 | Opaque off 2483 | RequestExecContextInheritance off 2484 | MaskHideContents off 2485 | System { 2486 | Name "ScaleOut10" 2487 | Location [484, 390, 795, 633] 2488 | Open off 2489 | ModelBrowserVisibility off 2490 | ModelBrowserWidth 200 2491 | ScreenColor "white" 2492 | PaperOrientation "landscape" 2493 | PaperPositionMode "auto" 2494 | PaperType "usletter" 2495 | PaperUnits "inches" 2496 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 2497 | TiledPageScale 1 2498 | ShowPageBoundaries off 2499 | ZoomFactor "100" 2500 | Block { 2501 | BlockType Inport 2502 | Name "In1" 2503 | SID "1145" 2504 | Position [50, 53, 80, 67] 2505 | IconDisplay "Port number" 2506 | } 2507 | Block { 2508 | BlockType Product 2509 | Name "Divide" 2510 | SID "1146" 2511 | Ports [2, 1] 2512 | Position [170, 60, 200, 95] 2513 | Inputs "*/" 2514 | InputSameDT off 2515 | OutDataTypeStr "Inherit: Inherit via internal rule" 2516 | RndMeth "Floor" 2517 | SaturateOnIntegerOverflow off 2518 | } 2519 | Block { 2520 | BlockType Sum 2521 | Name "Subtract" 2522 | SID "1147" 2523 | Ports [2, 1] 2524 | Position [115, 52, 145, 83] 2525 | Inputs "+-" 2526 | InputSameDT off 2527 | OutDataTypeStr "Inherit: Inherit via internal rule" 2528 | SaturateOnIntegerOverflow off 2529 | } 2530 | Block { 2531 | BlockType Constant 2532 | Name "Ynom" 2533 | SID "1148" 2534 | Position [25, 95, 80, 125] 2535 | Value "2337.6" 2536 | } 2537 | Block { 2538 | BlockType Constant 2539 | Name "dYnom" 2540 | SID "1149" 2541 | Position [115, 120, 145, 150] 2542 | Value "350" 2543 | } 2544 | Block { 2545 | BlockType Outport 2546 | Name "Out1" 2547 | SID "1150" 2548 | Position [225, 73, 255, 87] 2549 | IconDisplay "Port number" 2550 | } 2551 | Line { 2552 | SrcBlock "In1" 2553 | SrcPort 1 2554 | DstBlock "Subtract" 2555 | DstPort 1 2556 | } 2557 | Line { 2558 | SrcBlock "Ynom" 2559 | SrcPort 1 2560 | Points [5, 0; 0, -35] 2561 | DstBlock "Subtract" 2562 | DstPort 2 2563 | } 2564 | Line { 2565 | SrcBlock "Subtract" 2566 | SrcPort 1 2567 | DstBlock "Divide" 2568 | DstPort 1 2569 | } 2570 | Line { 2571 | SrcBlock "Divide" 2572 | SrcPort 1 2573 | DstBlock "Out1" 2574 | DstPort 1 2575 | } 2576 | Line { 2577 | SrcBlock "dYnom" 2578 | SrcPort 1 2579 | Points [0, -50] 2580 | DstBlock "Divide" 2581 | DstPort 2 2582 | } 2583 | } 2584 | } 2585 | Block { 2586 | BlockType SubSystem 2587 | Name "ScaleOut11" 2588 | SID "1151" 2589 | Ports [1, 1] 2590 | Position [425, 892, 465, 918] 2591 | Priority "1" 2592 | FontName "Arial" 2593 | MinAlgLoopOccurrences off 2594 | PropExecContextOutsideSubsystem off 2595 | RTWSystemCode "Auto" 2596 | FunctionWithSeparateData off 2597 | Opaque off 2598 | RequestExecContextInheritance off 2599 | MaskHideContents off 2600 | System { 2601 | Name "ScaleOut11" 2602 | Location [641, 396, 952, 639] 2603 | Open off 2604 | ModelBrowserVisibility off 2605 | ModelBrowserWidth 200 2606 | ScreenColor "white" 2607 | PaperOrientation "landscape" 2608 | PaperPositionMode "auto" 2609 | PaperType "usletter" 2610 | PaperUnits "inches" 2611 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 2612 | TiledPageScale 1 2613 | ShowPageBoundaries off 2614 | ZoomFactor "100" 2615 | Block { 2616 | BlockType Inport 2617 | Name "In1" 2618 | SID "1152" 2619 | Position [50, 53, 80, 67] 2620 | IconDisplay "Port number" 2621 | } 2622 | Block { 2623 | BlockType Product 2624 | Name "Divide" 2625 | SID "1153" 2626 | Ports [2, 1] 2627 | Position [170, 60, 200, 95] 2628 | Inputs "*/" 2629 | InputSameDT off 2630 | OutDataTypeStr "Inherit: Inherit via internal rule" 2631 | RndMeth "Floor" 2632 | SaturateOnIntegerOverflow off 2633 | } 2634 | Block { 2635 | BlockType Sum 2636 | Name "Subtract" 2637 | SID "1154" 2638 | Ports [2, 1] 2639 | Position [115, 52, 145, 83] 2640 | Inputs "+-" 2641 | InputSameDT off 2642 | OutDataTypeStr "Inherit: Inherit via internal rule" 2643 | SaturateOnIntegerOverflow off 2644 | } 2645 | Block { 2646 | BlockType Constant 2647 | Name "Ynom" 2648 | SID "1155" 2649 | Position [25, 95, 80, 125] 2650 | Value ".7434" 2651 | } 2652 | Block { 2653 | BlockType Constant 2654 | Name "dYnom" 2655 | SID "1156" 2656 | Position [115, 120, 145, 150] 2657 | Value ".1" 2658 | } 2659 | Block { 2660 | BlockType Outport 2661 | Name "Out1" 2662 | SID "1157" 2663 | Position [225, 73, 255, 87] 2664 | IconDisplay "Port number" 2665 | } 2666 | Line { 2667 | SrcBlock "In1" 2668 | SrcPort 1 2669 | DstBlock "Subtract" 2670 | DstPort 1 2671 | } 2672 | Line { 2673 | SrcBlock "Ynom" 2674 | SrcPort 1 2675 | Points [5, 0; 0, -35] 2676 | DstBlock "Subtract" 2677 | DstPort 2 2678 | } 2679 | Line { 2680 | SrcBlock "Subtract" 2681 | SrcPort 1 2682 | DstBlock "Divide" 2683 | DstPort 1 2684 | } 2685 | Line { 2686 | SrcBlock "Divide" 2687 | SrcPort 1 2688 | DstBlock "Out1" 2689 | DstPort 1 2690 | } 2691 | Line { 2692 | SrcBlock "dYnom" 2693 | SrcPort 1 2694 | Points [0, -50] 2695 | DstBlock "Divide" 2696 | DstPort 2 2697 | } 2698 | } 2699 | } 2700 | Block { 2701 | BlockType SubSystem 2702 | Name "ScaleOut12" 2703 | SID "1158" 2704 | Ports [1, 1] 2705 | Position [425, 942, 465, 968] 2706 | Priority "1" 2707 | FontName "Arial" 2708 | MinAlgLoopOccurrences off 2709 | PropExecContextOutsideSubsystem off 2710 | RTWSystemCode "Auto" 2711 | FunctionWithSeparateData off 2712 | Opaque off 2713 | RequestExecContextInheritance off 2714 | MaskHideContents off 2715 | System { 2716 | Name "ScaleOut12" 2717 | Location [484, 390, 795, 633] 2718 | Open off 2719 | ModelBrowserVisibility off 2720 | ModelBrowserWidth 200 2721 | ScreenColor "white" 2722 | PaperOrientation "landscape" 2723 | PaperPositionMode "auto" 2724 | PaperType "usletter" 2725 | PaperUnits "inches" 2726 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 2727 | TiledPageScale 1 2728 | ShowPageBoundaries off 2729 | ZoomFactor "100" 2730 | Block { 2731 | BlockType Inport 2732 | Name "In1" 2733 | SID "1159" 2734 | Position [50, 53, 80, 67] 2735 | IconDisplay "Port number" 2736 | } 2737 | Block { 2738 | BlockType Product 2739 | Name "Divide" 2740 | SID "1160" 2741 | Ports [2, 1] 2742 | Position [170, 60, 200, 95] 2743 | Inputs "*/" 2744 | InputSameDT off 2745 | OutDataTypeStr "Inherit: Inherit via internal rule" 2746 | RndMeth "Floor" 2747 | SaturateOnIntegerOverflow off 2748 | } 2749 | Block { 2750 | BlockType Sum 2751 | Name "Subtract" 2752 | SID "1161" 2753 | Ports [2, 1] 2754 | Position [115, 52, 145, 83] 2755 | Inputs "+-" 2756 | InputSameDT off 2757 | OutDataTypeStr "Inherit: Inherit via internal rule" 2758 | SaturateOnIntegerOverflow off 2759 | } 2760 | Block { 2761 | BlockType Constant 2762 | Name "Ynom" 2763 | SID "1162" 2764 | Position [25, 95, 80, 125] 2765 | Value "2.2325" 2766 | } 2767 | Block { 2768 | BlockType Constant 2769 | Name "dYnom" 2770 | SID "1163" 2771 | Position [115, 120, 145, 150] 2772 | Value "1.2" 2773 | } 2774 | Block { 2775 | BlockType Outport 2776 | Name "Out1" 2777 | SID "1164" 2778 | Position [225, 73, 255, 87] 2779 | IconDisplay "Port number" 2780 | } 2781 | Line { 2782 | SrcBlock "In1" 2783 | SrcPort 1 2784 | DstBlock "Subtract" 2785 | DstPort 1 2786 | } 2787 | Line { 2788 | SrcBlock "Ynom" 2789 | SrcPort 1 2790 | Points [5, 0; 0, -35] 2791 | DstBlock "Subtract" 2792 | DstPort 2 2793 | } 2794 | Line { 2795 | SrcBlock "Subtract" 2796 | SrcPort 1 2797 | DstBlock "Divide" 2798 | DstPort 1 2799 | } 2800 | Line { 2801 | SrcBlock "Divide" 2802 | SrcPort 1 2803 | DstBlock "Out1" 2804 | DstPort 1 2805 | } 2806 | Line { 2807 | SrcBlock "dYnom" 2808 | SrcPort 1 2809 | Points [0, -50] 2810 | DstBlock "Divide" 2811 | DstPort 2 2812 | } 2813 | } 2814 | } 2815 | Block { 2816 | BlockType SubSystem 2817 | Name "ScaleOut13" 2818 | SID "1249" 2819 | Ports [1, 1] 2820 | Position [250, 175, 315, 205] 2821 | Priority "1" 2822 | FontName "Arial" 2823 | MinAlgLoopOccurrences off 2824 | PropExecContextOutsideSubsystem off 2825 | RTWSystemCode "Auto" 2826 | FunctionWithSeparateData off 2827 | Opaque off 2828 | RequestExecContextInheritance off 2829 | MaskHideContents off 2830 | System { 2831 | Name "ScaleOut13" 2832 | Location [484, 390, 795, 633] 2833 | Open off 2834 | ModelBrowserVisibility off 2835 | ModelBrowserWidth 200 2836 | ScreenColor "white" 2837 | PaperOrientation "landscape" 2838 | PaperPositionMode "auto" 2839 | PaperType "usletter" 2840 | PaperUnits "inches" 2841 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 2842 | TiledPageScale 1 2843 | ShowPageBoundaries off 2844 | ZoomFactor "100" 2845 | Block { 2846 | BlockType Inport 2847 | Name "In1" 2848 | SID "1250" 2849 | Position [50, 53, 80, 67] 2850 | IconDisplay "Port number" 2851 | } 2852 | Block { 2853 | BlockType Product 2854 | Name "Divide" 2855 | SID "1251" 2856 | Ports [2, 1] 2857 | Position [170, 60, 200, 95] 2858 | Inputs "*/" 2859 | InputSameDT off 2860 | OutDataTypeStr "Inherit: Inherit via internal rule" 2861 | RndMeth "Floor" 2862 | SaturateOnIntegerOverflow off 2863 | } 2864 | Block { 2865 | BlockType Sum 2866 | Name "Subtract" 2867 | SID "1252" 2868 | Ports [2, 1] 2869 | Position [115, 52, 145, 83] 2870 | Inputs "+-" 2871 | InputSameDT off 2872 | OutDataTypeStr "Inherit: Inherit via internal rule" 2873 | SaturateOnIntegerOverflow off 2874 | } 2875 | Block { 2876 | BlockType Constant 2877 | Name "Ynom" 2878 | SID "1253" 2879 | Position [25, 95, 80, 125] 2880 | Value "2337.6" 2881 | } 2882 | Block { 2883 | BlockType Constant 2884 | Name "dYnom" 2885 | SID "1254" 2886 | Position [115, 120, 145, 150] 2887 | Value "350" 2888 | } 2889 | Block { 2890 | BlockType Outport 2891 | Name "Out1" 2892 | SID "1255" 2893 | Position [225, 73, 255, 87] 2894 | IconDisplay "Port number" 2895 | } 2896 | Line { 2897 | SrcBlock "In1" 2898 | SrcPort 1 2899 | DstBlock "Subtract" 2900 | DstPort 1 2901 | } 2902 | Line { 2903 | SrcBlock "Ynom" 2904 | SrcPort 1 2905 | Points [5, 0; 0, -35] 2906 | DstBlock "Subtract" 2907 | DstPort 2 2908 | } 2909 | Line { 2910 | SrcBlock "Subtract" 2911 | SrcPort 1 2912 | DstBlock "Divide" 2913 | DstPort 1 2914 | } 2915 | Line { 2916 | SrcBlock "Divide" 2917 | SrcPort 1 2918 | DstBlock "Out1" 2919 | DstPort 1 2920 | } 2921 | Line { 2922 | SrcBlock "dYnom" 2923 | SrcPort 1 2924 | Points [0, -50] 2925 | DstBlock "Divide" 2926 | DstPort 2 2927 | } 2928 | } 2929 | } 2930 | Block { 2931 | BlockType SubSystem 2932 | Name "ScaleOut14" 2933 | SID "1256" 2934 | Ports [1, 1] 2935 | Position [250, 276, 315, 304] 2936 | Priority "1" 2937 | FontName "Arial" 2938 | MinAlgLoopOccurrences off 2939 | PropExecContextOutsideSubsystem off 2940 | RTWSystemCode "Auto" 2941 | FunctionWithSeparateData off 2942 | Opaque off 2943 | RequestExecContextInheritance off 2944 | MaskHideContents off 2945 | System { 2946 | Name "ScaleOut14" 2947 | Location [484, 390, 795, 633] 2948 | Open off 2949 | ModelBrowserVisibility off 2950 | ModelBrowserWidth 200 2951 | ScreenColor "white" 2952 | PaperOrientation "landscape" 2953 | PaperPositionMode "auto" 2954 | PaperType "usletter" 2955 | PaperUnits "inches" 2956 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 2957 | TiledPageScale 1 2958 | ShowPageBoundaries off 2959 | ZoomFactor "100" 2960 | Block { 2961 | BlockType Inport 2962 | Name "In1" 2963 | SID "1257" 2964 | Position [50, 53, 80, 67] 2965 | IconDisplay "Port number" 2966 | } 2967 | Block { 2968 | BlockType Product 2969 | Name "Divide" 2970 | SID "1258" 2971 | Ports [2, 1] 2972 | Position [170, 60, 200, 95] 2973 | Inputs "*/" 2974 | InputSameDT off 2975 | OutDataTypeStr "Inherit: Inherit via internal rule" 2976 | RndMeth "Floor" 2977 | SaturateOnIntegerOverflow off 2978 | } 2979 | Block { 2980 | BlockType Sum 2981 | Name "Subtract" 2982 | SID "1259" 2983 | Ports [2, 1] 2984 | Position [115, 52, 145, 83] 2985 | Inputs "+-" 2986 | InputSameDT off 2987 | OutDataTypeStr "Inherit: Inherit via internal rule" 2988 | SaturateOnIntegerOverflow off 2989 | } 2990 | Block { 2991 | BlockType Constant 2992 | Name "Ynom" 2993 | SID "1260" 2994 | Position [25, 95, 80, 125] 2995 | Value ".7434" 2996 | } 2997 | Block { 2998 | BlockType Constant 2999 | Name "dYnom" 3000 | SID "1261" 3001 | Position [115, 120, 145, 150] 3002 | Value ".1" 3003 | } 3004 | Block { 3005 | BlockType Outport 3006 | Name "Out1" 3007 | SID "1262" 3008 | Position [225, 73, 255, 87] 3009 | IconDisplay "Port number" 3010 | } 3011 | Line { 3012 | SrcBlock "In1" 3013 | SrcPort 1 3014 | DstBlock "Subtract" 3015 | DstPort 1 3016 | } 3017 | Line { 3018 | SrcBlock "Ynom" 3019 | SrcPort 1 3020 | Points [5, 0; 0, -35] 3021 | DstBlock "Subtract" 3022 | DstPort 2 3023 | } 3024 | Line { 3025 | SrcBlock "Subtract" 3026 | SrcPort 1 3027 | DstBlock "Divide" 3028 | DstPort 1 3029 | } 3030 | Line { 3031 | SrcBlock "Divide" 3032 | SrcPort 1 3033 | DstBlock "Out1" 3034 | DstPort 1 3035 | } 3036 | Line { 3037 | SrcBlock "dYnom" 3038 | SrcPort 1 3039 | Points [0, -50] 3040 | DstBlock "Divide" 3041 | DstPort 2 3042 | } 3043 | } 3044 | } 3045 | Block { 3046 | BlockType SubSystem 3047 | Name "ScaleOut15" 3048 | SID "1263" 3049 | Ports [1, 1] 3050 | Position [250, 327, 315, 353] 3051 | Priority "1" 3052 | FontName "Arial" 3053 | MinAlgLoopOccurrences off 3054 | PropExecContextOutsideSubsystem off 3055 | RTWSystemCode "Auto" 3056 | FunctionWithSeparateData off 3057 | Opaque off 3058 | RequestExecContextInheritance off 3059 | MaskHideContents off 3060 | System { 3061 | Name "ScaleOut15" 3062 | Location [484, 390, 795, 633] 3063 | Open off 3064 | ModelBrowserVisibility off 3065 | ModelBrowserWidth 200 3066 | ScreenColor "white" 3067 | PaperOrientation "landscape" 3068 | PaperPositionMode "auto" 3069 | PaperType "usletter" 3070 | PaperUnits "inches" 3071 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 3072 | TiledPageScale 1 3073 | ShowPageBoundaries off 3074 | ZoomFactor "100" 3075 | Block { 3076 | BlockType Inport 3077 | Name "In1" 3078 | SID "1264" 3079 | Position [50, 53, 80, 67] 3080 | IconDisplay "Port number" 3081 | } 3082 | Block { 3083 | BlockType Product 3084 | Name "Divide" 3085 | SID "1265" 3086 | Ports [2, 1] 3087 | Position [170, 60, 200, 95] 3088 | Inputs "*/" 3089 | InputSameDT off 3090 | OutDataTypeStr "Inherit: Inherit via internal rule" 3091 | RndMeth "Floor" 3092 | SaturateOnIntegerOverflow off 3093 | } 3094 | Block { 3095 | BlockType Sum 3096 | Name "Subtract" 3097 | SID "1266" 3098 | Ports [2, 1] 3099 | Position [115, 52, 145, 83] 3100 | Inputs "+-" 3101 | InputSameDT off 3102 | OutDataTypeStr "Inherit: Inherit via internal rule" 3103 | SaturateOnIntegerOverflow off 3104 | } 3105 | Block { 3106 | BlockType Constant 3107 | Name "Ynom" 3108 | SID "1267" 3109 | Position [25, 95, 80, 125] 3110 | Value "2.2325" 3111 | } 3112 | Block { 3113 | BlockType Constant 3114 | Name "dYnom" 3115 | SID "1268" 3116 | Position [115, 120, 145, 150] 3117 | Value "1.2" 3118 | } 3119 | Block { 3120 | BlockType Outport 3121 | Name "Out1" 3122 | SID "1269" 3123 | Position [225, 73, 255, 87] 3124 | IconDisplay "Port number" 3125 | } 3126 | Line { 3127 | SrcBlock "In1" 3128 | SrcPort 1 3129 | DstBlock "Subtract" 3130 | DstPort 1 3131 | } 3132 | Line { 3133 | SrcBlock "Ynom" 3134 | SrcPort 1 3135 | Points [5, 0; 0, -35] 3136 | DstBlock "Subtract" 3137 | DstPort 2 3138 | } 3139 | Line { 3140 | SrcBlock "Subtract" 3141 | SrcPort 1 3142 | DstBlock "Divide" 3143 | DstPort 1 3144 | } 3145 | Line { 3146 | SrcBlock "Divide" 3147 | SrcPort 1 3148 | DstBlock "Out1" 3149 | DstPort 1 3150 | } 3151 | Line { 3152 | SrcBlock "dYnom" 3153 | SrcPort 1 3154 | Points [0, -50] 3155 | DstBlock "Divide" 3156 | DstPort 2 3157 | } 3158 | } 3159 | } 3160 | Block { 3161 | BlockType SubSystem 3162 | Name "ScaleOut16" 3163 | SID "1304" 3164 | Ports [1, 1] 3165 | Position [110, 1012, 150, 1038] 3166 | Priority "1" 3167 | FontName "Arial" 3168 | MinAlgLoopOccurrences off 3169 | PropExecContextOutsideSubsystem off 3170 | RTWSystemCode "Auto" 3171 | FunctionWithSeparateData off 3172 | Opaque off 3173 | RequestExecContextInheritance off 3174 | MaskHideContents off 3175 | System { 3176 | Name "ScaleOut16" 3177 | Location [484, 390, 795, 633] 3178 | Open off 3179 | ModelBrowserVisibility off 3180 | ModelBrowserWidth 200 3181 | ScreenColor "white" 3182 | PaperOrientation "landscape" 3183 | PaperPositionMode "auto" 3184 | PaperType "usletter" 3185 | PaperUnits "inches" 3186 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 3187 | TiledPageScale 1 3188 | ShowPageBoundaries off 3189 | ZoomFactor "100" 3190 | Block { 3191 | BlockType Inport 3192 | Name "In1" 3193 | SID "1305" 3194 | Position [50, 53, 80, 67] 3195 | IconDisplay "Port number" 3196 | } 3197 | Block { 3198 | BlockType Product 3199 | Name "Divide" 3200 | SID "1306" 3201 | Ports [2, 1] 3202 | Position [170, 60, 200, 95] 3203 | Inputs "*/" 3204 | InputSameDT off 3205 | OutDataTypeStr "Inherit: Inherit via internal rule" 3206 | RndMeth "Floor" 3207 | SaturateOnIntegerOverflow off 3208 | } 3209 | Block { 3210 | BlockType Sum 3211 | Name "Subtract" 3212 | SID "1307" 3213 | Ports [2, 1] 3214 | Position [115, 52, 145, 83] 3215 | Inputs "+-" 3216 | InputSameDT off 3217 | OutDataTypeStr "Inherit: Inherit via internal rule" 3218 | SaturateOnIntegerOverflow off 3219 | } 3220 | Block { 3221 | BlockType Constant 3222 | Name "Ynom" 3223 | SID "1308" 3224 | Position [25, 95, 80, 125] 3225 | Value ".23151" 3226 | } 3227 | Block { 3228 | BlockType Constant 3229 | Name "dYnom" 3230 | SID "1309" 3231 | Position [115, 120, 145, 150] 3232 | Value ".015" 3233 | } 3234 | Block { 3235 | BlockType Outport 3236 | Name "Out1" 3237 | SID "1310" 3238 | Position [225, 73, 255, 87] 3239 | IconDisplay "Port number" 3240 | } 3241 | Line { 3242 | SrcBlock "In1" 3243 | SrcPort 1 3244 | DstBlock "Subtract" 3245 | DstPort 1 3246 | } 3247 | Line { 3248 | SrcBlock "Ynom" 3249 | SrcPort 1 3250 | Points [5, 0; 0, -35] 3251 | DstBlock "Subtract" 3252 | DstPort 2 3253 | } 3254 | Line { 3255 | SrcBlock "Subtract" 3256 | SrcPort 1 3257 | DstBlock "Divide" 3258 | DstPort 1 3259 | } 3260 | Line { 3261 | SrcBlock "Divide" 3262 | SrcPort 1 3263 | DstBlock "Out1" 3264 | DstPort 1 3265 | } 3266 | Line { 3267 | SrcBlock "dYnom" 3268 | SrcPort 1 3269 | Points [0, -50] 3270 | DstBlock "Divide" 3271 | DstPort 2 3272 | } 3273 | } 3274 | } 3275 | Block { 3276 | BlockType SubSystem 3277 | Name "ScaleOut17" 3278 | SID "1313" 3279 | Ports [1, 1] 3280 | Position [425, 1012, 465, 1038] 3281 | Priority "1" 3282 | FontName "Arial" 3283 | MinAlgLoopOccurrences off 3284 | PropExecContextOutsideSubsystem off 3285 | RTWSystemCode "Auto" 3286 | FunctionWithSeparateData off 3287 | Opaque off 3288 | RequestExecContextInheritance off 3289 | MaskHideContents off 3290 | System { 3291 | Name "ScaleOut17" 3292 | Location [484, 390, 795, 633] 3293 | Open off 3294 | ModelBrowserVisibility off 3295 | ModelBrowserWidth 200 3296 | ScreenColor "white" 3297 | PaperOrientation "landscape" 3298 | PaperPositionMode "auto" 3299 | PaperType "usletter" 3300 | PaperUnits "inches" 3301 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 3302 | TiledPageScale 1 3303 | ShowPageBoundaries off 3304 | ZoomFactor "100" 3305 | Block { 3306 | BlockType Inport 3307 | Name "In1" 3308 | SID "1314" 3309 | Position [50, 53, 80, 67] 3310 | IconDisplay "Port number" 3311 | } 3312 | Block { 3313 | BlockType Product 3314 | Name "Divide" 3315 | SID "1315" 3316 | Ports [2, 1] 3317 | Position [170, 60, 200, 95] 3318 | Inputs "*/" 3319 | InputSameDT off 3320 | OutDataTypeStr "Inherit: Inherit via internal rule" 3321 | RndMeth "Floor" 3322 | SaturateOnIntegerOverflow off 3323 | } 3324 | Block { 3325 | BlockType Sum 3326 | Name "Subtract" 3327 | SID "1316" 3328 | Ports [2, 1] 3329 | Position [115, 52, 145, 83] 3330 | Inputs "+-" 3331 | InputSameDT off 3332 | OutDataTypeStr "Inherit: Inherit via internal rule" 3333 | SaturateOnIntegerOverflow off 3334 | } 3335 | Block { 3336 | BlockType Constant 3337 | Name "Ynom" 3338 | SID "1317" 3339 | Position [25, 95, 80, 125] 3340 | Value ".23151" 3341 | } 3342 | Block { 3343 | BlockType Constant 3344 | Name "dYnom" 3345 | SID "1318" 3346 | Position [115, 120, 145, 150] 3347 | Value ".015" 3348 | } 3349 | Block { 3350 | BlockType Outport 3351 | Name "Out1" 3352 | SID "1319" 3353 | Position [225, 73, 255, 87] 3354 | IconDisplay "Port number" 3355 | } 3356 | Line { 3357 | SrcBlock "In1" 3358 | SrcPort 1 3359 | DstBlock "Subtract" 3360 | DstPort 1 3361 | } 3362 | Line { 3363 | SrcBlock "Ynom" 3364 | SrcPort 1 3365 | Points [5, 0; 0, -35] 3366 | DstBlock "Subtract" 3367 | DstPort 2 3368 | } 3369 | Line { 3370 | SrcBlock "Subtract" 3371 | SrcPort 1 3372 | DstBlock "Divide" 3373 | DstPort 1 3374 | } 3375 | Line { 3376 | SrcBlock "Divide" 3377 | SrcPort 1 3378 | DstBlock "Out1" 3379 | DstPort 1 3380 | } 3381 | Line { 3382 | SrcBlock "dYnom" 3383 | SrcPort 1 3384 | Points [0, -50] 3385 | DstBlock "Divide" 3386 | DstPort 2 3387 | } 3388 | } 3389 | } 3390 | Block { 3391 | BlockType SubSystem 3392 | Name "ScaleOut18" 3393 | SID "1340" 3394 | Ports [1, 1] 3395 | Position [380, 517, 445, 543] 3396 | Priority "1" 3397 | FontName "Arial" 3398 | MinAlgLoopOccurrences off 3399 | PropExecContextOutsideSubsystem off 3400 | RTWSystemCode "Auto" 3401 | FunctionWithSeparateData off 3402 | Opaque off 3403 | RequestExecContextInheritance off 3404 | MaskHideContents off 3405 | System { 3406 | Name "ScaleOut18" 3407 | Location [484, 390, 795, 633] 3408 | Open off 3409 | ModelBrowserVisibility off 3410 | ModelBrowserWidth 200 3411 | ScreenColor "white" 3412 | PaperOrientation "landscape" 3413 | PaperPositionMode "auto" 3414 | PaperType "usletter" 3415 | PaperUnits "inches" 3416 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 3417 | TiledPageScale 1 3418 | ShowPageBoundaries off 3419 | ZoomFactor "100" 3420 | Block { 3421 | BlockType Inport 3422 | Name "In1" 3423 | SID "1341" 3424 | Position [50, 53, 80, 67] 3425 | IconDisplay "Port number" 3426 | } 3427 | Block { 3428 | BlockType Product 3429 | Name "Divide" 3430 | SID "1342" 3431 | Ports [2, 1] 3432 | Position [170, 60, 200, 95] 3433 | Inputs "*/" 3434 | InputSameDT off 3435 | OutDataTypeStr "Inherit: Inherit via internal rule" 3436 | RndMeth "Floor" 3437 | SaturateOnIntegerOverflow off 3438 | } 3439 | Block { 3440 | BlockType Sum 3441 | Name "Subtract" 3442 | SID "1343" 3443 | Ports [2, 1] 3444 | Position [115, 52, 145, 83] 3445 | Inputs "+-" 3446 | InputSameDT off 3447 | OutDataTypeStr "Inherit: Inherit via internal rule" 3448 | SaturateOnIntegerOverflow off 3449 | } 3450 | Block { 3451 | BlockType Constant 3452 | Name "Ynom" 3453 | SID "1344" 3454 | Position [25, 95, 80, 125] 3455 | Value ".23151" 3456 | } 3457 | Block { 3458 | BlockType Constant 3459 | Name "dYnom" 3460 | SID "1345" 3461 | Position [115, 120, 145, 150] 3462 | Value ".015" 3463 | } 3464 | Block { 3465 | BlockType Outport 3466 | Name "Out1" 3467 | SID "1346" 3468 | Position [225, 73, 255, 87] 3469 | IconDisplay "Port number" 3470 | } 3471 | Line { 3472 | SrcBlock "In1" 3473 | SrcPort 1 3474 | DstBlock "Subtract" 3475 | DstPort 1 3476 | } 3477 | Line { 3478 | SrcBlock "Ynom" 3479 | SrcPort 1 3480 | Points [5, 0; 0, -35] 3481 | DstBlock "Subtract" 3482 | DstPort 2 3483 | } 3484 | Line { 3485 | SrcBlock "Subtract" 3486 | SrcPort 1 3487 | DstBlock "Divide" 3488 | DstPort 1 3489 | } 3490 | Line { 3491 | SrcBlock "Divide" 3492 | SrcPort 1 3493 | DstBlock "Out1" 3494 | DstPort 1 3495 | } 3496 | Line { 3497 | SrcBlock "dYnom" 3498 | SrcPort 1 3499 | Points [0, -50] 3500 | DstBlock "Divide" 3501 | DstPort 2 3502 | } 3503 | } 3504 | } 3505 | Block { 3506 | BlockType SubSystem 3507 | Name "ScaleOut2" 3508 | SID "585" 3509 | Ports [1, 1] 3510 | Position [250, 125, 315, 155] 3511 | Priority "1" 3512 | FontName "Arial" 3513 | FontSize 14 3514 | MinAlgLoopOccurrences off 3515 | PropExecContextOutsideSubsystem off 3516 | RTWSystemCode "Auto" 3517 | FunctionWithSeparateData off 3518 | Opaque off 3519 | RequestExecContextInheritance off 3520 | MaskHideContents off 3521 | System { 3522 | Name "ScaleOut2" 3523 | Location [413, 352, 724, 595] 3524 | Open off 3525 | ModelBrowserVisibility off 3526 | ModelBrowserWidth 200 3527 | ScreenColor "white" 3528 | PaperOrientation "landscape" 3529 | PaperPositionMode "auto" 3530 | PaperType "usletter" 3531 | PaperUnits "inches" 3532 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 3533 | TiledPageScale 1 3534 | ShowPageBoundaries off 3535 | ZoomFactor "100" 3536 | Block { 3537 | BlockType Inport 3538 | Name "In1" 3539 | SID "586" 3540 | Position [50, 53, 80, 67] 3541 | IconDisplay "Port number" 3542 | } 3543 | Block { 3544 | BlockType Product 3545 | Name "Divide" 3546 | SID "587" 3547 | Ports [2, 1] 3548 | Position [170, 60, 200, 95] 3549 | Inputs "*/" 3550 | InputSameDT off 3551 | OutDataTypeStr "Inherit: Inherit via internal rule" 3552 | RndMeth "Floor" 3553 | SaturateOnIntegerOverflow off 3554 | } 3555 | Block { 3556 | BlockType Sum 3557 | Name "Subtract" 3558 | SID "588" 3559 | Ports [2, 1] 3560 | Position [115, 52, 145, 83] 3561 | Inputs "+-" 3562 | InputSameDT off 3563 | OutDataTypeStr "Inherit: Inherit via internal rule" 3564 | SaturateOnIntegerOverflow off 3565 | } 3566 | Block { 3567 | BlockType Constant 3568 | Name "Ynom" 3569 | SID "589" 3570 | Position [25, 95, 80, 125] 3571 | Value "153.52" 3572 | } 3573 | Block { 3574 | BlockType Constant 3575 | Name "dYnom" 3576 | SID "590" 3577 | Position [115, 120, 145, 150] 3578 | Value "8" 3579 | } 3580 | Block { 3581 | BlockType Outport 3582 | Name "Out1" 3583 | SID "591" 3584 | Position [225, 73, 255, 87] 3585 | IconDisplay "Port number" 3586 | } 3587 | Line { 3588 | SrcBlock "In1" 3589 | SrcPort 1 3590 | DstBlock "Subtract" 3591 | DstPort 1 3592 | } 3593 | Line { 3594 | SrcBlock "Ynom" 3595 | SrcPort 1 3596 | Points [5, 0; 0, -35] 3597 | DstBlock "Subtract" 3598 | DstPort 2 3599 | } 3600 | Line { 3601 | SrcBlock "Subtract" 3602 | SrcPort 1 3603 | DstBlock "Divide" 3604 | DstPort 1 3605 | } 3606 | Line { 3607 | SrcBlock "Divide" 3608 | SrcPort 1 3609 | DstBlock "Out1" 3610 | DstPort 1 3611 | } 3612 | Line { 3613 | SrcBlock "dYnom" 3614 | SrcPort 1 3615 | Points [0, -50] 3616 | DstBlock "Divide" 3617 | DstPort 2 3618 | } 3619 | } 3620 | } 3621 | Block { 3622 | BlockType SubSystem 3623 | Name "ScaleOut3" 3624 | SID "1060" 3625 | Ports [1, 1] 3626 | Position [110, 842, 150, 868] 3627 | Priority "1" 3628 | FontName "Arial" 3629 | MinAlgLoopOccurrences off 3630 | PropExecContextOutsideSubsystem off 3631 | RTWSystemCode "Auto" 3632 | FunctionWithSeparateData off 3633 | Opaque off 3634 | RequestExecContextInheritance off 3635 | MaskHideContents off 3636 | System { 3637 | Name "ScaleOut3" 3638 | Location [484, 390, 795, 633] 3639 | Open off 3640 | ModelBrowserVisibility off 3641 | ModelBrowserWidth 200 3642 | ScreenColor "white" 3643 | PaperOrientation "landscape" 3644 | PaperPositionMode "auto" 3645 | PaperType "usletter" 3646 | PaperUnits "inches" 3647 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 3648 | TiledPageScale 1 3649 | ShowPageBoundaries off 3650 | ZoomFactor "100" 3651 | Block { 3652 | BlockType Inport 3653 | Name "In1" 3654 | SID "1061" 3655 | Position [50, 53, 80, 67] 3656 | IconDisplay "Port number" 3657 | } 3658 | Block { 3659 | BlockType Product 3660 | Name "Divide" 3661 | SID "1062" 3662 | Ports [2, 1] 3663 | Position [170, 60, 200, 95] 3664 | Inputs "*/" 3665 | InputSameDT off 3666 | OutDataTypeStr "Inherit: Inherit via internal rule" 3667 | RndMeth "Floor" 3668 | SaturateOnIntegerOverflow off 3669 | } 3670 | Block { 3671 | BlockType Sum 3672 | Name "Subtract" 3673 | SID "1063" 3674 | Ports [2, 1] 3675 | Position [115, 52, 145, 83] 3676 | Inputs "+-" 3677 | InputSameDT off 3678 | OutDataTypeStr "Inherit: Inherit via internal rule" 3679 | SaturateOnIntegerOverflow off 3680 | } 3681 | Block { 3682 | BlockType Constant 3683 | Name "Ynom" 3684 | SID "1064" 3685 | Position [25, 95, 80, 125] 3686 | Value "1002.9" 3687 | } 3688 | Block { 3689 | BlockType Constant 3690 | Name "dYnom" 3691 | SID "1065" 3692 | Position [115, 120, 145, 150] 3693 | Value "10" 3694 | } 3695 | Block { 3696 | BlockType Outport 3697 | Name "Out1" 3698 | SID "1066" 3699 | Position [225, 73, 255, 87] 3700 | IconDisplay "Port number" 3701 | } 3702 | Line { 3703 | SrcBlock "In1" 3704 | SrcPort 1 3705 | DstBlock "Subtract" 3706 | DstPort 1 3707 | } 3708 | Line { 3709 | SrcBlock "Ynom" 3710 | SrcPort 1 3711 | Points [5, 0; 0, -35] 3712 | DstBlock "Subtract" 3713 | DstPort 2 3714 | } 3715 | Line { 3716 | SrcBlock "Subtract" 3717 | SrcPort 1 3718 | DstBlock "Divide" 3719 | DstPort 1 3720 | } 3721 | Line { 3722 | SrcBlock "Divide" 3723 | SrcPort 1 3724 | DstBlock "Out1" 3725 | DstPort 1 3726 | } 3727 | Line { 3728 | SrcBlock "dYnom" 3729 | SrcPort 1 3730 | Points [0, -50] 3731 | DstBlock "Divide" 3732 | DstPort 2 3733 | } 3734 | } 3735 | } 3736 | Block { 3737 | BlockType SubSystem 3738 | Name "ScaleOut4" 3739 | SID "1067" 3740 | Ports [1, 1] 3741 | Position [110, 741, 150, 769] 3742 | Priority "1" 3743 | FontName "Arial" 3744 | MinAlgLoopOccurrences off 3745 | PropExecContextOutsideSubsystem off 3746 | RTWSystemCode "Auto" 3747 | FunctionWithSeparateData off 3748 | Opaque off 3749 | RequestExecContextInheritance off 3750 | MaskHideContents off 3751 | System { 3752 | Name "ScaleOut4" 3753 | Location [573, 259, 884, 502] 3754 | Open off 3755 | ModelBrowserVisibility off 3756 | ModelBrowserWidth 200 3757 | ScreenColor "white" 3758 | PaperOrientation "landscape" 3759 | PaperPositionMode "auto" 3760 | PaperType "usletter" 3761 | PaperUnits "inches" 3762 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 3763 | TiledPageScale 1 3764 | ShowPageBoundaries off 3765 | ZoomFactor "100" 3766 | Block { 3767 | BlockType Inport 3768 | Name "In1" 3769 | SID "1068" 3770 | Position [50, 53, 80, 67] 3771 | IconDisplay "Port number" 3772 | } 3773 | Block { 3774 | BlockType Product 3775 | Name "Divide" 3776 | SID "1069" 3777 | Ports [2, 1] 3778 | Position [170, 60, 200, 95] 3779 | Inputs "*/" 3780 | InputSameDT off 3781 | OutDataTypeStr "Inherit: Inherit via internal rule" 3782 | RndMeth "Floor" 3783 | SaturateOnIntegerOverflow off 3784 | } 3785 | Block { 3786 | BlockType Sum 3787 | Name "Subtract" 3788 | SID "1070" 3789 | Ports [2, 1] 3790 | Position [115, 52, 145, 83] 3791 | Inputs "+-" 3792 | InputSameDT off 3793 | OutDataTypeStr "Inherit: Inherit via internal rule" 3794 | SaturateOnIntegerOverflow off 3795 | } 3796 | Block { 3797 | BlockType Constant 3798 | Name "Ynom" 3799 | SID "1071" 3800 | Position [25, 95, 80, 125] 3801 | Value "153.52" 3802 | } 3803 | Block { 3804 | BlockType Constant 3805 | Name "dYnom" 3806 | SID "1072" 3807 | Position [115, 120, 145, 150] 3808 | Value "8" 3809 | } 3810 | Block { 3811 | BlockType Outport 3812 | Name "Out1" 3813 | SID "1073" 3814 | Position [225, 73, 255, 87] 3815 | IconDisplay "Port number" 3816 | } 3817 | Line { 3818 | SrcBlock "In1" 3819 | SrcPort 1 3820 | DstBlock "Subtract" 3821 | DstPort 1 3822 | } 3823 | Line { 3824 | SrcBlock "Ynom" 3825 | SrcPort 1 3826 | Points [5, 0; 0, -35] 3827 | DstBlock "Subtract" 3828 | DstPort 2 3829 | } 3830 | Line { 3831 | SrcBlock "Subtract" 3832 | SrcPort 1 3833 | DstBlock "Divide" 3834 | DstPort 1 3835 | } 3836 | Line { 3837 | SrcBlock "Divide" 3838 | SrcPort 1 3839 | DstBlock "Out1" 3840 | DstPort 1 3841 | } 3842 | Line { 3843 | SrcBlock "dYnom" 3844 | SrcPort 1 3845 | Points [0, -50] 3846 | DstBlock "Divide" 3847 | DstPort 2 3848 | } 3849 | } 3850 | } 3851 | Block { 3852 | BlockType SubSystem 3853 | Name "ScaleOut5" 3854 | SID "1130" 3855 | Ports [1, 1] 3856 | Position [425, 842, 465, 868] 3857 | Priority "1" 3858 | FontName "Arial" 3859 | MinAlgLoopOccurrences off 3860 | PropExecContextOutsideSubsystem off 3861 | RTWSystemCode "Auto" 3862 | FunctionWithSeparateData off 3863 | Opaque off 3864 | RequestExecContextInheritance off 3865 | MaskHideContents off 3866 | System { 3867 | Name "ScaleOut5" 3868 | Location [484, 390, 795, 633] 3869 | Open off 3870 | ModelBrowserVisibility off 3871 | ModelBrowserWidth 200 3872 | ScreenColor "white" 3873 | PaperOrientation "landscape" 3874 | PaperPositionMode "auto" 3875 | PaperType "usletter" 3876 | PaperUnits "inches" 3877 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 3878 | TiledPageScale 1 3879 | ShowPageBoundaries off 3880 | ZoomFactor "100" 3881 | Block { 3882 | BlockType Inport 3883 | Name "In1" 3884 | SID "1131" 3885 | Position [50, 53, 80, 67] 3886 | IconDisplay "Port number" 3887 | } 3888 | Block { 3889 | BlockType Product 3890 | Name "Divide" 3891 | SID "1132" 3892 | Ports [2, 1] 3893 | Position [170, 60, 200, 95] 3894 | Inputs "*/" 3895 | InputSameDT off 3896 | OutDataTypeStr "Inherit: Inherit via internal rule" 3897 | RndMeth "Floor" 3898 | SaturateOnIntegerOverflow off 3899 | } 3900 | Block { 3901 | BlockType Sum 3902 | Name "Subtract" 3903 | SID "1133" 3904 | Ports [2, 1] 3905 | Position [115, 52, 145, 83] 3906 | Inputs "+-" 3907 | InputSameDT off 3908 | OutDataTypeStr "Inherit: Inherit via internal rule" 3909 | SaturateOnIntegerOverflow off 3910 | } 3911 | Block { 3912 | BlockType Constant 3913 | Name "Ynom" 3914 | SID "1134" 3915 | Position [25, 95, 80, 125] 3916 | Value "1002.9" 3917 | } 3918 | Block { 3919 | BlockType Constant 3920 | Name "dYnom" 3921 | SID "1135" 3922 | Position [115, 120, 145, 150] 3923 | Value "10" 3924 | } 3925 | Block { 3926 | BlockType Outport 3927 | Name "Out1" 3928 | SID "1136" 3929 | Position [225, 73, 255, 87] 3930 | IconDisplay "Port number" 3931 | } 3932 | Line { 3933 | SrcBlock "In1" 3934 | SrcPort 1 3935 | DstBlock "Subtract" 3936 | DstPort 1 3937 | } 3938 | Line { 3939 | SrcBlock "Ynom" 3940 | SrcPort 1 3941 | Points [5, 0; 0, -35] 3942 | DstBlock "Subtract" 3943 | DstPort 2 3944 | } 3945 | Line { 3946 | SrcBlock "Subtract" 3947 | SrcPort 1 3948 | DstBlock "Divide" 3949 | DstPort 1 3950 | } 3951 | Line { 3952 | SrcBlock "Divide" 3953 | SrcPort 1 3954 | DstBlock "Out1" 3955 | DstPort 1 3956 | } 3957 | Line { 3958 | SrcBlock "dYnom" 3959 | SrcPort 1 3960 | Points [0, -50] 3961 | DstBlock "Divide" 3962 | DstPort 2 3963 | } 3964 | } 3965 | } 3966 | Block { 3967 | BlockType SubSystem 3968 | Name "ScaleOut6" 3969 | SID "1137" 3970 | Ports [1, 1] 3971 | Position [425, 741, 465, 769] 3972 | Priority "1" 3973 | FontName "Arial" 3974 | MinAlgLoopOccurrences off 3975 | PropExecContextOutsideSubsystem off 3976 | RTWSystemCode "Auto" 3977 | FunctionWithSeparateData off 3978 | Opaque off 3979 | RequestExecContextInheritance off 3980 | MaskHideContents off 3981 | System { 3982 | Name "ScaleOut6" 3983 | Location [288, 252, 599, 495] 3984 | Open off 3985 | ModelBrowserVisibility off 3986 | ModelBrowserWidth 200 3987 | ScreenColor "white" 3988 | PaperOrientation "landscape" 3989 | PaperPositionMode "auto" 3990 | PaperType "usletter" 3991 | PaperUnits "inches" 3992 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 3993 | TiledPageScale 1 3994 | ShowPageBoundaries off 3995 | ZoomFactor "100" 3996 | Block { 3997 | BlockType Inport 3998 | Name "In1" 3999 | SID "1138" 4000 | Position [50, 53, 80, 67] 4001 | IconDisplay "Port number" 4002 | } 4003 | Block { 4004 | BlockType Product 4005 | Name "Divide" 4006 | SID "1139" 4007 | Ports [2, 1] 4008 | Position [170, 60, 200, 95] 4009 | Inputs "*/" 4010 | InputSameDT off 4011 | OutDataTypeStr "Inherit: Inherit via internal rule" 4012 | RndMeth "Floor" 4013 | SaturateOnIntegerOverflow off 4014 | } 4015 | Block { 4016 | BlockType Sum 4017 | Name "Subtract" 4018 | SID "1140" 4019 | Ports [2, 1] 4020 | Position [115, 52, 145, 83] 4021 | Inputs "+-" 4022 | InputSameDT off 4023 | OutDataTypeStr "Inherit: Inherit via internal rule" 4024 | SaturateOnIntegerOverflow off 4025 | } 4026 | Block { 4027 | BlockType Constant 4028 | Name "Ynom" 4029 | SID "1141" 4030 | Position [25, 95, 80, 125] 4031 | Value "153.52" 4032 | } 4033 | Block { 4034 | BlockType Constant 4035 | Name "dYnom" 4036 | SID "1142" 4037 | Position [115, 120, 145, 150] 4038 | Value "8" 4039 | } 4040 | Block { 4041 | BlockType Outport 4042 | Name "Out1" 4043 | SID "1143" 4044 | Position [225, 73, 255, 87] 4045 | IconDisplay "Port number" 4046 | } 4047 | Line { 4048 | SrcBlock "In1" 4049 | SrcPort 1 4050 | DstBlock "Subtract" 4051 | DstPort 1 4052 | } 4053 | Line { 4054 | SrcBlock "Ynom" 4055 | SrcPort 1 4056 | Points [5, 0; 0, -35] 4057 | DstBlock "Subtract" 4058 | DstPort 2 4059 | } 4060 | Line { 4061 | SrcBlock "Subtract" 4062 | SrcPort 1 4063 | DstBlock "Divide" 4064 | DstPort 1 4065 | } 4066 | Line { 4067 | SrcBlock "Divide" 4068 | SrcPort 1 4069 | DstBlock "Out1" 4070 | DstPort 1 4071 | } 4072 | Line { 4073 | SrcBlock "dYnom" 4074 | SrcPort 1 4075 | Points [0, -50] 4076 | DstBlock "Divide" 4077 | DstPort 2 4078 | } 4079 | } 4080 | } 4081 | Block { 4082 | BlockType SubSystem 4083 | Name "ScaleOut7" 4084 | SID "1103" 4085 | Ports [1, 1] 4086 | Position [110, 792, 150, 818] 4087 | Priority "1" 4088 | FontName "Arial" 4089 | MinAlgLoopOccurrences off 4090 | PropExecContextOutsideSubsystem off 4091 | RTWSystemCode "Auto" 4092 | FunctionWithSeparateData off 4093 | Opaque off 4094 | RequestExecContextInheritance off 4095 | MaskHideContents off 4096 | System { 4097 | Name "ScaleOut7" 4098 | Location [484, 390, 795, 633] 4099 | Open off 4100 | ModelBrowserVisibility off 4101 | ModelBrowserWidth 200 4102 | ScreenColor "white" 4103 | PaperOrientation "landscape" 4104 | PaperPositionMode "auto" 4105 | PaperType "usletter" 4106 | PaperUnits "inches" 4107 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 4108 | TiledPageScale 1 4109 | ShowPageBoundaries off 4110 | ZoomFactor "100" 4111 | Block { 4112 | BlockType Inport 4113 | Name "In1" 4114 | SID "1104" 4115 | Position [50, 53, 80, 67] 4116 | IconDisplay "Port number" 4117 | } 4118 | Block { 4119 | BlockType Product 4120 | Name "Divide" 4121 | SID "1105" 4122 | Ports [2, 1] 4123 | Position [170, 60, 200, 95] 4124 | Inputs "*/" 4125 | InputSameDT off 4126 | OutDataTypeStr "Inherit: Inherit via internal rule" 4127 | RndMeth "Floor" 4128 | SaturateOnIntegerOverflow off 4129 | } 4130 | Block { 4131 | BlockType Sum 4132 | Name "Subtract" 4133 | SID "1106" 4134 | Ports [2, 1] 4135 | Position [115, 52, 145, 83] 4136 | Inputs "+-" 4137 | InputSameDT off 4138 | OutDataTypeStr "Inherit: Inherit via internal rule" 4139 | SaturateOnIntegerOverflow off 4140 | } 4141 | Block { 4142 | BlockType Constant 4143 | Name "Ynom" 4144 | SID "1107" 4145 | Position [25, 95, 80, 125] 4146 | Value "2337.6" 4147 | } 4148 | Block { 4149 | BlockType Constant 4150 | Name "dYnom" 4151 | SID "1108" 4152 | Position [115, 120, 145, 150] 4153 | Value "350" 4154 | } 4155 | Block { 4156 | BlockType Outport 4157 | Name "Out1" 4158 | SID "1109" 4159 | Position [225, 73, 255, 87] 4160 | IconDisplay "Port number" 4161 | } 4162 | Line { 4163 | SrcBlock "In1" 4164 | SrcPort 1 4165 | DstBlock "Subtract" 4166 | DstPort 1 4167 | } 4168 | Line { 4169 | SrcBlock "Ynom" 4170 | SrcPort 1 4171 | Points [5, 0; 0, -35] 4172 | DstBlock "Subtract" 4173 | DstPort 2 4174 | } 4175 | Line { 4176 | SrcBlock "Subtract" 4177 | SrcPort 1 4178 | DstBlock "Divide" 4179 | DstPort 1 4180 | } 4181 | Line { 4182 | SrcBlock "Divide" 4183 | SrcPort 1 4184 | DstBlock "Out1" 4185 | DstPort 1 4186 | } 4187 | Line { 4188 | SrcBlock "dYnom" 4189 | SrcPort 1 4190 | Points [0, -50] 4191 | DstBlock "Divide" 4192 | DstPort 2 4193 | } 4194 | } 4195 | } 4196 | Block { 4197 | BlockType SubSystem 4198 | Name "ScaleOut8" 4199 | SID "1111" 4200 | Ports [1, 1] 4201 | Position [110, 892, 150, 918] 4202 | Priority "1" 4203 | FontName "Arial" 4204 | MinAlgLoopOccurrences off 4205 | PropExecContextOutsideSubsystem off 4206 | RTWSystemCode "Auto" 4207 | FunctionWithSeparateData off 4208 | Opaque off 4209 | RequestExecContextInheritance off 4210 | MaskHideContents off 4211 | System { 4212 | Name "ScaleOut8" 4213 | Location [484, 390, 795, 633] 4214 | Open off 4215 | ModelBrowserVisibility off 4216 | ModelBrowserWidth 200 4217 | ScreenColor "white" 4218 | PaperOrientation "landscape" 4219 | PaperPositionMode "auto" 4220 | PaperType "usletter" 4221 | PaperUnits "inches" 4222 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 4223 | TiledPageScale 1 4224 | ShowPageBoundaries off 4225 | ZoomFactor "100" 4226 | Block { 4227 | BlockType Inport 4228 | Name "In1" 4229 | SID "1112" 4230 | Position [50, 53, 80, 67] 4231 | IconDisplay "Port number" 4232 | } 4233 | Block { 4234 | BlockType Product 4235 | Name "Divide" 4236 | SID "1113" 4237 | Ports [2, 1] 4238 | Position [170, 60, 200, 95] 4239 | Inputs "*/" 4240 | InputSameDT off 4241 | OutDataTypeStr "Inherit: Inherit via internal rule" 4242 | RndMeth "Floor" 4243 | SaturateOnIntegerOverflow off 4244 | } 4245 | Block { 4246 | BlockType Sum 4247 | Name "Subtract" 4248 | SID "1114" 4249 | Ports [2, 1] 4250 | Position [115, 52, 145, 83] 4251 | Inputs "+-" 4252 | InputSameDT off 4253 | OutDataTypeStr "Inherit: Inherit via internal rule" 4254 | SaturateOnIntegerOverflow off 4255 | } 4256 | Block { 4257 | BlockType Constant 4258 | Name "Ynom" 4259 | SID "1115" 4260 | Position [25, 95, 80, 125] 4261 | Value ".7434" 4262 | } 4263 | Block { 4264 | BlockType Constant 4265 | Name "dYnom" 4266 | SID "1116" 4267 | Position [115, 120, 145, 150] 4268 | Value ".1" 4269 | } 4270 | Block { 4271 | BlockType Outport 4272 | Name "Out1" 4273 | SID "1117" 4274 | Position [225, 73, 255, 87] 4275 | IconDisplay "Port number" 4276 | } 4277 | Line { 4278 | SrcBlock "In1" 4279 | SrcPort 1 4280 | DstBlock "Subtract" 4281 | DstPort 1 4282 | } 4283 | Line { 4284 | SrcBlock "Ynom" 4285 | SrcPort 1 4286 | Points [5, 0; 0, -35] 4287 | DstBlock "Subtract" 4288 | DstPort 2 4289 | } 4290 | Line { 4291 | SrcBlock "Subtract" 4292 | SrcPort 1 4293 | DstBlock "Divide" 4294 | DstPort 1 4295 | } 4296 | Line { 4297 | SrcBlock "Divide" 4298 | SrcPort 1 4299 | DstBlock "Out1" 4300 | DstPort 1 4301 | } 4302 | Line { 4303 | SrcBlock "dYnom" 4304 | SrcPort 1 4305 | Points [0, -50] 4306 | DstBlock "Divide" 4307 | DstPort 2 4308 | } 4309 | } 4310 | } 4311 | Block { 4312 | BlockType SubSystem 4313 | Name "ScaleOut9" 4314 | SID "1120" 4315 | Ports [1, 1] 4316 | Position [110, 942, 150, 968] 4317 | Priority "1" 4318 | FontName "Arial" 4319 | MinAlgLoopOccurrences off 4320 | PropExecContextOutsideSubsystem off 4321 | RTWSystemCode "Auto" 4322 | FunctionWithSeparateData off 4323 | Opaque off 4324 | RequestExecContextInheritance off 4325 | MaskHideContents off 4326 | System { 4327 | Name "ScaleOut9" 4328 | Location [484, 390, 795, 633] 4329 | Open off 4330 | ModelBrowserVisibility off 4331 | ModelBrowserWidth 200 4332 | ScreenColor "white" 4333 | PaperOrientation "landscape" 4334 | PaperPositionMode "auto" 4335 | PaperType "usletter" 4336 | PaperUnits "inches" 4337 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 4338 | TiledPageScale 1 4339 | ShowPageBoundaries off 4340 | ZoomFactor "100" 4341 | Block { 4342 | BlockType Inport 4343 | Name "In1" 4344 | SID "1121" 4345 | Position [50, 53, 80, 67] 4346 | IconDisplay "Port number" 4347 | } 4348 | Block { 4349 | BlockType Product 4350 | Name "Divide" 4351 | SID "1122" 4352 | Ports [2, 1] 4353 | Position [170, 60, 200, 95] 4354 | Inputs "*/" 4355 | InputSameDT off 4356 | OutDataTypeStr "Inherit: Inherit via internal rule" 4357 | RndMeth "Floor" 4358 | SaturateOnIntegerOverflow off 4359 | } 4360 | Block { 4361 | BlockType Sum 4362 | Name "Subtract" 4363 | SID "1123" 4364 | Ports [2, 1] 4365 | Position [115, 52, 145, 83] 4366 | Inputs "+-" 4367 | InputSameDT off 4368 | OutDataTypeStr "Inherit: Inherit via internal rule" 4369 | SaturateOnIntegerOverflow off 4370 | } 4371 | Block { 4372 | BlockType Constant 4373 | Name "Ynom" 4374 | SID "1124" 4375 | Position [25, 95, 80, 125] 4376 | Value "2.2325" 4377 | } 4378 | Block { 4379 | BlockType Constant 4380 | Name "dYnom" 4381 | SID "1125" 4382 | Position [115, 120, 145, 150] 4383 | Value "1.2" 4384 | } 4385 | Block { 4386 | BlockType Outport 4387 | Name "Out1" 4388 | SID "1126" 4389 | Position [225, 73, 255, 87] 4390 | IconDisplay "Port number" 4391 | } 4392 | Line { 4393 | SrcBlock "In1" 4394 | SrcPort 1 4395 | DstBlock "Subtract" 4396 | DstPort 1 4397 | } 4398 | Line { 4399 | SrcBlock "Ynom" 4400 | SrcPort 1 4401 | Points [5, 0; 0, -35] 4402 | DstBlock "Subtract" 4403 | DstPort 2 4404 | } 4405 | Line { 4406 | SrcBlock "Subtract" 4407 | SrcPort 1 4408 | DstBlock "Divide" 4409 | DstPort 1 4410 | } 4411 | Line { 4412 | SrcBlock "Divide" 4413 | SrcPort 1 4414 | DstBlock "Out1" 4415 | DstPort 1 4416 | } 4417 | Line { 4418 | SrcBlock "dYnom" 4419 | SrcPort 1 4420 | Points [0, -50] 4421 | DstBlock "Divide" 4422 | DstPort 2 4423 | } 4424 | } 4425 | } 4426 | Block { 4427 | BlockType Scope 4428 | Name "Scope1" 4429 | SID "1094" 4430 | Ports [1] 4431 | Position [1370, 58, 1400, 82] 4432 | Floating off 4433 | Location [394, 75, 718, 314] 4434 | Open off 4435 | NumInputPorts "1" 4436 | ZoomMode "yonly" 4437 | List { 4438 | ListType AxesTitles 4439 | axes1 "%" 4440 | } 4441 | YMin "-0.125" 4442 | YMax "0.15" 4443 | DataFormat "StructureWithTime" 4444 | SampleTime "0" 4445 | } 4446 | Block { 4447 | BlockType Scope 4448 | Name "Scope2" 4449 | SID "952" 4450 | Ports [1] 4451 | Position [955, 754, 985, 786] 4452 | Floating off 4453 | Location [695, 479, 1019, 718] 4454 | Open off 4455 | NumInputPorts "1" 4456 | ZoomMode "yonly" 4457 | List { 4458 | ListType AxesTitles 4459 | axes1 "%" 4460 | } 4461 | TimeRange "43.34600760456274" 4462 | YMin "1645" 4463 | YMax "1670" 4464 | SaveName "ScopeData2" 4465 | DataFormat "StructureWithTime" 4466 | SampleTime "0" 4467 | } 4468 | Block { 4469 | BlockType Scope 4470 | Name "Scope3" 4471 | SID "1095" 4472 | Ports [1] 4473 | Position [1370, 98, 1400, 122] 4474 | Floating off 4475 | Location [352, 79, 676, 318] 4476 | Open off 4477 | NumInputPorts "1" 4478 | ZoomMode "yonly" 4479 | List { 4480 | ListType AxesTitles 4481 | axes1 "%" 4482 | } 4483 | YMin "1.85446" 4484 | YMax "2.04966" 4485 | SaveName "ScopeData1" 4486 | DataFormat "StructureWithTime" 4487 | SampleTime "0" 4488 | } 4489 | Block { 4490 | BlockType Scope 4491 | Name "Scope4" 4492 | SID "967" 4493 | Ports [1] 4494 | Position [1370, 18, 1400, 42] 4495 | Floating off 4496 | Location [226, 286, 550, 525] 4497 | Open off 4498 | NumInputPorts "1" 4499 | ZoomMode "xonly" 4500 | List { 4501 | ListType AxesTitles 4502 | axes1 "%" 4503 | } 4504 | YMin "1.4787" 4505 | YMax "1.4799" 4506 | SaveName "ScopeData4" 4507 | DataFormat "StructureWithTime" 4508 | SampleTime "0" 4509 | } 4510 | Block { 4511 | BlockType Scope 4512 | Name "Scope5" 4513 | SID "1096" 4514 | Ports [1] 4515 | Position [1370, 138, 1400, 162] 4516 | Floating off 4517 | Location [394, 75, 718, 314] 4518 | Open off 4519 | NumInputPorts "1" 4520 | ZoomMode "yonly" 4521 | List { 4522 | ListType AxesTitles 4523 | axes1 "%" 4524 | } 4525 | YMin "-0.125" 4526 | YMax "0.15" 4527 | SaveName "ScopeData3" 4528 | DataFormat "StructureWithTime" 4529 | SampleTime "0" 4530 | } 4531 | Block { 4532 | BlockType Scope 4533 | Name "Scope6" 4534 | SID "1097" 4535 | Ports [1] 4536 | Position [1370, 178, 1400, 202] 4537 | Floating off 4538 | Location [394, 75, 718, 314] 4539 | Open off 4540 | NumInputPorts "1" 4541 | ZoomMode "yonly" 4542 | List { 4543 | ListType AxesTitles 4544 | axes1 "%" 4545 | } 4546 | YMin "-0.125" 4547 | YMax "0.15" 4548 | SaveName "ScopeData5" 4549 | DataFormat "StructureWithTime" 4550 | SampleTime "0" 4551 | } 4552 | Block { 4553 | BlockType Scope 4554 | Name "Scope7" 4555 | SID "1354" 4556 | Ports [1] 4557 | Position [1370, 453, 1400, 477] 4558 | Floating off 4559 | Location [394, 75, 718, 314] 4560 | Open off 4561 | NumInputPorts "1" 4562 | ZoomMode "yonly" 4563 | List { 4564 | ListType AxesTitles 4565 | axes1 "%" 4566 | } 4567 | YMin "-0.125" 4568 | YMax "0.15" 4569 | SaveName "ScopeData6" 4570 | DataFormat "StructureWithTime" 4571 | SampleTime "0" 4572 | } 4573 | Block { 4574 | BlockType Constant 4575 | Name "T_Pin_max" 4576 | SID "1221" 4577 | Position [330, 1080, 390, 1110] 4578 | Priority "1" 4579 | FontName "Arial" 4580 | FontSize 14 4581 | Value "473" 4582 | } 4583 | Block { 4584 | BlockType Constant 4585 | Name "T_Pin_min" 4586 | SID "990" 4587 | Position [15, 1085, 75, 1115] 4588 | Priority "1" 4589 | FontName "Arial" 4590 | FontSize 14 4591 | Value "323" 4592 | } 4593 | Block { 4594 | BlockType Constant 4595 | Name "Tcellmin" 4596 | SID "975" 4597 | Position [160, 224, 220, 256] 4598 | Priority "1" 4599 | FontName "Arial" 4600 | FontSize 14 4601 | Value "1000" 4602 | } 4603 | Block { 4604 | BlockType Constant 4605 | Name "Tcellmin_max" 4606 | SID "1165" 4607 | Position [330, 840, 390, 870] 4608 | Priority "1" 4609 | FontName "Arial" 4610 | FontSize 14 4611 | Value "1500" 4612 | } 4613 | Block { 4614 | BlockType Constant 4615 | Name "Tcellmin_min" 4616 | SID "1040" 4617 | Position [15, 840, 75, 870] 4618 | Priority "1" 4619 | FontName "Arial" 4620 | FontSize 14 4621 | Value "1000" 4622 | } 4623 | Block { 4624 | BlockType ToFile 4625 | Name "To File" 4626 | SID "1297" 4627 | Position [1390, 225, 1450, 255] 4628 | Filename "y.mat" 4629 | } 4630 | Block { 4631 | BlockType ToFile 4632 | Name "To File1" 4633 | SID "1298" 4634 | Position [1045, 465, 1105, 495] 4635 | Filename "u1.mat" 4636 | } 4637 | Block { 4638 | BlockType ToFile 4639 | Name "To File2" 4640 | SID "1299" 4641 | Position [1045, 640, 1105, 670] 4642 | Filename "u4.mat" 4643 | } 4644 | Block { 4645 | BlockType ToFile 4646 | Name "To File3" 4647 | SID "1300" 4648 | Position [1045, 525, 1105, 555] 4649 | Filename "u2.mat" 4650 | } 4651 | Block { 4652 | BlockType ToFile 4653 | Name "To File4" 4654 | SID "1301" 4655 | Position [1045, 585, 1105, 615] 4656 | Filename "u3.mat" 4657 | } 4658 | Block { 4659 | BlockType ToWorkspace 4660 | Name "To Workspace" 4661 | SID "743" 4662 | Ports [1] 4663 | Position [955, 465, 1015, 495] 4664 | VariableName "u1" 4665 | MaxDataPoints "inf" 4666 | SampleTime "-1" 4667 | SaveFormat "Structure" 4668 | } 4669 | Block { 4670 | BlockType ToWorkspace 4671 | Name "To Workspace1" 4672 | SID "1089" 4673 | Ports [1] 4674 | Position [955, 585, 1015, 615] 4675 | VariableName "u3" 4676 | MaxDataPoints "inf" 4677 | SampleTime "-1" 4678 | SaveFormat "Structure" 4679 | } 4680 | Block { 4681 | BlockType ToWorkspace 4682 | Name "To Workspace2" 4683 | SID "953" 4684 | Ports [1] 4685 | Position [955, 700, 1015, 730] 4686 | VariableName "obj" 4687 | MaxDataPoints "inf" 4688 | SampleTime "-1" 4689 | SaveFormat "Structure" 4690 | } 4691 | Block { 4692 | BlockType ToWorkspace 4693 | Name "To Workspace3" 4694 | SID "1090" 4695 | Ports [1] 4696 | Position [955, 640, 1015, 670] 4697 | VariableName "u4" 4698 | MaxDataPoints "inf" 4699 | SampleTime "-1" 4700 | SaveFormat "Structure" 4701 | } 4702 | Block { 4703 | BlockType ToWorkspace 4704 | Name "To Workspace4" 4705 | SID "972" 4706 | Ports [1] 4707 | Position [955, 525, 1015, 555] 4708 | VariableName "u2" 4709 | MaxDataPoints "inf" 4710 | SampleTime "-1" 4711 | SaveFormat "Structure" 4712 | } 4713 | Block { 4714 | BlockType ToWorkspace 4715 | Name "To Workspace5" 4716 | SID "1302" 4717 | Ports [1] 4718 | Position [1390, 265, 1450, 295] 4719 | VariableName "y" 4720 | MaxDataPoints "inf" 4721 | SampleTime "-1" 4722 | SaveFormat "Structure" 4723 | } 4724 | Block { 4725 | BlockType ToWorkspace 4726 | Name "To Workspace6" 4727 | SID "1355" 4728 | Ports [1] 4729 | Position [955, 805, 1015, 835] 4730 | VariableName "u5" 4731 | MaxDataPoints "inf" 4732 | SampleTime "-1" 4733 | SaveFormat "Structure" 4734 | } 4735 | Block { 4736 | BlockType ToWorkspace 4737 | Name "To Workspace7" 4738 | SID "1358" 4739 | Ports [1] 4740 | Position [955, 855, 1015, 885] 4741 | VariableName "obj1" 4742 | MaxDataPoints "inf" 4743 | SampleTime "-1" 4744 | SaveFormat "Structure" 4745 | } 4746 | Block { 4747 | BlockType Constant 4748 | Name "Ua" 4749 | SID "1339" 4750 | Position [290, 514, 350, 546] 4751 | Priority "1" 4752 | FontName "Arial" 4753 | FontSize 14 4754 | Value ".23" 4755 | } 4756 | Block { 4757 | BlockType Constant 4758 | Name "Ua_max" 4759 | SID "1320" 4760 | Position [330, 1010, 390, 1040] 4761 | Priority "1" 4762 | FontName "Arial" 4763 | FontSize 14 4764 | Value ".32" 4765 | } 4766 | Block { 4767 | BlockType Constant 4768 | Name "Ua_min" 4769 | SID "1303" 4770 | Position [15, 1010, 75, 1040] 4771 | Priority "1" 4772 | FontName "Arial" 4773 | FontSize 14 4774 | Value "0" 4775 | } 4776 | Block { 4777 | BlockType Constant 4778 | Name "Uf" 4779 | SID "1240" 4780 | Position [160, 274, 220, 306] 4781 | Priority "1" 4782 | FontName "Arial" 4783 | FontSize 14 4784 | Value ".85" 4785 | } 4786 | Block { 4787 | BlockType Constant 4788 | Name "Uf_max" 4789 | SID "1166" 4790 | Position [330, 890, 390, 920] 4791 | Priority "1" 4792 | FontName "Arial" 4793 | FontSize 14 4794 | Value "0.9" 4795 | } 4796 | Block { 4797 | BlockType Constant 4798 | Name "Uf_min" 4799 | SID "1118" 4800 | Position [15, 890, 75, 920] 4801 | Priority "1" 4802 | FontName "Arial" 4803 | FontSize 14 4804 | Value "0" 4805 | } 4806 | Block { 4807 | BlockType Constant 4808 | Name "Vcell_max" 4809 | SID "1222" 4810 | Position [330, 1215, 390, 1245] 4811 | Priority "1" 4812 | FontName "Arial" 4813 | FontSize 14 4814 | Value ".7" 4815 | } 4816 | Block { 4817 | BlockType Constant 4818 | Name "Vcell_min" 4819 | SID "1191" 4820 | Position [15, 1220, 75, 1250] 4821 | Priority "1" 4822 | FontName "Arial" 4823 | FontSize 14 4824 | Value ".58" 4825 | } 4826 | Block { 4827 | BlockType ZeroOrderHold 4828 | Name "Zero-Order\nHold1" 4829 | SID "969" 4830 | Position [820, 95, 855, 125] 4831 | BlockMirror on 4832 | SampleTime "10" 4833 | } 4834 | Block { 4835 | BlockType ZeroOrderHold 4836 | Name "Zero-Order\nHold2" 4837 | SID "1356" 4838 | Position [955, 915, 990, 945] 4839 | BlockMirror on 4840 | SampleTime "10" 4841 | } 4842 | Block { 4843 | BlockType Constant 4844 | Name "dTrad_max" 4845 | SID "1167" 4846 | Position [330, 790, 390, 820] 4847 | Priority "1" 4848 | FontName "Arial" 4849 | FontSize 14 4850 | Value "3000" 4851 | } 4852 | Block { 4853 | BlockType Constant 4854 | Name "dTrad_min" 4855 | SID "1110" 4856 | Position [15, 790, 75, 820] 4857 | Priority "1" 4858 | FontName "Arial" 4859 | FontSize 14 4860 | Value "0" 4861 | } 4862 | Block { 4863 | BlockType Constant 4864 | Name "dTradmax" 4865 | SID "1232" 4866 | Position [160, 174, 220, 206] 4867 | Priority "1" 4868 | FontName "Arial" 4869 | FontSize 14 4870 | Value "2000" 4871 | } 4872 | Block { 4873 | BlockType Constant 4874 | Name "mair_max" 4875 | SID "1338" 4876 | Position [330, 1275, 390, 1305] 4877 | Priority "1" 4878 | FontName "Arial" 4879 | FontSize 14 4880 | } 4881 | Block { 4882 | BlockType Constant 4883 | Name "mair_min" 4884 | SID "1328" 4885 | Position [15, 1275, 75, 1305] 4886 | Priority "1" 4887 | FontName "Arial" 4888 | FontSize 14 4889 | Value ".54" 4890 | } 4891 | Block { 4892 | BlockType Constant 4893 | Name "p_Pin_max" 4894 | SID "1223" 4895 | Position [330, 1170, 390, 1200] 4896 | Priority "1" 4897 | FontName "Arial" 4898 | FontSize 14 4899 | Value "10e5" 4900 | } 4901 | Block { 4902 | BlockType Constant 4903 | Name "p_Pin_min" 4904 | SID "622" 4905 | Position [15, 1175, 75, 1205] 4906 | Priority "1" 4907 | FontName "Arial" 4908 | FontSize 14 4909 | Value "5e5" 4910 | } 4911 | Block { 4912 | BlockType Constant 4913 | Name "pcomb_max" 4914 | SID "1224" 4915 | Position [330, 1125, 390, 1155] 4916 | Priority "1" 4917 | FontName "Arial" 4918 | FontSize 14 4919 | Value "4e5" 4920 | } 4921 | Block { 4922 | BlockType Constant 4923 | Name "pcomb_min" 4924 | SID "1175" 4925 | Position [15, 1130, 75, 1160] 4926 | Priority "1" 4927 | FontName "Arial" 4928 | FontSize 14 4929 | Value "3e5" 4930 | } 4931 | Block { 4932 | BlockType Constant 4933 | Name "power" 4934 | SID "1362" 4935 | Position [160, 124, 220, 156] 4936 | Priority "1" 4937 | FontName "Arial" 4938 | FontSize 14 4939 | Value "164" 4940 | } 4941 | Block { 4942 | BlockType Outport 4943 | Name "Out1" 4944 | SID "460" 4945 | Position [1480, 303, 1510, 317] 4946 | FontName "Arial" 4947 | FontSize 14 4948 | IconDisplay "Port number" 4949 | } 4950 | Line { 4951 | SrcBlock "SOFC Model" 4952 | SrcPort 1 4953 | Points [10, 0] 4954 | Branch { 4955 | DstBlock "Mux" 4956 | DstPort 1 4957 | } 4958 | Branch { 4959 | Points [10, 0; 0, -95] 4960 | Branch { 4961 | DstBlock "Mux1" 4962 | DstPort 3 4963 | } 4964 | Branch { 4965 | DstBlock "Scope3" 4966 | DstPort 1 4967 | } 4968 | } 4969 | } 4970 | Line { 4971 | SrcBlock "SOFC Model" 4972 | SrcPort 2 4973 | Points [0, 0] 4974 | Branch { 4975 | DstBlock "Mux" 4976 | DstPort 2 4977 | } 4978 | Branch { 4979 | Points [0, -155] 4980 | Branch { 4981 | DstBlock "Mux1" 4982 | DstPort 2 4983 | } 4984 | Branch { 4985 | Points [160, 0] 4986 | DstBlock "Scope1" 4987 | DstPort 1 4988 | } 4989 | } 4990 | } 4991 | Line { 4992 | SrcBlock "SOFC Model" 4993 | SrcPort 3 4994 | Points [5, 0] 4995 | Branch { 4996 | DstBlock "Mux" 4997 | DstPort 3 4998 | } 4999 | Branch { 5000 | Points [0, -215] 5001 | Branch { 5002 | DstBlock "Mux1" 5003 | DstPort 1 5004 | } 5005 | Branch { 5006 | Points [155, 0] 5007 | DstBlock "Scope4" 5008 | DstPort 1 5009 | } 5010 | } 5011 | } 5012 | Line { 5013 | SrcBlock "SOFC Model" 5014 | SrcPort 4 5015 | Points [0, 0] 5016 | Branch { 5017 | DstBlock "Mux" 5018 | DstPort 4 5019 | } 5020 | Branch { 5021 | Points [0, 170] 5022 | Branch { 5023 | DstBlock "Scope7" 5024 | DstPort 1 5025 | } 5026 | Branch { 5027 | Points [0, 465] 5028 | DstBlock "Zero-Order\nHold2" 5029 | DstPort 1 5030 | } 5031 | } 5032 | } 5033 | Line { 5034 | SrcBlock "SOFC Model" 5035 | SrcPort 5 5036 | Points [15, 0] 5037 | Branch { 5038 | DstBlock "Mux" 5039 | DstPort 5 5040 | } 5041 | Branch { 5042 | Points [0, -185] 5043 | Branch { 5044 | DstBlock "Mux1" 5045 | DstPort 4 5046 | } 5047 | Branch { 5048 | Points [145, 0] 5049 | DstBlock "Scope5" 5050 | DstPort 1 5051 | } 5052 | } 5053 | } 5054 | Line { 5055 | SrcBlock "SOFC Model" 5056 | SrcPort 6 5057 | Points [10, 0] 5058 | Branch { 5059 | DstBlock "Mux" 5060 | DstPort 6 5061 | } 5062 | Branch { 5063 | Points [135, 0; 0, -185; -135, 0] 5064 | Branch { 5065 | Points [150, 0] 5066 | DstBlock "Scope6" 5067 | DstPort 1 5068 | } 5069 | Branch { 5070 | DstBlock "Mux1" 5071 | DstPort 5 5072 | } 5073 | } 5074 | } 5075 | Line { 5076 | SrcBlock "Mux" 5077 | SrcPort 1 5078 | Points [110, 0] 5079 | Branch { 5080 | Points [15, 0] 5081 | Branch { 5082 | DstBlock "Out1" 5083 | DstPort 1 5084 | } 5085 | Branch { 5086 | Points [0, -25; 10, 0] 5087 | DstBlock "To Workspace5" 5088 | DstPort 1 5089 | } 5090 | } 5091 | Branch { 5092 | Points [0, -70] 5093 | DstBlock "To File" 5094 | DstPort 1 5095 | } 5096 | } 5097 | Line { 5098 | SrcBlock "p_Pin_min" 5099 | SrcPort 1 5100 | DstBlock "ScaleIn" 5101 | DstPort 1 5102 | } 5103 | Line { 5104 | SrcBlock "Limits2" 5105 | SrcPort 1 5106 | DstBlock "Mux5" 5107 | DstPort 3 5108 | } 5109 | Line { 5110 | SrcBlock "Limits3" 5111 | SrcPort 1 5112 | DstBlock "Mux5" 5113 | DstPort 4 5114 | } 5115 | Line { 5116 | SrcBlock "Mux5" 5117 | SrcPort 1 5118 | DstBlock "LMPC Controller" 5119 | DstPort 1 5120 | } 5121 | Line { 5122 | SrcBlock "Zero-Order\nHold1" 5123 | SrcPort 1 5124 | Points [-380, 0; 0, 80] 5125 | DstBlock "Mux5" 5126 | DstPort 1 5127 | } 5128 | Line { 5129 | SrcBlock "power" 5130 | SrcPort 1 5131 | DstBlock "ScaleOut2" 5132 | DstPort 1 5133 | } 5134 | Line { 5135 | SrcBlock "ScaleOut2" 5136 | SrcPort 1 5137 | DstBlock "Mux2" 5138 | DstPort 1 5139 | } 5140 | Line { 5141 | SrcBlock "Mux2" 5142 | SrcPort 1 5143 | DstBlock "Mux5" 5144 | DstPort 2 5145 | } 5146 | Line { 5147 | SrcBlock "T_Pin_min" 5148 | SrcPort 1 5149 | DstBlock "ScaleIn1" 5150 | DstPort 1 5151 | } 5152 | Line { 5153 | SrcBlock "Mux3" 5154 | SrcPort 1 5155 | DstBlock "Limits" 5156 | DstPort 1 5157 | } 5158 | Line { 5159 | SrcBlock "Mux1" 5160 | SrcPort 1 5161 | DstBlock "Zero-Order\nHold1" 5162 | DstPort 1 5163 | } 5164 | Line { 5165 | SrcBlock "Limits5" 5166 | SrcPort 1 5167 | DstBlock "Mux5" 5168 | DstPort 6 5169 | } 5170 | Line { 5171 | SrcBlock "Limits4" 5172 | SrcPort 1 5173 | DstBlock "Mux5" 5174 | DstPort 5 5175 | } 5176 | Line { 5177 | SrcBlock "Power_min" 5178 | SrcPort 1 5179 | DstBlock "ScaleOut4" 5180 | DstPort 1 5181 | } 5182 | Line { 5183 | SrcBlock "Tcellmin_min" 5184 | SrcPort 1 5185 | DstBlock "ScaleOut3" 5186 | DstPort 1 5187 | } 5188 | Line { 5189 | SrcBlock "Mux6" 5190 | SrcPort 1 5191 | DstBlock "Limits6" 5192 | DstPort 1 5193 | } 5194 | Line { 5195 | SrcBlock "ScaleOut4" 5196 | SrcPort 1 5197 | DstBlock "Mux6" 5198 | DstPort 1 5199 | } 5200 | Line { 5201 | SrcBlock "SOFC Model" 5202 | SrcPort 7 5203 | DstBlock "Mux" 5204 | DstPort 7 5205 | } 5206 | Line { 5207 | SrcBlock "SOFC Model" 5208 | SrcPort 8 5209 | DstBlock "Mux" 5210 | DstPort 8 5211 | } 5212 | Line { 5213 | SrcBlock "LMPC Controller" 5214 | SrcPort 1 5215 | DstBlock "Rate Transition" 5216 | DstPort 1 5217 | } 5218 | Line { 5219 | SrcBlock "Rate Transition" 5220 | SrcPort 1 5221 | DstBlock "Demux" 5222 | DstPort 1 5223 | } 5224 | Line { 5225 | SrcBlock "Demux" 5226 | SrcPort 5 5227 | Points [10, 0; 0, 310] 5228 | Branch { 5229 | Points [0, 55] 5230 | DstBlock "Scope2" 5231 | DstPort 1 5232 | } 5233 | Branch { 5234 | DstBlock "To Workspace2" 5235 | DstPort 1 5236 | } 5237 | } 5238 | Line { 5239 | SrcBlock "Tcellmin" 5240 | SrcPort 1 5241 | DstBlock "ScaleOut1" 5242 | DstPort 1 5243 | } 5244 | Line { 5245 | SrcBlock "ScaleOut3" 5246 | SrcPort 1 5247 | DstBlock "Mux6" 5248 | DstPort 3 5249 | } 5250 | Line { 5251 | SrcBlock "dTrad_min" 5252 | SrcPort 1 5253 | DstBlock "ScaleOut7" 5254 | DstPort 1 5255 | } 5256 | Line { 5257 | SrcBlock "ScaleOut7" 5258 | SrcPort 1 5259 | DstBlock "Mux6" 5260 | DstPort 2 5261 | } 5262 | Line { 5263 | SrcBlock "Uf_min" 5264 | SrcPort 1 5265 | DstBlock "ScaleOut8" 5266 | DstPort 1 5267 | } 5268 | Line { 5269 | SrcBlock "ScaleOut8" 5270 | SrcPort 1 5271 | DstBlock "Mux6" 5272 | DstPort 4 5273 | } 5274 | Line { 5275 | SrcBlock "SCR_min" 5276 | SrcPort 1 5277 | DstBlock "ScaleOut9" 5278 | DstPort 1 5279 | } 5280 | Line { 5281 | SrcBlock "ScaleOut9" 5282 | SrcPort 1 5283 | DstBlock "Mux6" 5284 | DstPort 5 5285 | } 5286 | Line { 5287 | SrcBlock "Power_max" 5288 | SrcPort 1 5289 | DstBlock "ScaleOut6" 5290 | DstPort 1 5291 | } 5292 | Line { 5293 | SrcBlock "Tcellmin_max" 5294 | SrcPort 1 5295 | DstBlock "ScaleOut5" 5296 | DstPort 1 5297 | } 5298 | Line { 5299 | SrcBlock "Mux7" 5300 | SrcPort 1 5301 | DstBlock "Limits7" 5302 | DstPort 1 5303 | } 5304 | Line { 5305 | SrcBlock "ScaleOut6" 5306 | SrcPort 1 5307 | DstBlock "Mux7" 5308 | DstPort 1 5309 | } 5310 | Line { 5311 | SrcBlock "ScaleOut5" 5312 | SrcPort 1 5313 | DstBlock "Mux7" 5314 | DstPort 3 5315 | } 5316 | Line { 5317 | SrcBlock "dTrad_max" 5318 | SrcPort 1 5319 | DstBlock "ScaleOut10" 5320 | DstPort 1 5321 | } 5322 | Line { 5323 | SrcBlock "ScaleOut10" 5324 | SrcPort 1 5325 | DstBlock "Mux7" 5326 | DstPort 2 5327 | } 5328 | Line { 5329 | SrcBlock "Uf_max" 5330 | SrcPort 1 5331 | DstBlock "ScaleOut11" 5332 | DstPort 1 5333 | } 5334 | Line { 5335 | SrcBlock "ScaleOut11" 5336 | SrcPort 1 5337 | DstBlock "Mux7" 5338 | DstPort 4 5339 | } 5340 | Line { 5341 | SrcBlock "SCR_max" 5342 | SrcPort 1 5343 | DstBlock "ScaleOut12" 5344 | DstPort 1 5345 | } 5346 | Line { 5347 | SrcBlock "ScaleOut12" 5348 | SrcPort 1 5349 | DstBlock "Mux7" 5350 | DstPort 5 5351 | } 5352 | Line { 5353 | SrcBlock "ScaleIn1" 5354 | SrcPort 1 5355 | DstBlock "Mux3" 5356 | DstPort 1 5357 | } 5358 | Line { 5359 | SrcBlock "ScaleIn" 5360 | SrcPort 1 5361 | DstBlock "Mux3" 5362 | DstPort 3 5363 | } 5364 | Line { 5365 | SrcBlock "pcomb_min" 5366 | SrcPort 1 5367 | DstBlock "ScaleIn3" 5368 | DstPort 1 5369 | } 5370 | Line { 5371 | SrcBlock "ScaleIn3" 5372 | SrcPort 1 5373 | DstBlock "Mux3" 5374 | DstPort 2 5375 | } 5376 | Line { 5377 | SrcBlock "Vcell_min" 5378 | SrcPort 1 5379 | DstBlock "ScaleIn4" 5380 | DstPort 1 5381 | } 5382 | Line { 5383 | SrcBlock "ScaleIn4" 5384 | SrcPort 1 5385 | DstBlock "Mux3" 5386 | DstPort 4 5387 | } 5388 | Line { 5389 | SrcBlock "p_Pin_max" 5390 | SrcPort 1 5391 | DstBlock "ScaleIn2" 5392 | DstPort 1 5393 | } 5394 | Line { 5395 | SrcBlock "T_Pin_max" 5396 | SrcPort 1 5397 | DstBlock "ScaleIn5" 5398 | DstPort 1 5399 | } 5400 | Line { 5401 | SrcBlock "Mux4" 5402 | SrcPort 1 5403 | DstBlock "Limits1" 5404 | DstPort 1 5405 | } 5406 | Line { 5407 | SrcBlock "ScaleIn5" 5408 | SrcPort 1 5409 | DstBlock "Mux4" 5410 | DstPort 1 5411 | } 5412 | Line { 5413 | SrcBlock "ScaleIn2" 5414 | SrcPort 1 5415 | DstBlock "Mux4" 5416 | DstPort 3 5417 | } 5418 | Line { 5419 | SrcBlock "pcomb_max" 5420 | SrcPort 1 5421 | DstBlock "ScaleIn6" 5422 | DstPort 1 5423 | } 5424 | Line { 5425 | SrcBlock "ScaleIn6" 5426 | SrcPort 1 5427 | DstBlock "Mux4" 5428 | DstPort 2 5429 | } 5430 | Line { 5431 | SrcBlock "Vcell_max" 5432 | SrcPort 1 5433 | DstBlock "ScaleIn7" 5434 | DstPort 1 5435 | } 5436 | Line { 5437 | SrcBlock "ScaleIn7" 5438 | SrcPort 1 5439 | DstBlock "Mux4" 5440 | DstPort 4 5441 | } 5442 | Line { 5443 | SrcBlock "ScaleOut1" 5444 | SrcPort 1 5445 | DstBlock "Mux2" 5446 | DstPort 3 5447 | } 5448 | Line { 5449 | SrcBlock "dTradmax" 5450 | SrcPort 1 5451 | DstBlock "ScaleOut13" 5452 | DstPort 1 5453 | } 5454 | Line { 5455 | SrcBlock "ScaleOut13" 5456 | SrcPort 1 5457 | DstBlock "Mux2" 5458 | DstPort 2 5459 | } 5460 | Line { 5461 | SrcBlock "Uf" 5462 | SrcPort 1 5463 | DstBlock "ScaleOut14" 5464 | DstPort 1 5465 | } 5466 | Line { 5467 | SrcBlock "ScaleOut14" 5468 | SrcPort 1 5469 | DstBlock "Mux2" 5470 | DstPort 4 5471 | } 5472 | Line { 5473 | SrcBlock "SCR" 5474 | SrcPort 1 5475 | DstBlock "ScaleOut15" 5476 | DstPort 1 5477 | } 5478 | Line { 5479 | SrcBlock "ScaleOut15" 5480 | SrcPort 1 5481 | DstBlock "Mux2" 5482 | DstPort 5 5483 | } 5484 | Line { 5485 | SrcBlock "Demux" 5486 | SrcPort 3 5487 | Points [0, -5; 15, 0; 0, -85; 15, 0] 5488 | Branch { 5489 | DstBlock "SOFC Model" 5490 | DstPort 1 5491 | } 5492 | Branch { 5493 | Points [-15, 0; 0, 230; 15, 0] 5494 | Branch { 5495 | Points [0, 25] 5496 | DstBlock "To Workspace" 5497 | DstPort 1 5498 | } 5499 | Branch { 5500 | Points [120, 0] 5501 | DstBlock "To File1" 5502 | DstPort 1 5503 | } 5504 | } 5505 | } 5506 | Line { 5507 | SrcBlock "Demux" 5508 | SrcPort 4 5509 | Points [40, 0] 5510 | Branch { 5511 | Points [0, -110] 5512 | DstBlock "SOFC Model" 5513 | DstPort 2 5514 | } 5515 | Branch { 5516 | Points [-10, 0; 0, 150] 5517 | Branch { 5518 | Points [0, 30] 5519 | DstBlock "To Workspace4" 5520 | DstPort 1 5521 | } 5522 | Branch { 5523 | Points [120, 0] 5524 | DstBlock "To File3" 5525 | DstPort 1 5526 | } 5527 | } 5528 | } 5529 | Line { 5530 | SrcBlock "Demux" 5531 | SrcPort 2 5532 | Points [0, -5; 5, 0; 0, 130; 25, 0] 5533 | Branch { 5534 | DstBlock "SOFC Model" 5535 | DstPort 6 5536 | } 5537 | Branch { 5538 | Points [0, 235] 5539 | Branch { 5540 | Points [0, 25] 5541 | DstBlock "To Workspace3" 5542 | DstPort 1 5543 | } 5544 | Branch { 5545 | Points [120, 0] 5546 | DstBlock "To File2" 5547 | DstPort 1 5548 | } 5549 | } 5550 | } 5551 | Line { 5552 | SrcBlock "Demux" 5553 | SrcPort 1 5554 | Points [0, 20; 25, 0; 0, 125] 5555 | Branch { 5556 | DstBlock "SOFC Model" 5557 | DstPort 5 5558 | } 5559 | Branch { 5560 | Points [5, 0; 0, 205; 15, 0] 5561 | Branch { 5562 | Points [0, 25] 5563 | DstBlock "To Workspace1" 5564 | DstPort 1 5565 | } 5566 | Branch { 5567 | Points [105, 0] 5568 | DstBlock "To File4" 5569 | DstPort 1 5570 | } 5571 | } 5572 | } 5573 | Line { 5574 | SrcBlock "Ua_min" 5575 | SrcPort 1 5576 | DstBlock "ScaleOut16" 5577 | DstPort 1 5578 | } 5579 | Line { 5580 | SrcBlock "ScaleOut16" 5581 | SrcPort 1 5582 | DstBlock "Limits8" 5583 | DstPort 1 5584 | } 5585 | Line { 5586 | SrcBlock "Ua_max" 5587 | SrcPort 1 5588 | DstBlock "ScaleOut17" 5589 | DstPort 1 5590 | } 5591 | Line { 5592 | SrcBlock "ScaleOut17" 5593 | SrcPort 1 5594 | DstBlock "Limits9" 5595 | DstPort 1 5596 | } 5597 | Line { 5598 | SrcBlock "mair_min" 5599 | SrcPort 1 5600 | DstBlock "ScaleIn8" 5601 | DstPort 1 5602 | } 5603 | Line { 5604 | SrcBlock "ScaleIn8" 5605 | SrcPort 1 5606 | DstBlock "Limits10" 5607 | DstPort 1 5608 | } 5609 | Line { 5610 | SrcBlock "mair_max" 5611 | SrcPort 1 5612 | DstBlock "ScaleIn9" 5613 | DstPort 1 5614 | } 5615 | Line { 5616 | SrcBlock "ScaleIn9" 5617 | SrcPort 1 5618 | DstBlock "Limits11" 5619 | DstPort 1 5620 | } 5621 | Line { 5622 | SrcBlock "Ua" 5623 | SrcPort 1 5624 | DstBlock "ScaleOut18" 5625 | DstPort 1 5626 | } 5627 | Line { 5628 | SrcBlock "ScaleOut18" 5629 | SrcPort 1 5630 | DstBlock "Mux8" 5631 | DstPort 2 5632 | } 5633 | Line { 5634 | SrcBlock "Limits13" 5635 | SrcPort 1 5636 | DstBlock "Mux8" 5637 | DstPort 6 5638 | } 5639 | Line { 5640 | SrcBlock "Limits12" 5641 | SrcPort 1 5642 | DstBlock "Mux8" 5643 | DstPort 5 5644 | } 5645 | Line { 5646 | SrcBlock "Limits15" 5647 | SrcPort 1 5648 | DstBlock "Mux8" 5649 | DstPort 4 5650 | } 5651 | Line { 5652 | SrcBlock "Limits14" 5653 | SrcPort 1 5654 | DstBlock "Mux8" 5655 | DstPort 3 5656 | } 5657 | Line { 5658 | SrcBlock "Mux8" 5659 | SrcPort 1 5660 | DstBlock "LMPC Controller1" 5661 | DstPort 1 5662 | } 5663 | Line { 5664 | SrcBlock "LMPC Controller1" 5665 | SrcPort 1 5666 | DstBlock "Rate Transition1" 5667 | DstPort 1 5668 | } 5669 | Line { 5670 | SrcBlock "Zero-Order\nHold2" 5671 | SrcPort 1 5672 | Points [-195, 0; 0, -215; -515, 0; 0, -225] 5673 | DstBlock "Mux8" 5674 | DstPort 1 5675 | } 5676 | Line { 5677 | SrcBlock "Rate Transition1" 5678 | SrcPort 1 5679 | DstBlock "Demux1" 5680 | DstPort 1 5681 | } 5682 | Line { 5683 | SrcBlock "Demux1" 5684 | SrcPort 1 5685 | Points [10, 0; 0, 255] 5686 | DstBlock "To Workspace6" 5687 | DstPort 1 5688 | } 5689 | Line { 5690 | SrcBlock "Demux1" 5691 | SrcPort 2 5692 | Points [0, 260] 5693 | DstBlock "To Workspace7" 5694 | DstPort 1 5695 | } 5696 | Annotation { 5697 | Position [351, 330] 5698 | } 5699 | } 5700 | } 5701 | # Finite State Machines 5702 | # 5703 | # Stateflow Version 7.5 (R2010a) dated Jul 24 2010, 07:30:36 5704 | # 5705 | # 5706 | 5707 | 5708 | Stateflow { 5709 | machine { 5710 | id 1 5711 | name "sofc_system5_mpc11_int" 5712 | created "29-Nov-2010 15:45:39" 5713 | isLibrary 0 5714 | firstTarget 2 5715 | sfVersion 75014000.000003 5716 | } 5717 | target { 5718 | id 2 5719 | name "sfun" 5720 | description "Default Simulink S-Function Target." 5721 | machine 1 5722 | linkNode [1 0 0] 5723 | } 5724 | } 5725 | -------------------------------------------------------------------------------- /xseqlse10_int.m: -------------------------------------------------------------------------------- 1 | % xseqlse10.m 2 | % Extended Sequential Least Squares Estimator 3 | % 4 | % Ben Spivey, 11/26/10 5 | disp('made it to xseq') 6 | format long e 7 | 8 | load('mimo_21ss_10zoh.mat'); 9 | [A,B,C,D] = ssdata(mimo_21ss_10zoh); 10 | nA = length(A); 11 | z1A = zeros(nA,ny); % assumes number of disturbances equals ny 12 | z2A = zeros(ny,nA); 13 | IA = eye(ny,ny); 14 | 15 | % Input data from mpc algorithm 16 | nx = nA + ny; 17 | 18 | Aaug = [A z1A; C*A IA]; 19 | Baug = [B; C*B]; 20 | IC = eye(ny,ny); 21 | zC = zeros(ny,nA); 22 | Caug = [zC IC]; 23 | 24 | A = Aaug; 25 | B = Baug; 26 | C = Caug; 27 | 28 | % Read observation data 29 | time = obsdata(:,1); 30 | sofc_obs = obsdata(:,2); 31 | weight = obsdata(:,3); 32 | obsnumber = obsdata(:,4); 33 | tfinal = max(time); 34 | obsfinal = length(time); 35 | 36 | % Initialization 37 | [X_0,xbar,sigmas,relerr,abserr] = setup10(nx); 38 | Pbar0 = diag(sigmas.^2); 39 | dXbar0 = xbar'; 40 | X_0 = X_0'; 41 | if exist('x0hist.mat') 42 | load('x0hist.mat'); 43 | [row,col] = size(x0_mat); 44 | X_0 = x0_mat(:,col); 45 | end 46 | 47 | phi0 = eye(nx); 48 | t_cur = 0; 49 | 50 | % Convert phi0 to vector form for integration 51 | for i=1:nx 52 | first = (i-1)*nx + 1; 53 | last = first + (nx-1); 54 | phi0_vec(first:last,1) = phi0(:,i); 55 | end 56 | 57 | X(:,1) = X_0; 58 | state0_vec=[phi0_vec; X(:,1)]; 59 | 60 | P(:,:,1)=Pbar0; 61 | for j=1:obsfinal 62 | t_obs = time(j); 63 | 64 | % Read current observation 65 | station_obs = obsnumber(j); 66 | weight_obs = weight(j); 67 | Y(j,1) = sofc_obs(j); 68 | % Integrate states and state transition matrix if necessary 69 | if j==1 70 | index = 1; 71 | % StateTemp = [36 Phi values; 6 State values] 72 | state0_vec=[phi0_vec; X(:,index)]; 73 | StateTemp = phi_and_x_eqns(state0_vec,dupast,A,B,nu); 74 | 75 | % Convert StateTemp phi subvector to phi matrix 76 | for k=1:nx 77 | first = (k-1)*nx + 1; 78 | last = first + (nx-1); 79 | phi(:,k,j) = StateTemp(first:last,1); 80 | end 81 | 82 | first = nx^2+1; 83 | % Integrate the reference trajectory, X 84 | [row,col] = size(A); % assumes a square matrix 85 | size(X) 86 | first 87 | col 88 | size(StateTemp) 89 | X(:,j) = StateTemp(first:first+col-1); 90 | 91 | else 92 | phi(:,:,j) = eye(nx); 93 | X(:,j) = X(:,j-1); 94 | end 95 | 96 | % Compute a priori estimates: propagate state and covariance 97 | Pbar(:,:,j) = phi(:,:,j)*P(:,:,index)*phi(:,:,j)'; 98 | 99 | % Compute residual, Htilda, Kalman gain 100 | G = C*X(:,j); 101 | Y(j,1); 102 | dy(j,1) = Y(j,1) - G(station_obs,1); 103 | Htilda(j,:) = C(station_obs,:); 104 | R = 1/weight(j,1); 105 | K(:,j) = Pbar(:,:,j)*Htilda(j,:)'*inv(Htilda(j,:)*Pbar(:,:,j)*Htilda(j,:)' + R); 106 | yi = dy(j,1); 107 | 108 | % Compute a posterior estimates 109 | dXhat(:,j) = K(:,j)*yi; 110 | P(:,:,j) = (eye(nx) - K(:,j)*Htilda(j,:))*Pbar(:,:,j); 111 | Xprior(:,j) = X(:,j); 112 | 113 | % Update the state vector 114 | X(:,j) = X(:,j) + dXhat(:,j); 115 | 116 | % Calculate postfit residual 117 | Gpf = C*X(:,j); 118 | dypf(j,1) = Y(j,1) - Gpf(station_obs,1); 119 | 120 | end 121 | 122 | % Calculate RMS 123 | pre_rms = 0; 124 | post_rms = 0; 125 | disp('residuals') 126 | pre_rms = sqrt(dy(:,1)'*dy(:,1)/obsfinal); 127 | post_rms = sqrt(dypf(:,1)'*dypf(:,1)/obsfinal); 128 | X(:,obsfinal) 129 | 130 | % Calculate covariance and correlation matrices 131 | sigmas_final = sqrt(diag(P(:,:,obsfinal))); 132 | sigmas_final_mat = diag(sigmas_final); 133 | inv_sigmas_mat = inv(sigmas_final_mat); 134 | corr_mat = inv_sigmas_mat*P(:,:,obsfinal)*inv_sigmas_mat - eye(nx) + sigmas_final_mat; 135 | 136 | % Output results to screen 137 | % diary('ben.out.extended_seq.03.txt') 138 | % disp(' End of file encountered') 139 | % fprintf('\n\n\n') 140 | % fprintf('No. of data points= %d ', obsfinal) 141 | % fprintf('RMS before filter= %d ', pre_rms) 142 | % fprintf('RMS after filter= %d\n\n\n', post_rms) 143 | % fprintf(' XHAT_0\n') 144 | % disp(dXhat(:,obsfinal)) 145 | % fprintf(' Time of estimated state') 146 | % disp(tfinal) 147 | % fprintf(' Estimated State\n') 148 | % disp(X(:,obsfinal)) 149 | % fprintf(' Covariance Matrix\n') 150 | % disp(P(:,:,obsfinal)) 151 | % fprintf(' Correlation Matrix\n') 152 | % disp(corr_mat) 153 | % diary off 154 | 155 | % Save results to a matrix file 156 | save('xseqsle0.mat','X_0','xbar','sigmas'); 157 | 158 | % figure 159 | % plot(dy(:,1)) 160 | % figure 161 | % plot(dypf(:,1)) 162 | 163 | 164 | 165 | -------------------------------------------------------------------------------- /xseqlse11_int.m: -------------------------------------------------------------------------------- 1 | % xseqlse11.m 2 | % Extended Sequential Least Squares Estimator 3 | % 4 | % Ben Spivey, 11/26/10 5 | disp('made it to xseq') 6 | format long e 7 | 8 | load('siso_UAss_10zoh.mat'); 9 | [A,B,C,D] = ssdata(siso_UAss_10zoh); 10 | nA = length(A); 11 | z1A = zeros(nA,ny); % assumes number of disturbances equals ny 12 | z2A = zeros(ny,nA); 13 | IA = eye(ny,ny); 14 | 15 | % Input data from mpc algorithm 16 | nx = nA + ny; 17 | 18 | Aaug = [A z1A; C*A IA]; 19 | Baug = [B; C*B]; 20 | IC = eye(ny,ny); 21 | zC = zeros(ny,nA); 22 | Caug = [zC IC]; 23 | 24 | A = Aaug; 25 | B = Baug; 26 | C = Caug; 27 | 28 | % Read observation data 29 | time = obsdata(:,1); 30 | sofc_obs = obsdata(:,2); 31 | weight = obsdata(:,3); 32 | obsnumber = obsdata(:,4); 33 | tfinal = max(time); 34 | obsfinal = length(time); 35 | 36 | % Initialization 37 | [X_0,xbar,sigmas,relerr,abserr] = setup11(nx); 38 | Pbar0 = diag(sigmas.^2); 39 | dXbar0 = xbar'; 40 | X_0 = X_0'; 41 | if exist('x0hist2.mat') 42 | load('x0hist2.mat'); 43 | [row,col] = size(x0_mat); 44 | X_0 = x0_mat(:,col); 45 | end 46 | 47 | phi0 = eye(nx); 48 | t_cur = 0; 49 | 50 | % Convert phi0 to vector form for integration 51 | for i=1:nx 52 | first = (i-1)*nx + 1; 53 | last = first + (nx-1); 54 | phi0_vec(first:last,1) = phi0(:,i); 55 | end 56 | 57 | X(:,1) = X_0; 58 | state0_vec=[phi0_vec; X(:,1)]; 59 | 60 | P(:,:,1)=Pbar0; 61 | for j=1:obsfinal 62 | t_obs = time(j); 63 | 64 | % Read current observation 65 | station_obs = obsnumber(j); 66 | weight_obs = weight(j); 67 | Y(j,1) = sofc_obs(j); 68 | % Integrate states and state transition matrix if necessary 69 | if j==1 70 | index = 1; 71 | % StateTemp = [36 Phi values; 6 State values] 72 | state0_vec=[phi0_vec; X(:,index)]; 73 | StateTemp = phi_and_x_eqns(state0_vec,dupast,A,B,nu); 74 | disp('made it to xseq6') 75 | 76 | % Convert StateTemp phi subvector to phi matrix 77 | for k=1:nx 78 | first = (k-1)*nx + 1; 79 | last = first + (nx-1); 80 | StateTemp(first:last,1); 81 | phi(:,k,j) = StateTemp(first:last,1); 82 | end 83 | 84 | first = nx^2+1; 85 | % Integrate the reference trajectory, X 86 | [row,col] = size(A); % assumes a square matrix 87 | size(X) 88 | first 89 | col 90 | size(StateTemp) 91 | X(:,j) = StateTemp(first:first+col-1); 92 | disp('made it to xseq7') 93 | 94 | else 95 | phi(:,:,j) = eye(nx); 96 | X(:,j) = X(:,j-1); 97 | end 98 | 99 | % Compute a priori estimates: propagate state and covariance 100 | Pbar(:,:,j) = phi(:,:,j)*P(:,:,index)*phi(:,:,j)'; 101 | 102 | % Compute residual, Htilda, Kalman gain 103 | G = C*X(:,j); 104 | Y(j,1); 105 | dy(j,1) = Y(j,1) - G(station_obs,1); 106 | Htilda(j,:) = C(station_obs,:); 107 | R = 1/weight(j,1); 108 | K(:,j) = Pbar(:,:,j)*Htilda(j,:)'*inv(Htilda(j,:)*Pbar(:,:,j)*Htilda(j,:)' + R); 109 | yi = dy(j,1); 110 | 111 | % Compute a posterior estimates 112 | dXhat(:,j) = K(:,j)*yi; 113 | P(:,:,j) = (eye(nx) - K(:,j)*Htilda(j,:))*Pbar(:,:,j); 114 | Xprior(:,j) = X(:,j); 115 | 116 | % Update the state vector 117 | X(:,j) = X(:,j) + dXhat(:,j); 118 | 119 | % Calculate postfit residual 120 | Gpf = C*X(:,j); 121 | dypf(j,1) = Y(j,1) - Gpf(station_obs,1); 122 | 123 | end 124 | 125 | % Calculate RMS 126 | pre_rms = 0; 127 | post_rms = 0; 128 | disp('residuals') 129 | pre_rms = sqrt(dy(:,1)'*dy(:,1)/obsfinal); 130 | post_rms = sqrt(dypf(:,1)'*dypf(:,1)/obsfinal); 131 | X(:,obsfinal) 132 | 133 | % Calculate covariance and correlation matrices 134 | sigmas_final = sqrt(diag(P(:,:,obsfinal))); 135 | sigmas_final_mat = diag(sigmas_final); 136 | inv_sigmas_mat = inv(sigmas_final_mat); 137 | corr_mat = inv_sigmas_mat*P(:,:,obsfinal)*inv_sigmas_mat - eye(nx) + sigmas_final_mat; 138 | 139 | % Output results to screen 140 | % diary('ben.out.extended_seq.03.txt') 141 | % disp(' End of file encountered') 142 | % fprintf('\n\n\n') 143 | % fprintf('No. of data points= %d ', obsfinal) 144 | % fprintf('RMS before filter= %d ', pre_rms) 145 | % fprintf('RMS after filter= %d\n\n\n', post_rms) 146 | % fprintf(' XHAT_0\n') 147 | % disp(dXhat(:,obsfinal)) 148 | % fprintf(' Time of estimated state') 149 | % disp(tfinal) 150 | % fprintf(' Estimated State\n') 151 | % disp(X(:,obsfinal)) 152 | % fprintf(' Covariance Matrix\n') 153 | % disp(P(:,:,obsfinal)) 154 | % fprintf(' Correlation Matrix\n') 155 | % disp(corr_mat) 156 | % diary off 157 | 158 | % Save results to a matrix file 159 | save('xseqsle02.mat','X_0','xbar','sigmas'); 160 | 161 | % figure 162 | % plot(dy(:,1)) 163 | % figure 164 | % plot(dypf(:,1)) 165 | 166 | 167 | 168 | --------------------------------------------------------------------------------