├── .gitignore ├── ESO ├── S.mat ├── ESO.mat ├── identified_modal.mat ├── identified_modal_250.mat ├── slprj │ ├── _jitprj │ │ ├── jitEngineAccessInfo.mat │ │ ├── sS5BotDlNU9LnQ8eP7c6PUF.l │ │ └── sS5BotDlNU9LnQ8eP7c6PUF.mat │ └── _sfprj │ │ ├── EMLReport │ │ ├── emlReportAccessInfo.mat │ │ └── sS5BotDlNU9LnQ8eP7c6PUF.mat │ │ ├── ESO_test │ │ └── _self │ │ │ └── sfun │ │ │ └── info │ │ │ └── binfo.mat │ │ └── precompile │ │ ├── autoInferAccessInfo.mat │ │ └── xZqIydn3BB48wJCc787Y7C.mat ├── ESO_performance_test.m ├── ESO_design.m ├── ESO_test.mdl.r2011a └── ESO_test.mdl ├── Proof.docx ├── Theorem.jpg ├── ESO_V2 ├── La.mat ├── S.mat ├── ESO_test.slx ├── identified_n_8.mat ├── PBH.m ├── ESO_design_Quadratic_Stabilization.m └── ESO_performance_test.m ├── ESO_design.pdf ├── S_procedure_Simply_Explained.pdf ├── Lyapunov-Lurie_basic_Explanation.pdf ├── lmibook_See page 119 for Lyapunov candidate.pdf ├── ESO_design_old.m ├── LICENSE └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | # Object file 2 | *.o 3 | 4 | # Ada Library Information 5 | *.ali 6 | -------------------------------------------------------------------------------- /ESO/S.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/ESO/S.mat -------------------------------------------------------------------------------- /ESO/ESO.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/ESO/ESO.mat -------------------------------------------------------------------------------- /Proof.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/Proof.docx -------------------------------------------------------------------------------- /Theorem.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/Theorem.jpg -------------------------------------------------------------------------------- /ESO_V2/La.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/ESO_V2/La.mat -------------------------------------------------------------------------------- /ESO_V2/S.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/ESO_V2/S.mat -------------------------------------------------------------------------------- /ESO_design.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/ESO_design.pdf -------------------------------------------------------------------------------- /ESO_V2/ESO_test.slx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/ESO_V2/ESO_test.slx -------------------------------------------------------------------------------- /ESO/identified_modal.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/ESO/identified_modal.mat -------------------------------------------------------------------------------- /ESO_V2/identified_n_8.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/ESO_V2/identified_n_8.mat -------------------------------------------------------------------------------- /ESO/identified_modal_250.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/ESO/identified_modal_250.mat -------------------------------------------------------------------------------- /S_procedure_Simply_Explained.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/S_procedure_Simply_Explained.pdf -------------------------------------------------------------------------------- /Lyapunov-Lurie_basic_Explanation.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/Lyapunov-Lurie_basic_Explanation.pdf -------------------------------------------------------------------------------- /ESO/slprj/_jitprj/jitEngineAccessInfo.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/ESO/slprj/_jitprj/jitEngineAccessInfo.mat -------------------------------------------------------------------------------- /ESO/slprj/_jitprj/sS5BotDlNU9LnQ8eP7c6PUF.l: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/ESO/slprj/_jitprj/sS5BotDlNU9LnQ8eP7c6PUF.l -------------------------------------------------------------------------------- /ESO/slprj/_jitprj/sS5BotDlNU9LnQ8eP7c6PUF.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/ESO/slprj/_jitprj/sS5BotDlNU9LnQ8eP7c6PUF.mat -------------------------------------------------------------------------------- /lmibook_See page 119 for Lyapunov candidate.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/lmibook_See page 119 for Lyapunov candidate.pdf -------------------------------------------------------------------------------- /ESO/slprj/_sfprj/EMLReport/emlReportAccessInfo.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/ESO/slprj/_sfprj/EMLReport/emlReportAccessInfo.mat -------------------------------------------------------------------------------- /ESO/slprj/_sfprj/ESO_test/_self/sfun/info/binfo.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/ESO/slprj/_sfprj/ESO_test/_self/sfun/info/binfo.mat -------------------------------------------------------------------------------- /ESO/slprj/_sfprj/precompile/autoInferAccessInfo.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/ESO/slprj/_sfprj/precompile/autoInferAccessInfo.mat -------------------------------------------------------------------------------- /ESO/slprj/_sfprj/EMLReport/sS5BotDlNU9LnQ8eP7c6PUF.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/ESO/slprj/_sfprj/EMLReport/sS5BotDlNU9LnQ8eP7c6PUF.mat -------------------------------------------------------------------------------- /ESO/slprj/_sfprj/precompile/xZqIydn3BB48wJCc787Y7C.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/attaoveisi/Extended_State_Observer/HEAD/ESO/slprj/_sfprj/precompile/xZqIydn3BB48wJCc787Y7C.mat -------------------------------------------------------------------------------- /ESO_V2/PBH.m: -------------------------------------------------------------------------------- 1 | function y=PBH(A,B) 2 | %PBH test 3 | n=size(B,1); 4 | Lambda=eig(A); 5 | j=0; 6 | for i=1:length(Lambda) 7 | if rank([Lambda(i)*eye(n)-A B])=8 & t<=t(end); 50 | axes('Position',[0.7 0.23 0.2 0.2]); 51 | plot(t(ss_index),w(ss_index)-w_hat(ss_index),'g') -------------------------------------------------------------------------------- /ESO_design_old.m: -------------------------------------------------------------------------------- 1 | clear all 2 | %% 3 | load('identified_modal_250.mat'); 4 | load('S.mat'); 5 | S=S(1:2,1:2); 6 | n=size(A,1); 7 | n_w=size(S,1); 8 | n_y=size(C,1); 9 | % 10 | Cw=zeros(size(H,2),n_w); 11 | Cw=[1 0]; 12 | H=H*Cw; 13 | Q=eye(size(H)); 14 | n_xi=size(Q,2); 15 | n_t=n+n_w+n_xi; 16 | A0=zeros(n_t,n_t); 17 | B0=zeros(n_t,n_xi); 18 | C0=zeros(n_y,n_t); 19 | % 20 | A0(1:n,:)=[A H Q]; 21 | A0(n+1:n+n_w,n+1:n+n_w)=S; 22 | B0(n+n_w+1:n_t,:)=eye(n_xi); 23 | C0(:,1:n)=C; 24 | Cz=C0; 25 | %% Sector boundeds of the gain function [a,b] 26 | a=0.5; 27 | b=1; 28 | %% LMI optimization 29 | c1=1e+09; 30 | c2=1e+07; 31 | threshold=1e-06;%Threshold for stric inequalities 32 | cvx_begin sdp 33 | variable P(n_t,n_t) symmetric 34 | variables Y(n_t,n_y) gam(1,1) tau(1,1) 35 | % 36 | psi11=P*A0+A0'*P+(Cz'*Cz)-tau*a*b*(C0'*C0); 37 | psi12=-Y+(tau/2)*(a+b)*C0'; 38 | psi13=P*B0; 39 | psi22=-tau*eye(n_y); 40 | psi23=zeros(n_y,n_xi); 41 | psi33=-gam*eye(n_xi); 42 | Psi=[psi11 psi12 psi13; 43 | psi12' psi22 psi23; 44 | psi13' psi23' psi33]; 45 | % 46 | minimize(gam) 47 | subject to 48 | gam>=threshold; 49 | tau>=threshold; 50 | % P-c1^(-1)*eye(n_t)>=0; 51 | % [-c2^2*eye(n_y) Y'; 52 | % Y -eye(n_t)]<=0; 53 | Psi<=-threshold*eye(size(Psi)); 54 | cvx_end 55 | %% Results 56 | gam_opt=gam^0.5; 57 | L=P\Y; -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 2-Clause License 2 | 3 | Copyright (c) 2020, Atta Oveisi 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 17 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 19 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 20 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 22 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 23 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 24 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26 | -------------------------------------------------------------------------------- /ESO_V2/ESO_design_Quadratic_Stabilization.m: -------------------------------------------------------------------------------- 1 | clear all 2 | %% System model 3 | load('identified_n_8.mat'); 4 | load('S.mat'); 5 | H = B(:,4); 6 | % H2 = H1; 7 | B = B(:,1:2); 8 | D = D(:,1:2); 9 | nx = size(A,1); 10 | nu = size(B,2); 11 | nw = size(H,2); 12 | ny = size(C,1); 13 | %% Disturbance model 14 | nv = size(S,1); 15 | nh = nv; 16 | F = eye(nv); 17 | E = zeros(nw,nv); 18 | for i = 1:6 19 | E(:,2*i-1:2*i) = [1 1]; 20 | end 21 | %% Checking the observability 22 | PBH(A',C') 23 | PBH(S',E') 24 | %% Augmented error model 25 | Aa = [A H*E; 26 | zeros(nv,nx) S]; 27 | Ba = [zeros(nx,nh);F]; 28 | Ca = [C zeros(ny,nv)]; 29 | Cd = Ca; %Desired ouput 30 | nxa = nx+nv; 31 | %% Sector condition 32 | alpha = 0.8; 33 | beta = 1; 34 | %% LMIs 35 | %Inputs 36 | kappa0 = 1e-01; 37 | c1 = 1e+03; 38 | c2 = 1e+04; 39 | %The optimal value of muu without gain constraint on La is 0.0537 40 | %The corresponding La norm is 2.8575e+06 41 | % muu = 1; 42 | cvx_begin sdp 43 | variable P(nxa,nxa) symmetric 44 | variable Y(nxa,ny) 45 | variables tau(1,1) muu(1,1) 46 | minimize(muu) 47 | subject to 48 | tau>=1e-08; 49 | muu>=1e-08; 50 | Pi_11 = P*Aa+Aa'*P+kappa0*eye(nxa)+(Cd'*Cd)-tau*alpha*beta*(Ca'*Ca); 51 | Pi_12 = -Y+0.5*(alpha+beta)*tau*Ca'; 52 | Pi_13 = P*Ba; 53 | Pi_22 = -tau*eye(ny); 54 | Pi_23 = zeros(ny,nh); 55 | Pi_33 = -muu*eye(nh); 56 | [Pi_11 Pi_12 Pi_13; 57 | Pi_12' Pi_22 Pi_23; 58 | Pi_13' Pi_23' Pi_33]<=0; 59 | P-c1^(-1)*eye(nxa)>=0; 60 | [-c2^2*eye(ny) Y'; 61 | Y -eye(nxa)]<=0; 62 | cvx_end 63 | La = P\Y; 64 | save('La.mat'); -------------------------------------------------------------------------------- /ESO/ESO_design.m: -------------------------------------------------------------------------------- 1 | clear all 2 | %% Loading the system data 3 | load('identified_modal_250.mat');%State-space model 4 | n_x = size(A,1); 5 | n_y = size(C,1); 6 | %Disturbance model dx_w/dt=S*x_w+E*h(t), w=Cw*x_w 7 | load('S.mat'); 8 | S = blkdiag(S,zeros(1,1)); 9 | n_xw = size(S,1); 10 | n_w = size(H,2); 11 | n_h = 1; 12 | E = zeros(n_xw,n_h); 13 | E(n_xw,:)=1; 14 | Cw = zeros(n_w,n_xw); 15 | for i=1:floor(n_xw/2) 16 | Cw(:,2*i-1:2*i) = [1 1]; 17 | end 18 | Cw(:,n_xw) = 1; 19 | %% Augmented error dynamics of ESO 20 | n_t = n_x+n_xw; 21 | A0 = zeros(n_t,n_t); 22 | E0 = zeros(n_t,n_h); 23 | C0 = zeros(n_y,n_t); 24 | % 25 | A0(1:n_x,:) = [A H*Cw]; 26 | A0(n_x+1:n_x+n_xw,n_x+1:n_x+n_xw) = S; 27 | E0(n_x+1:n_t,:) = E; 28 | C0(:,1:n_x) = C; 29 | Cz = [zeros(n_w,n_x) Cw];%Performance output 30 | %% Sector boundeds of the gain function: phi \in [a,b] 31 | a = 0.7; 32 | b = 1; 33 | %% LMI optimization 34 | c1 = 1e+04; 35 | c2 = 1e+04; 36 | threshold = 1e-06;%Threshold for stric inequalities 37 | cvx_begin sdp 38 | variable P(n_t,n_t) symmetric 39 | variables Y(n_t,n_y) gam(1,1) tau(1,1) 40 | % 41 | psi11 = P*A0+A0'*P+(Cz'*Cz)-tau*a*b*(C0'*C0); 42 | psi12 = -Y+(tau/2)*(a+b)*C0'; 43 | psi13 = P*E0; 44 | psi22 = -tau*eye(n_y); 45 | psi23 = zeros(n_y,n_h); 46 | psi33 = -gam*eye(n_h); 47 | Psi = [psi11 psi12 psi13; 48 | psi12' psi22 psi23; 49 | psi13' psi23' psi33]; 50 | % 51 | minimize(gam) 52 | subject to 53 | gam>=threshold; 54 | tau>=threshold; 55 | P-c1^(-1)*eye(n_t)>=0; 56 | [-c2^2*eye(n_y) Y'; 57 | Y -eye(n_t)]<=0; 58 | Psi<=-threshold*eye(size(Psi)); 59 | cvx_end 60 | %% Results 61 | gam_opt = gam^0.5; 62 | L = P\Y; 63 | save('ESO.mat','L','gam_opt'); -------------------------------------------------------------------------------- /ESO_V2/ESO_performance_test.m: -------------------------------------------------------------------------------- 1 | clear all 2 | close all 3 | %% System model 4 | load('identified_n_8.mat'); 5 | load('S.mat'); 6 | H = B(:,4); 7 | % H2 = H1; 8 | B = B(:,1:2); 9 | D = D(:,1:2); 10 | nx = size(A,1); 11 | nu = size(B,2); 12 | nw = size(H,2); 13 | ny = size(C,1); 14 | %% Disturbance model 15 | nv = size(S,1); 16 | nh = nv; 17 | F = eye(nv); 18 | E = zeros(nw,nv); 19 | for i = 1:6 20 | E(:,2*i-1:2*i) = [1 1]; 21 | end 22 | %% ESO gains 23 | load('La.mat') 24 | L1 = La(1:nx,:); 25 | L2 = La(nx+1:nx+nv,:); 26 | %% Simulation 27 | Tsim = 20;%Simulation time (s) 28 | sim('ESO_test') 29 | figure(1) 30 | subplot(3,1,1) 31 | plot(t,w) 32 | ylabel('$w$','interpreter','latex','fontsize',14) 33 | subplot(3,1,2) 34 | plot(t,w_hat,'r') 35 | ylabel('$\hat{w}$','interpreter','latex','fontsize',14) 36 | subplot(3,1,3) 37 | plot(t,w-w_hat,'g') 38 | xlabel('Time (s)','interpreter','latex','fontsize',14) 39 | ylabel('$w-\hat{w}$','interpreter','latex','fontsize',14) 40 | % ss_index = t>=8 & t<=t(end); 41 | % axes('Position',[0.7 0.23 0.2 0.2]); 42 | % plot(t(ss_index),w(ss_index)-w_hat(ss_index),'g') 43 | figure(2) 44 | subplot(4,1,1) 45 | plot(t,x(:,1),t,x_hat(:,1),'r') 46 | hold on 47 | plot(t,x(:,1)-x_hat(:,1),'g') 48 | legend('True','Estimated','Error') 49 | subplot(4,1,2) 50 | plot(t,x(:,2),t,x_hat(:,2),'r') 51 | hold on 52 | plot(t,x(:,2)-x_hat(:,2),'g') 53 | subplot(4,1,3) 54 | plot(t,x(:,3),t,x_hat(:,3),'r') 55 | hold on 56 | plot(t,x(:,3)-x_hat(:,3),'g') 57 | subplot(4,1,4) 58 | plot(t,x(:,4),t,x_hat(:,4),'r') 59 | hold on 60 | plot(t,x(:,4)-x_hat(:,4),'g') 61 | % 62 | figure(3) 63 | subplot(4,1,1) 64 | plot(t,x(:,5),t,x_hat(:,5),'r') 65 | hold on 66 | plot(t,x(:,5)-x_hat(:,5),'g') 67 | legend('True','Estimated','Error') 68 | subplot(4,1,2) 69 | plot(t,x(:,6),t,x_hat(:,6),'r') 70 | hold on 71 | plot(t,x(:,6)-x_hat(:,6),'g') 72 | subplot(4,1,3) 73 | plot(t,x(:,7),t,x_hat(:,7),'r') 74 | hold on 75 | plot(t,x(:,7)-x_hat(:,7),'g') 76 | subplot(4,1,4) 77 | plot(t,x(:,8),t,x_hat(:,8),'r') 78 | hold on 79 | plot(t,x(:,8)-x_hat(:,8),'g') -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Extended_State_Observer 2 | a disturbance rejection-based solution to the problem of robust output regulation of linear systems. The difference between the underlying plant and its nominal mathematical model is represented by two classes of disturbances. The first class is generated by an autonomous linear system while the other class has no specific dynamical structure. Robustness against the first disturbance class is achieved by the internal model principle. Next, in the framework of disturbance rejection control, an extended state observer (ESO) is designed to estimate and compensate for the second class of disturbances. As a result, the proposed output regulation method can deal with a vast range of uncertainties. The stability of the closed loop system is investigated and results on practical regulation are drawn. 3 | 4 | Keywords—Output regulation, extended state observer, disturbance rejection, linear system, robustness 5 | 6 | 7 | refer to https://scholar.google.com/citations?user=-HRHoYoAAAAJ&hl=de 8 | 9 | 10 | [1] B. A. Francis and W. M. Wonham, “The internal model principle of control theory,” Automatica, vol. 12, no. 5, pp. 457–465, 1976. 11 | 12 | [2] B. Francis, O. A. Sebakhy, and W. M. Wonham, “Synthesis of multivariable regulators: The internal model principle,” Appl Math Optim, vol. 1, no. 1, pp. 64–86, 1974. 13 | 14 | [3] A. Isidori, L. Marconi, and A. Serrani, “Fundamentals of Internal-Model-Based Control Theory,” in Advances in Industrial Control, Robust Autonomous Guidance: An Internal Model Approach, A. Isidori, L. Marconi, and A. Serrani, Eds., London: Springer London, 2003, pp. 1–58. 15 | 16 | [4] J. Huang and Z. Chen, “A General Framework for Tackling the Output Regulation Problem,” IEEE Trans. Automat. Contr., vol. 49, no. 12, pp. 2203–2218, 2004. 17 | 18 | [5] E. J. Davison and A. Goldenberg, “Robust control of a general servomechanism problem: The servo compensator,” Automatica, vol. 11, no. 5, pp. 461–471, 1975. 19 | 20 | [6] Z. Gao, “On the centrality of disturbance rejection in automatic control,” (ENG), ISA transactions, vol. 53, no. 4, pp. 850–857, 2014. 21 | 22 | [7] J. Huang, “Linear Output Regulation,” in Advances in design and control, Nonlinear output regulation: Theory and applications, J. Huang, Ed., Philadelphia,, Great Britain: SIAM, 2004, pp. 1–34. 23 | 24 | [8] Z. Chen and J. Huang, “Robust Output Regulation: A Framework,” in Advanced Textbooks in Control and Signal Processing, Stabilization and Regulation of Nonlinear Systems, Z. Chen and J. Huang, Eds., Cham: Springer International Publishing, 2015, pp. 197–237. 25 | 26 | [9] A. A. Prasov and H. K. Khalil, “A Nonlinear High-Gain Observer for Systems With Measurement Noise in a Feedback Control Framework,” IEEE Trans. Automat. Contr., vol. 58, no. 3, pp. 569–580, 2013. 27 | 28 | [10] S. Sastry, Nonlinear systems: Analysis, stability and control. New York: Springer, 1999. 29 | 30 | [11] S. Boyd, L. E. Ghaoui, E. Feron, and V. Balakrishnan, Linear matrix inequalities in system and control theory. Philadelphia, Pa.: Society for Industrial and Applied Mathematics, 1994. 31 | 32 | [12] M. Grant and S. Boyd, “Graph implementations for nonsmooth convex programs,” in Lecture Notes in Control and Information Sciences, Recent Advances in Learning and Control, V. Blondel, S. Boyd, and H. Kimura, Eds.: Springer-Verlag Limited, 2008, pp. 95–110. 33 | 34 | [13] M. Grant and S. Boyd, CVX: Matlab Software for Disciplined Convex Programming, version 2.1. Available: http://cvxr.com/cvx. 35 | -------------------------------------------------------------------------------- /ESO/ESO_test.mdl.r2011a: -------------------------------------------------------------------------------- 1 | Model { 2 | Name "ESO_test" 3 | Version 7.7 4 | MdlSubVersion 0 5 | GraphicalInterface { 6 | NumRootInports 0 7 | NumRootOutports 0 8 | ParameterArgumentNames "" 9 | ComputedModelVersion "1.11" 10 | NumModelReferences 0 11 | NumTestPointedSignals 0 12 | } 13 | SavedCharacterEncoding "windows-1252" 14 | SaveDefaultBlockParams on 15 | ScopeRefreshTime 0.035000 16 | OverrideScopeRefreshTime on 17 | DisableAllScopes off 18 | DataTypeOverride "UseLocalSettings" 19 | DataTypeOverrideAppliesTo "AllNumericTypes" 20 | MinMaxOverflowLogging "UseLocalSettings" 21 | MinMaxOverflowArchiveMode "Overwrite" 22 | MaxMDLFileLineLength 120 23 | Created "Sat Oct 14 16:47:29 2017" 24 | Creator "Mehran" 25 | UpdateHistory "UpdateHistoryNever" 26 | ModifiedByFormat "%" 27 | LastModifiedBy "Mehran" 28 | ModifiedDateFormat "%" 29 | LastModifiedDate "Mon Oct 16 13:28:55 2017" 30 | RTWModifiedTimeStamp 430058726 31 | ModelVersionFormat "1.%" 32 | ConfigurationManager "None" 33 | SampleTimeColors off 34 | SampleTimeAnnotations off 35 | LibraryLinkDisplay "none" 36 | WideLines off 37 | ShowLineDimensions off 38 | ShowPortDataTypes off 39 | ShowLoopsOnError on 40 | IgnoreBidirectionalLines off 41 | ShowStorageClass off 42 | ShowTestPointIcons on 43 | ShowSignalResolutionIcons on 44 | ShowViewerIcons on 45 | SortedOrder off 46 | ExecutionContextIcon off 47 | ShowLinearizationAnnotations on 48 | BlockNameDataTip off 49 | BlockParametersDataTip off 50 | BlockDescriptionStringDataTip off 51 | ToolBar on 52 | StatusBar on 53 | BrowserShowLibraryLinks off 54 | BrowserLookUnderMasks off 55 | SimulationMode "normal" 56 | LinearizationMsg "none" 57 | Profile off 58 | ParamWorkspaceSource "MATLABWorkspace" 59 | AccelSystemTargetFile "accel.tlc" 60 | AccelTemplateMakefile "accel_default_tmf" 61 | AccelMakeCommand "make_rtw" 62 | TryForcingSFcnDF off 63 | Object { 64 | $PropName "DataLoggingOverride" 65 | $ObjectID 1 66 | $ClassName "Simulink.SimulationData.ModelLoggingInfo" 67 | model_ "ESO_test" 68 | overrideMode_ [0.0] 69 | Array { 70 | Type "Cell" 71 | Dimension 1 72 | Cell "ESO_test" 73 | PropName "logAsSpecifiedByModels_" 74 | } 75 | Array { 76 | Type "Cell" 77 | Dimension 1 78 | Cell [] 79 | PropName "logAsSpecifiedByModelsSSIDs_" 80 | } 81 | } 82 | RecordCoverage off 83 | CovPath "/" 84 | CovSaveName "covdata" 85 | CovMetricSettings "dw" 86 | CovNameIncrementing off 87 | CovHtmlReporting on 88 | CovForceBlockReductionOff on 89 | covSaveCumulativeToWorkspaceVar on 90 | CovSaveSingleToWorkspaceVar on 91 | CovCumulativeVarName "covCumulativeData" 92 | CovCumulativeReport off 93 | CovReportOnPause on 94 | CovModelRefEnable "Off" 95 | CovExternalEMLEnable off 96 | ExtModeBatchMode off 97 | ExtModeEnableFloating on 98 | ExtModeTrigType "manual" 99 | ExtModeTrigMode "normal" 100 | ExtModeTrigPort "1" 101 | ExtModeTrigElement "any" 102 | ExtModeTrigDuration 1000 103 | ExtModeTrigDurationFloating "auto" 104 | ExtModeTrigHoldOff 0 105 | ExtModeTrigDelay 0 106 | ExtModeTrigDirection "rising" 107 | ExtModeTrigLevel 0 108 | ExtModeArchiveMode "off" 109 | ExtModeAutoIncOneShot off 110 | ExtModeIncDirWhenArm off 111 | ExtModeAddSuffixToVar off 112 | ExtModeWriteAllDataToWs off 113 | ExtModeArmWhenConnect on 114 | ExtModeSkipDownloadWhenConnect off 115 | ExtModeLogAll on 116 | ExtModeAutoUpdateStatusClock on 117 | BufferReuse on 118 | ShowModelReferenceBlockVersion off 119 | ShowModelReferenceBlockIO off 120 | Array { 121 | Type "Handle" 122 | Dimension 1 123 | Simulink.ConfigSet { 124 | $ObjectID 2 125 | Version "1.11.0" 126 | Array { 127 | Type "Handle" 128 | Dimension 9 129 | Simulink.SolverCC { 130 | $ObjectID 3 131 | Version "1.11.0" 132 | StartTime "0.0" 133 | StopTime "10.0" 134 | AbsTol "auto" 135 | FixedStep "auto" 136 | InitialStep "auto" 137 | MaxNumMinSteps "-1" 138 | MaxOrder 5 139 | ZcThreshold "auto" 140 | ConsecutiveZCsStepRelTol "10*128*eps" 141 | MaxConsecutiveZCs "1000" 142 | ExtrapolationOrder 4 143 | NumberNewtonIterations 1 144 | MaxStep "auto" 145 | MinStep "auto" 146 | MaxConsecutiveMinStep "1" 147 | RelTol "1e-3" 148 | SolverMode "Auto" 149 | ConcurrentTasks off 150 | Solver "ode45" 151 | SolverName "ode45" 152 | SolverJacobianMethodControl "auto" 153 | ShapePreserveControl "DisableAll" 154 | ZeroCrossControl "UseLocalSettings" 155 | ZeroCrossAlgorithm "Nonadaptive" 156 | AlgebraicLoopSolver "TrustRegion" 157 | SolverResetMethod "Fast" 158 | PositivePriorityOrder off 159 | AutoInsertRateTranBlk off 160 | SampleTimeConstraint "Unconstrained" 161 | InsertRTBMode "Whenever possible" 162 | } 163 | Simulink.DataIOCC { 164 | $ObjectID 4 165 | Version "1.11.0" 166 | Decimation "1" 167 | ExternalInput "[t, u]" 168 | FinalStateName "xFinal" 169 | InitialState "xInitial" 170 | LimitDataPoints on 171 | MaxDataPoints "1000" 172 | LoadExternalInput off 173 | LoadInitialState off 174 | SaveFinalState off 175 | SaveCompleteFinalSimState off 176 | SaveFormat "Array" 177 | SignalLoggingSaveFormat "ModelDataLogs" 178 | SaveOutput on 179 | SaveState off 180 | SignalLogging on 181 | DSMLogging on 182 | InspectSignalLogs off 183 | SaveTime on 184 | ReturnWorkspaceOutputs off 185 | StateSaveName "xout" 186 | TimeSaveName "tout" 187 | OutputSaveName "yout" 188 | SignalLoggingName "logsout" 189 | DSMLoggingName "dsmout" 190 | OutputOption "RefineOutputTimes" 191 | OutputTimes "[]" 192 | ReturnWorkspaceOutputsName "out" 193 | Refine "1" 194 | } 195 | Simulink.OptimizationCC { 196 | $ObjectID 5 197 | Version "1.11.0" 198 | Array { 199 | Type "Cell" 200 | Dimension 8 201 | Cell "BooleansAsBitfields" 202 | Cell "PassReuseOutputArgsAs" 203 | Cell "PassReuseOutputArgsThreshold" 204 | Cell "ZeroExternalMemoryAtStartup" 205 | Cell "ZeroInternalMemoryAtStartup" 206 | Cell "OptimizeModelRefInitCode" 207 | Cell "NoFixptDivByZeroProtection" 208 | Cell "UseSpecifiedMinMax" 209 | PropName "DisabledProps" 210 | } 211 | BlockReduction on 212 | BooleanDataType on 213 | ConditionallyExecuteInputs on 214 | InlineParams off 215 | UseIntDivNetSlope off 216 | UseSpecifiedMinMax off 217 | InlineInvariantSignals off 218 | OptimizeBlockIOStorage on 219 | BufferReuse on 220 | EnhancedBackFolding off 221 | StrengthReduction off 222 | ExpressionFolding on 223 | BooleansAsBitfields off 224 | BitfieldContainerType "uint_T" 225 | EnableMemcpy on 226 | MemcpyThreshold 64 227 | PassReuseOutputArgsAs "Structure reference" 228 | ExpressionDepthLimit 2147483647 229 | FoldNonRolledExpr on 230 | LocalBlockOutputs on 231 | RollThreshold 5 232 | SystemCodeInlineAuto off 233 | StateBitsets off 234 | DataBitsets off 235 | UseTempVars off 236 | ZeroExternalMemoryAtStartup on 237 | ZeroInternalMemoryAtStartup on 238 | InitFltsAndDblsToZero off 239 | NoFixptDivByZeroProtection off 240 | EfficientFloat2IntCast off 241 | EfficientMapNaN2IntZero on 242 | OptimizeModelRefInitCode off 243 | LifeSpan "inf" 244 | MaxStackSize "Inherit from target" 245 | BufferReusableBoundary on 246 | SimCompilerOptimization "Off" 247 | AccelVerboseBuild off 248 | AccelParallelForEachSubsystem on 249 | } 250 | Simulink.DebuggingCC { 251 | $ObjectID 6 252 | Version "1.11.0" 253 | RTPrefix "error" 254 | ConsistencyChecking "none" 255 | ArrayBoundsChecking "none" 256 | SignalInfNanChecking "none" 257 | SignalRangeChecking "none" 258 | ReadBeforeWriteMsg "UseLocalSettings" 259 | WriteAfterWriteMsg "UseLocalSettings" 260 | WriteAfterReadMsg "UseLocalSettings" 261 | AlgebraicLoopMsg "warning" 262 | ArtificialAlgebraicLoopMsg "warning" 263 | SaveWithDisabledLinksMsg "warning" 264 | SaveWithParameterizedLinksMsg "warning" 265 | CheckSSInitialOutputMsg on 266 | UnderspecifiedInitializationDetection "Classic" 267 | MergeDetectMultiDrivingBlocksExec "none" 268 | CheckExecutionContextPreStartOutputMsg off 269 | CheckExecutionContextRuntimeOutputMsg off 270 | SignalResolutionControl "UseLocalSettings" 271 | BlockPriorityViolationMsg "warning" 272 | MinStepSizeMsg "warning" 273 | TimeAdjustmentMsg "none" 274 | MaxConsecutiveZCsMsg "error" 275 | MaskedZcDiagnostic "warning" 276 | IgnoredZcDiagnostic "warning" 277 | SolverPrmCheckMsg "warning" 278 | InheritedTsInSrcMsg "warning" 279 | DiscreteInheritContinuousMsg "warning" 280 | MultiTaskDSMMsg "error" 281 | MultiTaskCondExecSysMsg "error" 282 | MultiTaskRateTransMsg "error" 283 | SingleTaskRateTransMsg "none" 284 | TasksWithSamePriorityMsg "warning" 285 | SigSpecEnsureSampleTimeMsg "warning" 286 | CheckMatrixSingularityMsg "none" 287 | IntegerOverflowMsg "warning" 288 | Int32ToFloatConvMsg "warning" 289 | ParameterDowncastMsg "error" 290 | ParameterOverflowMsg "error" 291 | ParameterUnderflowMsg "none" 292 | ParameterPrecisionLossMsg "warning" 293 | ParameterTunabilityLossMsg "warning" 294 | FixptConstUnderflowMsg "none" 295 | FixptConstOverflowMsg "none" 296 | FixptConstPrecisionLossMsg "none" 297 | UnderSpecifiedDataTypeMsg "none" 298 | UnnecessaryDatatypeConvMsg "none" 299 | VectorMatrixConversionMsg "none" 300 | InvalidFcnCallConnMsg "error" 301 | FcnCallInpInsideContextMsg "Use local settings" 302 | SignalLabelMismatchMsg "none" 303 | UnconnectedInputMsg "warning" 304 | UnconnectedOutputMsg "warning" 305 | UnconnectedLineMsg "warning" 306 | SFcnCompatibilityMsg "none" 307 | UniqueDataStoreMsg "none" 308 | BusObjectLabelMismatch "warning" 309 | RootOutportRequireBusObject "warning" 310 | AssertControl "UseLocalSettings" 311 | EnableOverflowDetection off 312 | ModelReferenceIOMsg "none" 313 | ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" 314 | ModelReferenceVersionMismatchMessage "none" 315 | ModelReferenceIOMismatchMessage "none" 316 | ModelReferenceCSMismatchMessage "none" 317 | UnknownTsInhSupMsg "warning" 318 | ModelReferenceDataLoggingMessage "warning" 319 | ModelReferenceSymbolNameMessage "warning" 320 | ModelReferenceExtraNoncontSigs "error" 321 | StateNameClashWarn "warning" 322 | SimStateInterfaceChecksumMismatchMsg "warning" 323 | SimStateOlderReleaseMsg "error" 324 | InitInArrayFormatMsg "warning" 325 | StrictBusMsg "ErrorLevel1" 326 | BusNameAdapt "WarnAndRepair" 327 | NonBusSignalsTreatedAsBus "none" 328 | LoggingUnavailableSignals "error" 329 | BlockIODiagnostic "none" 330 | SFUnusedDataAndEventsDiag "warning" 331 | SFUnexpectedBacktrackingDiag "warning" 332 | SFInvalidInputDataAccessInChartInitDiag "warning" 333 | SFNoUnconditionalDefaultTransitionDiag "warning" 334 | SFTransitionOutsideNaturalParentDiag "warning" 335 | } 336 | Simulink.HardwareCC { 337 | $ObjectID 7 338 | Version "1.11.0" 339 | ProdBitPerChar 8 340 | ProdBitPerShort 16 341 | ProdBitPerInt 32 342 | ProdBitPerLong 32 343 | ProdBitPerFloat 32 344 | ProdBitPerDouble 64 345 | ProdBitPerPointer 32 346 | ProdLargestAtomicInteger "Char" 347 | ProdLargestAtomicFloat "None" 348 | ProdIntDivRoundTo "Undefined" 349 | ProdEndianess "Unspecified" 350 | ProdWordSize 32 351 | ProdShiftRightIntArith on 352 | ProdHWDeviceType "32-bit Generic" 353 | TargetBitPerChar 8 354 | TargetBitPerShort 16 355 | TargetBitPerInt 32 356 | TargetBitPerLong 32 357 | TargetBitPerFloat 32 358 | TargetBitPerDouble 64 359 | TargetBitPerPointer 32 360 | TargetLargestAtomicInteger "Char" 361 | TargetLargestAtomicFloat "None" 362 | TargetShiftRightIntArith on 363 | TargetIntDivRoundTo "Undefined" 364 | TargetEndianess "Unspecified" 365 | TargetWordSize 32 366 | TargetTypeEmulationWarnSuppressLevel 0 367 | TargetPreprocMaxBitsSint 32 368 | TargetPreprocMaxBitsUint 32 369 | TargetHWDeviceType "Specified" 370 | TargetUnknown off 371 | ProdEqTarget on 372 | } 373 | Simulink.ModelReferenceCC { 374 | $ObjectID 8 375 | Version "1.11.0" 376 | UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" 377 | CheckModelReferenceTargetMessage "error" 378 | EnableParallelModelReferenceBuilds off 379 | ParallelModelReferenceErrorOnInvalidPool on 380 | ParallelModelReferenceMATLABWorkerInit "None" 381 | ModelReferenceNumInstancesAllowed "Multi" 382 | PropagateVarSize "Infer from blocks in model" 383 | ModelReferencePassRootInputsByReference on 384 | ModelReferenceMinAlgLoopOccurrences off 385 | PropagateSignalLabelsOutOfModel off 386 | SupportModelReferenceSimTargetCustomCode off 387 | } 388 | Simulink.SFSimCC { 389 | $ObjectID 9 390 | Version "1.11.0" 391 | SFSimEnableDebug on 392 | SFSimOverflowDetection on 393 | SFSimEcho on 394 | SimBlas on 395 | SimCtrlC on 396 | SimExtrinsic on 397 | SimIntegrity on 398 | SimUseLocalCustomCode off 399 | SimParseCustomCode on 400 | SimBuildMode "sf_incremental_build" 401 | } 402 | Simulink.RTWCC { 403 | $BackupClass "Simulink.RTWCC" 404 | $ObjectID 10 405 | Version "1.11.0" 406 | Array { 407 | Type "Cell" 408 | Dimension 8 409 | Cell "IncludeHyperlinkInReport" 410 | Cell "GenerateTraceInfo" 411 | Cell "GenerateTraceReport" 412 | Cell "GenerateTraceReportSl" 413 | Cell "GenerateTraceReportSf" 414 | Cell "GenerateTraceReportEml" 415 | Cell "GenerateSLWebview" 416 | Cell "GenerateCodeMetricsReport" 417 | PropName "DisabledProps" 418 | } 419 | SystemTargetFile "grt.tlc" 420 | GenCodeOnly off 421 | MakeCommand "make_rtw" 422 | GenerateMakefile on 423 | TemplateMakefile "grt_default_tmf" 424 | GenerateReport off 425 | SaveLog off 426 | RTWVerbose on 427 | RetainRTWFile off 428 | ProfileTLC off 429 | TLCDebug off 430 | TLCCoverage off 431 | TLCAssert off 432 | ProcessScriptMode "Default" 433 | ConfigurationMode "Optimized" 434 | ConfigAtBuild off 435 | RTWUseLocalCustomCode off 436 | RTWUseSimCustomCode off 437 | IncludeHyperlinkInReport off 438 | LaunchReport off 439 | TargetLang "C" 440 | IncludeBusHierarchyInRTWFileBlockHierarchyMap off 441 | IncludeERTFirstTime off 442 | GenerateTraceInfo off 443 | GenerateTraceReport off 444 | GenerateTraceReportSl off 445 | GenerateTraceReportSf off 446 | GenerateTraceReportEml off 447 | GenerateCodeInfo off 448 | GenerateSLWebview off 449 | GenerateCodeMetricsReport off 450 | RTWCompilerOptimization "Off" 451 | CheckMdlBeforeBuild "Off" 452 | CustomRebuildMode "OnUpdate" 453 | Array { 454 | Type "Handle" 455 | Dimension 2 456 | Simulink.CodeAppCC { 457 | $ObjectID 11 458 | Version "1.11.0" 459 | Array { 460 | Type "Cell" 461 | Dimension 21 462 | Cell "IgnoreCustomStorageClasses" 463 | Cell "IgnoreTestpoints" 464 | Cell "InsertBlockDesc" 465 | Cell "InsertPolySpaceComments" 466 | Cell "SFDataObjDesc" 467 | Cell "MATLABFcnDesc" 468 | Cell "SimulinkDataObjDesc" 469 | Cell "DefineNamingRule" 470 | Cell "SignalNamingRule" 471 | Cell "ParamNamingRule" 472 | Cell "InlinedPrmAccess" 473 | Cell "CustomSymbolStr" 474 | Cell "CustomSymbolStrGlobalVar" 475 | Cell "CustomSymbolStrType" 476 | Cell "CustomSymbolStrField" 477 | Cell "CustomSymbolStrFcn" 478 | Cell "CustomSymbolStrFcnArg" 479 | Cell "CustomSymbolStrBlkIO" 480 | Cell "CustomSymbolStrTmpVar" 481 | Cell "CustomSymbolStrMacro" 482 | Cell "ReqsInCode" 483 | PropName "DisabledProps" 484 | } 485 | ForceParamTrailComments off 486 | GenerateComments on 487 | IgnoreCustomStorageClasses on 488 | IgnoreTestpoints off 489 | IncHierarchyInIds off 490 | MaxIdLength 31 491 | PreserveName off 492 | PreserveNameWithParent off 493 | ShowEliminatedStatement off 494 | IncAutoGenComments off 495 | SimulinkDataObjDesc off 496 | SFDataObjDesc off 497 | MATLABFcnDesc off 498 | IncDataTypeInIds off 499 | MangleLength 1 500 | CustomSymbolStrGlobalVar "$R$N$M" 501 | CustomSymbolStrType "$N$R$M" 502 | CustomSymbolStrField "$N$M" 503 | CustomSymbolStrFcn "$R$N$M$F" 504 | CustomSymbolStrFcnArg "rt$I$N$M" 505 | CustomSymbolStrBlkIO "rtb_$N$M" 506 | CustomSymbolStrTmpVar "$N$M" 507 | CustomSymbolStrMacro "$R$N$M" 508 | DefineNamingRule "None" 509 | ParamNamingRule "None" 510 | SignalNamingRule "None" 511 | InsertBlockDesc off 512 | InsertPolySpaceComments off 513 | SimulinkBlockComments on 514 | MATLABSourceComments off 515 | EnableCustomComments off 516 | InlinedPrmAccess "Literals" 517 | ReqsInCode off 518 | UseSimReservedNames off 519 | } 520 | Simulink.GRTTargetCC { 521 | $BackupClass "Simulink.TargetCC" 522 | $ObjectID 12 523 | Version "1.11.0" 524 | Array { 525 | Type "Cell" 526 | Dimension 16 527 | Cell "GeneratePreprocessorConditionals" 528 | Cell "IncludeMdlTerminateFcn" 529 | Cell "CombineOutputUpdateFcns" 530 | Cell "SuppressErrorStatus" 531 | Cell "ERTCustomFileBanners" 532 | Cell "GenerateSampleERTMain" 533 | Cell "GenerateTestInterfaces" 534 | Cell "ModelStepFunctionPrototypeControlCompliant" 535 | Cell "CPPClassGenCompliant" 536 | Cell "MultiInstanceERTCode" 537 | Cell "PurelyIntegerCode" 538 | Cell "SupportComplex" 539 | Cell "SupportAbsoluteTime" 540 | Cell "SupportContinuousTime" 541 | Cell "SupportNonInlinedSFcns" 542 | Cell "PortableWordSizes" 543 | PropName "DisabledProps" 544 | } 545 | TargetFcnLib "ansi_tfl_table_tmw.mat" 546 | TargetLibSuffix "" 547 | TargetPreCompLibLocation "" 548 | TargetFunctionLibrary "ANSI_C" 549 | UtilityFuncGeneration "Auto" 550 | ERTMultiwordTypeDef "System defined" 551 | FunctionExecutionProfile off 552 | CodeExecutionProfiling off 553 | ERTCodeCoverageTool "None" 554 | ERTMultiwordLength 256 555 | MultiwordLength 2048 556 | GenerateFullHeader on 557 | GenerateSampleERTMain off 558 | GenerateTestInterfaces off 559 | IsPILTarget off 560 | ModelReferenceCompliant on 561 | ParMdlRefBuildCompliant on 562 | CompOptLevelCompliant on 563 | IncludeMdlTerminateFcn on 564 | GeneratePreprocessorConditionals "Disable all" 565 | CombineOutputUpdateFcns off 566 | CombineSignalStateStructs off 567 | SuppressErrorStatus off 568 | ERTFirstTimeCompliant off 569 | IncludeFileDelimiter "Auto" 570 | ERTCustomFileBanners off 571 | SupportAbsoluteTime on 572 | LogVarNameModifier "rt_" 573 | MatFileLogging on 574 | MultiInstanceERTCode off 575 | SupportNonFinite on 576 | SupportComplex on 577 | PurelyIntegerCode off 578 | SupportContinuousTime on 579 | SupportNonInlinedSFcns on 580 | SupportVariableSizeSignals off 581 | EnableShiftOperators on 582 | ParenthesesLevel "Nominal" 583 | PortableWordSizes off 584 | ModelStepFunctionPrototypeControlCompliant off 585 | CPPClassGenCompliant off 586 | AutosarCompliant off 587 | UseMalloc off 588 | ExtMode off 589 | ExtModeStaticAlloc off 590 | ExtModeTesting off 591 | ExtModeStaticAllocSize 1000000 592 | ExtModeTransport 0 593 | ExtModeMexFile "ext_comm" 594 | ExtModeIntrfLevel "Level1" 595 | RTWCAPISignals off 596 | RTWCAPIParams off 597 | RTWCAPIStates off 598 | RTWCAPIRootIO off 599 | GenerateASAP2 off 600 | } 601 | PropName "Components" 602 | } 603 | } 604 | hdlcoderui.hdlcc { 605 | $ObjectID 13 606 | Version "1.11.0" 607 | Description "HDL Coder custom configuration component" 608 | Name "HDL Coder" 609 | Array { 610 | Type "Cell" 611 | Dimension 1 612 | Cell "" 613 | PropName "HDLConfigFile" 614 | } 615 | HDLCActiveTab "0" 616 | } 617 | PropName "Components" 618 | } 619 | Name "Configuration" 620 | CurrentDlgPage "Solver" 621 | ConfigPrmDlgPosition [ 200, 85, 1080, 715 ] 622 | } 623 | PropName "ConfigurationSets" 624 | } 625 | Simulink.ConfigSet { 626 | $PropName "ActiveConfigurationSet" 627 | $ObjectID 2 628 | } 629 | BlockDefaults { 630 | ForegroundColor "black" 631 | BackgroundColor "white" 632 | DropShadow off 633 | NamePlacement "normal" 634 | FontName "Helvetica" 635 | FontSize 10 636 | FontWeight "normal" 637 | FontAngle "normal" 638 | ShowName on 639 | BlockRotation 0 640 | BlockMirror off 641 | } 642 | AnnotationDefaults { 643 | HorizontalAlignment "center" 644 | VerticalAlignment "middle" 645 | ForegroundColor "black" 646 | BackgroundColor "white" 647 | DropShadow off 648 | FontName "Helvetica" 649 | FontSize 10 650 | FontWeight "normal" 651 | FontAngle "normal" 652 | UseDisplayTextAsClickCallback off 653 | } 654 | LineDefaults { 655 | FontName "Helvetica" 656 | FontSize 9 657 | FontWeight "normal" 658 | FontAngle "normal" 659 | } 660 | BlockParameterDefaults { 661 | Block { 662 | BlockType Clock 663 | DisplayTime off 664 | } 665 | Block { 666 | BlockType Constant 667 | Value "1" 668 | VectorParams1D on 669 | SamplingMode "Sample based" 670 | OutMin "[]" 671 | OutMax "[]" 672 | OutDataTypeStr "Inherit: Inherit from 'Constant value'" 673 | LockScale off 674 | SampleTime "inf" 675 | FramePeriod "inf" 676 | PreserveConstantTs off 677 | } 678 | Block { 679 | BlockType Demux 680 | Outputs "4" 681 | DisplayOption "none" 682 | BusSelectionMode off 683 | } 684 | Block { 685 | BlockType Gain 686 | Gain "1" 687 | Multiplication "Element-wise(K.*u)" 688 | ParamMin "[]" 689 | ParamMax "[]" 690 | ParamDataTypeStr "Inherit: Same as input" 691 | OutMin "[]" 692 | OutMax "[]" 693 | OutDataTypeStr "Inherit: Same as input" 694 | LockScale off 695 | RndMeth "Floor" 696 | SaturateOnIntegerOverflow on 697 | SampleTime "-1" 698 | } 699 | Block { 700 | BlockType Inport 701 | Port "1" 702 | OutputFunctionCall off 703 | OutMin "[]" 704 | OutMax "[]" 705 | OutDataTypeStr "Inherit: auto" 706 | LockScale off 707 | BusOutputAsStruct off 708 | PortDimensions "-1" 709 | VarSizeSig "Inherit" 710 | SampleTime "-1" 711 | SignalType "auto" 712 | SamplingMode "auto" 713 | LatchByDelayingOutsideSignal off 714 | LatchInputForFeedbackSignals off 715 | Interpolate on 716 | } 717 | Block { 718 | BlockType Integrator 719 | ExternalReset "none" 720 | InitialConditionSource "internal" 721 | InitialCondition "0" 722 | LimitOutput off 723 | UpperSaturationLimit "inf" 724 | LowerSaturationLimit "-inf" 725 | ShowSaturationPort off 726 | ShowStatePort off 727 | AbsoluteTolerance "auto" 728 | IgnoreLimit off 729 | ZeroCross on 730 | ContinuousStateAttributes "''" 731 | } 732 | Block { 733 | BlockType Mux 734 | Inputs "4" 735 | DisplayOption "none" 736 | UseBusObject off 737 | BusObject "BusObject" 738 | NonVirtualBus off 739 | } 740 | Block { 741 | BlockType Outport 742 | Port "1" 743 | OutMin "[]" 744 | OutMax "[]" 745 | OutDataTypeStr "Inherit: auto" 746 | LockScale off 747 | BusOutputAsStruct off 748 | PortDimensions "-1" 749 | VarSizeSig "Inherit" 750 | SampleTime "-1" 751 | SignalType "auto" 752 | SamplingMode "auto" 753 | SourceOfInitialOutputValue "Dialog" 754 | OutputWhenDisabled "held" 755 | InitialOutput "[]" 756 | } 757 | Block { 758 | BlockType RandomNumber 759 | Mean "0" 760 | Variance "1" 761 | Seed "0" 762 | SampleTime "-1" 763 | VectorParams1D on 764 | } 765 | Block { 766 | BlockType S-Function 767 | FunctionName "system" 768 | SFunctionModules "''" 769 | PortCounts "[]" 770 | SFunctionDeploymentMode off 771 | } 772 | Block { 773 | BlockType Sin 774 | SineType "Time based" 775 | TimeSource "Use simulation time" 776 | Amplitude "1" 777 | Bias "0" 778 | Frequency "1" 779 | Phase "0" 780 | Samples "10" 781 | Offset "0" 782 | SampleTime "-1" 783 | VectorParams1D on 784 | } 785 | Block { 786 | BlockType Step 787 | Time "1" 788 | Before "0" 789 | After "1" 790 | SampleTime "-1" 791 | VectorParams1D on 792 | ZeroCross on 793 | } 794 | Block { 795 | BlockType SubSystem 796 | ShowPortLabels "FromPortIcon" 797 | Permissions "ReadWrite" 798 | PermitHierarchicalResolution "All" 799 | TreatAsAtomicUnit off 800 | CheckFcnCallInpInsideContextMsg off 801 | SystemSampleTime "-1" 802 | RTWFcnNameOpts "Auto" 803 | RTWFileNameOpts "Auto" 804 | RTWMemSecFuncInitTerm "Inherit from model" 805 | RTWMemSecFuncExecute "Inherit from model" 806 | RTWMemSecDataConstants "Inherit from model" 807 | RTWMemSecDataInternal "Inherit from model" 808 | RTWMemSecDataParameters "Inherit from model" 809 | SimViewingDevice off 810 | DataTypeOverride "UseLocalSettings" 811 | DataTypeOverrideAppliesTo "AllNumericTypes" 812 | MinMaxOverflowLogging "UseLocalSettings" 813 | Variant off 814 | GeneratePreprocessorConditionals off 815 | } 816 | Block { 817 | BlockType Sum 818 | IconShape "rectangular" 819 | Inputs "++" 820 | CollapseMode "All dimensions" 821 | CollapseDim "1" 822 | InputSameDT on 823 | AccumDataTypeStr "Inherit: Inherit via internal rule" 824 | OutMin "[]" 825 | OutMax "[]" 826 | OutDataTypeStr "Inherit: Same as first input" 827 | LockScale off 828 | RndMeth "Floor" 829 | SaturateOnIntegerOverflow on 830 | SampleTime "-1" 831 | } 832 | Block { 833 | BlockType Terminator 834 | } 835 | Block { 836 | BlockType ToWorkspace 837 | VariableName "simulink_output" 838 | MaxDataPoints "1000" 839 | Decimation "1" 840 | SampleTime "0" 841 | FixptAsFi off 842 | NumInputs "1" 843 | } 844 | } 845 | System { 846 | Name "ESO_test" 847 | Location [2, 79, 1270, 743] 848 | Open on 849 | ModelBrowserVisibility off 850 | ModelBrowserWidth 200 851 | ScreenColor "white" 852 | PaperOrientation "landscape" 853 | PaperPositionMode "auto" 854 | PaperType "usletter" 855 | PaperUnits "inches" 856 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 857 | TiledPageScale 1 858 | ShowPageBoundaries off 859 | ZoomFactor "100" 860 | ReportName "simulink-default.rpt" 861 | SIDHighWatermark "61" 862 | Block { 863 | BlockType Clock 864 | Name "Clock" 865 | SID "56" 866 | Position [75, 200, 95, 220] 867 | Decimation "10" 868 | } 869 | Block { 870 | BlockType SubSystem 871 | Name "Disturbance\ngenerator" 872 | SID "26" 873 | Ports [0, 1] 874 | Position [345, 163, 420, 217] 875 | BackgroundColor "magenta" 876 | MinAlgLoopOccurrences off 877 | PropExecContextOutsideSubsystem off 878 | RTWSystemCode "Auto" 879 | FunctionWithSeparateData off 880 | Opaque off 881 | RequestExecContextInheritance off 882 | MaskHideContents off 883 | System { 884 | Name "Disturbance\ngenerator" 885 | Location [2, 79, 1270, 743] 886 | Open off 887 | ModelBrowserVisibility off 888 | ModelBrowserWidth 200 889 | ScreenColor "white" 890 | PaperOrientation "landscape" 891 | PaperPositionMode "auto" 892 | PaperType "usletter" 893 | PaperUnits "inches" 894 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 895 | TiledPageScale 1 896 | ShowPageBoundaries off 897 | ZoomFactor "100" 898 | Block { 899 | BlockType Gain 900 | Name "Gain" 901 | SID "19" 902 | Position [250, 125, 280, 155] 903 | BlockMirror on 904 | Gain "S" 905 | Multiplication "Matrix(K*u)" 906 | ParamDataTypeStr "Inherit: Inherit via internal rule" 907 | OutDataTypeStr "Inherit: Inherit via internal rule" 908 | SaturateOnIntegerOverflow off 909 | } 910 | Block { 911 | BlockType Gain 912 | Name "Gain1" 913 | SID "25" 914 | Position [330, 60, 360, 90] 915 | Gain "Cw" 916 | Multiplication "Matrix(K*u)" 917 | ParamDataTypeStr "Inherit: Inherit via internal rule" 918 | OutDataTypeStr "Inherit: Inherit via internal rule" 919 | SaturateOnIntegerOverflow off 920 | } 921 | Block { 922 | BlockType Gain 923 | Name "Gain2" 924 | SID "51" 925 | Position [135, 60, 160, 90] 926 | Gain "E" 927 | Multiplication "Matrix(K*u)" 928 | ParamDataTypeStr "Inherit: Inherit via internal rule" 929 | OutDataTypeStr "Inherit: Inherit via internal rule" 930 | SaturateOnIntegerOverflow off 931 | } 932 | Block { 933 | BlockType Integrator 934 | Name "Integrator" 935 | SID "18" 936 | Ports [1, 1] 937 | Position [250, 60, 280, 90] 938 | InitialCondition "0.1*[ones(12,1);0]" 939 | } 940 | Block { 941 | BlockType RandomNumber 942 | Name "Random\nNumber" 943 | SID "61" 944 | Position [45, 225, 75, 255] 945 | SampleTime "0.1" 946 | } 947 | Block { 948 | BlockType Sin 949 | Name "Sine Wave" 950 | SID "60" 951 | Ports [0, 1] 952 | Position [45, 145, 75, 175] 953 | Amplitude "3" 954 | Frequency "5" 955 | SampleTime "0" 956 | } 957 | Block { 958 | BlockType Step 959 | Name "Step2" 960 | SID "52" 961 | Position [50, 60, 80, 90] 962 | Time "0" 963 | After "0" 964 | SampleTime "0" 965 | } 966 | Block { 967 | BlockType Sum 968 | Name "Sum" 969 | SID "20" 970 | Ports [2, 1] 971 | Position [180, 65, 200, 85] 972 | ShowName off 973 | IconShape "round" 974 | Inputs "|++" 975 | InputSameDT off 976 | OutDataTypeStr "Inherit: Inherit via internal rule" 977 | SaturateOnIntegerOverflow off 978 | } 979 | Block { 980 | BlockType Outport 981 | Name "w" 982 | SID "27" 983 | Position [380, 68, 410, 82] 984 | IconDisplay "Port number" 985 | } 986 | Line { 987 | SrcBlock "Integrator" 988 | SrcPort 1 989 | Points [20, 0] 990 | Branch { 991 | Points [0, 65] 992 | DstBlock "Gain" 993 | DstPort 1 994 | } 995 | Branch { 996 | DstBlock "Gain1" 997 | DstPort 1 998 | } 999 | } 1000 | Line { 1001 | SrcBlock "Gain" 1002 | SrcPort 1 1003 | Points [-55, 0] 1004 | DstBlock "Sum" 1005 | DstPort 2 1006 | } 1007 | Line { 1008 | SrcBlock "Sum" 1009 | SrcPort 1 1010 | DstBlock "Integrator" 1011 | DstPort 1 1012 | } 1013 | Line { 1014 | SrcBlock "Gain1" 1015 | SrcPort 1 1016 | DstBlock "w" 1017 | DstPort 1 1018 | } 1019 | Line { 1020 | SrcBlock "Gain2" 1021 | SrcPort 1 1022 | DstBlock "Sum" 1023 | DstPort 1 1024 | } 1025 | Line { 1026 | SrcBlock "Sine Wave" 1027 | SrcPort 1 1028 | Points [20, 0; 0, -85] 1029 | DstBlock "Gain2" 1030 | DstPort 1 1031 | } 1032 | } 1033 | } 1034 | Block { 1035 | BlockType SubSystem 1036 | Name "ESO" 1037 | SID "45" 1038 | Ports [2, 2] 1039 | Position [715, 172, 810, 248] 1040 | BackgroundColor "[1.000000, 1.000000, 0.000000]" 1041 | MinAlgLoopOccurrences off 1042 | PropExecContextOutsideSubsystem off 1043 | RTWSystemCode "Auto" 1044 | FunctionWithSeparateData off 1045 | Opaque off 1046 | RequestExecContextInheritance off 1047 | MaskHideContents off 1048 | System { 1049 | Name "ESO" 1050 | Location [72, 108, 727, 627] 1051 | Open off 1052 | ModelBrowserVisibility off 1053 | ModelBrowserWidth 200 1054 | ScreenColor "white" 1055 | PaperOrientation "landscape" 1056 | PaperPositionMode "auto" 1057 | PaperType "usletter" 1058 | PaperUnits "inches" 1059 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 1060 | TiledPageScale 1 1061 | ShowPageBoundaries off 1062 | ZoomFactor "100" 1063 | Block { 1064 | BlockType Inport 1065 | Name "y" 1066 | SID "46" 1067 | Position [130, 28, 160, 42] 1068 | IconDisplay "Port number" 1069 | } 1070 | Block { 1071 | BlockType Inport 1072 | Name "u" 1073 | SID "47" 1074 | Position [130, 68, 160, 82] 1075 | Port "2" 1076 | IconDisplay "Port number" 1077 | } 1078 | Block { 1079 | BlockType Constant 1080 | Name "Constant" 1081 | SID "31" 1082 | Position [110, 125, 140, 155] 1083 | Value "A" 1084 | } 1085 | Block { 1086 | BlockType Constant 1087 | Name "Constant1" 1088 | SID "32" 1089 | Position [50, 150, 80, 180] 1090 | Value "B" 1091 | } 1092 | Block { 1093 | BlockType Constant 1094 | Name "Constant2" 1095 | SID "33" 1096 | Position [80, 200, 110, 230] 1097 | Value "C" 1098 | } 1099 | Block { 1100 | BlockType Constant 1101 | Name "Constant3" 1102 | SID "34" 1103 | Position [25, 225, 55, 255] 1104 | Value "D" 1105 | } 1106 | Block { 1107 | BlockType Constant 1108 | Name "Constant4" 1109 | SID "35" 1110 | Position [65, 275, 95, 305] 1111 | Value "H" 1112 | } 1113 | Block { 1114 | BlockType Constant 1115 | Name "Constant5" 1116 | SID "36" 1117 | Position [25, 325, 55, 355] 1118 | Value "S" 1119 | } 1120 | Block { 1121 | BlockType Constant 1122 | Name "Constant6" 1123 | SID "37" 1124 | Position [65, 375, 95, 405] 1125 | Value "Cw" 1126 | } 1127 | Block { 1128 | BlockType Constant 1129 | Name "Constant7" 1130 | SID "38" 1131 | Position [25, 420, 55, 450] 1132 | Value "L1" 1133 | } 1134 | Block { 1135 | BlockType Constant 1136 | Name "Constant8" 1137 | SID "39" 1138 | Position [65, 465, 95, 495] 1139 | Value "L2" 1140 | } 1141 | Block { 1142 | BlockType Gain 1143 | Name "Gain" 1144 | SID "44" 1145 | Position [535, 325, 565, 355] 1146 | Gain "Cw" 1147 | Multiplication "Matrix(K*u)" 1148 | ParamDataTypeStr "Inherit: Inherit via internal rule" 1149 | OutDataTypeStr "Inherit: Inherit via internal rule" 1150 | SaturateOnIntegerOverflow off 1151 | } 1152 | Block { 1153 | BlockType Integrator 1154 | Name "Integrator" 1155 | SID "29" 1156 | Ports [1, 1] 1157 | Position [450, 150, 480, 180] 1158 | InitialCondition "zeros(6,1)" 1159 | } 1160 | Block { 1161 | BlockType Integrator 1162 | Name "Integrator1" 1163 | SID "30" 1164 | Ports [1, 1] 1165 | Position [450, 325, 480, 355] 1166 | InitialCondition "zeros(13,1)" 1167 | } 1168 | Block { 1169 | BlockType SubSystem 1170 | Name "MATLAB Function" 1171 | SID "28" 1172 | Ports [13, 2] 1173 | Position [250, 82, 385, 428] 1174 | LibraryVersion "1.32" 1175 | ErrorFcn "Stateflow.Translate.translate" 1176 | PermitHierarchicalResolution "ExplicitOnly" 1177 | TreatAsAtomicUnit on 1178 | MinAlgLoopOccurrences off 1179 | PropExecContextOutsideSubsystem off 1180 | RTWSystemCode "Auto" 1181 | FunctionWithSeparateData off 1182 | Opaque off 1183 | RequestExecContextInheritance off 1184 | MaskHideContents off 1185 | MaskType "Stateflow" 1186 | MaskDescription "Embedded MATLAB block" 1187 | MaskSelfModifiable on 1188 | MaskDisplay "bgColor = Simulink.Root.ColorString2Rgb(get_param(gcbh, 'BackgroundColor')); image(imread('private/" 1189 | "eml_membrane_16.png','png','BackgroundColor',bgColor(1:3)),'center'); disp([10 10 'ESO_dyn']);" 1190 | MaskIconFrame on 1191 | MaskIconOpaque off 1192 | MaskIconRotate "none" 1193 | MaskPortRotate "default" 1194 | MaskIconUnits "normalized" 1195 | System { 1196 | Name "MATLAB Function" 1197 | Location [257, 457, 812, 717] 1198 | Open off 1199 | ModelBrowserVisibility off 1200 | ModelBrowserWidth 200 1201 | ScreenColor "white" 1202 | PaperOrientation "landscape" 1203 | PaperPositionMode "auto" 1204 | PaperType "usletter" 1205 | PaperUnits "inches" 1206 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 1207 | TiledPageScale 1 1208 | ShowPageBoundaries off 1209 | ZoomFactor "100" 1210 | SIDHighWatermark "31" 1211 | Block { 1212 | BlockType Inport 1213 | Name "x_hat" 1214 | SID "28::18" 1215 | Position [20, 101, 40, 119] 1216 | IconDisplay "Port number" 1217 | } 1218 | Block { 1219 | BlockType Inport 1220 | Name "xw_hat" 1221 | SID "28::19" 1222 | Position [20, 136, 40, 154] 1223 | Port "2" 1224 | IconDisplay "Port number" 1225 | } 1226 | Block { 1227 | BlockType Inport 1228 | Name "y" 1229 | SID "28::20" 1230 | Position [20, 171, 40, 189] 1231 | Port "3" 1232 | IconDisplay "Port number" 1233 | } 1234 | Block { 1235 | BlockType Inport 1236 | Name "u" 1237 | SID "28::1" 1238 | Position [20, 206, 40, 224] 1239 | Port "4" 1240 | IconDisplay "Port number" 1241 | } 1242 | Block { 1243 | BlockType Inport 1244 | Name "A" 1245 | SID "28::23" 1246 | Position [20, 246, 40, 264] 1247 | Port "5" 1248 | IconDisplay "Port number" 1249 | } 1250 | Block { 1251 | BlockType Inport 1252 | Name "B" 1253 | SID "28::24" 1254 | Position [20, 281, 40, 299] 1255 | Port "6" 1256 | IconDisplay "Port number" 1257 | } 1258 | Block { 1259 | BlockType Inport 1260 | Name "C" 1261 | SID "28::25" 1262 | Position [20, 316, 40, 334] 1263 | Port "7" 1264 | IconDisplay "Port number" 1265 | } 1266 | Block { 1267 | BlockType Inport 1268 | Name "D" 1269 | SID "28::26" 1270 | Position [20, 351, 40, 369] 1271 | Port "8" 1272 | IconDisplay "Port number" 1273 | } 1274 | Block { 1275 | BlockType Inport 1276 | Name "H" 1277 | SID "28::27" 1278 | Position [20, 386, 40, 404] 1279 | Port "9" 1280 | IconDisplay "Port number" 1281 | } 1282 | Block { 1283 | BlockType Inport 1284 | Name "S" 1285 | SID "28::28" 1286 | Position [20, 426, 40, 444] 1287 | Port "10" 1288 | IconDisplay "Port number" 1289 | } 1290 | Block { 1291 | BlockType Inport 1292 | Name "Cw" 1293 | SID "28::29" 1294 | Position [20, 461, 40, 479] 1295 | Port "11" 1296 | IconDisplay "Port number" 1297 | } 1298 | Block { 1299 | BlockType Inport 1300 | Name "L1" 1301 | SID "28::30" 1302 | Position [20, 496, 40, 514] 1303 | Port "12" 1304 | IconDisplay "Port number" 1305 | } 1306 | Block { 1307 | BlockType Inport 1308 | Name "L2" 1309 | SID "28::31" 1310 | Position [20, 531, 40, 549] 1311 | Port "13" 1312 | IconDisplay "Port number" 1313 | } 1314 | Block { 1315 | BlockType Demux 1316 | Name " Demux " 1317 | SID "28::15" 1318 | Ports [1, 1] 1319 | Position [270, 400, 320, 440] 1320 | Outputs "1" 1321 | } 1322 | Block { 1323 | BlockType S-Function 1324 | Name " SFunction " 1325 | SID "28::14" 1326 | Tag "Stateflow S-Function ESO_test 2" 1327 | Ports [13, 3] 1328 | Position [180, 119, 230, 401] 1329 | FunctionName "sf_sfun" 1330 | PortCounts "[13 3]" 1331 | EnableBusSupport on 1332 | Port { 1333 | PortNumber 2 1334 | Name "dx_hat" 1335 | RTWStorageClass "Auto" 1336 | DataLoggingNameMode "SignalName" 1337 | } 1338 | Port { 1339 | PortNumber 3 1340 | Name "dxw_hat" 1341 | RTWStorageClass "Auto" 1342 | DataLoggingNameMode "SignalName" 1343 | } 1344 | } 1345 | Block { 1346 | BlockType Terminator 1347 | Name " Terminator " 1348 | SID "28::17" 1349 | Position [460, 411, 480, 429] 1350 | } 1351 | Block { 1352 | BlockType Outport 1353 | Name "dx_hat" 1354 | SID "28::21" 1355 | Position [460, 101, 480, 119] 1356 | IconDisplay "Port number" 1357 | } 1358 | Block { 1359 | BlockType Outport 1360 | Name "dxw_hat" 1361 | SID "28::22" 1362 | Position [460, 136, 480, 154] 1363 | Port "2" 1364 | IconDisplay "Port number" 1365 | } 1366 | Line { 1367 | SrcBlock "x_hat" 1368 | SrcPort 1 1369 | DstBlock " SFunction " 1370 | DstPort 1 1371 | } 1372 | Line { 1373 | SrcBlock "xw_hat" 1374 | SrcPort 1 1375 | DstBlock " SFunction " 1376 | DstPort 2 1377 | } 1378 | Line { 1379 | SrcBlock "y" 1380 | SrcPort 1 1381 | DstBlock " SFunction " 1382 | DstPort 3 1383 | } 1384 | Line { 1385 | SrcBlock "u" 1386 | SrcPort 1 1387 | DstBlock " SFunction " 1388 | DstPort 4 1389 | } 1390 | Line { 1391 | SrcBlock "A" 1392 | SrcPort 1 1393 | DstBlock " SFunction " 1394 | DstPort 5 1395 | } 1396 | Line { 1397 | SrcBlock "B" 1398 | SrcPort 1 1399 | DstBlock " SFunction " 1400 | DstPort 6 1401 | } 1402 | Line { 1403 | SrcBlock "C" 1404 | SrcPort 1 1405 | DstBlock " SFunction " 1406 | DstPort 7 1407 | } 1408 | Line { 1409 | SrcBlock "D" 1410 | SrcPort 1 1411 | DstBlock " SFunction " 1412 | DstPort 8 1413 | } 1414 | Line { 1415 | SrcBlock "H" 1416 | SrcPort 1 1417 | DstBlock " SFunction " 1418 | DstPort 9 1419 | } 1420 | Line { 1421 | SrcBlock "S" 1422 | SrcPort 1 1423 | DstBlock " SFunction " 1424 | DstPort 10 1425 | } 1426 | Line { 1427 | SrcBlock "Cw" 1428 | SrcPort 1 1429 | DstBlock " SFunction " 1430 | DstPort 11 1431 | } 1432 | Line { 1433 | SrcBlock "L1" 1434 | SrcPort 1 1435 | DstBlock " SFunction " 1436 | DstPort 12 1437 | } 1438 | Line { 1439 | SrcBlock "L2" 1440 | SrcPort 1 1441 | DstBlock " SFunction " 1442 | DstPort 13 1443 | } 1444 | Line { 1445 | Name "dx_hat" 1446 | Labels [0, 0; 0, 0] 1447 | SrcBlock " SFunction " 1448 | SrcPort 2 1449 | DstBlock "dx_hat" 1450 | DstPort 1 1451 | } 1452 | Line { 1453 | Name "dxw_hat" 1454 | Labels [0, 0; 0, 0] 1455 | SrcBlock " SFunction " 1456 | SrcPort 3 1457 | DstBlock "dxw_hat" 1458 | DstPort 1 1459 | } 1460 | Line { 1461 | SrcBlock " Demux " 1462 | SrcPort 1 1463 | DstBlock " Terminator " 1464 | DstPort 1 1465 | } 1466 | Line { 1467 | SrcBlock " SFunction " 1468 | SrcPort 1 1469 | DstBlock " Demux " 1470 | DstPort 1 1471 | } 1472 | } 1473 | } 1474 | Block { 1475 | BlockType Outport 1476 | Name "x_hat" 1477 | SID "48" 1478 | Position [535, 158, 565, 172] 1479 | IconDisplay "Port number" 1480 | } 1481 | Block { 1482 | BlockType Outport 1483 | Name "w_hat" 1484 | SID "49" 1485 | Position [600, 333, 630, 347] 1486 | Port "2" 1487 | IconDisplay "Port number" 1488 | } 1489 | Line { 1490 | SrcBlock "MATLAB Function" 1491 | SrcPort 1 1492 | DstBlock "Integrator" 1493 | DstPort 1 1494 | } 1495 | Line { 1496 | SrcBlock "MATLAB Function" 1497 | SrcPort 2 1498 | DstBlock "Integrator1" 1499 | DstPort 1 1500 | } 1501 | Line { 1502 | SrcBlock "Integrator" 1503 | SrcPort 1 1504 | Points [0, 0] 1505 | Branch { 1506 | Points [0, -95; -250, 0] 1507 | DstBlock "MATLAB Function" 1508 | DstPort 1 1509 | } 1510 | Branch { 1511 | DstBlock "x_hat" 1512 | DstPort 1 1513 | } 1514 | } 1515 | Line { 1516 | SrcBlock "Integrator1" 1517 | SrcPort 1 1518 | Points [20, 0] 1519 | Branch { 1520 | Points [0, -280; -280, 0; 0, 70] 1521 | DstBlock "MATLAB Function" 1522 | DstPort 2 1523 | } 1524 | Branch { 1525 | DstBlock "Gain" 1526 | DstPort 1 1527 | } 1528 | } 1529 | Line { 1530 | SrcBlock "y" 1531 | SrcPort 1 1532 | Points [50, 0; 0, 120] 1533 | DstBlock "MATLAB Function" 1534 | DstPort 3 1535 | } 1536 | Line { 1537 | SrcBlock "u" 1538 | SrcPort 1 1539 | Points [25, 0; 0, 105] 1540 | DstBlock "MATLAB Function" 1541 | DstPort 4 1542 | } 1543 | Line { 1544 | SrcBlock "Constant" 1545 | SrcPort 1 1546 | Points [30, 0; 0, 65] 1547 | DstBlock "MATLAB Function" 1548 | DstPort 5 1549 | } 1550 | Line { 1551 | SrcBlock "Constant1" 1552 | SrcPort 1 1553 | Points [60, 0; 0, 65] 1554 | DstBlock "MATLAB Function" 1555 | DstPort 6 1556 | } 1557 | Line { 1558 | SrcBlock "Constant2" 1559 | SrcPort 1 1560 | Points [15, 0; 0, 40] 1561 | DstBlock "MATLAB Function" 1562 | DstPort 7 1563 | } 1564 | Line { 1565 | SrcBlock "Constant3" 1566 | SrcPort 1 1567 | Points [65, 0; 0, 40] 1568 | DstBlock "MATLAB Function" 1569 | DstPort 8 1570 | } 1571 | Line { 1572 | SrcBlock "Constant4" 1573 | SrcPort 1 1574 | Points [45, 0; 0, 15] 1575 | DstBlock "MATLAB Function" 1576 | DstPort 9 1577 | } 1578 | Line { 1579 | SrcBlock "Constant5" 1580 | SrcPort 1 1581 | Points [40, 0; 0, -10] 1582 | DstBlock "MATLAB Function" 1583 | DstPort 10 1584 | } 1585 | Line { 1586 | SrcBlock "Constant6" 1587 | SrcPort 1 1588 | Points [20, 0; 0, -35] 1589 | DstBlock "MATLAB Function" 1590 | DstPort 11 1591 | } 1592 | Line { 1593 | SrcBlock "Constant7" 1594 | SrcPort 1 1595 | Points [0, -55] 1596 | DstBlock "MATLAB Function" 1597 | DstPort 12 1598 | } 1599 | Line { 1600 | SrcBlock "Constant8" 1601 | SrcPort 1 1602 | Points [85, 0; 0, -75] 1603 | DstBlock "MATLAB Function" 1604 | DstPort 13 1605 | } 1606 | Line { 1607 | SrcBlock "Gain" 1608 | SrcPort 1 1609 | DstBlock "w_hat" 1610 | DstPort 1 1611 | } 1612 | } 1613 | } 1614 | Block { 1615 | BlockType Mux 1616 | Name "Mux" 1617 | SID "53" 1618 | Ports [3, 1] 1619 | Position [420, 62, 470, 128] 1620 | ShowName off 1621 | Inputs "3" 1622 | } 1623 | Block { 1624 | BlockType Step 1625 | Name "Step" 1626 | SID "50" 1627 | Position [300, 15, 330, 45] 1628 | Time "0" 1629 | After "0" 1630 | SampleTime "0" 1631 | } 1632 | Block { 1633 | BlockType Step 1634 | Name "Step1" 1635 | SID "54" 1636 | Position [300, 60, 330, 90] 1637 | Time "0" 1638 | After "0" 1639 | SampleTime "0" 1640 | } 1641 | Block { 1642 | BlockType Step 1643 | Name "Step2" 1644 | SID "55" 1645 | Position [305, 120, 335, 150] 1646 | Time "0" 1647 | After "0" 1648 | SampleTime "0" 1649 | } 1650 | Block { 1651 | BlockType SubSystem 1652 | Name "System model" 1653 | SID "13" 1654 | Ports [2, 2] 1655 | Position [515, 132, 645, 208] 1656 | BackgroundColor "green" 1657 | MinAlgLoopOccurrences off 1658 | PropExecContextOutsideSubsystem off 1659 | RTWSystemCode "Auto" 1660 | FunctionWithSeparateData off 1661 | Opaque off 1662 | RequestExecContextInheritance off 1663 | MaskHideContents off 1664 | System { 1665 | Name "System model" 1666 | Location [2, 79, 1270, 743] 1667 | Open off 1668 | ModelBrowserVisibility off 1669 | ModelBrowserWidth 200 1670 | ScreenColor "white" 1671 | PaperOrientation "landscape" 1672 | PaperPositionMode "auto" 1673 | PaperType "usletter" 1674 | PaperUnits "inches" 1675 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 1676 | TiledPageScale 1 1677 | ShowPageBoundaries off 1678 | ZoomFactor "100" 1679 | Block { 1680 | BlockType Inport 1681 | Name "u" 1682 | SID "14" 1683 | Position [25, 123, 55, 137] 1684 | IconDisplay "Port number" 1685 | } 1686 | Block { 1687 | BlockType Inport 1688 | Name "w" 1689 | SID "15" 1690 | Position [25, 33, 55, 47] 1691 | Port "2" 1692 | IconDisplay "Port number" 1693 | } 1694 | Block { 1695 | BlockType Gain 1696 | Name "Gain" 1697 | SID "3" 1698 | Position [230, 165, 260, 195] 1699 | BlockMirror on 1700 | Gain "Am" 1701 | Multiplication "Matrix(K*u)" 1702 | ParamDataTypeStr "Inherit: Inherit via internal rule" 1703 | OutDataTypeStr "Inherit: Inherit via internal rule" 1704 | SaturateOnIntegerOverflow off 1705 | } 1706 | Block { 1707 | BlockType Gain 1708 | Name "Gain1" 1709 | SID "5" 1710 | Position [90, 115, 120, 145] 1711 | Gain "Bm" 1712 | Multiplication "Matrix(K*u)" 1713 | ParamDataTypeStr "Inherit: Inherit via internal rule" 1714 | OutDataTypeStr "Inherit: Inherit via internal rule" 1715 | SaturateOnIntegerOverflow off 1716 | } 1717 | Block { 1718 | BlockType Gain 1719 | Name "Gain2" 1720 | SID "7" 1721 | Position [85, 25, 115, 55] 1722 | Gain "Hm" 1723 | Multiplication "Matrix(K*u)" 1724 | ParamDataTypeStr "Inherit: Inherit via internal rule" 1725 | OutDataTypeStr "Inherit: Inherit via internal rule" 1726 | SaturateOnIntegerOverflow off 1727 | } 1728 | Block { 1729 | BlockType Gain 1730 | Name "Gain3" 1731 | SID "8" 1732 | Position [375, 95, 405, 125] 1733 | Gain "Cm" 1734 | Multiplication "Matrix(K*u)" 1735 | ParamDataTypeStr "Inherit: Inherit via internal rule" 1736 | OutDataTypeStr "Inherit: Inherit via internal rule" 1737 | SaturateOnIntegerOverflow off 1738 | } 1739 | Block { 1740 | BlockType Gain 1741 | Name "Gain4" 1742 | SID "10" 1743 | Position [115, 220, 145, 250] 1744 | Gain "Dm" 1745 | Multiplication "Matrix(K*u)" 1746 | ParamDataTypeStr "Inherit: Inherit via internal rule" 1747 | OutDataTypeStr "Inherit: Inherit via internal rule" 1748 | SaturateOnIntegerOverflow off 1749 | } 1750 | Block { 1751 | BlockType Integrator 1752 | Name "Integrator" 1753 | SID "1" 1754 | Ports [1, 1] 1755 | Position [230, 95, 260, 125] 1756 | } 1757 | Block { 1758 | BlockType Sum 1759 | Name "Sum" 1760 | SID "2" 1761 | Ports [3, 1] 1762 | Position [155, 100, 175, 120] 1763 | ShowName off 1764 | IconShape "round" 1765 | Inputs "+|++" 1766 | InputSameDT off 1767 | OutDataTypeStr "Inherit: Inherit via internal rule" 1768 | SaturateOnIntegerOverflow off 1769 | } 1770 | Block { 1771 | BlockType Sum 1772 | Name "Sum1" 1773 | SID "9" 1774 | Ports [2, 1] 1775 | Position [475, 100, 495, 120] 1776 | ShowName off 1777 | IconShape "round" 1778 | Inputs "|++" 1779 | InputSameDT off 1780 | OutDataTypeStr "Inherit: Inherit via internal rule" 1781 | SaturateOnIntegerOverflow off 1782 | } 1783 | Block { 1784 | BlockType Outport 1785 | Name "x" 1786 | SID "16" 1787 | Position [330, 53, 360, 67] 1788 | IconDisplay "Port number" 1789 | } 1790 | Block { 1791 | BlockType Outport 1792 | Name "y" 1793 | SID "17" 1794 | Position [530, 103, 560, 117] 1795 | Port "2" 1796 | IconDisplay "Port number" 1797 | } 1798 | Line { 1799 | SrcBlock "Sum" 1800 | SrcPort 1 1801 | DstBlock "Integrator" 1802 | DstPort 1 1803 | } 1804 | Line { 1805 | SrcBlock "Integrator" 1806 | SrcPort 1 1807 | Points [45, 0] 1808 | Branch { 1809 | Points [0, 70] 1810 | DstBlock "Gain" 1811 | DstPort 1 1812 | } 1813 | Branch { 1814 | DstBlock "Gain3" 1815 | DstPort 1 1816 | } 1817 | Branch { 1818 | Points [5, 0] 1819 | DstBlock "x" 1820 | DstPort 1 1821 | } 1822 | } 1823 | Line { 1824 | SrcBlock "Gain" 1825 | SrcPort 1 1826 | Points [-60, 0] 1827 | DstBlock "Sum" 1828 | DstPort 3 1829 | } 1830 | Line { 1831 | SrcBlock "Gain1" 1832 | SrcPort 1 1833 | Points [10, 0; 0, -8] 1834 | DstBlock "Sum" 1835 | DstPort 2 1836 | } 1837 | Line { 1838 | SrcBlock "u" 1839 | SrcPort 1 1840 | Points [5, 0] 1841 | Branch { 1842 | DstBlock "Gain1" 1843 | DstPort 1 1844 | } 1845 | Branch { 1846 | Points [0, 105] 1847 | DstBlock "Gain4" 1848 | DstPort 1 1849 | } 1850 | } 1851 | Line { 1852 | SrcBlock "w" 1853 | SrcPort 1 1854 | DstBlock "Gain2" 1855 | DstPort 1 1856 | } 1857 | Line { 1858 | SrcBlock "Gain2" 1859 | SrcPort 1 1860 | Points [45, 0] 1861 | DstBlock "Sum" 1862 | DstPort 1 1863 | } 1864 | Line { 1865 | SrcBlock "Gain3" 1866 | SrcPort 1 1867 | DstBlock "Sum1" 1868 | DstPort 1 1869 | } 1870 | Line { 1871 | SrcBlock "Gain4" 1872 | SrcPort 1 1873 | Points [335, 0] 1874 | DstBlock "Sum1" 1875 | DstPort 2 1876 | } 1877 | Line { 1878 | SrcBlock "Sum1" 1879 | SrcPort 1 1880 | DstBlock "y" 1881 | DstPort 1 1882 | } 1883 | } 1884 | } 1885 | Block { 1886 | BlockType ToWorkspace 1887 | Name "To Workspace" 1888 | SID "57" 1889 | Ports [1] 1890 | Position [150, 195, 210, 225] 1891 | VariableName "t" 1892 | MaxDataPoints "inf" 1893 | SampleTime "-1" 1894 | SaveFormat "Array" 1895 | } 1896 | Block { 1897 | BlockType ToWorkspace 1898 | Name "To Workspace1" 1899 | SID "58" 1900 | Ports [1] 1901 | Position [485, 265, 545, 295] 1902 | VariableName "w" 1903 | MaxDataPoints "inf" 1904 | SampleTime "-1" 1905 | SaveFormat "Array" 1906 | } 1907 | Block { 1908 | BlockType ToWorkspace 1909 | Name "To Workspace2" 1910 | SID "59" 1911 | Ports [1] 1912 | Position [865, 215, 925, 245] 1913 | VariableName "w_hat" 1914 | MaxDataPoints "inf" 1915 | SampleTime "-1" 1916 | SaveFormat "Array" 1917 | } 1918 | Line { 1919 | SrcBlock "Disturbance\ngenerator" 1920 | SrcPort 1 1921 | Points [25, 0] 1922 | Branch { 1923 | DstBlock "System model" 1924 | DstPort 2 1925 | } 1926 | Branch { 1927 | Points [0, 90] 1928 | DstBlock "To Workspace1" 1929 | DstPort 1 1930 | } 1931 | } 1932 | Line { 1933 | SrcBlock "System model" 1934 | SrcPort 2 1935 | DstBlock "ESO" 1936 | DstPort 1 1937 | } 1938 | Line { 1939 | SrcBlock "Mux" 1940 | SrcPort 1 1941 | Points [10, 0; 0, 55; 5, 0] 1942 | Branch { 1943 | DstBlock "System model" 1944 | DstPort 1 1945 | } 1946 | Branch { 1947 | Points [0, 80] 1948 | DstBlock "ESO" 1949 | DstPort 2 1950 | } 1951 | } 1952 | Line { 1953 | SrcBlock "Step" 1954 | SrcPort 1 1955 | Points [55, 0; 0, 45] 1956 | DstBlock "Mux" 1957 | DstPort 1 1958 | } 1959 | Line { 1960 | SrcBlock "Step1" 1961 | SrcPort 1 1962 | Points [35, 0; 0, 20] 1963 | DstBlock "Mux" 1964 | DstPort 2 1965 | } 1966 | Line { 1967 | SrcBlock "Step2" 1968 | SrcPort 1 1969 | Points [30, 0; 0, -20] 1970 | DstBlock "Mux" 1971 | DstPort 3 1972 | } 1973 | Line { 1974 | SrcBlock "Clock" 1975 | SrcPort 1 1976 | DstBlock "To Workspace" 1977 | DstPort 1 1978 | } 1979 | Line { 1980 | SrcBlock "ESO" 1981 | SrcPort 2 1982 | DstBlock "To Workspace2" 1983 | DstPort 1 1984 | } 1985 | } 1986 | } 1987 | # Finite State Machines 1988 | # 1989 | # Stateflow Version 7.5 (R2010a) dated Mar 5 2011, 00:01:50 1990 | # 1991 | # 1992 | 1993 | 1994 | Stateflow { 1995 | machine { 1996 | id 1 1997 | name "ESO_test" 1998 | created "14-Oct-2017 17:00:29" 1999 | isLibrary 0 2000 | firstTarget 22 2001 | sfVersion 75014001 2002 | } 2003 | chart { 2004 | id 2 2005 | name "ESO/MATLAB Function" 2006 | windowPosition [281.813 354 200.25 189.75] 2007 | viewLimits [0 156.75 0 153.75] 2008 | screen [1 1 1280 800 1.333333333333333] 2009 | treeNode [0 3 0 0] 2010 | firstTransition 5 2011 | firstJunction 4 2012 | viewObj 2 2013 | machine 1 2014 | toolbarMode LIBRARY_TOOLBAR 2015 | ssIdHighWaterMark 18 2016 | decomposition CLUSTER_CHART 2017 | type EML_CHART 2018 | firstData 6 2019 | chartFileNumber 2 2020 | disableImplicitCasting 1 2021 | eml { 2022 | name "ESO_dyn" 2023 | } 2024 | } 2025 | state { 2026 | id 3 2027 | labelString "eML_blk_kernel()" 2028 | position [18 64.5 118 66] 2029 | fontSize 12 2030 | chart 2 2031 | treeNode [2 0 0 0] 2032 | superState SUBCHART 2033 | subviewer 2 2034 | ssIdNumber 1 2035 | type FUNC_STATE 2036 | decomposition CLUSTER_STATE 2037 | eml { 2038 | isEML 1 2039 | script "function [dx_hat,dxw_hat] = ESO_dyn(x_hat,xw_hat,y,u,A,B,C,D,H,S,Cw,L1,L2)\ndx_hat = zeros(6,1);\n" 2040 | "dxw_hat = zeros(13,1);\n%% Gain function parameters\na = 0.7;\nd = 0.1;\n%% ESO DEs\ndx_hat = A*x_hat+B*u+H*Cw'*" 2041 | "xw_hat+L1*phi(y-C*x_hat-D*u,a,d);\ndxw_hat = S*xw_hat+L2*phi(y-C*x_hat-D*u,a,d);\nend\n%Gain function\nfunction " 2042 | "y1 = phi(x1,a,d)\n y1 = zeros(2,1);\n y1(1) = x1(1) + 0.5*(a-1)*(abs(x1(1)+d)-abs(x1(1)-d));\n " 2043 | " y1(2) = x1(2) + 0.5*(a-1)*(abs(x1(2)+d)-abs(x1(2)-d));\nend" 2044 | editorLayout "100 M4x1[119 211 1080 733]" 2045 | } 2046 | } 2047 | junction { 2048 | id 4 2049 | position [23.5747 49.5747 7] 2050 | chart 2 2051 | linkNode [2 0 0] 2052 | subviewer 2 2053 | ssIdNumber 3 2054 | type CONNECTIVE_JUNCTION 2055 | } 2056 | transition { 2057 | id 5 2058 | labelString "{eML_blk_kernel();}" 2059 | labelPosition [32.125 19.875 102.544 14.964] 2060 | fontSize 12 2061 | src { 2062 | intersection [0 0 1 0 23.5747 14.625 0 0] 2063 | } 2064 | dst { 2065 | id 4 2066 | intersection [7 0 -1 -1 23.5747 42.5747 0 0] 2067 | } 2068 | midPoint [23.5747 24.9468] 2069 | chart 2 2070 | linkNode [2 0 0] 2071 | dataLimits [23.575 23.575 14.625 34.575] 2072 | subviewer 2 2073 | drawStyle SMART 2074 | executionOrder 1 2075 | ssIdNumber 2 2076 | } 2077 | data { 2078 | id 6 2079 | ssIdNumber 6 2080 | name "x_hat" 2081 | linkNode [2 0 7] 2082 | scope INPUT_DATA 2083 | machine 1 2084 | props { 2085 | array { 2086 | size "-1" 2087 | } 2088 | type { 2089 | method SF_INHERITED_TYPE 2090 | primitive SF_DOUBLE_TYPE 2091 | isSigned 1 2092 | wordLength "16" 2093 | } 2094 | complexity SF_COMPLEX_INHERITED 2095 | frame SF_FRAME_INHERITED 2096 | } 2097 | dataType "Inherit: Same as Simulink" 2098 | } 2099 | data { 2100 | id 7 2101 | ssIdNumber 7 2102 | name "xw_hat" 2103 | linkNode [2 6 8] 2104 | scope INPUT_DATA 2105 | machine 1 2106 | props { 2107 | array { 2108 | size "-1" 2109 | } 2110 | type { 2111 | method SF_INHERITED_TYPE 2112 | primitive SF_DOUBLE_TYPE 2113 | isSigned 1 2114 | wordLength "16" 2115 | } 2116 | complexity SF_COMPLEX_INHERITED 2117 | frame SF_FRAME_INHERITED 2118 | } 2119 | dataType "Inherit: Same as Simulink" 2120 | } 2121 | data { 2122 | id 8 2123 | ssIdNumber 5 2124 | name "y" 2125 | linkNode [2 7 9] 2126 | scope INPUT_DATA 2127 | machine 1 2128 | props { 2129 | array { 2130 | size "-1" 2131 | } 2132 | type { 2133 | method SF_INHERITED_TYPE 2134 | primitive SF_DOUBLE_TYPE 2135 | } 2136 | complexity SF_COMPLEX_INHERITED 2137 | frame SF_FRAME_NO 2138 | } 2139 | dataType "Inherit: Same as Simulink" 2140 | } 2141 | data { 2142 | id 9 2143 | ssIdNumber 4 2144 | name "u" 2145 | linkNode [2 8 10] 2146 | scope INPUT_DATA 2147 | machine 1 2148 | props { 2149 | array { 2150 | size "-1" 2151 | } 2152 | type { 2153 | method SF_INHERITED_TYPE 2154 | primitive SF_DOUBLE_TYPE 2155 | } 2156 | complexity SF_COMPLEX_INHERITED 2157 | } 2158 | dataType "Inherit: Same as Simulink" 2159 | } 2160 | data { 2161 | id 10 2162 | ssIdNumber 8 2163 | name "dx_hat" 2164 | linkNode [2 9 11] 2165 | scope OUTPUT_DATA 2166 | machine 1 2167 | props { 2168 | array { 2169 | size "-1" 2170 | } 2171 | type { 2172 | method SF_INHERITED_TYPE 2173 | primitive SF_DOUBLE_TYPE 2174 | isSigned 1 2175 | wordLength "16" 2176 | } 2177 | complexity SF_COMPLEX_INHERITED 2178 | frame SF_FRAME_NO 2179 | } 2180 | dataType "Inherit: Same as Simulink" 2181 | } 2182 | data { 2183 | id 11 2184 | ssIdNumber 9 2185 | name "dxw_hat" 2186 | linkNode [2 10 12] 2187 | scope OUTPUT_DATA 2188 | machine 1 2189 | props { 2190 | array { 2191 | size "-1" 2192 | } 2193 | type { 2194 | method SF_INHERITED_TYPE 2195 | primitive SF_DOUBLE_TYPE 2196 | isSigned 1 2197 | wordLength "16" 2198 | } 2199 | complexity SF_COMPLEX_INHERITED 2200 | frame SF_FRAME_NO 2201 | } 2202 | dataType "Inherit: Same as Simulink" 2203 | } 2204 | data { 2205 | id 12 2206 | ssIdNumber 10 2207 | name "A" 2208 | linkNode [2 11 13] 2209 | scope INPUT_DATA 2210 | machine 1 2211 | props { 2212 | array { 2213 | size "-1" 2214 | } 2215 | type { 2216 | method SF_INHERITED_TYPE 2217 | primitive SF_DOUBLE_TYPE 2218 | isSigned 1 2219 | wordLength "16" 2220 | } 2221 | complexity SF_COMPLEX_INHERITED 2222 | frame SF_FRAME_INHERITED 2223 | } 2224 | dataType "Inherit: Same as Simulink" 2225 | } 2226 | data { 2227 | id 13 2228 | ssIdNumber 11 2229 | name "B" 2230 | linkNode [2 12 14] 2231 | scope INPUT_DATA 2232 | machine 1 2233 | props { 2234 | array { 2235 | size "-1" 2236 | } 2237 | type { 2238 | method SF_INHERITED_TYPE 2239 | primitive SF_DOUBLE_TYPE 2240 | isSigned 1 2241 | wordLength "16" 2242 | } 2243 | complexity SF_COMPLEX_INHERITED 2244 | frame SF_FRAME_INHERITED 2245 | } 2246 | dataType "Inherit: Same as Simulink" 2247 | } 2248 | data { 2249 | id 14 2250 | ssIdNumber 12 2251 | name "C" 2252 | linkNode [2 13 15] 2253 | scope INPUT_DATA 2254 | machine 1 2255 | props { 2256 | array { 2257 | size "-1" 2258 | } 2259 | type { 2260 | method SF_INHERITED_TYPE 2261 | primitive SF_DOUBLE_TYPE 2262 | isSigned 1 2263 | wordLength "16" 2264 | } 2265 | complexity SF_COMPLEX_INHERITED 2266 | frame SF_FRAME_INHERITED 2267 | } 2268 | dataType "Inherit: Same as Simulink" 2269 | } 2270 | data { 2271 | id 15 2272 | ssIdNumber 13 2273 | name "D" 2274 | linkNode [2 14 16] 2275 | scope INPUT_DATA 2276 | machine 1 2277 | props { 2278 | array { 2279 | size "-1" 2280 | } 2281 | type { 2282 | method SF_INHERITED_TYPE 2283 | primitive SF_DOUBLE_TYPE 2284 | isSigned 1 2285 | wordLength "16" 2286 | } 2287 | complexity SF_COMPLEX_INHERITED 2288 | frame SF_FRAME_INHERITED 2289 | } 2290 | dataType "Inherit: Same as Simulink" 2291 | } 2292 | data { 2293 | id 16 2294 | ssIdNumber 14 2295 | name "H" 2296 | linkNode [2 15 17] 2297 | scope INPUT_DATA 2298 | machine 1 2299 | props { 2300 | array { 2301 | size "-1" 2302 | } 2303 | type { 2304 | method SF_INHERITED_TYPE 2305 | primitive SF_DOUBLE_TYPE 2306 | isSigned 1 2307 | wordLength "16" 2308 | } 2309 | complexity SF_COMPLEX_INHERITED 2310 | frame SF_FRAME_INHERITED 2311 | } 2312 | dataType "Inherit: Same as Simulink" 2313 | } 2314 | data { 2315 | id 17 2316 | ssIdNumber 15 2317 | name "S" 2318 | linkNode [2 16 18] 2319 | scope INPUT_DATA 2320 | machine 1 2321 | props { 2322 | array { 2323 | size "-1" 2324 | } 2325 | type { 2326 | method SF_INHERITED_TYPE 2327 | primitive SF_DOUBLE_TYPE 2328 | isSigned 1 2329 | wordLength "16" 2330 | } 2331 | complexity SF_COMPLEX_INHERITED 2332 | frame SF_FRAME_INHERITED 2333 | } 2334 | dataType "Inherit: Same as Simulink" 2335 | } 2336 | data { 2337 | id 18 2338 | ssIdNumber 16 2339 | name "Cw" 2340 | linkNode [2 17 19] 2341 | scope INPUT_DATA 2342 | machine 1 2343 | props { 2344 | array { 2345 | size "-1" 2346 | } 2347 | type { 2348 | method SF_INHERITED_TYPE 2349 | primitive SF_DOUBLE_TYPE 2350 | isSigned 1 2351 | wordLength "16" 2352 | } 2353 | complexity SF_COMPLEX_INHERITED 2354 | frame SF_FRAME_INHERITED 2355 | } 2356 | dataType "Inherit: Same as Simulink" 2357 | } 2358 | data { 2359 | id 19 2360 | ssIdNumber 17 2361 | name "L1" 2362 | linkNode [2 18 20] 2363 | scope INPUT_DATA 2364 | machine 1 2365 | props { 2366 | array { 2367 | size "-1" 2368 | } 2369 | type { 2370 | method SF_INHERITED_TYPE 2371 | primitive SF_DOUBLE_TYPE 2372 | isSigned 1 2373 | wordLength "16" 2374 | } 2375 | complexity SF_COMPLEX_INHERITED 2376 | frame SF_FRAME_INHERITED 2377 | } 2378 | dataType "Inherit: Same as Simulink" 2379 | } 2380 | data { 2381 | id 20 2382 | ssIdNumber 18 2383 | name "L2" 2384 | linkNode [2 19 0] 2385 | scope INPUT_DATA 2386 | machine 1 2387 | props { 2388 | array { 2389 | size "-1" 2390 | } 2391 | type { 2392 | method SF_INHERITED_TYPE 2393 | primitive SF_DOUBLE_TYPE 2394 | isSigned 1 2395 | wordLength "16" 2396 | } 2397 | complexity SF_COMPLEX_INHERITED 2398 | frame SF_FRAME_INHERITED 2399 | } 2400 | dataType "Inherit: Same as Simulink" 2401 | } 2402 | instance { 2403 | id 21 2404 | name "ESO/MATLAB Function" 2405 | machine 1 2406 | chart 2 2407 | } 2408 | target { 2409 | id 22 2410 | name "sfun" 2411 | description "Default Simulink S-Function Target." 2412 | machine 1 2413 | linkNode [1 0 0] 2414 | } 2415 | } 2416 | -------------------------------------------------------------------------------- /ESO/ESO_test.mdl: -------------------------------------------------------------------------------- 1 | Model { 2 | Name "ESO_test" 3 | Version 8.8 4 | SavedCharacterEncoding "windows-1252" 5 | GraphicalInterface { 6 | NumRootInports 0 7 | NumRootOutports 0 8 | ParameterArgumentNames "" 9 | ComputedModelVersion "1.12" 10 | NumModelReferences 0 11 | NumTestPointedSignals 0 12 | NumProvidedFunctions 0 13 | NumRequiredFunctions 0 14 | NumResetEvents 0 15 | HasInitializeEvent 0 16 | HasTerminateEvent 0 17 | IsExportFunctionModel 0 18 | } 19 | LogicAnalyzerGraphicalSettings "" 20 | LogicAnalyzerPlugin "on" 21 | LogicAnalyzerSignalOrdering "" 22 | DiagnosticSuppressor "on" 23 | SuppressorTable "22 serialization::archive 11 0 3 0 0 0 8 0" 24 | ScopeRefreshTime 0.035000 25 | OverrideScopeRefreshTime on 26 | DisableAllScopes off 27 | DataTypeOverride "UseLocalSettings" 28 | DataTypeOverrideAppliesTo "AllNumericTypes" 29 | MinMaxOverflowLogging "UseLocalSettings" 30 | MinMaxOverflowArchiveMode "Overwrite" 31 | FPTRunName "Run 1" 32 | MaxMDLFileLineLength 120 33 | LastSavedArchitecture "win64" 34 | Object { 35 | $PropName "BdWindowsInfo" 36 | $ObjectID 1 37 | $ClassName "Simulink.BDWindowsInfo" 38 | Object { 39 | $PropName "WindowsInfo" 40 | $ObjectID 2 41 | $ClassName "Simulink.WindowInfo" 42 | IsActive [1] 43 | Location [16.0, 0.0, 1324.0, 728.0] 44 | Object { 45 | $PropName "ModelBrowserInfo" 46 | $ObjectID 3 47 | $ClassName "Simulink.ModelBrowserInfo" 48 | Visible [0] 49 | DockPosition "Left" 50 | Width [50] 51 | Height [50] 52 | Filter [8] 53 | } 54 | Object { 55 | $PropName "ExplorerBarInfo" 56 | $ObjectID 4 57 | $ClassName "Simulink.ExplorerBarInfo" 58 | Visible [1] 59 | } 60 | Object { 61 | $PropName "EditorsInfo" 62 | $ObjectID 5 63 | $ClassName "Simulink.EditorInfo" 64 | IsActive [1] 65 | ViewObjType "SimulinkTopLevel" 66 | LoadSaveID "0" 67 | Extents [1274.0, 549.0] 68 | ZoomFactor [1.0] 69 | Offset [0.0, 0.0] 70 | } 71 | Object { 72 | $PropName "DockComponentsInfo" 73 | $ObjectID 6 74 | $ClassName "Simulink.DockComponentInfo" 75 | Type "GLUE2:PropertyInspector" 76 | ID "Property Inspector" 77 | Visible [0] 78 | CreateCallback "" 79 | UserData "" 80 | Floating [0] 81 | DockPosition "Right" 82 | Width [640] 83 | Height [480] 84 | } 85 | WindowState "AAAA/wAAAAD9AAAAAgAAAAAAAAC9AAAB+PwCAAAAA/sAAAAWAEQAbwBjAGsAVwBpAGQAZwBlAHQAMwEAAAAxAAAB+AAAA" 86 | "AAAAAAA+wAAABYARABvAGMAawBXAGkAZABnAGUAdAA0AAAAAAD/////AAAAAAAAAAD7AAAAUgBHAEwAVQBFADIAIAB0AHIAZQBlACAAYwBvAG0Ac" 87 | "ABvAG4AZQBuAHQALwBHAEwAVQBFADIAIAB0AHIAZQBlACAAYwBvAG0AcABvAG4AZQBuAHQAAAAAAP////8AAABfAP///wAAAAEAAAAAAAAAAPwCA" 88 | "AAAAfsAAABUAEcATABVAEUAMgA6AFAAcgBvAHAAZQByAHQAeQBJAG4AcwBwAGUAYwB0AG8AcgAvAFAAcgBvAHAAZQByAHQAeQAgAEkAbgBzAHAAZ" 89 | "QBjAHQAbwByAAAAAAD/////AAAAJwD///8AAAUcAAACWwAAAAEAAAACAAAAAQAAAAL8AAAAAQAAAAIAAAAP/////wAAAAAA/////wAAAAAAAAAA/" 90 | "////wEAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/" 91 | "////wEAAAB5/////wAAAAAAAAAA/////wEAAADa/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wEAAAFT/////wAAAAAAAAAA/" 92 | "////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA/////wEAAAMr/////wAAAAAAAAAA/" 93 | "////wEAAANa/////wAAAAAAAAAA/////wAAAAAA/////wAAAAAAAAAA" 94 | } 95 | } 96 | Created "Sat Oct 14 16:47:29 2017" 97 | Creator "Mehran" 98 | UpdateHistory "UpdateHistoryNever" 99 | ModifiedByFormat "%" 100 | LastModifiedBy "ABLAH" 101 | ModifiedDateFormat "%" 102 | LastModifiedDate "Mon Oct 16 19:49:28 2017" 103 | RTWModifiedTimeStamp 430077736 104 | ModelVersionFormat "1.%" 105 | ConfigurationManager "none" 106 | SampleTimeColors off 107 | SampleTimeAnnotations off 108 | LibraryLinkDisplay "none" 109 | WideLines off 110 | ShowLineDimensions off 111 | ShowPortDataTypes off 112 | ShowEditTimeErrors on 113 | ShowEditTimeWarnings on 114 | ShowEditTimeAdvisorChecks off 115 | ShowPortUnits off 116 | ShowDesignRanges off 117 | ShowLoopsOnError on 118 | IgnoreBidirectionalLines off 119 | ShowStorageClass off 120 | ShowTestPointIcons on 121 | ShowSignalResolutionIcons on 122 | ShowViewerIcons on 123 | SortedOrder off 124 | VariantCondition off 125 | ExecutionContextIcon off 126 | ShowLinearizationAnnotations on 127 | ShowVisualizeInsertedRTB on 128 | ShowMarkup on 129 | BlockNameDataTip off 130 | BlockParametersDataTip off 131 | BlockDescriptionStringDataTip off 132 | ToolBar on 133 | StatusBar on 134 | BrowserShowLibraryLinks off 135 | FunctionConnectors off 136 | BrowserLookUnderMasks off 137 | SimulationMode "normal" 138 | PauseTimes "5" 139 | NumberOfSteps 1 140 | SnapshotBufferSize 10 141 | SnapshotInterval 10 142 | NumberOfLastSnapshots 0 143 | LinearizationMsg "none" 144 | Profile off 145 | ParamWorkspaceSource "MATLABWorkspace" 146 | AccelSystemTargetFile "accel.tlc" 147 | AccelTemplateMakefile "accel_default_tmf" 148 | AccelMakeCommand "make_rtw" 149 | TryForcingSFcnDF off 150 | Object { 151 | $PropName "DataLoggingOverride" 152 | $ObjectID 7 153 | $ClassName "Simulink.SimulationData.ModelLoggingInfo" 154 | model_ "ESO_test" 155 | overrideMode_ [0.0] 156 | Array { 157 | Type "Cell" 158 | Dimension 1 159 | Cell "ESO_test" 160 | PropName "logAsSpecifiedByModels_" 161 | } 162 | Array { 163 | Type "Cell" 164 | Dimension 1 165 | Cell [] 166 | PropName "logAsSpecifiedByModelsSSIDs_" 167 | } 168 | } 169 | ExtModeBatchMode off 170 | ExtModeEnableFloating on 171 | ExtModeTrigType "manual" 172 | ExtModeTrigMode "normal" 173 | ExtModeTrigPort "1" 174 | ExtModeTrigElement "any" 175 | ExtModeTrigDuration 1000 176 | ExtModeTrigDurationFloating "auto" 177 | ExtModeTrigHoldOff 0 178 | ExtModeTrigDelay 0 179 | ExtModeTrigDirection "rising" 180 | ExtModeTrigLevel 0 181 | ExtModeArchiveMode "off" 182 | ExtModeAutoIncOneShot off 183 | ExtModeIncDirWhenArm off 184 | ExtModeAddSuffixToVar off 185 | ExtModeWriteAllDataToWs off 186 | ExtModeArmWhenConnect on 187 | ExtModeSkipDownloadWhenConnect off 188 | ExtModeLogAll on 189 | ExtModeAutoUpdateStatusClock on 190 | ShowModelReferenceBlockVersion off 191 | ShowModelReferenceBlockIO off 192 | Array { 193 | Type "Handle" 194 | Dimension 1 195 | Simulink.ConfigSet { 196 | $ObjectID 8 197 | Version "1.16.5" 198 | DisabledProps [] 199 | Description "" 200 | Array { 201 | Type "Handle" 202 | Dimension 10 203 | Simulink.SolverCC { 204 | $ObjectID 9 205 | Version "1.16.5" 206 | DisabledProps [] 207 | Description "" 208 | StartTime "0.0" 209 | StopTime "10.0" 210 | AbsTol "auto" 211 | FixedStep "auto" 212 | InitialStep "auto" 213 | MaxNumMinSteps "-1" 214 | MaxOrder 5 215 | ZcThreshold "auto" 216 | ConsecutiveZCsStepRelTol "10*128*eps" 217 | MaxConsecutiveZCs "1000" 218 | ExtrapolationOrder 4 219 | NumberNewtonIterations 1 220 | MaxStep "auto" 221 | MinStep "auto" 222 | MaxConsecutiveMinStep "1" 223 | RelTol "1e-3" 224 | EnableMultiTasking on 225 | EnableConcurrentExecution off 226 | ConcurrentTasks off 227 | Solver "ode45" 228 | SolverName "ode45" 229 | SolverJacobianMethodControl "auto" 230 | ShapePreserveControl "DisableAll" 231 | ZeroCrossControl "UseLocalSettings" 232 | ZeroCrossAlgorithm "Nonadaptive" 233 | AlgebraicLoopSolver "TrustRegion" 234 | SolverInfoToggleStatus off 235 | IsAutoAppliedInSIP off 236 | SolverResetMethod "Fast" 237 | PositivePriorityOrder off 238 | AutoInsertRateTranBlk off 239 | SampleTimeConstraint "Unconstrained" 240 | InsertRTBMode "Whenever possible" 241 | SampleTimeProperty [] 242 | } 243 | Simulink.DataIOCC { 244 | $ObjectID 10 245 | Version "1.16.5" 246 | DisabledProps [] 247 | Description "" 248 | Decimation "1" 249 | ExternalInput "[t, u]" 250 | FinalStateName "xFinal" 251 | InitialState "xInitial" 252 | LimitDataPoints on 253 | MaxDataPoints "1000" 254 | LoadExternalInput off 255 | LoadInitialState off 256 | SaveFinalState off 257 | SaveCompleteFinalSimState off 258 | SaveFormat "Array" 259 | SignalLoggingSaveFormat "ModelDataLogs" 260 | SaveOutput on 261 | SaveState off 262 | SignalLogging on 263 | DSMLogging on 264 | InspectSignalLogs off 265 | VisualizeSimOutput on 266 | StreamToWorkspace off 267 | StreamVariableName "streamout" 268 | SaveTime on 269 | ReturnWorkspaceOutputs off 270 | StateSaveName "xout" 271 | TimeSaveName "tout" 272 | OutputSaveName "yout" 273 | SignalLoggingName "logsout" 274 | DSMLoggingName "dsmout" 275 | OutputOption "RefineOutputTimes" 276 | OutputTimes "[]" 277 | ReturnWorkspaceOutputsName "out" 278 | Refine "1" 279 | LoggingToFile off 280 | LoggingFileName "out.mat" 281 | LoggingIntervals "[-inf, inf]" 282 | } 283 | Simulink.OptimizationCC { 284 | $ObjectID 11 285 | Version "1.16.5" 286 | Array { 287 | Type "Cell" 288 | Dimension 8 289 | Cell "BooleansAsBitfields" 290 | Cell "PassReuseOutputArgsAs" 291 | Cell "PassReuseOutputArgsThreshold" 292 | Cell "ZeroExternalMemoryAtStartup" 293 | Cell "ZeroInternalMemoryAtStartup" 294 | Cell "OptimizeModelRefInitCode" 295 | Cell "NoFixptDivByZeroProtection" 296 | Cell "UseSpecifiedMinMax" 297 | PropName "DisabledProps" 298 | } 299 | Description "" 300 | BlockReduction on 301 | BooleanDataType on 302 | ConditionallyExecuteInputs on 303 | DefaultParameterBehavior "Tunable" 304 | UseDivisionForNetSlopeComputation "off" 305 | UseFloatMulNetSlope off 306 | DefaultUnderspecifiedDataType "double" 307 | UseSpecifiedMinMax off 308 | InlineInvariantSignals off 309 | OptimizeBlockIOStorage on 310 | BufferReuse on 311 | EnhancedBackFolding off 312 | CachingGlobalReferences off 313 | GlobalBufferReuse on 314 | StrengthReduction off 315 | AdvancedOptControl "" 316 | ExpressionFolding on 317 | BooleansAsBitfields off 318 | BitfieldContainerType "uint_T" 319 | EnableMemcpy on 320 | MemcpyThreshold 64 321 | PassReuseOutputArgsAs "Structure reference" 322 | PassReuseOutputArgsThreshold 12 323 | ExpressionDepthLimit 2147483647 324 | LocalBlockOutputs on 325 | RollThreshold 5 326 | StateBitsets off 327 | DataBitsets off 328 | ActiveStateOutputEnumStorageType "Native Integer" 329 | ZeroExternalMemoryAtStartup on 330 | ZeroInternalMemoryAtStartup on 331 | InitFltsAndDblsToZero off 332 | NoFixptDivByZeroProtection off 333 | EfficientFloat2IntCast off 334 | EfficientMapNaN2IntZero on 335 | LifeSpan "inf" 336 | MaxStackSize "Inherit from target" 337 | BufferReusableBoundary on 338 | SimCompilerOptimization "off" 339 | AccelVerboseBuild off 340 | } 341 | Simulink.DebuggingCC { 342 | $ObjectID 12 343 | Version "1.16.5" 344 | Array { 345 | Type "Cell" 346 | Dimension 1 347 | Cell "UseOnlyExistingSharedCode" 348 | PropName "DisabledProps" 349 | } 350 | Description "" 351 | RTPrefix "error" 352 | ConsistencyChecking "none" 353 | ArrayBoundsChecking "none" 354 | SignalInfNanChecking "none" 355 | SignalRangeChecking "none" 356 | ReadBeforeWriteMsg "UseLocalSettings" 357 | WriteAfterWriteMsg "UseLocalSettings" 358 | WriteAfterReadMsg "UseLocalSettings" 359 | AlgebraicLoopMsg "warning" 360 | ArtificialAlgebraicLoopMsg "warning" 361 | SaveWithDisabledLinksMsg "warning" 362 | SaveWithParameterizedLinksMsg "warning" 363 | CheckSSInitialOutputMsg on 364 | UnderspecifiedInitializationDetection "Classic" 365 | MergeDetectMultiDrivingBlocksExec "none" 366 | CheckExecutionContextPreStartOutputMsg off 367 | CheckExecutionContextRuntimeOutputMsg off 368 | SignalResolutionControl "UseLocalSettings" 369 | BlockPriorityViolationMsg "warning" 370 | MinStepSizeMsg "warning" 371 | TimeAdjustmentMsg "none" 372 | MaxConsecutiveZCsMsg "error" 373 | MaskedZcDiagnostic "warning" 374 | IgnoredZcDiagnostic "warning" 375 | SolverPrmCheckMsg "warning" 376 | InheritedTsInSrcMsg "warning" 377 | MultiTaskDSMMsg "error" 378 | MultiTaskCondExecSysMsg "error" 379 | MultiTaskRateTransMsg "error" 380 | SingleTaskRateTransMsg "none" 381 | TasksWithSamePriorityMsg "warning" 382 | SigSpecEnsureSampleTimeMsg "warning" 383 | CheckMatrixSingularityMsg "none" 384 | IntegerOverflowMsg "warning" 385 | Int32ToFloatConvMsg "warning" 386 | ParameterDowncastMsg "error" 387 | ParameterOverflowMsg "error" 388 | ParameterUnderflowMsg "none" 389 | ParameterPrecisionLossMsg "warning" 390 | ParameterTunabilityLossMsg "warning" 391 | FixptConstUnderflowMsg "none" 392 | FixptConstOverflowMsg "none" 393 | FixptConstPrecisionLossMsg "none" 394 | UnderSpecifiedDataTypeMsg "none" 395 | UnnecessaryDatatypeConvMsg "none" 396 | VectorMatrixConversionMsg "none" 397 | InvalidFcnCallConnMsg "error" 398 | FcnCallInpInsideContextMsg "warning" 399 | SignalLabelMismatchMsg "none" 400 | UnconnectedInputMsg "warning" 401 | UnconnectedOutputMsg "warning" 402 | UnconnectedLineMsg "warning" 403 | UseOnlyExistingSharedCode "error" 404 | SFcnCompatibilityMsg "none" 405 | FrameProcessingCompatibilityMsg "error" 406 | UniqueDataStoreMsg "none" 407 | BusObjectLabelMismatch "warning" 408 | RootOutportRequireBusObject "warning" 409 | AssertControl "UseLocalSettings" 410 | AllowSymbolicDim on 411 | RowMajorDimensionSupport off 412 | ModelReferenceIOMsg "none" 413 | ModelReferenceMultiInstanceNormalModeStructChecksumCheck "error" 414 | ModelReferenceVersionMismatchMessage "none" 415 | ModelReferenceIOMismatchMessage "none" 416 | UnknownTsInhSupMsg "warning" 417 | ModelReferenceDataLoggingMessage "warning" 418 | ModelReferenceSymbolNameMessage "warning" 419 | ModelReferenceExtraNoncontSigs "error" 420 | StateNameClashWarn "warning" 421 | SimStateInterfaceChecksumMismatchMsg "warning" 422 | SimStateOlderReleaseMsg "error" 423 | InitInArrayFormatMsg "warning" 424 | StrictBusMsg "ErrorLevel1" 425 | BusNameAdapt "WarnAndRepair" 426 | NonBusSignalsTreatedAsBus "none" 427 | SymbolicDimMinMaxWarning "warning" 428 | LossOfSymbolicDimsSimulationWarning "warning" 429 | LossOfSymbolicDimsCodeGenerationWarning "error" 430 | BlockIODiagnostic "none" 431 | SFUnusedDataAndEventsDiag "warning" 432 | SFUnexpectedBacktrackingDiag "warning" 433 | SFInvalidInputDataAccessInChartInitDiag "warning" 434 | SFNoUnconditionalDefaultTransitionDiag "warning" 435 | SFTransitionOutsideNaturalParentDiag "warning" 436 | SFUnreachableExecutionPathDiag "warning" 437 | SFUndirectedBroadcastEventsDiag "warning" 438 | SFTransitionActionBeforeConditionDiag "warning" 439 | SFOutputUsedAsStateInMooreChartDiag "error" 440 | SFTemporalDelaySmallerThanSampleTimeDiag "warning" 441 | SFSelfTransitionDiag "warning" 442 | SFExecutionAtInitializationDiag "none" 443 | SFMachineParentedDataDiag "warning" 444 | IntegerSaturationMsg "warning" 445 | AllowedUnitSystems "all" 446 | UnitsInconsistencyMsg "warning" 447 | AllowAutomaticUnitConversions on 448 | } 449 | Simulink.HardwareCC { 450 | $ObjectID 13 451 | Version "1.16.5" 452 | DisabledProps [] 453 | Description "" 454 | ProdBitPerChar 8 455 | ProdBitPerShort 16 456 | ProdBitPerInt 32 457 | ProdBitPerLong 32 458 | ProdBitPerLongLong 64 459 | ProdBitPerFloat 32 460 | ProdBitPerDouble 64 461 | ProdBitPerPointer 32 462 | ProdBitPerSizeT 32 463 | ProdBitPerPtrDiffT 32 464 | ProdLargestAtomicInteger "Char" 465 | ProdLargestAtomicFloat "None" 466 | ProdIntDivRoundTo "Undefined" 467 | ProdEndianess "Unspecified" 468 | ProdWordSize 32 469 | ProdShiftRightIntArith on 470 | ProdLongLongMode off 471 | ProdHWDeviceType "32-bit Generic" 472 | TargetBitPerChar 8 473 | TargetBitPerShort 16 474 | TargetBitPerInt 32 475 | TargetBitPerLong 32 476 | TargetBitPerLongLong 64 477 | TargetBitPerFloat 32 478 | TargetBitPerDouble 64 479 | TargetBitPerPointer 32 480 | TargetBitPerSizeT 32 481 | TargetBitPerPtrDiffT 32 482 | TargetLargestAtomicInteger "Char" 483 | TargetLargestAtomicFloat "None" 484 | TargetShiftRightIntArith on 485 | TargetLongLongMode off 486 | TargetIntDivRoundTo "Undefined" 487 | TargetEndianess "Unspecified" 488 | TargetWordSize 32 489 | TargetPreprocMaxBitsSint 32 490 | TargetPreprocMaxBitsUint 32 491 | TargetHWDeviceType "Specified" 492 | TargetUnknown off 493 | ProdEqTarget on 494 | UseEmbeddedCoderFeatures on 495 | UseSimulinkCoderFeatures on 496 | } 497 | Simulink.ModelReferenceCC { 498 | $ObjectID 14 499 | Version "1.16.5" 500 | DisabledProps [] 501 | Description "" 502 | UpdateModelReferenceTargets "IfOutOfDateOrStructuralChange" 503 | EnableRefExpFcnMdlSchedulingChecks on 504 | CheckModelReferenceTargetMessage "error" 505 | EnableParallelModelReferenceBuilds off 506 | ParallelModelReferenceErrorOnInvalidPool on 507 | ParallelModelReferenceMATLABWorkerInit "None" 508 | ModelReferenceNumInstancesAllowed "Multi" 509 | PropagateVarSize "Infer from blocks in model" 510 | ModelDependencies "" 511 | ModelReferencePassRootInputsByReference on 512 | ModelReferenceMinAlgLoopOccurrences off 513 | PropagateSignalLabelsOutOfModel off 514 | SupportModelReferenceSimTargetCustomCode off 515 | } 516 | Simulink.SFSimCC { 517 | $ObjectID 15 518 | Version "1.16.5" 519 | DisabledProps [] 520 | Description "" 521 | SimCustomSourceCode "" 522 | SimCustomHeaderCode "" 523 | SimCustomInitializer "" 524 | SimCustomTerminator "" 525 | SimReservedNameArray [] 526 | SimUserSources "" 527 | SimUserIncludeDirs "" 528 | SimUserLibraries "" 529 | SimUserDefines "" 530 | SimCustomCompilerFlags "" 531 | SimCustomLinkerFlags "" 532 | SFSimEcho on 533 | SimCtrlC on 534 | SimIntegrity on 535 | SimUseLocalCustomCode off 536 | SimParseCustomCode on 537 | SimBuildMode "sf_incremental_build" 538 | SimGenImportedTypeDefs off 539 | ModelFunctionsGlobalVisibility "on" 540 | CompileTimeRecursionLimit 50 541 | EnableRuntimeRecursion on 542 | } 543 | Simulink.RTWCC { 544 | $BackupClass "Simulink.RTWCC" 545 | $ObjectID 16 546 | Version "1.16.5" 547 | Array { 548 | Type "Cell" 549 | Dimension 13 550 | Cell "IncludeHyperlinkInReport" 551 | Cell "GenerateTraceInfo" 552 | Cell "GenerateTraceReport" 553 | Cell "GenerateTraceReportSl" 554 | Cell "GenerateTraceReportSf" 555 | Cell "GenerateTraceReportEml" 556 | Cell "GenerateCodeMetricsReport" 557 | Cell "PortableWordSizes" 558 | Cell "GenerateWebview" 559 | Cell "GenerateCodeReplacementReport" 560 | Cell "GenerateMissedCodeReplacementReport" 561 | Cell "GenerateErtSFunction" 562 | Cell "CreateSILPILBlock" 563 | PropName "DisabledProps" 564 | } 565 | SystemTargetFile "grt.tlc" 566 | HardwareBoard "None" 567 | TLCOptions "" 568 | GenCodeOnly off 569 | MakeCommand "make_rtw" 570 | GenerateMakefile on 571 | PackageGeneratedCodeAndArtifacts off 572 | PackageName "" 573 | TemplateMakefile "grt_default_tmf" 574 | PostCodeGenCommand "" 575 | Description "" 576 | GenerateReport off 577 | SaveLog off 578 | RTWVerbose on 579 | RetainRTWFile off 580 | RTWBuildHooks [] 581 | ProfileTLC off 582 | TLCDebug off 583 | TLCCoverage off 584 | TLCAssert off 585 | RTWUseLocalCustomCode off 586 | RTWUseSimCustomCode off 587 | CustomSourceCode "" 588 | CustomHeaderCode "" 589 | CustomInclude "" 590 | CustomSource "" 591 | CustomLibrary "" 592 | CustomDefine "" 593 | CustomLAPACKCallback "" 594 | CustomInitializer "" 595 | CustomTerminator "" 596 | Toolchain "Automatically locate an installed toolchain" 597 | BuildConfiguration "Faster Builds" 598 | CustomToolchainOptions [] 599 | IncludeHyperlinkInReport off 600 | LaunchReport off 601 | PortableWordSizes off 602 | CreateSILPILBlock "None" 603 | CodeExecutionProfiling off 604 | CodeExecutionProfileVariable "executionProfile" 605 | CodeProfilingSaveOptions "SummaryOnly" 606 | CodeProfilingInstrumentation off 607 | SILDebugging off 608 | TargetLang "C" 609 | IncludeBusHierarchyInRTWFileBlockHierarchyMap off 610 | GenerateTraceInfo off 611 | GenerateTraceReport off 612 | GenerateTraceReportSl off 613 | GenerateTraceReportSf off 614 | GenerateTraceReportEml off 615 | GenerateWebview off 616 | GenerateCodeMetricsReport off 617 | GenerateCodeReplacementReport off 618 | GenerateMissedCodeReplacementReport off 619 | RTWCompilerOptimization "off" 620 | ObjectivePriorities [] 621 | RTWCustomCompilerOptimizations "" 622 | CheckMdlBeforeBuild "Off" 623 | SharedConstantsCachingThreshold 1024 624 | Array { 625 | Type "Handle" 626 | Dimension 2 627 | Simulink.CodeAppCC { 628 | $ObjectID 17 629 | Version "1.16.5" 630 | Array { 631 | Type "Cell" 632 | Dimension 25 633 | Cell "IgnoreCustomStorageClasses" 634 | Cell "IgnoreTestpoints" 635 | Cell "InsertBlockDesc" 636 | Cell "InsertPolySpaceComments" 637 | Cell "SFDataObjDesc" 638 | Cell "MATLABFcnDesc" 639 | Cell "SimulinkDataObjDesc" 640 | Cell "DefineNamingRule" 641 | Cell "SignalNamingRule" 642 | Cell "ParamNamingRule" 643 | Cell "InlinedPrmAccess" 644 | Cell "CustomSymbolStr" 645 | Cell "CustomSymbolStrGlobalVar" 646 | Cell "CustomSymbolStrType" 647 | Cell "CustomSymbolStrField" 648 | Cell "CustomSymbolStrFcn" 649 | Cell "CustomSymbolStrFcnArg" 650 | Cell "CustomSymbolStrBlkIO" 651 | Cell "CustomSymbolStrTmpVar" 652 | Cell "CustomSymbolStrMacro" 653 | Cell "ReqsInCode" 654 | Cell "InternalIdentifier" 655 | Cell "CustomSymbolStrModelFcn" 656 | Cell "CustomSymbolStrUtil" 657 | Cell "CustomUserTokenString" 658 | PropName "DisabledProps" 659 | } 660 | Description "" 661 | Comment "" 662 | ForceParamTrailComments off 663 | GenerateComments on 664 | CommentStyle "Auto" 665 | IgnoreCustomStorageClasses on 666 | IgnoreTestpoints off 667 | IncHierarchyInIds off 668 | MaxIdLength 31 669 | PreserveName off 670 | PreserveNameWithParent off 671 | ShowEliminatedStatement off 672 | OperatorAnnotations off 673 | IncAutoGenComments off 674 | SimulinkDataObjDesc off 675 | SFDataObjDesc off 676 | MATLABFcnDesc off 677 | IncDataTypeInIds off 678 | MangleLength 1 679 | CustomSymbolStrGlobalVar "$R$N$M" 680 | CustomSymbolStrType "$N$R$M_T" 681 | CustomSymbolStrField "$N$M" 682 | CustomSymbolStrFcn "$R$N$M$F" 683 | CustomSymbolStrModelFcn "$R$N" 684 | CustomSymbolStrFcnArg "rt$I$N$M" 685 | CustomSymbolStrBlkIO "rtb_$N$M" 686 | CustomSymbolStrTmpVar "$N$M" 687 | CustomSymbolStrMacro "$R$N$M" 688 | CustomSymbolStrUtil "$N$C" 689 | CustomUserTokenString "" 690 | CustomCommentsFcn "" 691 | DefineNamingRule "None" 692 | DefineNamingFcn "" 693 | ParamNamingRule "None" 694 | ParamNamingFcn "" 695 | SignalNamingRule "None" 696 | SignalNamingFcn "" 697 | InsertBlockDesc off 698 | InsertPolySpaceComments off 699 | SimulinkBlockComments on 700 | MATLABSourceComments off 701 | EnableCustomComments off 702 | InternalIdentifierFile "" 703 | InternalIdentifier "Shortened" 704 | InlinedPrmAccess "Literals" 705 | ReqsInCode off 706 | UseSimReservedNames off 707 | ReservedNameArray [] 708 | } 709 | Simulink.GRTTargetCC { 710 | $BackupClass "Simulink.TargetCC" 711 | $ObjectID 18 712 | Version "1.16.5" 713 | Array { 714 | Type "Cell" 715 | Dimension 18 716 | Cell "GeneratePreprocessorConditionals" 717 | Cell "IncludeMdlTerminateFcn" 718 | Cell "RemoveDisableFunc" 719 | Cell "SuppressErrorStatus" 720 | Cell "ERTCustomFileBanners" 721 | Cell "GenerateSampleERTMain" 722 | Cell "GenerateTestInterfaces" 723 | Cell "ModelStepFunctionPrototypeControlCompliant" 724 | Cell "CPPClassGenCompliant" 725 | Cell "RemoveResetFunc" 726 | Cell "PurelyIntegerCode" 727 | Cell "SupportComplex" 728 | Cell "SupportAbsoluteTime" 729 | Cell "SupportContinuousTime" 730 | Cell "SupportNonInlinedSFcns" 731 | Cell "PortableWordSizes" 732 | Cell "ExistingSharedCode" 733 | Cell "GenerateAllocFcn" 734 | PropName "DisabledProps" 735 | } 736 | Description "" 737 | TargetFcnLib "ansi_tfl_table_tmw.mat" 738 | TargetLibSuffix "" 739 | TargetPreCompLibLocation "" 740 | GenFloatMathFcnCalls "NOT IN USE" 741 | TargetLangStandard "C89/C90 (ANSI)" 742 | CodeReplacementLibrary "None" 743 | UtilityFuncGeneration "Auto" 744 | ERTMultiwordTypeDef "System defined" 745 | ERTMultiwordLength 256 746 | MultiwordLength 2048 747 | GenerateFullHeader on 748 | InferredTypesCompatibility off 749 | ExistingSharedCode "" 750 | GenerateSampleERTMain off 751 | GenerateTestInterfaces off 752 | ModelReferenceCompliant on 753 | ParMdlRefBuildCompliant on 754 | CompOptLevelCompliant on 755 | ConcurrentExecutionCompliant on 756 | IncludeMdlTerminateFcn on 757 | GeneratePreprocessorConditionals "Disable all" 758 | CombineOutputUpdateFcns off 759 | CombineSignalStateStructs off 760 | SuppressErrorStatus off 761 | ERTFirstTimeCompliant off 762 | IncludeFileDelimiter "Auto" 763 | ERTCustomFileBanners off 764 | SupportAbsoluteTime on 765 | LogVarNameModifier "rt_" 766 | MatFileLogging on 767 | MultiInstanceERTCode off 768 | CodeInterfacePackaging "Nonreusable function" 769 | SupportNonFinite on 770 | SupportComplex on 771 | PurelyIntegerCode off 772 | SupportContinuousTime on 773 | SupportNonInlinedSFcns on 774 | RemoveDisableFunc off 775 | RemoveResetFunc off 776 | SupportVariableSizeSignals off 777 | ParenthesesLevel "Nominal" 778 | CastingMode "Nominal" 779 | MATLABClassNameForMDSCustomization "Simulink.SoftwareTarget.GRTCustomization" 780 | ModelStepFunctionPrototypeControlCompliant off 781 | CPPClassGenCompliant on 782 | AutosarCompliant off 783 | MDXCompliant off 784 | GRTInterface on 785 | GenerateAllocFcn off 786 | UseToolchainInfoCompliant on 787 | GenerateSharedConstants on 788 | CoderGroups [] 789 | UseMalloc off 790 | ExtMode off 791 | ExtModeStaticAlloc off 792 | ExtModeTesting off 793 | ExtModeStaticAllocSize 1000000 794 | ExtModeTransport 0 795 | ExtModeMexFile "ext_comm" 796 | ExtModeMexArgs "" 797 | ExtModeIntrfLevel "Level1" 798 | RTWCAPISignals off 799 | RTWCAPIParams off 800 | RTWCAPIStates off 801 | RTWCAPIRootIO off 802 | GenerateASAP2 off 803 | MultiInstanceErrorCode "Error" 804 | } 805 | PropName "Components" 806 | } 807 | } 808 | SlCovCC.ConfigComp { 809 | $ObjectID 19 810 | Version "1.16.5" 811 | DisabledProps [] 812 | Description "Simulink Coverage Configuration Component" 813 | Name "Simulink Coverage" 814 | CovEnable off 815 | CovScope "EntireSystem" 816 | CovIncludeTopModel on 817 | RecordCoverage off 818 | CovPath "/" 819 | CovSaveName "covdata" 820 | CovCompData "" 821 | CovMetricSettings "dw" 822 | CovFilter "" 823 | CovHTMLOptions "" 824 | CovNameIncrementing off 825 | CovHtmlReporting on 826 | CovForceBlockReductionOff on 827 | CovEnableCumulative on 828 | CovSaveCumulativeToWorkspaceVar on 829 | CovSaveSingleToWorkspaceVar on 830 | CovCumulativeVarName "covCumulativeData" 831 | CovCumulativeReport off 832 | CovSaveOutputData on 833 | CovOutputDir "slcov_output/$ModelName$" 834 | CovDataFileName "$ModelName$_cvdata" 835 | CovShowResultsExplorer on 836 | CovReportOnPause on 837 | CovModelRefEnable "off" 838 | CovModelRefExcluded "" 839 | CovExternalEMLEnable off 840 | CovSFcnEnable on 841 | CovBoundaryAbsTol 1e-05 842 | CovBoundaryRelTol 0.01 843 | CovUseTimeInterval off 844 | CovStartTime 0 845 | CovStopTime 0 846 | } 847 | hdlcoderui.hdlcc { 848 | $ObjectID 20 849 | Version "1.16.5" 850 | DisabledProps [] 851 | Description "HDL Coder custom configuration component" 852 | Name "HDL Coder" 853 | Array { 854 | Type "Cell" 855 | Dimension 1 856 | Cell "" 857 | PropName "HDLConfigFile" 858 | } 859 | HDLCActiveTab "0" 860 | } 861 | PropName "Components" 862 | } 863 | Name "Configuration" 864 | ExtraOptions "" 865 | CurrentDlgPage "Solver" 866 | ConfigPrmDlgPosition [ 200, 85, 1080, 715 ] 867 | } 868 | PropName "ConfigurationSets" 869 | } 870 | Simulink.ConfigSet { 871 | $PropName "ActiveConfigurationSet" 872 | $ObjectID 8 873 | } 874 | Object { 875 | $PropName "DataTransfer" 876 | $ObjectID 21 877 | $ClassName "Simulink.GlobalDataTransfer" 878 | DefaultTransitionBetweenSyncTasks "Ensure deterministic transfer (maximum delay)" 879 | DefaultTransitionBetweenAsyncTasks "Ensure data integrity only" 880 | DefaultTransitionBetweenContTasks "Ensure deterministic transfer (minimum delay)" 881 | DefaultExtrapolationMethodBetweenContTasks "None" 882 | AutoInsertRateTranBlk [0] 883 | } 884 | ExplicitPartitioning off 885 | BlockDefaults { 886 | ForegroundColor "black" 887 | BackgroundColor "white" 888 | DropShadow off 889 | NamePlacement "normal" 890 | FontName "Helvetica" 891 | FontSize 10 892 | FontWeight "normal" 893 | FontAngle "normal" 894 | ShowName on 895 | BlockRotation 0 896 | BlockMirror off 897 | } 898 | AnnotationDefaults { 899 | HorizontalAlignment "center" 900 | VerticalAlignment "middle" 901 | ForegroundColor "black" 902 | BackgroundColor "white" 903 | DropShadow off 904 | FontName "Helvetica" 905 | FontSize 10 906 | FontWeight "normal" 907 | FontAngle "normal" 908 | UseDisplayTextAsClickCallback off 909 | } 910 | LineDefaults { 911 | FontName "Helvetica" 912 | FontSize 9 913 | FontWeight "normal" 914 | FontAngle "normal" 915 | } 916 | MaskDefaults { 917 | SelfModifiable "off" 918 | IconFrame "on" 919 | IconOpaque "opaque" 920 | RunInitForIconRedraw "off" 921 | IconRotate "none" 922 | PortRotate "default" 923 | IconUnits "autoscale" 924 | } 925 | MaskParameterDefaults { 926 | Evaluate "on" 927 | Tunable "on" 928 | NeverSave "off" 929 | Internal "off" 930 | ReadOnly "off" 931 | Enabled "on" 932 | Visible "on" 933 | ToolTip "on" 934 | } 935 | BlockParameterDefaults { 936 | Block { 937 | BlockType Clock 938 | DisplayTime off 939 | Decimation "10" 940 | } 941 | Block { 942 | BlockType Constant 943 | Value "1" 944 | VectorParams1D on 945 | SamplingMode "Sample based" 946 | OutMin "[]" 947 | OutMax "[]" 948 | OutDataTypeStr "Inherit: Inherit from 'Constant value'" 949 | LockScale off 950 | SampleTime "inf" 951 | FramePeriod "inf" 952 | PreserveConstantTs off 953 | } 954 | Block { 955 | BlockType Demux 956 | Outputs "4" 957 | DisplayOption "none" 958 | BusSelectionMode off 959 | } 960 | Block { 961 | BlockType Gain 962 | Gain "1" 963 | Multiplication "Element-wise(K.*u)" 964 | ParamMin "[]" 965 | ParamMax "[]" 966 | ParamDataTypeStr "Inherit: Same as input" 967 | OutMin "[]" 968 | OutMax "[]" 969 | OutDataTypeStr "Inherit: Same as input" 970 | LockScale off 971 | RndMeth "Floor" 972 | SaturateOnIntegerOverflow on 973 | SampleTime "-1" 974 | } 975 | Block { 976 | BlockType Inport 977 | Port "1" 978 | OutputFunctionCall off 979 | OutMin "[]" 980 | OutMax "[]" 981 | OutDataTypeStr "Inherit: auto" 982 | LockScale off 983 | BusOutputAsStruct off 984 | Unit "inherit" 985 | PortDimensions "-1" 986 | VarSizeSig "Inherit" 987 | SampleTime "-1" 988 | SignalType "auto" 989 | SamplingMode "auto" 990 | LatchByDelayingOutsideSignal off 991 | LatchInputForFeedbackSignals off 992 | Interpolate on 993 | } 994 | Block { 995 | BlockType Integrator 996 | ExternalReset "none" 997 | InitialConditionSource "internal" 998 | InitialCondition "0" 999 | LimitOutput off 1000 | UpperSaturationLimit "inf" 1001 | LowerSaturationLimit "-inf" 1002 | WrapState off 1003 | WrappedStateUpperValue "pi" 1004 | WrappedStateLowerValue "-pi" 1005 | ShowSaturationPort off 1006 | ShowStatePort off 1007 | AbsoluteTolerance "auto" 1008 | IgnoreLimit off 1009 | ZeroCross on 1010 | ContinuousStateAttributes "''" 1011 | } 1012 | Block { 1013 | BlockType Mux 1014 | Inputs "4" 1015 | DisplayOption "none" 1016 | UseBusObject off 1017 | BusObject "BusObject" 1018 | NonVirtualBus off 1019 | } 1020 | Block { 1021 | BlockType Outport 1022 | Port "1" 1023 | OutMin "[]" 1024 | OutMax "[]" 1025 | OutDataTypeStr "Inherit: auto" 1026 | LockScale off 1027 | BusOutputAsStruct off 1028 | Unit "inherit" 1029 | PortDimensions "-1" 1030 | VarSizeSig "Inherit" 1031 | SampleTime "-1" 1032 | SignalType "auto" 1033 | SamplingMode "auto" 1034 | EnsureOutportIsVirtual off 1035 | SourceOfInitialOutputValue "Dialog" 1036 | OutputWhenDisabled "held" 1037 | InitialOutput "[]" 1038 | } 1039 | Block { 1040 | BlockType RandomNumber 1041 | Mean "0" 1042 | Variance "1" 1043 | Seed "0" 1044 | SampleTime "-1" 1045 | VectorParams1D on 1046 | } 1047 | Block { 1048 | BlockType S-Function 1049 | FunctionName "system" 1050 | SFunctionModules "''" 1051 | PortCounts "[]" 1052 | } 1053 | Block { 1054 | BlockType Sin 1055 | SineType "Time based" 1056 | TimeSource "Use simulation time" 1057 | Amplitude "1" 1058 | Bias "0" 1059 | Frequency "1" 1060 | Phase "0" 1061 | Samples "10" 1062 | Offset "0" 1063 | SampleTime "-1" 1064 | VectorParams1D on 1065 | } 1066 | Block { 1067 | BlockType Step 1068 | Time "1" 1069 | Before "0" 1070 | After "1" 1071 | SampleTime "-1" 1072 | VectorParams1D on 1073 | ZeroCross on 1074 | } 1075 | Block { 1076 | BlockType SubSystem 1077 | ShowPortLabels "FromPortIcon" 1078 | Permissions "ReadWrite" 1079 | PermitHierarchicalResolution "All" 1080 | TreatAsAtomicUnit off 1081 | MinAlgLoopOccurrences off 1082 | PropExecContextOutsideSubsystem off 1083 | SystemSampleTime "-1" 1084 | RTWSystemCode "Auto" 1085 | RTWFcnNameOpts "Auto" 1086 | RTWFileNameOpts "Auto" 1087 | FunctionInterfaceSpec "void_void" 1088 | FunctionWithSeparateData off 1089 | RTWMemSecFuncInitTerm "Inherit from model" 1090 | RTWMemSecFuncExecute "Inherit from model" 1091 | RTWMemSecDataConstants "Inherit from model" 1092 | RTWMemSecDataInternal "Inherit from model" 1093 | RTWMemSecDataParameters "Inherit from model" 1094 | SimViewingDevice off 1095 | DataTypeOverride "UseLocalSettings" 1096 | DataTypeOverrideAppliesTo "AllNumericTypes" 1097 | MinMaxOverflowLogging "UseLocalSettings" 1098 | Opaque off 1099 | MaskHideContents off 1100 | SFBlockType "NONE" 1101 | GeneratePreprocessorConditionals off 1102 | PropagateVariantConditions off 1103 | TreatAsGroupedWhenPropagatingVariantConditions on 1104 | ContentPreviewEnabled off 1105 | IsWebBlock off 1106 | } 1107 | Block { 1108 | BlockType Sum 1109 | IconShape "rectangular" 1110 | Inputs "++" 1111 | CollapseMode "All dimensions" 1112 | CollapseDim "1" 1113 | InputSameDT on 1114 | AccumDataTypeStr "Inherit: Inherit via internal rule" 1115 | OutMin "[]" 1116 | OutMax "[]" 1117 | OutDataTypeStr "Inherit: Same as first input" 1118 | LockScale off 1119 | RndMeth "Floor" 1120 | SaturateOnIntegerOverflow on 1121 | SampleTime "-1" 1122 | } 1123 | Block { 1124 | BlockType Terminator 1125 | } 1126 | Block { 1127 | BlockType ToWorkspace 1128 | VariableName "simulink_output" 1129 | MaxDataPoints "1000" 1130 | Decimation "1" 1131 | SaveFormat "Array" 1132 | Save2DSignal "Inherit from input (this choice will be removed - see release notes)" 1133 | FixptAsFi off 1134 | NumInputs "1" 1135 | SampleTime "0" 1136 | } 1137 | } 1138 | System { 1139 | Name "ESO_test" 1140 | Location [16, 0, 1340, 728] 1141 | Open on 1142 | ModelBrowserVisibility off 1143 | ModelBrowserWidth 200 1144 | ScreenColor "white" 1145 | PaperOrientation "landscape" 1146 | PaperPositionMode "auto" 1147 | PaperType "usletter" 1148 | PaperUnits "inches" 1149 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 1150 | TiledPageScale 1 1151 | ShowPageBoundaries off 1152 | ZoomFactor "100" 1153 | ReportName "simulink-default.rpt" 1154 | SIDHighWatermark "61" 1155 | Block { 1156 | BlockType Clock 1157 | Name "Clock" 1158 | SID "56" 1159 | Position [75, 200, 95, 220] 1160 | ZOrder -1 1161 | } 1162 | Block { 1163 | BlockType SubSystem 1164 | Name "Disturbance\ngenerator" 1165 | SID "26" 1166 | Ports [0, 1] 1167 | Position [345, 163, 420, 217] 1168 | ZOrder -2 1169 | BackgroundColor "magenta" 1170 | RequestExecContextInheritance off 1171 | Variant off 1172 | System { 1173 | Name "Disturbance\ngenerator" 1174 | Location [16, 52, 1340, 900] 1175 | Open off 1176 | ModelBrowserVisibility off 1177 | ModelBrowserWidth 200 1178 | ScreenColor "white" 1179 | PaperOrientation "landscape" 1180 | PaperPositionMode "auto" 1181 | PaperType "usletter" 1182 | PaperUnits "inches" 1183 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 1184 | TiledPageScale 1 1185 | ShowPageBoundaries off 1186 | ZoomFactor "100" 1187 | Block { 1188 | BlockType Gain 1189 | Name "Gain" 1190 | SID "19" 1191 | Position [250, 125, 280, 155] 1192 | ZOrder -1 1193 | BlockMirror on 1194 | Gain "S" 1195 | Multiplication "Matrix(K*u)" 1196 | ParamDataTypeStr "Inherit: Inherit via internal rule" 1197 | OutDataTypeStr "Inherit: Inherit via internal rule" 1198 | SaturateOnIntegerOverflow off 1199 | } 1200 | Block { 1201 | BlockType Gain 1202 | Name "Gain1" 1203 | SID "25" 1204 | Position [330, 60, 360, 90] 1205 | ZOrder -2 1206 | Gain "Cw" 1207 | Multiplication "Matrix(K*u)" 1208 | ParamDataTypeStr "Inherit: Inherit via internal rule" 1209 | OutDataTypeStr "Inherit: Inherit via internal rule" 1210 | SaturateOnIntegerOverflow off 1211 | } 1212 | Block { 1213 | BlockType Gain 1214 | Name "Gain2" 1215 | SID "51" 1216 | Position [135, 60, 160, 90] 1217 | ZOrder -3 1218 | Gain "E" 1219 | Multiplication "Matrix(K*u)" 1220 | ParamDataTypeStr "Inherit: Inherit via internal rule" 1221 | OutDataTypeStr "Inherit: Inherit via internal rule" 1222 | SaturateOnIntegerOverflow off 1223 | } 1224 | Block { 1225 | BlockType Integrator 1226 | Name "Integrator" 1227 | SID "18" 1228 | Ports [1, 1] 1229 | Position [250, 60, 280, 90] 1230 | ZOrder -4 1231 | InitialCondition "0.1*[ones(12,1);0]" 1232 | } 1233 | Block { 1234 | BlockType RandomNumber 1235 | Name "Random\nNumber" 1236 | SID "61" 1237 | Position [45, 225, 75, 255] 1238 | ZOrder -5 1239 | SampleTime "0.1" 1240 | } 1241 | Block { 1242 | BlockType Sin 1243 | Name "Sine Wave" 1244 | SID "60" 1245 | Ports [0, 1] 1246 | Position [45, 145, 75, 175] 1247 | ZOrder -6 1248 | Amplitude "3" 1249 | Frequency "13.8" 1250 | SampleTime "0" 1251 | } 1252 | Block { 1253 | BlockType Step 1254 | Name "Step2" 1255 | SID "52" 1256 | Position [50, 60, 80, 90] 1257 | ZOrder -7 1258 | Time "0" 1259 | After "0" 1260 | SampleTime "0" 1261 | } 1262 | Block { 1263 | BlockType Sum 1264 | Name "Sum" 1265 | SID "20" 1266 | Ports [2, 1] 1267 | Position [180, 65, 200, 85] 1268 | ZOrder -8 1269 | ShowName off 1270 | IconShape "round" 1271 | Inputs "|++" 1272 | InputSameDT off 1273 | OutDataTypeStr "Inherit: Inherit via internal rule" 1274 | SaturateOnIntegerOverflow off 1275 | } 1276 | Block { 1277 | BlockType Outport 1278 | Name "w" 1279 | SID "27" 1280 | Position [380, 68, 410, 82] 1281 | ZOrder -9 1282 | IconDisplay "Port number" 1283 | } 1284 | Line { 1285 | ZOrder 1 1286 | SrcBlock "Integrator" 1287 | SrcPort 1 1288 | Points [20, 0] 1289 | Branch { 1290 | ZOrder 2 1291 | Points [0, 65] 1292 | DstBlock "Gain" 1293 | DstPort 1 1294 | } 1295 | Branch { 1296 | ZOrder 3 1297 | DstBlock "Gain1" 1298 | DstPort 1 1299 | } 1300 | } 1301 | Line { 1302 | ZOrder 4 1303 | SrcBlock "Gain" 1304 | SrcPort 1 1305 | Points [-55, 0] 1306 | DstBlock "Sum" 1307 | DstPort 2 1308 | } 1309 | Line { 1310 | ZOrder 5 1311 | SrcBlock "Sum" 1312 | SrcPort 1 1313 | DstBlock "Integrator" 1314 | DstPort 1 1315 | } 1316 | Line { 1317 | ZOrder 6 1318 | SrcBlock "Gain1" 1319 | SrcPort 1 1320 | DstBlock "w" 1321 | DstPort 1 1322 | } 1323 | Line { 1324 | ZOrder 7 1325 | SrcBlock "Gain2" 1326 | SrcPort 1 1327 | DstBlock "Sum" 1328 | DstPort 1 1329 | } 1330 | Line { 1331 | ZOrder 8 1332 | SrcBlock "Sine Wave" 1333 | SrcPort 1 1334 | Points [20, 0; 0, -85] 1335 | DstBlock "Gain2" 1336 | DstPort 1 1337 | } 1338 | } 1339 | } 1340 | Block { 1341 | BlockType SubSystem 1342 | Name "ESO" 1343 | SID "45" 1344 | Ports [2, 2] 1345 | Position [715, 172, 810, 248] 1346 | ZOrder -3 1347 | BackgroundColor "[1.000000, 1.000000, 0.000000]" 1348 | RequestExecContextInheritance off 1349 | Variant off 1350 | System { 1351 | Name "ESO" 1352 | Location [16, 52, 1340, 900] 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 "y" 1368 | SID "46" 1369 | Position [130, 28, 160, 42] 1370 | ZOrder -1 1371 | IconDisplay "Port number" 1372 | } 1373 | Block { 1374 | BlockType Inport 1375 | Name "u" 1376 | SID "47" 1377 | Position [130, 68, 160, 82] 1378 | ZOrder -2 1379 | Port "2" 1380 | IconDisplay "Port number" 1381 | } 1382 | Block { 1383 | BlockType Constant 1384 | Name "Constant" 1385 | SID "31" 1386 | Position [110, 125, 140, 155] 1387 | ZOrder -3 1388 | Value "A" 1389 | } 1390 | Block { 1391 | BlockType Constant 1392 | Name "Constant1" 1393 | SID "32" 1394 | Position [50, 150, 80, 180] 1395 | ZOrder -4 1396 | Value "B" 1397 | } 1398 | Block { 1399 | BlockType Constant 1400 | Name "Constant2" 1401 | SID "33" 1402 | Position [80, 200, 110, 230] 1403 | ZOrder -5 1404 | Value "C" 1405 | } 1406 | Block { 1407 | BlockType Constant 1408 | Name "Constant3" 1409 | SID "34" 1410 | Position [25, 225, 55, 255] 1411 | ZOrder -6 1412 | Value "D" 1413 | } 1414 | Block { 1415 | BlockType Constant 1416 | Name "Constant4" 1417 | SID "35" 1418 | Position [65, 275, 95, 305] 1419 | ZOrder -7 1420 | Value "H" 1421 | } 1422 | Block { 1423 | BlockType Constant 1424 | Name "Constant5" 1425 | SID "36" 1426 | Position [25, 325, 55, 355] 1427 | ZOrder -8 1428 | Value "S" 1429 | } 1430 | Block { 1431 | BlockType Constant 1432 | Name "Constant6" 1433 | SID "37" 1434 | Position [65, 375, 95, 405] 1435 | ZOrder -9 1436 | Value "Cw" 1437 | } 1438 | Block { 1439 | BlockType Constant 1440 | Name "Constant7" 1441 | SID "38" 1442 | Position [25, 420, 55, 450] 1443 | ZOrder -10 1444 | Value "L1" 1445 | } 1446 | Block { 1447 | BlockType Constant 1448 | Name "Constant8" 1449 | SID "39" 1450 | Position [65, 465, 95, 495] 1451 | ZOrder -11 1452 | Value "L2" 1453 | } 1454 | Block { 1455 | BlockType Gain 1456 | Name "Gain" 1457 | SID "44" 1458 | Position [535, 325, 565, 355] 1459 | ZOrder -12 1460 | Gain "Cw" 1461 | Multiplication "Matrix(K*u)" 1462 | ParamDataTypeStr "Inherit: Inherit via internal rule" 1463 | OutDataTypeStr "Inherit: Inherit via internal rule" 1464 | SaturateOnIntegerOverflow off 1465 | } 1466 | Block { 1467 | BlockType Integrator 1468 | Name "Integrator" 1469 | SID "29" 1470 | Ports [1, 1] 1471 | Position [450, 150, 480, 180] 1472 | ZOrder -13 1473 | InitialCondition "zeros(6,1)" 1474 | } 1475 | Block { 1476 | BlockType Integrator 1477 | Name "Integrator1" 1478 | SID "30" 1479 | Ports [1, 1] 1480 | Position [450, 325, 480, 355] 1481 | ZOrder -14 1482 | InitialCondition "zeros(13,1)" 1483 | } 1484 | Block { 1485 | BlockType SubSystem 1486 | Name "MATLAB Function" 1487 | SID "28" 1488 | Ports [13, 2] 1489 | Position [250, 82, 385, 428] 1490 | ZOrder -15 1491 | LibraryVersion "1.32" 1492 | ErrorFcn "Stateflow.Translate.translate" 1493 | PermitHierarchicalResolution "ExplicitOnly" 1494 | TreatAsAtomicUnit on 1495 | RequestExecContextInheritance off 1496 | SFBlockType "MATLAB Function" 1497 | Variant off 1498 | System { 1499 | Name "MATLAB Function" 1500 | Location [227, 345, 838, 789] 1501 | Open off 1502 | ModelBrowserVisibility off 1503 | ModelBrowserWidth 200 1504 | ScreenColor "white" 1505 | PaperOrientation "landscape" 1506 | PaperPositionMode "auto" 1507 | PaperType "usletter" 1508 | PaperUnits "inches" 1509 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 1510 | TiledPageScale 1 1511 | ShowPageBoundaries off 1512 | ZoomFactor "100" 1513 | SIDHighWatermark "34" 1514 | Block { 1515 | BlockType Inport 1516 | Name "x_hat" 1517 | SID "28::18" 1518 | Position [20, 101, 40, 119] 1519 | ZOrder -1 1520 | IconDisplay "Port number" 1521 | } 1522 | Block { 1523 | BlockType Inport 1524 | Name "xw_hat" 1525 | SID "28::19" 1526 | Position [20, 136, 40, 154] 1527 | ZOrder -2 1528 | Port "2" 1529 | IconDisplay "Port number" 1530 | } 1531 | Block { 1532 | BlockType Inport 1533 | Name "y" 1534 | SID "28::20" 1535 | Position [20, 171, 40, 189] 1536 | ZOrder -3 1537 | Port "3" 1538 | IconDisplay "Port number" 1539 | } 1540 | Block { 1541 | BlockType Inport 1542 | Name "u" 1543 | SID "28::1" 1544 | Position [20, 206, 40, 224] 1545 | ZOrder -4 1546 | Port "4" 1547 | IconDisplay "Port number" 1548 | } 1549 | Block { 1550 | BlockType Inport 1551 | Name "A" 1552 | SID "28::23" 1553 | Position [20, 246, 40, 264] 1554 | ZOrder -5 1555 | Port "5" 1556 | IconDisplay "Port number" 1557 | } 1558 | Block { 1559 | BlockType Inport 1560 | Name "B" 1561 | SID "28::24" 1562 | Position [20, 281, 40, 299] 1563 | ZOrder -6 1564 | Port "6" 1565 | IconDisplay "Port number" 1566 | } 1567 | Block { 1568 | BlockType Inport 1569 | Name "C" 1570 | SID "28::25" 1571 | Position [20, 316, 40, 334] 1572 | ZOrder -7 1573 | Port "7" 1574 | IconDisplay "Port number" 1575 | } 1576 | Block { 1577 | BlockType Inport 1578 | Name "D" 1579 | SID "28::26" 1580 | Position [20, 351, 40, 369] 1581 | ZOrder -8 1582 | Port "8" 1583 | IconDisplay "Port number" 1584 | } 1585 | Block { 1586 | BlockType Inport 1587 | Name "H" 1588 | SID "28::27" 1589 | Position [20, 386, 40, 404] 1590 | ZOrder -9 1591 | Port "9" 1592 | IconDisplay "Port number" 1593 | } 1594 | Block { 1595 | BlockType Inport 1596 | Name "S" 1597 | SID "28::28" 1598 | Position [20, 426, 40, 444] 1599 | ZOrder -10 1600 | Port "10" 1601 | IconDisplay "Port number" 1602 | } 1603 | Block { 1604 | BlockType Inport 1605 | Name "Cw" 1606 | SID "28::29" 1607 | Position [20, 461, 40, 479] 1608 | ZOrder -11 1609 | Port "11" 1610 | IconDisplay "Port number" 1611 | } 1612 | Block { 1613 | BlockType Inport 1614 | Name "L1" 1615 | SID "28::30" 1616 | Position [20, 496, 40, 514] 1617 | ZOrder -12 1618 | Port "12" 1619 | IconDisplay "Port number" 1620 | } 1621 | Block { 1622 | BlockType Inport 1623 | Name "L2" 1624 | SID "28::31" 1625 | Position [20, 531, 40, 549] 1626 | ZOrder -13 1627 | Port "13" 1628 | IconDisplay "Port number" 1629 | } 1630 | Block { 1631 | BlockType Demux 1632 | Name " Demux " 1633 | SID "28::33" 1634 | Ports [1, 1] 1635 | Position [270, 230, 320, 270] 1636 | ZOrder 2 1637 | Outputs "1" 1638 | } 1639 | Block { 1640 | BlockType S-Function 1641 | Name " SFunction " 1642 | SID "28::32" 1643 | Tag "Stateflow S-Function ESO_test 2" 1644 | Ports [13, 3] 1645 | Position [180, 90, 230, 370] 1646 | ZOrder 1 1647 | FunctionName "sf_sfun" 1648 | PortCounts "[13 3]" 1649 | SFunctionDeploymentMode off 1650 | EnableBusSupport on 1651 | SFcnIsStateOwnerBlock off 1652 | Port { 1653 | PortNumber 2 1654 | Name "dx_hat" 1655 | RTWStorageClass "Auto" 1656 | DataLoggingNameMode "SignalName" 1657 | } 1658 | Port { 1659 | PortNumber 3 1660 | Name "dxw_hat" 1661 | RTWStorageClass "Auto" 1662 | DataLoggingNameMode "SignalName" 1663 | } 1664 | } 1665 | Block { 1666 | BlockType Terminator 1667 | Name " Terminator " 1668 | SID "28::34" 1669 | Position [460, 241, 480, 259] 1670 | ZOrder 3 1671 | } 1672 | Block { 1673 | BlockType Outport 1674 | Name "dx_hat" 1675 | SID "28::21" 1676 | Position [460, 101, 480, 119] 1677 | ZOrder -17 1678 | IconDisplay "Port number" 1679 | } 1680 | Block { 1681 | BlockType Outport 1682 | Name "dxw_hat" 1683 | SID "28::22" 1684 | Position [460, 136, 480, 154] 1685 | ZOrder -18 1686 | Port "2" 1687 | IconDisplay "Port number" 1688 | } 1689 | Line { 1690 | ZOrder 18 1691 | SrcBlock "x_hat" 1692 | SrcPort 1 1693 | DstBlock " SFunction " 1694 | DstPort 1 1695 | } 1696 | Line { 1697 | ZOrder 19 1698 | SrcBlock "xw_hat" 1699 | SrcPort 1 1700 | DstBlock " SFunction " 1701 | DstPort 2 1702 | } 1703 | Line { 1704 | ZOrder 20 1705 | SrcBlock "y" 1706 | SrcPort 1 1707 | DstBlock " SFunction " 1708 | DstPort 3 1709 | } 1710 | Line { 1711 | ZOrder 21 1712 | SrcBlock "u" 1713 | SrcPort 1 1714 | DstBlock " SFunction " 1715 | DstPort 4 1716 | } 1717 | Line { 1718 | ZOrder 22 1719 | SrcBlock "A" 1720 | SrcPort 1 1721 | DstBlock " SFunction " 1722 | DstPort 5 1723 | } 1724 | Line { 1725 | ZOrder 23 1726 | SrcBlock "B" 1727 | SrcPort 1 1728 | DstBlock " SFunction " 1729 | DstPort 6 1730 | } 1731 | Line { 1732 | ZOrder 24 1733 | SrcBlock "C" 1734 | SrcPort 1 1735 | DstBlock " SFunction " 1736 | DstPort 7 1737 | } 1738 | Line { 1739 | ZOrder 25 1740 | SrcBlock "D" 1741 | SrcPort 1 1742 | DstBlock " SFunction " 1743 | DstPort 8 1744 | } 1745 | Line { 1746 | ZOrder 26 1747 | SrcBlock "H" 1748 | SrcPort 1 1749 | DstBlock " SFunction " 1750 | DstPort 9 1751 | } 1752 | Line { 1753 | ZOrder 27 1754 | SrcBlock "S" 1755 | SrcPort 1 1756 | DstBlock " SFunction " 1757 | DstPort 10 1758 | } 1759 | Line { 1760 | ZOrder 28 1761 | SrcBlock "Cw" 1762 | SrcPort 1 1763 | DstBlock " SFunction " 1764 | DstPort 11 1765 | } 1766 | Line { 1767 | ZOrder 29 1768 | SrcBlock "L1" 1769 | SrcPort 1 1770 | DstBlock " SFunction " 1771 | DstPort 12 1772 | } 1773 | Line { 1774 | ZOrder 30 1775 | SrcBlock "L2" 1776 | SrcPort 1 1777 | DstBlock " SFunction " 1778 | DstPort 13 1779 | } 1780 | Line { 1781 | Name "dx_hat" 1782 | ZOrder 31 1783 | Labels [0, 0] 1784 | SrcBlock " SFunction " 1785 | SrcPort 2 1786 | DstBlock "dx_hat" 1787 | DstPort 1 1788 | } 1789 | Line { 1790 | Name "dxw_hat" 1791 | ZOrder 32 1792 | Labels [0, 0] 1793 | SrcBlock " SFunction " 1794 | SrcPort 3 1795 | DstBlock "dxw_hat" 1796 | DstPort 1 1797 | } 1798 | Line { 1799 | ZOrder 33 1800 | SrcBlock " Demux " 1801 | SrcPort 1 1802 | DstBlock " Terminator " 1803 | DstPort 1 1804 | } 1805 | Line { 1806 | ZOrder 34 1807 | SrcBlock " SFunction " 1808 | SrcPort 1 1809 | DstBlock " Demux " 1810 | DstPort 1 1811 | } 1812 | } 1813 | } 1814 | Block { 1815 | BlockType Outport 1816 | Name "x_hat" 1817 | SID "48" 1818 | Position [535, 158, 565, 172] 1819 | ZOrder -16 1820 | IconDisplay "Port number" 1821 | } 1822 | Block { 1823 | BlockType Outport 1824 | Name "w_hat" 1825 | SID "49" 1826 | Position [600, 333, 630, 347] 1827 | ZOrder -17 1828 | Port "2" 1829 | IconDisplay "Port number" 1830 | } 1831 | Line { 1832 | ZOrder 1 1833 | SrcBlock "MATLAB Function" 1834 | SrcPort 1 1835 | DstBlock "Integrator" 1836 | DstPort 1 1837 | } 1838 | Line { 1839 | ZOrder 2 1840 | SrcBlock "MATLAB Function" 1841 | SrcPort 2 1842 | DstBlock "Integrator1" 1843 | DstPort 1 1844 | } 1845 | Line { 1846 | ZOrder 3 1847 | SrcBlock "Integrator" 1848 | SrcPort 1 1849 | Points [0, 0] 1850 | Branch { 1851 | ZOrder 4 1852 | Points [0, -95; -250, 0] 1853 | DstBlock "MATLAB Function" 1854 | DstPort 1 1855 | } 1856 | Branch { 1857 | ZOrder 5 1858 | DstBlock "x_hat" 1859 | DstPort 1 1860 | } 1861 | } 1862 | Line { 1863 | ZOrder 6 1864 | SrcBlock "Integrator1" 1865 | SrcPort 1 1866 | Points [20, 0] 1867 | Branch { 1868 | ZOrder 7 1869 | Points [0, -280; -280, 0; 0, 70] 1870 | DstBlock "MATLAB Function" 1871 | DstPort 2 1872 | } 1873 | Branch { 1874 | ZOrder 8 1875 | DstBlock "Gain" 1876 | DstPort 1 1877 | } 1878 | } 1879 | Line { 1880 | ZOrder 9 1881 | SrcBlock "y" 1882 | SrcPort 1 1883 | Points [50, 0; 0, 120] 1884 | DstBlock "MATLAB Function" 1885 | DstPort 3 1886 | } 1887 | Line { 1888 | ZOrder 10 1889 | SrcBlock "u" 1890 | SrcPort 1 1891 | Points [25, 0; 0, 105] 1892 | DstBlock "MATLAB Function" 1893 | DstPort 4 1894 | } 1895 | Line { 1896 | ZOrder 11 1897 | SrcBlock "Constant" 1898 | SrcPort 1 1899 | Points [30, 0; 0, 65] 1900 | DstBlock "MATLAB Function" 1901 | DstPort 5 1902 | } 1903 | Line { 1904 | ZOrder 12 1905 | SrcBlock "Constant1" 1906 | SrcPort 1 1907 | Points [60, 0; 0, 65] 1908 | DstBlock "MATLAB Function" 1909 | DstPort 6 1910 | } 1911 | Line { 1912 | ZOrder 13 1913 | SrcBlock "Constant2" 1914 | SrcPort 1 1915 | Points [15, 0; 0, 40] 1916 | DstBlock "MATLAB Function" 1917 | DstPort 7 1918 | } 1919 | Line { 1920 | ZOrder 14 1921 | SrcBlock "Constant3" 1922 | SrcPort 1 1923 | Points [65, 0; 0, 40] 1924 | DstBlock "MATLAB Function" 1925 | DstPort 8 1926 | } 1927 | Line { 1928 | ZOrder 15 1929 | SrcBlock "Constant4" 1930 | SrcPort 1 1931 | Points [45, 0; 0, 15] 1932 | DstBlock "MATLAB Function" 1933 | DstPort 9 1934 | } 1935 | Line { 1936 | ZOrder 16 1937 | SrcBlock "Constant5" 1938 | SrcPort 1 1939 | Points [40, 0; 0, -10] 1940 | DstBlock "MATLAB Function" 1941 | DstPort 10 1942 | } 1943 | Line { 1944 | ZOrder 17 1945 | SrcBlock "Constant6" 1946 | SrcPort 1 1947 | Points [20, 0; 0, -35] 1948 | DstBlock "MATLAB Function" 1949 | DstPort 11 1950 | } 1951 | Line { 1952 | ZOrder 18 1953 | SrcBlock "Constant7" 1954 | SrcPort 1 1955 | Points [0, -55] 1956 | DstBlock "MATLAB Function" 1957 | DstPort 12 1958 | } 1959 | Line { 1960 | ZOrder 19 1961 | SrcBlock "Constant8" 1962 | SrcPort 1 1963 | Points [85, 0; 0, -75] 1964 | DstBlock "MATLAB Function" 1965 | DstPort 13 1966 | } 1967 | Line { 1968 | ZOrder 20 1969 | SrcBlock "Gain" 1970 | SrcPort 1 1971 | DstBlock "w_hat" 1972 | DstPort 1 1973 | } 1974 | } 1975 | } 1976 | Block { 1977 | BlockType Mux 1978 | Name "Mux" 1979 | SID "53" 1980 | Ports [3, 1] 1981 | Position [420, 62, 470, 128] 1982 | ZOrder -4 1983 | ShowName off 1984 | Inputs "3" 1985 | } 1986 | Block { 1987 | BlockType Step 1988 | Name "Step" 1989 | SID "50" 1990 | Position [300, 15, 330, 45] 1991 | ZOrder -5 1992 | Time "0" 1993 | After "0" 1994 | SampleTime "0" 1995 | } 1996 | Block { 1997 | BlockType Step 1998 | Name "Step1" 1999 | SID "54" 2000 | Position [300, 60, 330, 90] 2001 | ZOrder -6 2002 | Time "0" 2003 | After "0" 2004 | SampleTime "0" 2005 | } 2006 | Block { 2007 | BlockType Step 2008 | Name "Step2" 2009 | SID "55" 2010 | Position [305, 120, 335, 150] 2011 | ZOrder -7 2012 | Time "0" 2013 | After "0" 2014 | SampleTime "0" 2015 | } 2016 | Block { 2017 | BlockType SubSystem 2018 | Name "System model" 2019 | SID "13" 2020 | Ports [2, 2] 2021 | Position [515, 132, 645, 208] 2022 | ZOrder -8 2023 | BackgroundColor "green" 2024 | RequestExecContextInheritance off 2025 | Variant off 2026 | System { 2027 | Name "System model" 2028 | Location [16, 52, 1340, 900] 2029 | Open off 2030 | ModelBrowserVisibility off 2031 | ModelBrowserWidth 200 2032 | ScreenColor "white" 2033 | PaperOrientation "landscape" 2034 | PaperPositionMode "auto" 2035 | PaperType "usletter" 2036 | PaperUnits "inches" 2037 | TiledPaperMargins [0.500000, 0.500000, 0.500000, 0.500000] 2038 | TiledPageScale 1 2039 | ShowPageBoundaries off 2040 | ZoomFactor "100" 2041 | Block { 2042 | BlockType Inport 2043 | Name "u" 2044 | SID "14" 2045 | Position [25, 123, 55, 137] 2046 | ZOrder -1 2047 | IconDisplay "Port number" 2048 | } 2049 | Block { 2050 | BlockType Inport 2051 | Name "w" 2052 | SID "15" 2053 | Position [25, 33, 55, 47] 2054 | ZOrder -2 2055 | Port "2" 2056 | IconDisplay "Port number" 2057 | } 2058 | Block { 2059 | BlockType Gain 2060 | Name "Gain" 2061 | SID "3" 2062 | Position [230, 165, 260, 195] 2063 | ZOrder -3 2064 | BlockMirror on 2065 | Gain "Am" 2066 | Multiplication "Matrix(K*u)" 2067 | ParamDataTypeStr "Inherit: Inherit via internal rule" 2068 | OutDataTypeStr "Inherit: Inherit via internal rule" 2069 | SaturateOnIntegerOverflow off 2070 | } 2071 | Block { 2072 | BlockType Gain 2073 | Name "Gain1" 2074 | SID "5" 2075 | Position [90, 115, 120, 145] 2076 | ZOrder -4 2077 | Gain "Bm" 2078 | Multiplication "Matrix(K*u)" 2079 | ParamDataTypeStr "Inherit: Inherit via internal rule" 2080 | OutDataTypeStr "Inherit: Inherit via internal rule" 2081 | SaturateOnIntegerOverflow off 2082 | } 2083 | Block { 2084 | BlockType Gain 2085 | Name "Gain2" 2086 | SID "7" 2087 | Position [85, 25, 115, 55] 2088 | ZOrder -5 2089 | Gain "Hm" 2090 | Multiplication "Matrix(K*u)" 2091 | ParamDataTypeStr "Inherit: Inherit via internal rule" 2092 | OutDataTypeStr "Inherit: Inherit via internal rule" 2093 | SaturateOnIntegerOverflow off 2094 | } 2095 | Block { 2096 | BlockType Gain 2097 | Name "Gain3" 2098 | SID "8" 2099 | Position [375, 95, 405, 125] 2100 | ZOrder -6 2101 | Gain "Cm" 2102 | Multiplication "Matrix(K*u)" 2103 | ParamDataTypeStr "Inherit: Inherit via internal rule" 2104 | OutDataTypeStr "Inherit: Inherit via internal rule" 2105 | SaturateOnIntegerOverflow off 2106 | } 2107 | Block { 2108 | BlockType Gain 2109 | Name "Gain4" 2110 | SID "10" 2111 | Position [115, 220, 145, 250] 2112 | ZOrder -7 2113 | Gain "Dm" 2114 | Multiplication "Matrix(K*u)" 2115 | ParamDataTypeStr "Inherit: Inherit via internal rule" 2116 | OutDataTypeStr "Inherit: Inherit via internal rule" 2117 | SaturateOnIntegerOverflow off 2118 | } 2119 | Block { 2120 | BlockType Integrator 2121 | Name "Integrator" 2122 | SID "1" 2123 | Ports [1, 1] 2124 | Position [230, 95, 260, 125] 2125 | ZOrder -8 2126 | } 2127 | Block { 2128 | BlockType Sum 2129 | Name "Sum" 2130 | SID "2" 2131 | Ports [3, 1] 2132 | Position [155, 100, 175, 120] 2133 | ZOrder -9 2134 | ShowName off 2135 | IconShape "round" 2136 | Inputs "+|++" 2137 | InputSameDT off 2138 | OutDataTypeStr "Inherit: Inherit via internal rule" 2139 | SaturateOnIntegerOverflow off 2140 | } 2141 | Block { 2142 | BlockType Sum 2143 | Name "Sum1" 2144 | SID "9" 2145 | Ports [2, 1] 2146 | Position [475, 100, 495, 120] 2147 | ZOrder -10 2148 | ShowName off 2149 | IconShape "round" 2150 | Inputs "|++" 2151 | InputSameDT off 2152 | OutDataTypeStr "Inherit: Inherit via internal rule" 2153 | SaturateOnIntegerOverflow off 2154 | } 2155 | Block { 2156 | BlockType Outport 2157 | Name "x" 2158 | SID "16" 2159 | Position [330, 53, 360, 67] 2160 | ZOrder -11 2161 | IconDisplay "Port number" 2162 | } 2163 | Block { 2164 | BlockType Outport 2165 | Name "y" 2166 | SID "17" 2167 | Position [530, 103, 560, 117] 2168 | ZOrder -12 2169 | Port "2" 2170 | IconDisplay "Port number" 2171 | } 2172 | Line { 2173 | ZOrder 1 2174 | SrcBlock "Sum" 2175 | SrcPort 1 2176 | DstBlock "Integrator" 2177 | DstPort 1 2178 | } 2179 | Line { 2180 | ZOrder 2 2181 | SrcBlock "Integrator" 2182 | SrcPort 1 2183 | Points [45, 0] 2184 | Branch { 2185 | ZOrder 16 2186 | Points [5, 0] 2187 | Branch { 2188 | ZOrder 4 2189 | DstBlock "Gain3" 2190 | DstPort 1 2191 | } 2192 | Branch { 2193 | ZOrder 5 2194 | DstBlock "x" 2195 | DstPort 1 2196 | } 2197 | } 2198 | Branch { 2199 | ZOrder 3 2200 | Points [0, 70] 2201 | DstBlock "Gain" 2202 | DstPort 1 2203 | } 2204 | } 2205 | Line { 2206 | ZOrder 6 2207 | SrcBlock "Gain" 2208 | SrcPort 1 2209 | Points [-60, 0] 2210 | DstBlock "Sum" 2211 | DstPort 3 2212 | } 2213 | Line { 2214 | ZOrder 7 2215 | SrcBlock "Gain1" 2216 | SrcPort 1 2217 | Points [10, 0; 0, -8] 2218 | DstBlock "Sum" 2219 | DstPort 2 2220 | } 2221 | Line { 2222 | ZOrder 8 2223 | SrcBlock "u" 2224 | SrcPort 1 2225 | Points [5, 0] 2226 | Branch { 2227 | ZOrder 9 2228 | DstBlock "Gain1" 2229 | DstPort 1 2230 | } 2231 | Branch { 2232 | ZOrder 10 2233 | Points [0, 105] 2234 | DstBlock "Gain4" 2235 | DstPort 1 2236 | } 2237 | } 2238 | Line { 2239 | ZOrder 11 2240 | SrcBlock "w" 2241 | SrcPort 1 2242 | DstBlock "Gain2" 2243 | DstPort 1 2244 | } 2245 | Line { 2246 | ZOrder 12 2247 | SrcBlock "Gain2" 2248 | SrcPort 1 2249 | Points [45, 0] 2250 | DstBlock "Sum" 2251 | DstPort 1 2252 | } 2253 | Line { 2254 | ZOrder 13 2255 | SrcBlock "Gain3" 2256 | SrcPort 1 2257 | DstBlock "Sum1" 2258 | DstPort 1 2259 | } 2260 | Line { 2261 | ZOrder 14 2262 | SrcBlock "Gain4" 2263 | SrcPort 1 2264 | Points [335, 0] 2265 | DstBlock "Sum1" 2266 | DstPort 2 2267 | } 2268 | Line { 2269 | ZOrder 15 2270 | SrcBlock "Sum1" 2271 | SrcPort 1 2272 | DstBlock "y" 2273 | DstPort 1 2274 | } 2275 | } 2276 | } 2277 | Block { 2278 | BlockType ToWorkspace 2279 | Name "To Workspace" 2280 | SID "57" 2281 | Ports [1] 2282 | Position [150, 195, 210, 225] 2283 | ZOrder -9 2284 | VariableName "t" 2285 | MaxDataPoints "inf" 2286 | SampleTime "-1" 2287 | } 2288 | Block { 2289 | BlockType ToWorkspace 2290 | Name "To Workspace1" 2291 | SID "58" 2292 | Ports [1] 2293 | Position [485, 265, 545, 295] 2294 | ZOrder -10 2295 | VariableName "w" 2296 | MaxDataPoints "inf" 2297 | SampleTime "-1" 2298 | } 2299 | Block { 2300 | BlockType ToWorkspace 2301 | Name "To Workspace2" 2302 | SID "59" 2303 | Ports [1] 2304 | Position [865, 215, 925, 245] 2305 | ZOrder -11 2306 | VariableName "w_hat" 2307 | MaxDataPoints "inf" 2308 | SampleTime "-1" 2309 | } 2310 | Line { 2311 | ZOrder 1 2312 | SrcBlock "Disturbance\ngenerator" 2313 | SrcPort 1 2314 | Points [25, 0] 2315 | Branch { 2316 | ZOrder 2 2317 | DstBlock "System model" 2318 | DstPort 2 2319 | } 2320 | Branch { 2321 | ZOrder 3 2322 | Points [0, 90] 2323 | DstBlock "To Workspace1" 2324 | DstPort 1 2325 | } 2326 | } 2327 | Line { 2328 | ZOrder 4 2329 | SrcBlock "System model" 2330 | SrcPort 2 2331 | DstBlock "ESO" 2332 | DstPort 1 2333 | } 2334 | Line { 2335 | ZOrder 5 2336 | SrcBlock "Mux" 2337 | SrcPort 1 2338 | Points [10, 0; 0, 55; 5, 0] 2339 | Branch { 2340 | ZOrder 6 2341 | DstBlock "System model" 2342 | DstPort 1 2343 | } 2344 | Branch { 2345 | ZOrder 7 2346 | Points [0, 80] 2347 | DstBlock "ESO" 2348 | DstPort 2 2349 | } 2350 | } 2351 | Line { 2352 | ZOrder 8 2353 | SrcBlock "Step" 2354 | SrcPort 1 2355 | Points [55, 0; 0, 45] 2356 | DstBlock "Mux" 2357 | DstPort 1 2358 | } 2359 | Line { 2360 | ZOrder 9 2361 | SrcBlock "Step1" 2362 | SrcPort 1 2363 | Points [35, 0; 0, 20] 2364 | DstBlock "Mux" 2365 | DstPort 2 2366 | } 2367 | Line { 2368 | ZOrder 10 2369 | SrcBlock "Step2" 2370 | SrcPort 1 2371 | Points [30, 0; 0, -20] 2372 | DstBlock "Mux" 2373 | DstPort 3 2374 | } 2375 | Line { 2376 | ZOrder 11 2377 | SrcBlock "Clock" 2378 | SrcPort 1 2379 | DstBlock "To Workspace" 2380 | DstPort 1 2381 | } 2382 | Line { 2383 | ZOrder 12 2384 | SrcBlock "ESO" 2385 | SrcPort 2 2386 | DstBlock "To Workspace2" 2387 | DstPort 1 2388 | } 2389 | } 2390 | } 2391 | #Finite State Machines 2392 | # 2393 | # Stateflow 80000010 2394 | # 2395 | # 2396 | Stateflow { 2397 | machine { 2398 | id 1 2399 | name "ESO_test" 2400 | created "14-Oct-2017 17:00:29" 2401 | isLibrary 0 2402 | sfVersion 80000010 2403 | firstTarget 22 2404 | } 2405 | chart { 2406 | id 2 2407 | machine 1 2408 | name "ESO/MATLAB Function" 2409 | windowPosition [376 52 213 385] 2410 | viewLimits [0 156.75 0 153.75] 2411 | screen [1 1 1280 800 1.333333333333333] 2412 | treeNode [0 3 0 0] 2413 | viewObj 2 2414 | visible 1 2415 | subviewS { 2416 | } 2417 | ssIdHighWaterMark 18 2418 | decomposition CLUSTER_CHART 2419 | type EML_CHART 2420 | chartFileNumber 2 2421 | disableImplicitCasting 1 2422 | eml { 2423 | name "ESO_dyn" 2424 | } 2425 | firstData 4 2426 | firstTransition 20 2427 | firstJunction 19 2428 | } 2429 | state { 2430 | id 3 2431 | labelString "eML_blk_kernel()" 2432 | position [18 64.5 118 66] 2433 | fontSize 12 2434 | chart 2 2435 | treeNode [2 0 0 0] 2436 | superState SUBCHART 2437 | subviewer 2 2438 | ssIdNumber 1 2439 | type FUNC_STATE 2440 | decomposition CLUSTER_STATE 2441 | eml { 2442 | isEML 1 2443 | script "function [dx_hat,dxw_hat] = ESO_dyn(x_hat,xw_hat,y,u,A,B,C,D,H,S,Cw,L1,L2)\ndx_hat = zeros(6,1);\n" 2444 | "dxw_hat = zeros(13,1);\n%% Gain function parameters\na = 0.7;\nd = 0.1;\n%% ESO DEs\ndx_hat = A*x_hat+B*u+H*Cw'*" 2445 | "xw_hat+L1*phi(y-C*x_hat-D*u,a,d);\ndxw_hat = S*xw_hat+L2*phi(y-C*x_hat-D*u,a,d);\nend\n%Gain function\nfunction " 2446 | "y1 = phi(x1,a,d)\n y1 = zeros(2,1);\n y1(1) = x1(1) + 0.5*(a-1)*(abs(x1(1)+d)-abs(x1(1)-d));\n " 2447 | " y1(2) = x1(2) + 0.5*(a-1)*(abs(x1(2)+d)-abs(x1(2)-d));\nend" 2448 | editorLayout "100 M4x1[119 211 1080 733]" 2449 | } 2450 | } 2451 | data { 2452 | id 4 2453 | ssIdNumber 6 2454 | name "x_hat" 2455 | scope INPUT_DATA 2456 | machine 1 2457 | props { 2458 | array { 2459 | size "-1" 2460 | } 2461 | type { 2462 | method SF_INHERITED_TYPE 2463 | primitive SF_DOUBLE_TYPE 2464 | isSigned 1 2465 | wordLength "16" 2466 | } 2467 | complexity SF_COMPLEX_INHERITED 2468 | frame SF_FRAME_INHERITED 2469 | unit { 2470 | name "inherit" 2471 | } 2472 | } 2473 | dataType "Inherit: Same as Simulink" 2474 | linkNode [2 0 5] 2475 | } 2476 | data { 2477 | id 5 2478 | ssIdNumber 7 2479 | name "xw_hat" 2480 | scope INPUT_DATA 2481 | machine 1 2482 | props { 2483 | array { 2484 | size "-1" 2485 | } 2486 | type { 2487 | method SF_INHERITED_TYPE 2488 | primitive SF_DOUBLE_TYPE 2489 | isSigned 1 2490 | wordLength "16" 2491 | } 2492 | complexity SF_COMPLEX_INHERITED 2493 | frame SF_FRAME_INHERITED 2494 | unit { 2495 | name "inherit" 2496 | } 2497 | } 2498 | dataType "Inherit: Same as Simulink" 2499 | linkNode [2 4 6] 2500 | } 2501 | data { 2502 | id 6 2503 | ssIdNumber 5 2504 | name "y" 2505 | scope INPUT_DATA 2506 | machine 1 2507 | props { 2508 | array { 2509 | size "-1" 2510 | } 2511 | type { 2512 | method SF_INHERITED_TYPE 2513 | primitive SF_DOUBLE_TYPE 2514 | } 2515 | complexity SF_COMPLEX_INHERITED 2516 | frame SF_FRAME_NO 2517 | unit { 2518 | name "inherit" 2519 | } 2520 | } 2521 | dataType "Inherit: Same as Simulink" 2522 | linkNode [2 5 7] 2523 | } 2524 | data { 2525 | id 7 2526 | ssIdNumber 4 2527 | name "u" 2528 | scope INPUT_DATA 2529 | machine 1 2530 | props { 2531 | array { 2532 | size "-1" 2533 | } 2534 | type { 2535 | method SF_INHERITED_TYPE 2536 | primitive SF_DOUBLE_TYPE 2537 | } 2538 | complexity SF_COMPLEX_INHERITED 2539 | unit { 2540 | name "inherit" 2541 | } 2542 | } 2543 | dataType "Inherit: Same as Simulink" 2544 | linkNode [2 6 8] 2545 | } 2546 | data { 2547 | id 8 2548 | ssIdNumber 8 2549 | name "dx_hat" 2550 | scope OUTPUT_DATA 2551 | machine 1 2552 | props { 2553 | array { 2554 | size "-1" 2555 | } 2556 | type { 2557 | method SF_INHERITED_TYPE 2558 | primitive SF_DOUBLE_TYPE 2559 | isSigned 1 2560 | wordLength "16" 2561 | } 2562 | complexity SF_COMPLEX_INHERITED 2563 | frame SF_FRAME_NO 2564 | unit { 2565 | name "inherit" 2566 | } 2567 | } 2568 | dataType "Inherit: Same as Simulink" 2569 | linkNode [2 7 9] 2570 | } 2571 | data { 2572 | id 9 2573 | ssIdNumber 9 2574 | name "dxw_hat" 2575 | scope OUTPUT_DATA 2576 | machine 1 2577 | props { 2578 | array { 2579 | size "-1" 2580 | } 2581 | type { 2582 | method SF_INHERITED_TYPE 2583 | primitive SF_DOUBLE_TYPE 2584 | isSigned 1 2585 | wordLength "16" 2586 | } 2587 | complexity SF_COMPLEX_INHERITED 2588 | frame SF_FRAME_NO 2589 | unit { 2590 | name "inherit" 2591 | } 2592 | } 2593 | dataType "Inherit: Same as Simulink" 2594 | linkNode [2 8 10] 2595 | } 2596 | data { 2597 | id 10 2598 | ssIdNumber 10 2599 | name "A" 2600 | scope INPUT_DATA 2601 | machine 1 2602 | props { 2603 | array { 2604 | size "-1" 2605 | } 2606 | type { 2607 | method SF_INHERITED_TYPE 2608 | primitive SF_DOUBLE_TYPE 2609 | isSigned 1 2610 | wordLength "16" 2611 | } 2612 | complexity SF_COMPLEX_INHERITED 2613 | frame SF_FRAME_INHERITED 2614 | unit { 2615 | name "inherit" 2616 | } 2617 | } 2618 | dataType "Inherit: Same as Simulink" 2619 | linkNode [2 9 11] 2620 | } 2621 | data { 2622 | id 11 2623 | ssIdNumber 11 2624 | name "B" 2625 | scope INPUT_DATA 2626 | machine 1 2627 | props { 2628 | array { 2629 | size "-1" 2630 | } 2631 | type { 2632 | method SF_INHERITED_TYPE 2633 | primitive SF_DOUBLE_TYPE 2634 | isSigned 1 2635 | wordLength "16" 2636 | } 2637 | complexity SF_COMPLEX_INHERITED 2638 | frame SF_FRAME_INHERITED 2639 | unit { 2640 | name "inherit" 2641 | } 2642 | } 2643 | dataType "Inherit: Same as Simulink" 2644 | linkNode [2 10 12] 2645 | } 2646 | data { 2647 | id 12 2648 | ssIdNumber 12 2649 | name "C" 2650 | scope INPUT_DATA 2651 | machine 1 2652 | props { 2653 | array { 2654 | size "-1" 2655 | } 2656 | type { 2657 | method SF_INHERITED_TYPE 2658 | primitive SF_DOUBLE_TYPE 2659 | isSigned 1 2660 | wordLength "16" 2661 | } 2662 | complexity SF_COMPLEX_INHERITED 2663 | frame SF_FRAME_INHERITED 2664 | unit { 2665 | name "inherit" 2666 | } 2667 | } 2668 | dataType "Inherit: Same as Simulink" 2669 | linkNode [2 11 13] 2670 | } 2671 | data { 2672 | id 13 2673 | ssIdNumber 13 2674 | name "D" 2675 | scope INPUT_DATA 2676 | machine 1 2677 | props { 2678 | array { 2679 | size "-1" 2680 | } 2681 | type { 2682 | method SF_INHERITED_TYPE 2683 | primitive SF_DOUBLE_TYPE 2684 | isSigned 1 2685 | wordLength "16" 2686 | } 2687 | complexity SF_COMPLEX_INHERITED 2688 | frame SF_FRAME_INHERITED 2689 | unit { 2690 | name "inherit" 2691 | } 2692 | } 2693 | dataType "Inherit: Same as Simulink" 2694 | linkNode [2 12 14] 2695 | } 2696 | data { 2697 | id 14 2698 | ssIdNumber 14 2699 | name "H" 2700 | scope INPUT_DATA 2701 | machine 1 2702 | props { 2703 | array { 2704 | size "-1" 2705 | } 2706 | type { 2707 | method SF_INHERITED_TYPE 2708 | primitive SF_DOUBLE_TYPE 2709 | isSigned 1 2710 | wordLength "16" 2711 | } 2712 | complexity SF_COMPLEX_INHERITED 2713 | frame SF_FRAME_INHERITED 2714 | unit { 2715 | name "inherit" 2716 | } 2717 | } 2718 | dataType "Inherit: Same as Simulink" 2719 | linkNode [2 13 15] 2720 | } 2721 | data { 2722 | id 15 2723 | ssIdNumber 15 2724 | name "S" 2725 | scope INPUT_DATA 2726 | machine 1 2727 | props { 2728 | array { 2729 | size "-1" 2730 | } 2731 | type { 2732 | method SF_INHERITED_TYPE 2733 | primitive SF_DOUBLE_TYPE 2734 | isSigned 1 2735 | wordLength "16" 2736 | } 2737 | complexity SF_COMPLEX_INHERITED 2738 | frame SF_FRAME_INHERITED 2739 | unit { 2740 | name "inherit" 2741 | } 2742 | } 2743 | dataType "Inherit: Same as Simulink" 2744 | linkNode [2 14 16] 2745 | } 2746 | data { 2747 | id 16 2748 | ssIdNumber 16 2749 | name "Cw" 2750 | scope INPUT_DATA 2751 | machine 1 2752 | props { 2753 | array { 2754 | size "-1" 2755 | } 2756 | type { 2757 | method SF_INHERITED_TYPE 2758 | primitive SF_DOUBLE_TYPE 2759 | isSigned 1 2760 | wordLength "16" 2761 | } 2762 | complexity SF_COMPLEX_INHERITED 2763 | frame SF_FRAME_INHERITED 2764 | unit { 2765 | name "inherit" 2766 | } 2767 | } 2768 | dataType "Inherit: Same as Simulink" 2769 | linkNode [2 15 17] 2770 | } 2771 | data { 2772 | id 17 2773 | ssIdNumber 17 2774 | name "L1" 2775 | scope INPUT_DATA 2776 | machine 1 2777 | props { 2778 | array { 2779 | size "-1" 2780 | } 2781 | type { 2782 | method SF_INHERITED_TYPE 2783 | primitive SF_DOUBLE_TYPE 2784 | isSigned 1 2785 | wordLength "16" 2786 | } 2787 | complexity SF_COMPLEX_INHERITED 2788 | frame SF_FRAME_INHERITED 2789 | unit { 2790 | name "inherit" 2791 | } 2792 | } 2793 | dataType "Inherit: Same as Simulink" 2794 | linkNode [2 16 18] 2795 | } 2796 | data { 2797 | id 18 2798 | ssIdNumber 18 2799 | name "L2" 2800 | scope INPUT_DATA 2801 | machine 1 2802 | props { 2803 | array { 2804 | size "-1" 2805 | } 2806 | type { 2807 | method SF_INHERITED_TYPE 2808 | primitive SF_DOUBLE_TYPE 2809 | isSigned 1 2810 | wordLength "16" 2811 | } 2812 | complexity SF_COMPLEX_INHERITED 2813 | frame SF_FRAME_INHERITED 2814 | unit { 2815 | name "inherit" 2816 | } 2817 | } 2818 | dataType "Inherit: Same as Simulink" 2819 | linkNode [2 17 0] 2820 | } 2821 | junction { 2822 | id 19 2823 | position [23.5747 49.5747 7] 2824 | chart 2 2825 | subviewer 2 2826 | ssIdNumber 3 2827 | type CONNECTIVE_JUNCTION 2828 | linkNode [2 0 0] 2829 | } 2830 | transition { 2831 | id 20 2832 | labelString "{eML_blk_kernel();}" 2833 | labelPosition [32.125 19.875 102.544 14.964] 2834 | fontSize 12 2835 | src { 2836 | intersection [0 0 1 0 23.5747 14.625 0 0] 2837 | } 2838 | dst { 2839 | id 19 2840 | intersection [1 0 -1 0 23.5747 42.5747 0 0] 2841 | } 2842 | midPoint [23.5747 24.9468] 2843 | chart 2 2844 | dataLimits [21.175 25.975 14.625 42.575] 2845 | subviewer 2 2846 | drawStyle SMART 2847 | slide { 2848 | sticky BOTH_STICK 2849 | } 2850 | executionOrder 1 2851 | ssIdNumber 2 2852 | linkNode [2 0 0] 2853 | } 2854 | instance { 2855 | id 21 2856 | machine 1 2857 | name "ESO/MATLAB Function" 2858 | chart 2 2859 | } 2860 | target { 2861 | id 22 2862 | machine 1 2863 | name "sfun" 2864 | description "Default Simulink S-Function Target." 2865 | linkNode [1 0 0] 2866 | } 2867 | } 2868 | --------------------------------------------------------------------------------