5

当我将名称设置为信号时,我遇到了一些关于信号名称的问题。

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

set_param(signal_h, 'SignalNameFromLabel', signal_name);

get_param(signal_h, 'Name');

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

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

所以想请教大家,如何通过命令行设置或获取信号名称的位置。

对不起我的英语水平。感谢您的所有回答。

在此处输入图像描述

4

2 回答 2

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])

在此处输入图像描述

于 2013-11-08T09:13:31.113 回答
1

正如 thewaywewalk 所提到的,没有任何程序化的方式可以做你想做的事情(至少没有记录在案)。您可以通过设置代表信号的端口或线路的名称参数以编程方式命名信号:

p = get_param(gcb, 'PortHandles')
l = get_param(p.Outport, 'Line')
set_param(l, 'Name', 's9')

但是根据文档,您只能用鼠标交互地移动信号标签:

移动信号标签

标签可以出现在水平线或线段的上方或下方,以及垂直线或线段的左侧或右侧。标签可以出现在任一端、中心或这些位置的任意组合中。

要移动信号标签,请将标签拖到线上的新位置。当您释放鼠标按钮时,标签会固定在线条附近的位置。您不能将标签拖离其信号,而只能拖到与信号相邻的不同位置。

于 2013-11-08T09:37:24.253 回答