替代simulink透明子系统

时间:2016-02-29 04:31:39

标签: simulink

我需要在simulink中组织一组元素。第一种方法是创建子系统。子系统的问题是它内部的元素不再可见。另一种方法是创建一个彩色框并将其作为背景放在一组元素后面。在选择元素时会遇到很多麻烦。

理想的方法是让一个透明的子系统,但你可以看到里面的元素。所以你可以把它变大,看看它内部而不打开它。

什么是可行的替代方法?

enter image description here

2 个答案:

答案 0 :(得分:1)

知道simulink不支持这样做,唯一的可能是使用显示内容的掩码图标。以下是掩码的非常粗略的原型:

model='s1/Subsystem';
loc=fullfile(pwd,[model,'.png']);
print(['-s' model], ['-dpng'], '-r300', loc);
image(loc);
port_label('input',1,'In1');
port_label('output',1,'Out1');

enter image description here

显然,这个原型有很多问题,在真正使用代码时必须解决这个问题:

  • 删除硬编码目录。
  • 自动设置输入和输出。
  • 创建所需的文件夹结构。 (文件夹s1必须手动创建一次)
  • 缩放子系统块以使图像看起来不错
  • 如果pwd不是模型存储在中的目录,则
  • 正常工作

答案 1 :(得分:0)

您可以使用mask参数选项卡'Icon and Ports'的'Icon Drawing Commands': -

  1. 获取您希望在子系统上可见的逻辑门的屏幕截图(问题中显示蓝色背景颜色的逻辑门)

  2. 保存图片,例如'mylogic.png'

  3. 将此命令写入Icon and Ports图像的“Icon Drawing Command”字段(imread('Pause_Icon.png'));

  4. 你已经完成了。但是,请确保您将图片文件放在与模型相同的文件夹中,或者只是在路径中添加包含图片的文件夹。

    当然,如果您更新子系统内的块,则必须使用新屏幕截图更新掩码图标。