将SIMULINK组件中指定的数据提取到MATLAB中

问题描述 投票:0回答:1

早安,

此问题与获取指定SIMULINK中组件特征的数据有关。

我在SIMULINK中有太阳能模块块。

当我双击它时,将显示许多参数。

这些参数可以由用户更改。例如,Voc,Isc,Vm和Im。

SIMULINK库中有数千个PV模块。我想收集约100个光伏模块的数据,以便对光伏模块进行一些统计。

例如,我想创建一个Excel工作表,其中包含PV模块中显示的所有参数,包括Pm,Vm,Im,Voc,Isc,IL,Rs等。

这些在下图中突出显示:

PV module

[我知道我可以通过单击PV模块并手动填充Excel文件来轻松完成此操作,但是这将花费很长时间,因为我必须看到大约100个PV模块并手动填充,这很无聊,可能会也会导致填写数据时出错。

是否有更简单的方法来获取这些数据?

我可以通过某种方式将这些数据(在上图中用正方形包围)保存在工作区中或在MATLAB中的任何位置,因此我只需要将数据从每个PV模块复制并粘贴到Excel文件中,以便我可以避免手工撰写这些值在Excel中。

问候

matlab simulink
1个回答
0
投票

您可以使用带有get_param命令的matlab脚本来执行此操作。

您应该做的是:

  • 在Simulink模型中查找PV块类型的所有块

例如,这将为您提供当前打开的Simulink模型中的常量块:

% Find all the constants within the model
ConstList = find_system(bdroot,'SearchDepth',1,'BlockType','Constant');

请注意,SearchDepth参数会告诉您这些块在子系统中的深度,请根据块的位置进行修改。

-按列表中的每个元素并获取参数的值:

% Get the number of blocks
l = length(ConstList);
% Loop to get the parameter
for i = 1:l
   Value(i) = get_param(ConstList(i),'Value');
end

在您的情况下,您有多个参数,因此您必须创建一个表而不是单个数组。

一旦您将值包含在matlab变量中,就很容易将它们导出到excel。

© www.soinside.com 2019 - 2024. All rights reserved.