如何在信号线上获取信号名称的位置(MATLAB/Simulink)

Kri*_*non 5 matlab simulink

当我设置一个名字来发信号时,我有一些关于信号名称的问题.

现在我可以设置并获取信号名称

set_param(signal_h, 'SignalNameFromLabel', signal_name);
Run Code Online (Sandbox Code Playgroud)

get_param(signal_h, 'Name');
Run Code Online (Sandbox Code Playgroud)

但我无法设置或获取信号名称的位置.

我打开.mdl作为文本(记事本++)然后我发现*.mdl将信号名称的位置保留为Labels参数中的 矩阵

所以我想问你们所有,如何通过命令行设置或获取信号名称的位置.

对不起我的英语技能.谢谢你的所有答案.

在此输入图像描述

the*_*alk 2

当您inspect修改信号位置时,您的信号句柄将不会发现任何属性发生变化。所以我认为没有简单的方法可以做你想做的事。也许你可以使用底层的java对象,但这会很复杂。(……我对此无能为力)

我假设您以编程方式创建整个模型,不是吗?因此,您指定块的确切位置,并可能使用该add_line命令来绘制连接。为什么不考虑使用注释来标记信号?您像以前一样命名信号,但没有使标签可见。相反,您可以使用以编程方式生成的注释,如上面链接的文档示例中所示:

new_system('test')
open_system('test')
add_block('built-in/Gain', 'test/Gain', 'Position', ...
[260, 125, 290, 155])
add_block('built-in/Note','test/programmatically created', ...
'Position', [550 0 0 180])
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述