function SetHeadfile
%%设变量的头文件和C文件
%% 打开模型检查
mdlOpenChk;
%% 加载数据
if isempty(evalin('base','who'))
disp('> WorkSpace中无数据,已取消!')
return;
end
s = loadWorkSpace;
%% 设定头文件
vars = fieldnames(s);
for i = 1:length(vars)
varname = vars{i};
vari = s.(varname);
% 检查变量类型
if isa(vari, 'mpt.Signal') || isa(vari, 'mpt.Parameter')
% 根据变量类型设置文件后缀
if isa(vari, 'mpt.Signal')
fileSuffix = 'MData'; % 信号类型
else
fileSuffix = 'CData'; % 参数类型
end
% 设置头文件和定义文件路径
if isprop(vari.RTWInfo.CustomAttributes, 'HeaderFile')
vari.RTWInfo.CustomAttributes.HeaderFile = [bdroot, '_', fileSuffix, '.h'];
else
warning('HeaderFile 属性不支持,请检查存储类配置。');
end
if isprop(vari.RTWInfo.CustomAttributes, 'DefinitionFile')
vari.RTWInfo.CustomAttributes.DefinitionFile = [bdroot, '_', fileSuffix, '.c'];
else
warning('DefinitionFile 属性不支持,请检查存储类配置。');
end
end
end
%% 释放s到WorkSpace
struct2WorkSpace(s);
end
mpt.Signal实现结果:

mpt.Parameter实现结果:


被折叠的 条评论
为什么被折叠?



