如何将M文件调用到Simulink模型



我从这个链接得到了一个脚本,它在MATLAB中正确运行。然而,当我创建Simulink模型时,它运行正常,但我可以从m文件中获取数据。

MATLAB脚本:

function data = Loadcell()
eml.extrinsic('arduino','addon','read_HX711')
a = arduino('COM5','Mega2560','libraries','ExampleAddon/HX711');
while 1
LoadCell = addon(a, 'ExampleAddon/HX711',{'D2','D3'});
data = read_HX711(LoadCell)
end
end

Simulink功能

function data = Loadcell()
coder.extrinsic('Loadcell');
Loadcell = zeros('double');
data = zeros('double');
data = Loadcell
end

我使用Arduino在外部模式下运行Simulink,但我没有从该代码中获得数据。我如何使用MATLAB脚本在Simulink块模型中使用它并获取数据?

这很可能是的几个问题

  1. 将Simulink中的嵌入式MATLAB函数命名为与MATLAB函数相同的函数。(您希望Simulink如何知道它应该调用哪个函数?MATLAB函数,还是重新输入嵌入式MATLAB函数?(

  2. Loadcell定义为extrinsic函数,然后(重新(将其定义为双0.0,然后尝试将其作为函数执行。

我怀疑你想要之类的东西

function data = Loadcell_Wrapper()
coder.extrinsic('Loadcell');
data = zeros(1,1,'double');
data = Loadcell()
end

(同样,这不是你问题的一部分,但MATLAB代码中不是有一个无限循环吗?(

相关内容

  • 没有找到相关文章