diff --git a/424-Systeme_Non_Lineaires/TP1/BLin.png b/424-Systeme_Non_Lineaires/TP1/BLin.png new file mode 100644 index 0000000..5619e83 Binary files /dev/null and b/424-Systeme_Non_Lineaires/TP1/BLin.png differ diff --git a/424-Systeme_Non_Lineaires/TP1/TP1.tex b/424-Systeme_Non_Lineaires/TP1/TP1.tex new file mode 100644 index 0000000..e371727 --- /dev/null +++ b/424-Systeme_Non_Lineaires/TP1/TP1.tex @@ -0,0 +1,317 @@ +\documentclass[10pt,a4paper,notitlepage]{article} +\usepackage[utf8]{inputenc} +\usepackage[french]{babel} +\usepackage[T1]{fontenc} +\usepackage{mathtools} +\usepackage[left=2cm,right=2cm,top=2cm,bottom=2cm]{geometry} +\usepackage{graphicx} +\usepackage{float} +\usepackage{subcaption} +\usepackage{tikz} + +\addto{\captionsfrench}{\renewcommand{\abstractname}{Introduction}} + +\author{Pierre-Antoine Comby \& Théo Jolivet} +\title{TP1 : Commande d'un bras à liaison flexible par bouclage linéarisant} + +\input{/home/pac/Scripts/Raccourcis.tex} +\renewcommand{\R}{\mathbb{R}} +\renewcommand{\Z}{\mathbb{Z}} +\renewcommand{\vec}{\overrightarrow} +\begin{document} +\maketitle +\section{Modélisation} +\begin{figure}[ht] + \centering + \begin{subfigure}{0.5\linewidth} + \begin{tikzpicture} + \node[draw,circle] (O) at (0,-2) {}; + \node[draw,circle] (A) at (-3,0) {}; + \node[draw,circle] (B) at (3,0) {}; + \node[draw,circle] (P) at (0,5) {}; + \draw[very thick] (O) -- (P) node[midway,right]{R} (A)--(P)node[midway,left]{$L_1$} (B)--(P)node[midway,right]{$L_2$}; + \draw[latex-latex] (O) -- ++(3,0) node[midway,above]{$r$}; + \draw[latex-latex] (B) -- ++(0,-2) node[midway,right]{$d$}; + \end{tikzpicture} + \subcaption{Bras en position stationnaire} +\end{subfigure}% + \begin{subfigure}{0.5\linewidth} + \begin{tikzpicture} + \node[draw,circle] (O) at (0,-2) {}; + \node[draw,circle] (A) at (-3,0) {}; + \node[draw,circle] (B) at (3,0) {}; + \node[draw,circle] (P) at (-1,5) {}; + \node[below=0.7em] at (O) {O}; + \node[left=0.7em] at (P) {P}; + \draw[very thick] (O) -- (P) node[midway,right]{R} (A)--(P)node[midway,left]{$L_1$} (B)--(P)node[midway,right]{$L_2$}; + \draw[latex-latex] (O) -- ++(3,0) node[midway,above]{$r$}; + \draw[latex-latex] (B) -- ++(0,-2) node[midway,right]{$d$}; + \draw[dashed,latex-latex] (B) -- ++(0,5) node[midway,right]{$L_{2y}=L_{1y}$}; + \draw[dashed,latex-latex] (P) -- ++(4,0) node[midway,above]{$L_{2x}$}; + \draw[dashed,latex-latex] (A) -- ++(2,0) node[midway,below]{$L_{1x}$}; + \draw [dashed] (A) ++(2,0) -- (P); + \draw[dashed] (O) -- ++(0,2.2); + \draw (O)++(0,2) arc(90:98:2)node[midway,above]{$\psi$}; + \draw (B) ++ (0,1) arc (90:130:1) node[midway,above]{$\theta_2$}; + \draw (P) ++ (0,-1) arc (-90:-113:1) node[midway,below]{$\theta_1$}; + + \end{tikzpicture} + \subcaption{Bras en mouvement} +\end{subfigure} +\caption{Schéma cinématique du système} +\label{fig:label} + +\end{figure} + +\paragraph{Prépa.1} +À partir de la figure on a : +\begin{align*} + L_{1x} &= r - \sin(\psi)R \\ + L_{2x} &= r + \sin(\psi)R \\ + L_{1y} &= R\cos(\psi) - d +\end{align*} + +\paragraph{Prépa.2} On a par définition: +\begin{align*} + F_1 &= -k (L_1-L) + F_2 &= -k (L_2-L) +\end{align*} +On introduit les angles $\theta_1$ et $\theta_2$ tel que : + \[ + \tan(\theta_1) =\frac{L_{1x}}{L_{1y}} \text{ et } \tan(\theta_2) =\frac{L_{2x}}{L_{2y}} + \] + Alors on a pour $F_1$ : + \begin{align*} + F_{1y} = F_1 \cos(\theta_1) &= F_1 \frac{1}{\sqrt{1+\tan^2(\theta_1)}}\\ + &= F_1 \frac{1}{\sqrt{1+\left(\frac{L_{1x}}{L_{2y}}\right)^2}} \\ + &= k\left(\sqrt{L_{1x}^2+L_{1y}^2}-L\right) \frac{L_{1y}}{\sqrt{L_{1y}^2+L_{1x}^2}}\\ + &= k L_{1y} \left(1- \frac{L}{\sqrt{L_{1y}^2+L_{1x}^2}}\right) + \end{align*} + et : + \begin{align*} + F_{1x} &= F_1 \sin(\theta_1)\\ + &= F_1 \cos(\theta_1)\tan(\theta_1) \\ + &= k L_{1y} \left(1- \frac{L}{\sqrt{L_{1y}^2+L_{1x}^2}}\right) \frac{L_{1x}}{L_{1y}} \\ + &= k L_{1x} \left(1- \frac{L}{\sqrt{L_{1y}^2+L_{1x}^2}}\right) + \end{align*} + + On a les mêmes relations pour $F_2$ soit: + \[ + F_{2x} = k L_{2x} \left(1- \frac{L}{\sqrt{L_{2y}^2+L_{2x}^2}}\right) \text{ et } + F_{2y} = k L_{2y} \left(1- \frac{L}{\sqrt{L_{2y}^2+L_{2x}^2}}\right) + \] + Et alors : + \[ +\vec{F_1} = \vect{-F_{1x} \\-F_{1y}} \text{ et } \vec{F_2} = \vect{F_{2x}\\-F_{2y}} + \] + \paragraph{Prépa.3} + À partir des expression cartésiennes des forces on a le moment : + \[ + \vec{\mathcal{M}_{0}}(\vec{F}) =\vec{OP}\wedge (\vec{F_1} + \vec{F_2})= + \vect{R\sin\psi \\ R\cos\psi \\0} \wedge \vect{F_{2x}-F_{1x}\\ F_{2y}-F_{1y}\\0} = M \vec{u_z} + \] + Soit : + \[ + M = R\cos\psi(F_{2x}-F_{1x}) -R\sin\psi(F_{2y}-F_{1y}) + \] +\paragraph{Prépa.4} +On a : +\[ + F_{2x}-F_{1x} = 2kR\sin\psi + krL \left( + \underbracket{ \frac{1}{\sqrt{L_{2y}^2+L_{2x}^2}}- \frac{1}{\sqrt{L_{1y}^2+L_{1x}^2}}}_{\Delta} + \right) + - k\sin\psi RL \left(\underbracket{ + \frac{1}{\sqrt{L_{2y}^2+L_{2x}^2}} + \frac{1}{\sqrt{L_{1y}^2+L_{1x}^2}} +}_{\Sigma} \right) +\] +En effectuant à l'orde 1 sur $\Sigma$ et $\Delta$ on a: +\[ + \Delta = \frac{r\psi R}{((R-d)^2+r^2)^{3/2}} \text{ et } \Sigma = \frac{2}{\sqrt{(R-d)^2+r^2}} +\] +soit : +\[ + F_{2x}-F_{1x} \simeq 2 k R \psi + \psi \frac{kr^2RL }{((R-d)^2+r^2)^{3/2}}- 2k\psi RL \frac{1}{\sqrt{(R-d)^2+r^2}} = \psi K_x +\] +Avec +\[ + K_x = 2kR + \frac{kr^2RL}{((R-d)^2+r^2)^{3/2}} -\frac{2kRL}{\sqrt{(R-d)^2+r^2}} +\] + +On fait de même pour $F_{2y}-F_{1y}$ soit : +\[ + F_{2y}-F_{1y} = kR(\cos\psi-d)L \Delta = \frac{kR^2(1-d)Lr}{((R-d)^2+r^2)^{3/2}}\psi =K_y \psi +\] + +enfin : +\[ + M = RK_x\psi + RK_y\psi^2 +\] +Au premier ordre on a : +\[ + M = \underbracket{R \left(2kR + \frac{kr^2RL}{((R-d)^2+r^2)^{3/2}} -\frac{2kRL}{\sqrt{(R-d)^2+r^2}}\right)}_{K_s} \psi +\] +\paragraph{Prépa.5} +Pour le système \{plateforme + bras\} on a l'énergie cinétique: +\[ + E_c= \frac{1}{2}(J_b+J_p)\dot{\alpha}^2+ \frac{1}{2}\dot{\psi}^2 +\] + +\paragraph{Prépa.6} +Avec l'ensemble de la masse regroupé à son centre de gravité on a a : l'énergie potentielle de \{plateforme + bras\} suivante : +\[ +E_p = mgh\cos(\alpha+\psi) +\] +\paragraph{Prépa.7} +On rappel l'expression générale des equations d'Euler-Lagrange: +\[ + \deriv{t}\derivp[E_c]{\dot{q_i}}-\derivp[E_c]{q_i} =Q_i +\] +Avec $q_i $ coordonnée généralisée et $Q_i$ la forcé généralisé associée à $q_i$( qui regroupe energie potentielle dérivée suivant $q_i$ et les forces s'exercant au système) +On choisit $\alpha$ et $\psi$ comme coordonnée généralisée (système à deux degrès de liberté). Le système est commandé par la MCC, qui exerce un couple $N\phi i$: +\[ + \begin{cases} + J_b(\ddot{\alpha}+\ddot{\psi})+K_s\psi- mgh \sin(\alpha+\psi) &= 0 \\ + J_b(\ddot{\alpha} + \ddot{\psi})+J_p\ddot{\alpha} -mgh\sin(\alpha+\psi) &= N\phi i + \end{cases} +\] +\paragraph{Prépa.8} +À partir de l'équation électrique : +\[ + u =Ri + L \deriv[i]{t} + \phi \omega_m +\] +On pose $\tau_e = \frac{L}{R} = 69.2 \mu s$ constante de temps électrique du moteur. +\paragraph{Prépa.9}On a $\tau_e \ll \tau =17 ms$ on peux donc négliger l'effet inductif dans l'équation électrique et alors: +\[ + i = \frac{u -\phi \omega_m}{R} = \frac{u-\phi N \dot{\alpha}}{R} +\] + +\paragraph{Prépa.10} Avec le rapport de transformation $N$ on a: +\[ + \omega_m = N \dot{\alpha} +\] +\paragraph{Prépa.11} +À partir des équations de Lagrange et des équations du moteur électrique on a : le modèle d'état suivant : +\[ + \begin{cases} + \dot{x_1} &= x_3\\ + \dot{x_2} &= x_4 \\ + \dot{x_3} &= \frac{K_s}{J_p}x_2- \frac{(N\phi)^2}{RJ_p}x_3+ \frac{N\phi}{RJ_p} u \\ + \dot{x_4} &= -\frac{K_s}{J_p}x_2+ \frac{(N\phi)^2}{RJ_p}x_3- \frac{N\phi}{RJ_p}u -\frac{K_s}{J_b} x_2 +\frac{mgh}{J_b}\sin(x_1+x_2) \\ + y &= x_1+x_2 + \end{cases} +\] +On a donc les matrices d'états suivantes: +\[ + \vect{\dot{x_1} \\ \dot{x_2}\\ \dot{x_3}\\ \dot{x_4}}= + \begin{bmatrix} + 0 & 0 & 1 & 0 \\ + 0 & 0 & 0 & 1 \\ + 0 & \frac{K_s}{J_p} & -\frac{(N\phi)^2}{RJ_p} & 0 \\ + 0 & - K_s\frac{J_p+J_b}{J_bJ_p} & +\frac{(N\phi)^2}{RJ_p} & 0 + \end{bmatrix} + \cdot\vect{x_1 \\x_2\\x_3 \\x_4} + + + \begin{bmatrix} + 0 & 0\\ + 0 & 0\\ + \frac{N\phi}{RJ_p} & 0\\ + -\frac{N\phi}{RJ_p} & 1\\ + \end{bmatrix} + \vect{u \\ \frac{mgh}{J_b}\sin(x_1+x_2)} +\] + +\section{Commande en boucle fermé} +\paragraph{Manip.1} +On réalise le modèle d'état dans simulink +\begin{figure}[ht] + \centering + \includegraphics[width=0.7\textwidth]{modeleNL_schema.png} + \caption{Modèle d'état simulé} + \label{fig:label} +\end{figure} +En excitant le modèle avec un echelon on obtient : +\begin{figure}[ht] + \centering + \includegraphics[width=0.7\textwidth]{modeleNL.png} + \caption{Variable d'états en sortie du modèle} + \label{fig:label} +\end{figure} +La simulation correspond au modèle attendu (on commande le systeme en position), il est stable mais non précis, de plus les dérivées sont assez chaotiques. + + + +\paragraph{Prépa.12} +À partir de la sortie $y$ il faut dérivé 4 fois pour que la commande $u$ apparaisse. on a donc +\begin{align*} + z_1 & = y \\ + z_2 = \dot{z_1} &= \dot{x_1}+\dot{x_2} = x_3+ x_4 \\ + z_3 = \dot{z_2} &= \dot{x_3}+\dot{x_4} \\ + &= \frac{K_s}{J_b}x_2+\frac{mgh}{J_b}\sin(x_1+x_2)\\ + z_4 = \dot{z_3} & = \frac{-K_s}{J_b}x_4+\frac{mgh}{J_b}(x_3+x_4)\cos(x_1+x_2)\\ + \dot{z_4} &= \frac{-K_s}{J_b}\left( + -K_s\frac{(J_b+J_p)}{J_pJ_b}+ \frac{(N\phi)^2)}{RJ_p}x_3 - \frac{N\phi}{RJ_p}u +\frac{mgh}{J_b}\sin(x_1+x_2) + \right)\\ + &+ + \frac{mgh}{J_b}\left(\frac{-K_s}{J_b}x_2+\frac{mgh}{J_b}\sin(x_1+x_2) + \right)\cos(x_1+x_2) - + \frac{mgh}{J_b}(x_3+x_4)^2\sin(x_1+x_2) +\end{align*} + +On pose donc $v = \dot{z_4}$. + +\paragraph{Prépa.13} +On a fais les calculs en Prépa.13 , on peux donc réaliser le schéma bloc suivant : + +\begin{figure}[H] + \centering + \begin{tikzpicture} + \begin{scope}[at={(0,0)}] + \node[draw, minimum height=1cm] (C) at (0,0) { + \begin{tabular}[c]{c} +Synthèse \\de la commande + \end{tabular} +}; + \node[draw, minimum height=1cm] (S) at (3.5,0) {$\dot{x}=f(x)+g(x)u$}; + \node[draw, minimum height=1cm] (N) at (7,0) {$z=\Phi(x)$}; + \draw[-latex] (-2,0) -- (C.west) node[near start,above]{$v$}; + \draw[-latex] (C.east) -- (S.west) node[near start, above]{$u$}; + \draw[-latex] (S.east) -- (N.west); + \draw[-latex] (N.east) -- ++(1,0) node[above left]{$y$}; + \draw[-latex] (N.south) |- ++(-2,-1) node[near start,right]{$x$} -| (C.south); + \end{scope} + \node at (3,-2.5){\Large$\Updownarrow$}; + \begin{scope}[shift={(0,-4)}] + \node[draw, minimum height=1cm] (I1) at (0,0) {$\int$}; + \node[draw, minimum height=1cm] (I2) at (2,0) {$\int$}; + \node[draw, minimum height=1cm] (I3) at (5,0) {$\int$}; +\draw[-latex] (-2,0) -- (I1.west) node[near start, above]{$v$}; +\draw[-latex] (I1.east) -- (I2.west) node[near start, above]{$z_n$}; +\draw[-latex] (I2.east) -- ++(1,0) node[midway,above]{$z_{n-1}$}; +\draw[-latex,dashed] (I2.east)++(1,0) -- (I3.west) node[near end, above]{$z_{2}$}; +\draw[-latex] (I3.east) -- ++(2,0) node[near end, above]{$z_1=y$}; + \end{scope} + \end{tikzpicture} + \caption{Forme normale} +\end{figure} + + +\paragraph{Manip.2} +Pour réaliser le bouclage linéarisant, on utilise le fichier transmis au cours de TP au groupe (mon implémentation ne donnait pas de résultat attendu malgré les nombreux réglages effectués). + +\begin{figure}[ht] + \centering + \includegraphics[width=0.7\textwidth]{BLin.png} + \caption{Sortie du modèle et du bouclage} + \label{fig:label} +\end{figure} +Les sorties issues du modèle non linéaire et du changement de variable sot identique, on a bien $y=z_1$. + + +\paragraph{Prépa.14} + +\end{document} + +%%% Local Variables: +%%% mode: latex +%%% TeX-master: t +%%% End: diff --git a/424-Systeme_Non_Lineaires/TP1/bouclage/Bouclage_L.slx b/424-Systeme_Non_Lineaires/TP1/bouclage/Bouclage_L.slx new file mode 100644 index 0000000..27932b1 Binary files /dev/null and b/424-Systeme_Non_Lineaires/TP1/bouclage/Bouclage_L.slx differ diff --git a/424-Systeme_Non_Lineaires/TP1/bouclage/Bouclage_L.slx.r2015a b/424-Systeme_Non_Lineaires/TP1/bouclage/Bouclage_L.slx.r2015a new file mode 100644 index 0000000..62cc9ee Binary files /dev/null and b/424-Systeme_Non_Lineaires/TP1/bouclage/Bouclage_L.slx.r2015a differ diff --git a/424-Systeme_Non_Lineaires/TP1/bouclage/Bouclage_L.slxc b/424-Systeme_Non_Lineaires/TP1/bouclage/Bouclage_L.slxc new file mode 100644 index 0000000..c385c7a Binary files /dev/null and b/424-Systeme_Non_Lineaires/TP1/bouclage/Bouclage_L.slxc differ diff --git a/424-Systeme_Non_Lineaires/TP1/bouclage/Bouclage_LCOPY.slxc b/424-Systeme_Non_Lineaires/TP1/bouclage/Bouclage_LCOPY.slxc new file mode 100644 index 0000000..fe955c6 Binary files /dev/null and b/424-Systeme_Non_Lineaires/TP1/bouclage/Bouclage_LCOPY.slxc differ diff --git a/424-Systeme_Non_Lineaires/TP1/bouclage/Script_TP1.m b/424-Systeme_Non_Lineaires/TP1/bouclage/Script_TP1.m new file mode 100644 index 0000000..10b6899 --- /dev/null +++ b/424-Systeme_Non_Lineaires/TP1/bouclage/Script_TP1.m @@ -0,0 +1,80 @@ +clc, clear, warning('off') + + +%% Valeurs des variables + Ks = 1.61; %N/m + Jp = 0.0021; %kg/(m.m) + Jb = 0.0059; %kg/(m.m) + m = 0.403; %kg + h = 0.06; %m + g = 9.8; %N/m + N = 70; %Sans dim + Phi = 0.00767;%N.s/rad + R = 2.6; %Ohm + +%% Manip. 1 : Modèle NL + A_nl = [0 0 1 0 ;... + 0 0 0 1 ;... + 0 Ks/Jp -Phi^2*N^2/(R*Jp) 0 ;... + 0 -Ks*(Jp+Jb)/(Jp*Jb) Phi^2*N^2/(R*Jp) 0]; + + B = [0; 0; Phi*N/(R*Jp); -Phi*N/(R*Jp)]; + B_b = [0; 0; 0; m*g*h/Jb]; + B_nl = [B B_b]; + + C = [1, 1, 0, 0]; + +%% Manip. 2 : Bouclage linéarisant + + L = [0, -Ks^2*(Jp+Jb)/(Jp*Jb^2) , Ks*Phi^2*N^2/(R*Jp*Jb), 0]; + + l1 = m*g*h/Jb; + l2 = -(m*g*h)^2/(Jb*Jb); + l3 = Ks*m*g*h/(Jb^2); + l4 = Ks*m*g*h/(Jb*Jb); + Somme = [1 1 1 1 1]; + beta = R*Jp*Jb/(Ks*N*Phi); + +%% Manip. 6 : Poursuite asymptotique + +% m =0.8; +% w0 = 20; +% w1 = 35; +% w2 = 20; +% i = sqrt(-1); + + m = 2; + w0 = 2000; + w1 = 3500; + w2 = 3000; + i = sqrt(-1); + + + p = tf('p'); + Po = (p+w0*m-i*w0*sqrt(1-m^2))*(p+w0*m+i*w0*sqrt(1-m^2))*... + (p+w1)*(p+w2); + P = Po.num{1}; a3=P(2); a2=P(3); a1=P(4); a0=P(5); + + T = 1/10; + yinf = pi/4; + + + % Modèle de la consigne : + Pc = (p+(w0/100)*0.7-i*(w0/100)*sqrt(1-0.7^2))*(p+(w0/100)*0.7+i*(w0/100)*sqrt(1-0.7^2))*... + (p+w1/100)*(p+w2/100)*(p+w2/100); + Pc = Pc.num{1}; b4=Pc(2); b3=Pc(3); b2=Pc(4); b1=Pc(5); b0=Pc(6); + Ac = [0 1 0 0 0; 0 0 1 0 0; 0 0 0 1 0; 0 0 0 0 1; ... + -b0 -b1 -b2 -b3 -b4]; + Bc = [0; 0; 0; 0; b0]; + + +% +% %% Manip. 10 : Backstepping +% La1 = -10; +% La2 = 10*La1; +% La3 = 10*La2; +% La4 = 10*La3; + + + + \ No newline at end of file diff --git a/424-Systeme_Non_Lineaires/TP1/bouclage/slprj/modeladvisor/UpgradeAdv_/Bouclage_L/ModelAdvisorData b/424-Systeme_Non_Lineaires/TP1/bouclage/slprj/modeladvisor/UpgradeAdv_/Bouclage_L/ModelAdvisorData new file mode 100644 index 0000000..d333ab2 Binary files /dev/null and b/424-Systeme_Non_Lineaires/TP1/bouclage/slprj/modeladvisor/UpgradeAdv_/Bouclage_L/ModelAdvisorData differ diff --git a/424-Systeme_Non_Lineaires/TP1/bouclage/slprj/modeladvisor/UpgradeAdv_/Bouclage_L/model_diagnose_custom.html b/424-Systeme_Non_Lineaires/TP1/bouclage/slprj/modeladvisor/UpgradeAdv_/Bouclage_L/model_diagnose_custom.html new file mode 100644 index 0000000..d1a5b84 --- /dev/null +++ b/424-Systeme_Non_Lineaires/TP1/bouclage/slprj/modeladvisor/UpgradeAdv_/Bouclage_L/model_diagnose_custom.html @@ -0,0 +1,226 @@ +
Title | Check rapid accelerator signal logging | |
TitleID | mathworks.design.CheckRapidAcceleratorSignalLogging | |
Title | Identify Variant Model blocks and convert those to Variant Subsystem containing Model block choices | |
TitleID | mathworks.design.ConvertMdlrefVarToVSS | |
Title | Check get_param calls for block CompiledSampleTime | |
TitleID | mathworks.design.CallsGetParamCompiledSampleTime | |
Title | Identify unconnected lines, input ports, and output ports | |
TitleID | mathworks.design.UnconnectedLinesPorts | |
Title | Check root model Inport block specifications | |
TitleID | mathworks.design.RootInportSpec | |
Title | Check diagnostic settings ignored during accelerated model reference simulation | |
TitleID | mathworks.design.ModelRefSIMConfigCompliance | |
Title | Check for parameter tunability information ignored for referenced models | |
TitleID | mathworks.design.ParamTunabilityIgnored | |
Title | Check for implicit signal resolution | |
TitleID | mathworks.design.ImplicitSignalResolution | |
Title | Check for optimal bus virtuality | |
TitleID | mathworks.design.OptBusVirtuality | |
Title | Check for calls to slDataTypeAndScale() | |
TitleID | mathworks.design.CallslDataTypeAndScale | |
Title | Check for Discrete-Time Integrator blocks with initial condition uncertainty | |
TitleID | mathworks.design.DiscreteTimeIntegratorInitCondition | |
Title | Identify disabled library links | |
TitleID | mathworks.design.DisabledLibLinks | |
Title | Identify parameterized library links | |
TitleID | mathworks.design.ParameterizedLibLinks | |
Title | Identify unresolved library links | |
TitleID | mathworks.design.UnresolvedLibLinks | |
Title | Identify configurable subsystem blocks for converting to variant subsystem blocks | |
TitleID | mathworks.design.CSStoVSSConvert | |
Title | Check usage of function-call connections | |
TitleID | mathworks.design.CheckForProperFcnCallUsage | |
Title | Check and update masked blocks in library to use promoted parameters | |
TitleID | mathworks.design.CheckAndUpdateOldMaskedBuiltinBlocks | |
Title | Check and update mask image display commands with unnecessary imread() function calls | |
TitleID | mathworks.design.CheckMaskDisplayImageFormat | |
Title | Check and update mask to affirm icon drawing commands dependency on mask workspace | |
TitleID | mathworks.design.CheckMaskRunInitFlag | |
Title | Identify similar library clones and replace them with links to library blocks | |
TitleID | com.mathworks.Simulink.CloneDetection.IdentifyStructLibraryClones | |
Title | Identify similar graphical clones and replace them with links to library blocks | |
TitleID | com.mathworks.Simulink.CloneDetection.IdentifyStructGraphicalClones | |
Title | Identify system constants for use in variant transformation | |
TitleID | com.mathworks.Simulink.MdlTransformer.IdentifyVariantConstant | |
Title | Identify blocks that qualify for variant transformation | |
TitleID | com.mathworks.Simulink.MdlTransformer.IdentifyVariantCandidate | |
Title | Convert blocks to variants | |
TitleID | com.mathworks.Simulink.MdlTransformer.VariantTransform | |
Title | Step1. Select data store blocks you want to eliminate | |
TitleID | com.mathworks.Simulink.MdlTransformer.DSMElim | |
Title | Create baseline to measure the performance. The baseline contains the time to run the simulation and the simulation results (signals logged). To create a baseline, configure the model to log states in the workspace and save the signals in 'Structure with time' format. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.CreateBaseline | |
Title | Some diagnostics, such as 'Solver data inconsistency', incur run-time overhead during simulation. To improve simulation speed, disable these diagnostics if they are not necessary. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.IdentifyExpensiveDiagnostics | |
Title | Some optimizations, such as 'Block reduction', may be disabled. To improve simulation speed, enable these optimization settings. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.IdentifyApplicableOptimizations | |
Title | Improperly configured lookup table blocks can affect the simulation speed of a model. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.InefficientLookupTableBlocks | |
Title | Analyze MATLAB System block for code generation capability. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.DetectIntSysObjBlocks | |
Title | Avoid using Interpreted MATLAB Function blocks. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.DetectIntMATLABFcnBlocks | |
Title | Disabling simulation target settings, such as 'Echo expressions without semicolons', can improve simulation speed. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.CheckSimTargetEchoStatus | |
Title | Check if model reference rebuild setting is set to the proper value | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.CheckModelRefRebuildSetting | |
Title | Opened and uncommented Scopes can impact simulation performance. This check identifies Scope block, Floating Scope block, and Scope Viewer. Scope Viewer does not support commenting out. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.IdentifyScopes | |
Title | Identify active instrumentation settings on the model. This setting can cause slow simulations due to range collection. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.IdentifyActiveMMO | |
Title | Check S-functions in the model | |
TitleID | mathworks.design.SFuncAnalyzer | |
Title | Check model and local libraries for SB2SL blocks | |
TitleID | mathworks.simulink.SB2SL.Check | |
Title | Runtime diagnostics for S-functions | |
TitleID | mathworks.design.DiagnosticSFcn | |
Title | Check if Read/Write diagnostics are enabled for Data Store blocks | |
TitleID | mathworks.design.DiagnosticDataStoreBlk | |
Title | Check Data Store Memory blocks for multitasking, strong typing, and shadowing issues | |
TitleID | mathworks.design.DataStoreMemoryBlkIssue | |
Title | Check that the model is saved in SLX format | |
TitleID | mathworks.design.UseSLXFile | |
Title | Check model for foreign characters | |
TitleID | mathworks.design.characterEncoding | |
Title | Check Model History properties | |
TitleID | mathworks.design.SLXModelProperties | |
Title | Identify masked blocks that specify tabs in mask dialog using MaskTabNames parameter | |
TitleID | mathworks.design.CheckAndUpdateOldMaskTabnames | |
Title | Check conversion input parameters | |
TitleID | com.mathworks.Simulink.ModelReferenceAdvisor.InputParameters | |
Title | Check model configurations | |
TitleID | com.mathworks.Simulink.ModelReferenceAdvisor.ModelConfigurations | |
Title | Check subsystem interface | |
TitleID | com.mathworks.Simulink.ModelReferenceAdvisor.SubsystemInterface | |
Title | Check subsystem content | |
TitleID | com.mathworks.Simulink.ModelReferenceAdvisor.SubsystemContent | |
Title | Complete conversion | |
TitleID | com.mathworks.Simulink.ModelReferenceAdvisor.CompleteConversion | |
Title | Identify Model Info blocks that can interact with external source control tools | |
TitleID | mathworks.design.ModelInfoKeywordSubstitution | |
Title | Open the Upgrade Advisor | |
TitleID | com.mathworks.Simulink.UpgradeAdvisor.MAEntryPoint | |
Title | Upgrade models in a hierarchy | |
TitleID | com.mathworks.Simulink.UpgradeAdvisor.UpgradeModelHierarchy | |
Title | Check model for block upgrade issues | |
TitleID | mathworks.design.Update | |
Title | Resave in current version of Simulink | |
TitleID | mathworks.design.CheckSavedInCurrentVersion | |
Title | Check for virtual bus across model reference boundaries | |
TitleID | mathworks.design.CheckVirtualBusAcrossModelReference | |
Title | Check model for parameter initialization and tuning issues | |
TitleID | mathworks.design.ParameterTuning | |
Title | Check structure parameter usage with bus signals | |
TitleID | mathworks.design.MismatchedBusParams | |
Title | Check for large number of function arguments from virtual bus across model reference boundary | |
TitleID | mathworks.design.CheckVirtualBusAcrossModelReferenceArgs | |
Title | Identify similar functional clones and replace them with links to library blocks | |
TitleID | com.mathworks.Simulink.CloneDetection.IdentifyStructFunctionalClones | |
Title | Check if model with referenced models can be built in parallel with optimal settings. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.CheckModelRefParallelBuild | |
Title | Use circular buffer to improve simulation speed for Delay blocks with large states. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.CheckDelayBlockCircularBufferSetting | |
Title | Simulation might slow down if all these conditions exist: (1) the model is using a variable step solver, (2) the model contains both continuous and discrete rates, and (3) the fastest discrete rate that does not impact continuous integration is relatively smaller than 'Max step size' determined by the solver. Setting 'DecoupledContinuousIntegration' parameter to 'on' might speed up simulation. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.CheckIfNeedDecoupleContDiscRates | |
Title | Simulation might slow down if all these conditions exist: (1) the model is using a variable step solver, (2) the model contains blocks having zero-crossings and continuous states, and (3) some zero-crossings are not impacting continuous integration. Setting 'MinimalZcImpactIntegration' parameter to 'on' might speed up simulation. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.CheckIfNeedOptimalSolverResetCausedByZc | |
Title | Check discrete signals driving derivative port | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.CheckDiscDriveContSignal | |
Title | The selection of an explicit or implicit solver depends on the approximation of the model stiffness at the beginning of the simulation. If the model represents a stiff system, use the ode15s solver. Otherwise, use the ode45 solver. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.SolverTypeSelection | |
Title | Adjust Co-Simulation settings for better performance and accuracy. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.CheckMultiThreadCoSimSetting | |
Title | Identify co-simulation signals that may need explicit numerical compensation. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.CheckNumericCompensationCoSimSetting | |
Title | Changing simulation mode can improve simulation speed. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.CheckSimulationModesComparison | |
Title | Running with compiler optimizations turned on can improve simulation speed. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.CheckSimulationCompilerOptimization | |
Title | Validate the overall performance improvement in your model using this check. If performance is worse than baseline, Performance Advisor discards all changes and loads the original model. | |
TitleID | com.mathworks.Simulink.PerformanceAdvisor.FinalValidation | |
Title | Check Delay, Unit Delay and Zero-Order Hold blocks for rate transition | |
TitleID | mathworks.design.ReplaceZOHDelayByRTB | |
Title | Check bus signals treated as vectors | |
TitleID | mathworks.design.BusTreatedAsVector | |
Title | Check for potentially delayed function-call block return values | |
TitleID | mathworks.design.DelayedFcnCallSubsys | |
Title | Identify block output signals with continuous sample time and non-floating point data type | |
TitleID | mathworks.design.OutputSignalSampleTime | |
Title | Check usage of Merge blocks | |
TitleID | mathworks.design.MergeBlkUsage | |
Title | Check usage of Outport blocks | |
TitleID | mathworks.design.InitParamOutportMergeBlk | |
Title | Check usage of Discrete-Time Integrator blocks | |
TitleID | mathworks.design.DiscreteBlock | |
Title | Check model settings for migration to simplified initialization mode | |
TitleID | mathworks.design.ModelLevelMessages | |
Title | Check model for custom library blocks that rely on frame status of the signal | |
TitleID | mathworks.design.DSPFrameUpgrade | |
Title | Check model for S-function upgrade issues | |
TitleID | mathworks.design.CheckForSFcnUpgradeIssues | |
Title | Check for non-continuous signals driving derivative ports | |
TitleID | mathworks.design.NonContSigDerivPort | |
Title | Check data store block sample times for modeling errors | |
TitleID | mathworks.design.DataStoreBlkSampleTime | |
Title | Check for potential ordering issues involving data store access | |
TitleID | mathworks.design.OrderingDataStoreAccess | |
Title | Check virtual bus inputs to blocks | |
TitleID | mathworks.design.VirtualBusUsage | |
Title | Check for root outports with constant sample time | |
TitleID | mathworks.design.CheckConstRootOutportWithInterfaceUpgrade | |
Title | Identify unit mismatches in the model | |
TitleID | mathworks.design.UnitMismatches | |
Title | Identify automatic unit conversions in the model | |
TitleID | mathworks.design.AutoUnitConversions | |
Title | Identify disallowed unit systems in the model | |
TitleID | mathworks.design.DisallowedUnitSystems | |
Title | Identify undefined units in the model | |
TitleID | mathworks.design.UndefinedUnits | |
Title | Check model for block upgrade issues requiring compile time information | |
TitleID | mathworks.design.UpdateRequireCompile | |
Title | Identify time-varying source blocks interfering with frequency response estimation | |
TitleID | mathworks.slcontrolfrest.timevaryingsources | |
Title | Identify questionable operations for strict single-precision design | |
TitleID | mathworks.design.StowawayDoubles | |
Task Name | Modeling Signals and Parameters using Buses | |
Task Name | Modeling Single-Precision Systems | |
Task Name | Migrating to Simplified Initialization mode | |
Task Name | Model Referencing | |
Task Name | Managing Library Links And Variants | |
Task Name | Data Transfer Efficiency | |
Task Name | S-function Checks | |
Task Name | Simulation Accuracy | |
Task Name | Simulation Runtime Accuracy Diagnostics | |
Task Name | Managing Data Store Memory Blocks | |
Task Name | Simulink Model File Integrity | |
Task Name | Units Inconsistencies | |
Task Name | Upgrading to the Current Simulink Version | |
Task Name | Frequency Response Estimation | |
+ + + Passed + | ++ + | + +
+ + + Failed + | ++ + | + +
+ + + Warning + | ++ + | + +
+ + + Not Run + | ++ + | + +
+ + | ++ + | + +
+ +Model Advisor Report - Bouclage_L.slx + + + | + +|
+ +Simulink version: 9.2 + + + | ++ +Model version: 1.50 + + + | + +
+ +System: Bouclage_L + + + | ++ +Current run: 18-Apr-2019 12:11:04 + + + | + +
+ +Pass + + + | ++ +Fail + + + | ++ +Warning + + + | ++ +Not Run + + + | ++ +Total + + + | + +
---|---|---|---|---|
+ 25 + | ++ 0 + | ++ 3 + | ++ 1 + | ++ 29 + | + +
+
+Check 'Invalid function-call connection' setting
+
+
Verify that the Invalid function-call connection diagnostic is set to error.
+
+Passed
+
+
+
+
Diagnostics > Connectivity > Invalid function-call connection is set to error.
+Recommended Action
+
+
_________________________________________________________________________________________
+
+
+Check 'Context-dependent inputs' setting
+
+
Verify that the Context-dependent inputs diagnostic is set to error.
+
+Warning
+
+
+
+
Diagnostics > Connectivity > Context-dependent inputs is set to warning. This might lead to non-deterministic model execution.
+Recommended Action
+
+
Set Diagnostics > Connectivity > Context-dependent inputs to error.
+
+Search for blocks that have data type parameters specified by using slDataTypeAndScale().
+Required Replacement Cases
+
+
Identify calls to slDataTypeAndScale() that are no longer supported and thus should be replaced. Such calls always can be automatically replaced.
+See Also
+
+
+
+Recommended Replacement Cases
+
+
Identify unnecessary calls to slDataTypeAndScale() that the model advisor can automatically replace.
+See Also
+
+
+
+Manual Inspection Cases
+
+
Identify calls to slDataTypeAndScale() that might be unnecessary.
+See Also
+
+
+Sets 'RunInitForIconRedraw' to 'on' if mask icon drawing commands have mask workspace dependency otherwise sets it to 'off'. Setting 'RunInitForIconRedraw' to 'off' optimizes the performance by not running the mask initialization code before drawing the block icon.
+
+Passed
+
+
+
+
No masked block found to set 'RunInitForIconRedraw'.
+
+Identify masked blocks that use the MaskTabNames parameter to programmatically create tabs in the mask dialog. Since R2013b, dialog controls are used to group parameters in a tab on the mask dialog.
+
+Passed
+
+
+
+
No masked block found that uses MaskTabNames to create tabs in the mask dialog.
+
+
+Check model for SB2SL blocks
+
+
Your model does not contain SB2SL blocks.
_________________________________________________________________________________________
+
+Check that the model is saved in SLX format.
+
+Passed
+
+
+
+
Model Bouclage_L is saved in an SLX file: /home/pac/Documents/ensps/2-master-eea/archive/424-Systeme_Non_Lineaires/TP1/bouclage/Bouclage_L.slx
+
+Identify configurable subsystem blocks at the model or subsystem level. You can convert these blocks to variant subsystems.
+
+Passed
+
+
+
+
No configurable subsystem blocks found.
+
+Identify Variant Model blocks at model level.
+
+Passed
+
+
+
+
No Variant Model blocks found.
+
+Searches libraries created before R2011b for masked blocks that should be updated to use promoted parameters. Since R2011b, if a block parameter is not promoted, its value in the linked block is locked to its value in the library block. This check excludes blocks of type Subsystem, Model reference, S-Function and M-S-Function.
+
+Passed
+
+
+
+
This check only applies to libraries created before R2011b.
+
+Identify masks using an image display commands with unnecessary calls to imread(). Since 2013a, a performance and memory optimization is available for mask images specified via image path instead of RGB triple matrix.
+
+Passed
+
+
+
+
No masked block found with unnecessary imread() calls in image display commands.
+
+
+Check models for edited Model History property values
+
+
Check that parameters in the Model Properties dialog History pane use the default tags. In the MDL file format you can configure some model properties to make use of source control tool keyword substitution. If you save your model in SLX format, source control tools cannot perform keyword substitution. Any information in the model file from such keyword substitution is cached when you first save the MDL file as SLX, and is never updated again. The Model Properties History pane and any Model Info blocks in your model show stale information from then on.
+
+
+
+Passed
+
+
+
+
This model uses the default value for property ModifiedByFormat.
+
+
+
+Passed
+
+
+
+
This model uses the default value for property ModifiedDateFormat.
+
+
+
+Passed
+
+
+
+
This model uses the default value for property ModelVersionFormat.
+
+
+Virtual bus usage
+
+
To make your model more robust, identify virtual bus signals that feed blocks that do not support virtual buses.
These blocks are: Assignment, Delay (only when 'State name' field is specified, and 'Initial condition' is of struct type or a zero scalar from dialog box), Permute Dimensions, Reshape, Selector and Vector Concatenate.
+
+Passed
+
+
+
+
The model uses virtual bus signals properly.
+
+
+Check usage of Discrete-Time Integrator blocks
+
+
This check finds and reports issues related to Discrete-Time Integrator blocks for migrating to simplified initialization mode
+See Also
+
+
+
+Check for model level messages
+
+
This check finds and reports model level messages for migrating to simplified initialization mode.
+See Also
+
+
+Run the following checks and address any reported issues:
+Check usage of Merge blocks
+
+
+Check usage of Outport blocks
+
+
Also, review the warnings reported in the subchecks below and address any that require attention.
+
+
+Verify simplified initialization mode setting
+
+
In the Configuration Parameters dialog box, ensure that the 'Underspecified initialization detection' parameter is set to 'Simplified'.
+See Also
+
+
+
+
+Passed
+
+
+
+
The model does not contain Delay, Unit Delay or Zero-Order Hold blocks that perform rate transition. Passed
+
+Inport Blocks
+
+Passed
+
+
+
+
No issues with Inport blocks were found.
_________________________________________________________________________________________
+
+Outport Blocks
+
+Passed
+
+
+
+
No issues with Outport blocks were found.
_________________________________________________________________________________________
+
+Model Blocks
+
+Passed
+
+
+
+
No issues with Model blocks were found.
_________________________________________________________________________________________
+
+No issues found
+
+Check S-functions in the model, report upgrade issues and improvements.
+
+Passed
+
+
+
+
+
+There are no user-defined S-functions in the model. +
+
+
+Check usage of Merge blocks
+
+
This check finds and reports issues related to merge blocks for migrating to simplified initialization mode.
+See Also
+
+
+
+Check for root outports with constant sample time
+
+
Root outports with constant sample time are not supported when using the AUTOSAR target, function prototype control, or the model C++ class interface.
+
+Passed
+
+
+
+
The model does not utilize the AUTOSAR target, function prototype control, or the model C++ class interface, so constant root outports are permitted.
+
+
+Check usage of Outport blocks
+
+
This check finds and reports issues related to Outport blocks and Conditional Subsystems for migrating to simplified initialization mode.
+See Also
+
+
+ + + Passed + | ++ + | + +
+ + + Failed + | ++ + | + +
+ + + Warning + | ++ + | + +
+ + + Not Run + | ++ + | + +
+ + | ++ + | + +
+ +Model Advisor Report - Bouclage_L.slx + + + | + +|
+ +Simulink version: 9.2 + + + | ++ +Model version: 1.50 + + + | + +
+ +System: Bouclage_L + + + | ++ +Current run: 18-Apr-2019 12:11:04 + + + | + +
+ +Pass + + + | ++ +Fail + + + | ++ +Warning + + + | ++ +Not Run + + + | ++ +Total + + + | + +
---|---|---|---|---|
+ 25 + | ++ 0 + | ++ 3 + | ++ 1 + | ++ 29 + | + +
+
+Check 'Invalid function-call connection' setting
+
+
Verify that the Invalid function-call connection diagnostic is set to error.
+
+Passed
+
+
+
+
Diagnostics > Connectivity > Invalid function-call connection is set to error.
+Recommended Action
+
+
_________________________________________________________________________________________
+
+
+Check 'Context-dependent inputs' setting
+
+
Verify that the Context-dependent inputs diagnostic is set to error.
+
+Warning
+
+
+
+
Diagnostics > Connectivity > Context-dependent inputs is set to warning. This might lead to non-deterministic model execution.
+Recommended Action
+
+
Set Diagnostics > Connectivity > Context-dependent inputs to error.
+
+Search for blocks that have data type parameters specified by using slDataTypeAndScale().
+Required Replacement Cases
+
+
Identify calls to slDataTypeAndScale() that are no longer supported and thus should be replaced. Such calls always can be automatically replaced.
+See Also
+
+
+
+Recommended Replacement Cases
+
+
Identify unnecessary calls to slDataTypeAndScale() that the model advisor can automatically replace.
+See Also
+
+
+
+Manual Inspection Cases
+
+
Identify calls to slDataTypeAndScale() that might be unnecessary.
+See Also
+
+
+Sets 'RunInitForIconRedraw' to 'on' if mask icon drawing commands have mask workspace dependency otherwise sets it to 'off'. Setting 'RunInitForIconRedraw' to 'off' optimizes the performance by not running the mask initialization code before drawing the block icon.
+
+Passed
+
+
+
+
No masked block found to set 'RunInitForIconRedraw'.
+
+Identify masked blocks that use the MaskTabNames parameter to programmatically create tabs in the mask dialog. Since R2013b, dialog controls are used to group parameters in a tab on the mask dialog.
+
+Passed
+
+
+
+
No masked block found that uses MaskTabNames to create tabs in the mask dialog.
+
+
+Check model for SB2SL blocks
+
+
Your model does not contain SB2SL blocks.
_________________________________________________________________________________________
+
+Check that the model is saved in SLX format.
+
+Passed
+
+
+
+
Model Bouclage_L is saved in an SLX file: /home/pac/Documents/ensps/2-master-eea/archive/424-Systeme_Non_Lineaires/TP1/bouclage/Bouclage_L.slx
+
+Identify configurable subsystem blocks at the model or subsystem level. You can convert these blocks to variant subsystems.
+
+Passed
+
+
+
+
No configurable subsystem blocks found.
+
+Identify Variant Model blocks at model level.
+
+Passed
+
+
+
+
No Variant Model blocks found.
+
+Searches libraries created before R2011b for masked blocks that should be updated to use promoted parameters. Since R2011b, if a block parameter is not promoted, its value in the linked block is locked to its value in the library block. This check excludes blocks of type Subsystem, Model reference, S-Function and M-S-Function.
+
+Passed
+
+
+
+
This check only applies to libraries created before R2011b.
+
+Identify masks using an image display commands with unnecessary calls to imread(). Since 2013a, a performance and memory optimization is available for mask images specified via image path instead of RGB triple matrix.
+
+Passed
+
+
+
+
No masked block found with unnecessary imread() calls in image display commands.
+
+
+Check models for edited Model History property values
+
+
Check that parameters in the Model Properties dialog History pane use the default tags. In the MDL file format you can configure some model properties to make use of source control tool keyword substitution. If you save your model in SLX format, source control tools cannot perform keyword substitution. Any information in the model file from such keyword substitution is cached when you first save the MDL file as SLX, and is never updated again. The Model Properties History pane and any Model Info blocks in your model show stale information from then on.
+
+
+
+Passed
+
+
+
+
This model uses the default value for property ModifiedByFormat.
+
+
+
+Passed
+
+
+
+
This model uses the default value for property ModifiedDateFormat.
+
+
+
+Passed
+
+
+
+
This model uses the default value for property ModelVersionFormat.
+
+
+Virtual bus usage
+
+
To make your model more robust, identify virtual bus signals that feed blocks that do not support virtual buses.
These blocks are: Assignment, Delay (only when 'State name' field is specified, and 'Initial condition' is of struct type or a zero scalar from dialog box), Permute Dimensions, Reshape, Selector and Vector Concatenate.
+
+Passed
+
+
+
+
The model uses virtual bus signals properly.
+
+
+Check usage of Discrete-Time Integrator blocks
+
+
This check finds and reports issues related to Discrete-Time Integrator blocks for migrating to simplified initialization mode
+See Also
+
+
+
+Check for model level messages
+
+
This check finds and reports model level messages for migrating to simplified initialization mode.
+See Also
+
+
+Run the following checks and address any reported issues:
+Check usage of Merge blocks
+
+
+Check usage of Outport blocks
+
+
Also, review the warnings reported in the subchecks below and address any that require attention.
+
+
+Verify simplified initialization mode setting
+
+
In the Configuration Parameters dialog box, ensure that the 'Underspecified initialization detection' parameter is set to 'Simplified'.
+See Also
+
+
+
+
+Passed
+
+
+
+
The model does not contain Delay, Unit Delay or Zero-Order Hold blocks that perform rate transition. Passed
+
+Inport Blocks
+
+Passed
+
+
+
+
No issues with Inport blocks were found.
_________________________________________________________________________________________
+
+Outport Blocks
+
+Passed
+
+
+
+
No issues with Outport blocks were found.
_________________________________________________________________________________________
+
+Model Blocks
+
+Passed
+
+
+
+
No issues with Model blocks were found.
_________________________________________________________________________________________
+
+No issues found
+
+Check S-functions in the model, report upgrade issues and improvements.
+
+Passed
+
+
+
+
+
+There are no user-defined S-functions in the model. +
+
+
+Check usage of Merge blocks
+
+
This check finds and reports issues related to merge blocks for migrating to simplified initialization mode.
+See Also
+
+
+
+Check for root outports with constant sample time
+
+
Root outports with constant sample time are not supported when using the AUTOSAR target, function prototype control, or the model C++ class interface.
+
+Passed
+
+
+
+
The model does not utilize the AUTOSAR target, function prototype control, or the model C++ class interface, so constant root outports are permitted.
+
+
+Check usage of Outport blocks
+
+
This check finds and reports issues related to Outport blocks and Conditional Subsystems for migrating to simplified initialization mode.
+See Also
+
+