主要内容

本页采用了机器翻译。点击此处可查看英文原文。

systemcomposer.arch.Adapter

System Composer 适配器

自 R2026a 起

    说明

    一个 Adapter 对象表示 System Composer™ 模型中的一个适配器。该类派生自 systemcomposer.arch.Element

    创建对象

    使用 addAdapter 函数在架构模型中创建一个适配器。

    model = systemcomposer.createModel('archModel');
    arch = get(model,'Architecture');
    adapter = addAdapter(arch,'newAdapter');

    属性

    全部展开

    适配器的输入,指定为 systemcomposer.arch.ComponentPort 对象的数组。

    适配器的输出,指定为 systemcomposer.arch.ComponentPort 对象。

    一种映射表,它使用带修饰符的端口元素名称,将适配器中的输入元素映射到输出元素,该映射表以 N×2 格式指定。

    数据类型: table

    接口转换模式,指定为以下选项之一:

    • "None"

    • "Unit Delay"

    • "Rate Transition"

    • "Merge"

    数据类型: string

    接口转换的其他选项,请从以下选项中选择一个:

    • systemcomposer.arch.AdapterUnitDelayOptions:

      • 属性 InitialConditions - 单位延迟状态的初始条件,以字符串形式表示的数值,默认值为 "0"

    • systemcomposer.arch.AdapterRateTransitionOptions:

      • 属性 Integrity - 速率转换的 "Ensure data integrity during data transfer" 选项,指定为逻辑值,默认值为 true

      • 属性 Deterministic - 速率转换的 "Ensure deterministic data transfer" 选项,指定为逻辑值,默认值为 true

    数据类型: class

    在画布上的位置,指定为坐标向量(以像素为单位):[left top right bottom]

    每个向量指定了组件左上角和右下角的位置,指定为 1×4 数值数组。数组用左上角的 xy 坐标表示左上角,然后是右下角的 xy 坐标。

    数据类型: double

    拥有适配器的架构,指定为 systemcomposer.arch.Architecture 对象。

    父级 System Composer 模型,指定为 systemcomposer.arch.Model 对象。

    Simulink® 句柄,指定为双精度类型。

    此属性对于多个 Simulink 工作流以及使用 Requirements Toolbox™ 编程接口而言是必不可少的。

    示例: handle = get(object,'SimulinkHandle')

    数据类型: double

    Simulink 父级 System Composer 模型的句柄,指定为双精度数值。

    此属性对于多个 Simulink 工作流以及使用 Requirements Toolbox 编程接口而言是必不可少的。

    示例: handle = get(object,'SimulinkModelHandle')

    数据类型: double

    唯一外部标识符,指定为字符向量。外部 ID 在元素的整个生命周期以及所有保留 UUID 的操作中都会被保留。

    数据类型: char

    统一唯一标识符,指定为字符向量

    示例: '91d5de2c-b14c-4c76-a5d6-5dd0037c52df'

    数据类型: char

    对象函数

    addInput在适配器上创建新输入
    getInput按名称获取适配器的输入端口
    connectTo将适配器连接到架构构件上
    updatePosition根据目标端口更新适配器的位置
    addMapping向适配器添加新的映射条目
    removeMapping删除适配器中输入元素的映射条目
    isFMU确定组件与功能模型单元 (FMU) 的链接
    isProtected确定组件引用模型受到保护
    isReference确定组件对另一个模型的引用
    connect创建架构模型连接
    getPort按名称获取端口
    setMaskImage将封装图像应用到组件
    getQualifiedName获取模型元素的限定名称
    current获取当前所选元素的对象
    destroy移除模型元素

    示例

    全部折叠

    在 System Composer 中创建一个适配器,并将其连接到三个组件。

    创建模型并获取根架构。

    model = systemcomposer.createModel("archModel");
    systemcomposer.openModel("archModel");
    rootArch = get(model,"Architecture");

    创建三个新组件。

    names = ["Component1","Component2","Component3"];
    newComponents = addComponent(rootArch,names);

    为组件添加端口。

    comp1 = getComponent(rootArch,"Component1");
    comp2 = getComponent(rootArch,"Component2");
    comp3 = getComponent(rootArch,"Component3");
    outPort1 = addPort(comp1.Architecture,"p1","out");
    outPort2 = addPort(comp2.Architecture,"p2","out");
    inPort1 = addPort(comp3.Architecture,"p3","in");

    提取组件端口。

    srcPort1 = getPort(comp1,"p1");
    srcPort2 = getPort(comp2,"p2");
    destPort = getPort(comp3,"p3");

    创建一个适配器。

    adapter = rootArch.addAdapter(InputName=["p1","p2"],OutputName=["p3"]);

    将适配器连接到这三个组件上。

    adapter.connectTo(SourcePort=[srcPort1,srcPort2],TargetPort=[destPort]);

    改进模型布局。

    Simulink.BlockDiagram.arrangeSystem("archModel")

    详细信息

    全部展开

    版本历史记录

    在 R2026a 中推出