Dica para trabalhar com variáveis no Simulink
1 Diretamente do terminal do MATLAB
Você pode declarar as variáveis que queira usar no modelo pelo próprio terminal do MATLAB como mostrado na figura abaixo:
E utilizar estas variáveis nos blocos da seguinte forma:
2 Bloco com parâmetros
Outra forma de trabalhar com variáveis no modelo de simulação é através da criação de um bloco que contém todas essas variáveis dentro de uma struct. Primeiramente adicione no modelo um bloco chamado Subsystem. Em seguida clique sobre o bloco e aperte ctrl + M criando uma mascara no bloco. Agora estamos prontos para definir as variáveis para pode-las utilizadas no modelo.
2.1 Definir parâmetros da máscara
- No Editor de máscara aberto, clique na guia Parameters & Dialog;
- Clique no ícone Edit parâmetro e adicione linhas;
- Nas linhas que aparecem, especifique os parâmetros da seguinte forma.
- Na coluna Prompt você especifica sobre a variável, para que ela vai ser utilizada, entre outros.
- Na coluna Name você da o nome a variável que sera utilizada no modelo;
Após esse processo clique em Apply seguido de Ok. Para saber mais sobre configuração de mascaras acesse : Mask a Block ou Block Masks.
2.2 Arquivo .m com as instruções
Após a criação da mascara e dos parametros que serão utilizados pelo modelo. Criamos um função no MATLAB de acordo com cógido abaixo:
function parametros
persistent postloadFlag;
if isempty(postloadFlag)
postloadFlag = true;
else
if postloadFlag
postloadFlag = false;ip
return
end
end
settingsBlock = [bdroot '/Subsystem']; % Nome do bloco
[symbol_rate] = getSettings(settingsBlock,'symbol_rate'); % Nome do parametro
[M_ary] = getSettings(settingsBlock,'M_ary');
p.symbol_rate = symbol_rate;
p.M = M_ary;
% Atribuir variáveis na forma de struct para o workspace do MATLAB
assignin('base', 'p', p);
function varargout = getSettings(settingsBlock, varargin)
varargout = cell(size(varargin));
h = get_param(settingsBlock, 'handle');
for n = 1:length(varargin)
varargout{n} = evalin('base', get(h, varargin{n}));
end
2.3 Inicialização do arquivo .m dentro da mascara do subsistema criado
Clique novamente no Subsistema onde você criou a mascara e digite crtl + M. Escolha a opção Initialization e coloque no campo Initialization Commands o nome dado a função criada com extensão .m como é mostrado na figura abaixo.
Assim, você utiliza essas variáveis pelo modelo, e pode altera-las apenas dando dois clique no bloco mascarado e alterando por la os valores dos parâmetros. Certifique-se que esteja no diretório onde esta salvo tanto o modelo como o arquivo .m (os dois devem estar no mesmo diretório).
3 Callbacks
Outra forma de trabalhar com variáveis e parâmetros é através de callbacks onde você predetermina valores de variáveis ou até carregar funções criadas no MATLAB. Para saber mais acesse: Model Callbacks