【问题标题】:Simulink error : Invalid template makefile specifiedSimulink 错误:指定的模板生成文件无效
【发布时间】:2021-11-25 10:36:37
【问题描述】:

我正在尝试运行 Simulink 仿真并收集在 Matlab 脚本中生成的数据。

Simulink 模型运行正常,通过 Simulink 运行时给出异常结果。

但是,当我尝试运行运行 Simulink 模型并处理收集的数据的 Matlab 脚本时,Simulink 诊断查看器中出现错误:

Invalid template makefile specified
Component: Simulink | Category: Model error

这是我在 Matlab 脚本中使用的代码:

clear all;close all; clc;

Tps_sim = 5;

T = 0.001;
K = 25.24;
tho = 0.149;
A = 0.35;
B = -0.3;
S = 15;
Kteta = 2047/(2*pi);
Gzm=15/(15-((abs(A)+abs(B))/2));

Q1 = - 1.752;
Q0 =   1.767;
Q = Q0 - Q1;
t = transpose(0:T:Tps_sim);

l = 0;

for Consigne = [-3 3]
    
    l = l+1;
    
    C = Consigne * ones(1,length(t));

    E_95p = 0.95 * C;
    E_105p = 1.05 * C;
    
    figure (l) %Enlever cette ligne quand le commentaire au dessus est supprimé
    
    set_param('Lab_3','Solver','ode4','StopTime','Tps_sim','SimulationCommand','start'); %Enlever cette ligne et 3 en dessous quand supprimé le commantaire au dessus
    pause(1);
    set_param('Lab_3', 'SimulationCommand','stop');
    pause(2);
    yi = out.Ideal.signals.values;
    Si = stepinfo(yi,t,'SettlingTimeThreshold',0.05);
    TRi = Si.SettlingTime;
    
    subplot(3,1,1)
    plot(t,yi,t,C,t,out.CI.signals.values,t,E_95p,t,E_105p,TRi,yi(round(TRi/T)),'r*')
    title("Courbe d'évolution de la vitesse moteur idéal, Consigne = "+string(Consigne))
    xlabel("Temps (s)")
    ylabel("Vitesse (rad/s)")
    legend("Reponse","Consigne","Effort de Commande","Borne inférieure à 5%","Borne supérieure à 5%","Tr5% = "+string(TRi)+", Valeur = "+string(yi(round(TRi/T))));
    
    
    ym = out.ModeleNL.signals.values;
    Sm = stepinfo(ym,t,'SettlingTimeThreshold',0.05);
    TRm = Sm.SettlingTime;
    
    subplot(3,1,2)
    plot(t,ym,t,C,t,out.CM.signals.values,t,E_95p,t,E_105p,TRm,ym(round(TRm/T)),'r*')
    title("Courbe d'évolution de la vitesse modèle non-linéaire, Consigne = "+string(Consigne))
    xlabel("Temps (s)")
    ylabel("Vitesse (rad/s)")
    legend("Reponse","Consigne","Effort de Commande","Borne inférieure à 5%","Borne supérieure à 5%","Tr5% = "+string(TRm)+", Valeur = "+string(ym(round(TRm/T))));
end

这是我正在使用的 Simulink 模型:

如果您知道为什么会出现此问题,那将非常有用。

提前致谢。

【问题讨论】:

    标签: matlab simulink


    【解决方案1】:

    好的,我终于明白了原因,我通常使用带有真实电机的 Quark 库,但这里没有,并且系统目标文件描述从通用实时目标 (grt.tlc) 更改。您可以在 Simulink 的“硬件”选项卡中更改它。

    【讨论】:

      猜你喜欢
      • 2018-11-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-28
      • 2020-10-29
      • 2013-02-26
      • 2019-09-13
      • 2012-12-09
      • 1970-01-01
      相关资源
      最近更新 更多