transcription d'un code Simulink en simscape
Bonjour,
je souhaite modéliser un ballon à stratification thermique. pour cela, j'ai élaboré un code type "gestion de stock" avec de l'énergie qui entre et de l'énergie qui sort. les températures de sortie et le nombre de strates dépendent de l'énergie accumulée dans le ballon.
Cependant, je voudrais utiliser ce code dans Simscape ou le retranscrire dans un fichier .ssc au lieu d'un .m
Comment pourrais-je faire? j'ai essayer de retranscrire le code mais ça coince quand je veux donner une valeur a une de mes températures de sortie (par exemple: Tci == 70°) j'ai comme erreur que l'un des 2 membres de l'égalité doit être égal à 0.
P.S: je me suis aperçu que commencer par 20*Qnec et redescendre à 1*Qnec apporte un plus au code, mais je n'ai pas voulu réécrire.
Merci d'avance.
Voici le code de mon .m:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
| function [Tco, Teo, Strate, Q] = ballon(Tco, Teo, Tci, Tei, Cp, Debit, rho, Hcuve, Dcuve, Tini, Q)
% Tco: temperature de sortie du ballon coté chaudiere
% Teo: temperature de sortie du ballon coté consommateur
% Strate: nombre de strates chaudes dans le ballon
% Q: chaleur cumulée dans le ballon
% Tci: temperature d'entrée du ballon coté chaudiere
% Tei: temperature d'entrée du ballon coté consommateur
%Cp: Cp de l'eau
% Debit: Débit d'eau
% rho: rho de l'eau
% Hcuve: hauteur de la cuve
% Dcuve: diamètre de la cuve
% Tini: temperature initiale de la cuve
Vcuve = (3.1418*Dcuve^2/4)*Hcuve;
Vstrateeau = Vcuve/5;
Qnec = Vstrateeau*rho*Cp*20;
Qini = Vstrateeau*rho*Cp*Tini;
Qapport = Debit*rho*Cp*(Tci-Tco);
Qconso = Debit*rho*Cp*(Teo-Tei);
Q = Q+Qini+Qapport-Qconso;
if (Q > Qnec)
Strate = 1;
Teo = 30;
Tco = 10;
elseif (Q > 2*Qnec)
Strate = 2;
Teo = 30;
Tco = 10;
elseif (Q > 3*Qnec)
Strate = 3;
Teo = 30;
Tco = 10;
elseif (Q > 4*Qnec)
Strate = 4;
Teo = 30;
Tco = 10;
elseif (Q > 5*Qnec)
Strate = 5;
Teo = 30;
Tco = 10;
elseif (Q > 6*Qnec)
Strate = 1;
Teo = 50;
Tco = 30;
elseif (Q > 7*Qnec)
Strate = 2;
Teo = 50;
Tco = 30;
elseif (Q > 8*Qnec)
Strate = 3;
Teo = 50;
Tco = 30;
elseif (Q > 9*Qnec)
Strate = 4;
Teo = 50;
Tco = 30;
elseif (Q > 10*Qnec)
Strate = 5;
Teo = 50;
Tco = 30;
elseif (Q > 11*Qnec)
Strate = 1;
Teo = 70;
Tco = 50;
elseif (Q > 12*Qnec)
Strate = 2;
Teo = 70;
Tco = 50;
elseif (Q > 13*Qnec)
Strate = 3;
Teo = 70;
Tco = 50;
elseif (Q > 14*Qnec)
Strate = 4;
Teo = 70;
Tco = 50;
elseif (Q > 15*Qnec)
Strate = 5;
Teo = 70;
Tco = 50;
elseif (Q > 16*Qnec)
Strate = 1;
Teo = 90;
Tco = 70;
elseif (Q > 17*Qnec)
Strate = 2;
Teo = 90;
Tco = 70;
elseif (Q > 18*Qnec)
Strate = 3;
Teo = 90;
Tco = 70;
elseif (Q > 19*Qnec)
Strate = 4;
Teo = 90;
Tco = 70;
elseif (Q > 20*Qnec)
Strate = 5;
Teo = 90;
Tco = 70;
end
end |