How to run Matlab function inside simulink?

I have a written code of motor which works very well in Matlab. I need to connect this code to Simulink and for this, I am using Matlab function block inside SIMULINK.
My code has a sub-function. I need to define some parameters for my sub-function but every time I will get an error.
Any idea?!
I wrote this code inside the Matlab function block:
function y = fcn(u)
global B_bank DLarbr_bank DLbrcr_bank DLarcr_bank DLrarc_bank DLrbrc_bank Rr DLSR Ras Rbs Rcs
load('B_bank.mat');load('DLarbr_bank.mat');load('DLarbr_bank');load('DLbrcr_bank.mat');load('DLarcr_bank.mat');load('DLrarc_bank.mat');load('DLrbrc_bank.mat');load('Rr');load('DLSR');
Va=u(1)
Vb=u(2)
Vc=u(3)
t=u(4)
[result]=ode45('Sub_Func',t,zeros(50,1)); % Maine code
y = result;
The error is :
Global declaration not resolved to a Data Store Memory block registered via the Ports and Data Manager.
Function 'MATLAB Function' (#50.115.121), line 4, column 1:"B_bank" Launch diagnostic report.
Thanks for your help.

답변 (2개)

Walter Roberson
Walter Roberson 2016년 10월 30일

0 개 추천

댓글 수: 1

Babak
Babak 2016년 11월 1일
편집: Babak 2016년 11월 1일
Thank you, Walter, for the link. I spent one day to figure it out but still get an error. I made a one minute video about the procedure. I appreciate if you have a look and let me know what is wrong. ( Apologies in advance for trademark) https://www.youtube.com/watch?v=RAnTjvzRdcY
Error is: "Variable 'B_bank' is resolved in the workspace ('base') for block 'test1/MATLAB Function' but it is not a 'Simulink.Signal' object."
Some explanation about my code: I have 9 matrixes with different sizes which I need to make them global.
The function (sys_FINAL) inside the MATLAB Function, calls these matrixes.

댓글을 달려면 로그인하십시오.

Danilo Teran
Danilo Teran 2018년 12월 4일

0 개 추천

Hi
I am sorry how did you resolve this problem. I am having a similar problem and i didn't find a way to solve it.
Thanks in advance

카테고리

도움말 센터File Exchange에서 Simulink Functions에 대해 자세히 알아보기

질문:

2016년 10월 30일

답변:

2018년 12월 4일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by