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



你好,

该问题与在SIMULINK中获取指定组件特性的数据有关。

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

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

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

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

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

这些在下图中突出显示:

光伏组件

我知道我可以通过点击光伏组件并手动填写Excel文件来轻松完成,但这需要很长时间,因为我必须看到大约100个光伏组件并手工填写,这很无聊,而且在填写数据时也可能出现错误。

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

我可以以某种方式将这些数据(上图中用正方形包围(保存在工作空间或MATLAB中的任何位置吗?这样我只需将每个光伏模块的数据复制并粘贴到Excel文件中,就可以避免手动编写Excel中的这些值。

问候

您可以使用带有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中。