Tutorial referente criao e uso de blocos personalizados no Simulink, sendo essa uma ferramenta para simular, modelar, controlar e analisar sistemas dinmicos atravs de blocos funcionais.
O Simulink dispe de inmeros blocos pr-configurados mas em alguns momentos o desenvolvedor deseja utilizar seu prprio cdigo seja para simplificar o projeto, seja para acrescentar funcionalidades ao projeto. Para o tutorial, ser criado um bloco que far a leitura de 2 entradas e ter como sada o somatrio das mesmas. O primeiro passo a abertura do Simulink atravs do Workspace do Matlab: >> simulink
O menu que aberto (Library Browser) destinado procura dos blocos funcionais existentes. Antes de adicionar os blocos deve-se criar um novo arquivo de projeto, selecionando-se: File/New/Model. Para que um bloco personalizado seja adicionado, deve-se digitar na busca no Library Browser o termo: s-function conforme a Figura 2.
Arthur Schuler da Igreja Pgina 1
Deve-se selecionar o bloco e arrast-lo para o novo modelo criado conforme a Figura 3.
O prximo passo criar o arquivo m.file (cdigo Matlab) que ser executado dentro do bloco. Para isso, deve-se retornar ao Workspace e acessar: File/New/Script. O arquivo dever ter algumas funes pr-definidas conforme segue:
Pgina 2
function bloco_teste(block) setup(block); end function setup(block) %% DEFINIO DO NMERO DE ENTRADAS E SADAS DO BLOCO block.NumInputPorts = 2; block.NumOutputPorts = 1; block.SetPreCompInpPortInfoToDynamic; block.SetPreCompOutPortInfoToDynamic; %% DEFINIO DO SAMPLE TIME DO BLOCO 0.1 SEGUNDOS block.SampleTimes = [0.1 0]; block.SetAccelRunOnTLC(true); block.RegBlockMethod('Outputs',@Output); end %% BLOCO ONDE A FUNO DECLARADA function Output(block) ENTRADA1=block.InputPort(1).Data; %% FAZ LEITURA DA ENTRADA 1 ENTRADA2=block.InputPort(2).Data; %% FAZ LEITURA DA ENTRADA 2 block.OutputPort(1).Data = ENTRADA1+ENTRADA2; %% PROCESSA SADA end
Tal cdigo dever ser salvo com o nome bloco_teste.m visto que foi o nome declarado no incio do cdigo. Para salvar: File/Save as..../bloco_teste.m conforme a Figura 4.
Pgina 3
Voltando para o Simulink, clica-se 2 vezes em cima do bloco mlfile e no campo M-file name: indica-se a funo criada.
Confirmando-se em Apply/OK o bloco toma a forma declarada, ou seja, com 2 sinais de entrada e 1 sinal de sada. Em seguida, conecta-se um sinal de STEP em cada uma das entradas para verificar o correto funcionamento do projeto e um SCOPE na sada.
No primeiro sinal de Step, clicando-se duas vezes, ser alterada a amplitude do sinal de 1 para 2 atravs da mudana do parmetro Final value: e confirmando-se em OK.
Pgina 4
Dessa forma o bloco ter um sinal de entrada com amplitude 1 e outro com 2 e dever ter sada igual ao somatrio. Para verificar o funcionamento basta acessar o menu Simulation/Start. Para verificar o grfico de sada basta clicar 2 vezes em cima do bloco Scope.
Pgina 5