主要内容

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

systemcomposer.arch.Function

软件架构函数

自 R2021b 起

    说明

    Function 对象代表软件架构模型中的一个函数。

    使用软件架构模型上工具条中的函数编辑器,编辑软件架构中具有继承采样时间 (-1) 的函数的仿真执行顺序和采样时间。

    创建对象

    使用 systemcomposer.arch.Architecture 对象上的 Functions 属性获取软件架构模型中的函数。

    model = systemcomposer.openModel('ThrottleControlComposition');
    sim('ThrottleControlComposition');
    functions = model.Architecture.Functions

    属性

    全部展开

    元素所属的架构模型,指定为 systemcomposer.arch.Model 对象。

    函数名称,指定为字符向量。

    数据类型: char

    定义函数的组件,指定为 systemcomposer.arch.Component 对象。

    定义函数的元素的父架构,指定为 systemcomposer.arch.Architecture 对象。

    函数周期,指定为可转换为字符串的数值或有效 MATLAB® 变量字符串。您可以编辑非周期性函数的 Period 属性。如果编辑周期函数的 Period 属性,会出现错误。

    函数的执行顺序,指定为数值行向量。

    示例: [model.Architecture.Functions.ExecutionOrder]

    数据类型: uint64

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

    数据类型: char

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

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

    数据类型: char

    对象函数

    increaseExecutionOrder将函数执行顺序改为稍后
    decreaseExecutionOrder将函数执行顺序提前
    applyStereotype为架构模型元素应用构造型
    getStereotypes获取应用于架构模型元素的构造型
    removeStereotype从模型元素中移除构造型
    setProperty设置与应用于元素的构造型相对应的属性值
    getProperty获取与应用于元素的构造型相对应的属性值
    getPropertyValue获取架构属性值
    getEvaluatedPropertyValue从元素中获取属性的计算值
    getStereotypeProperties获取元素上的构造型属性名称
    hasStereotype查找元素是否已应用构造型
    hasProperty查找元素是否具有属性
    destroy移除模型元素

    示例

    全部折叠

    此示例展示了节流阀位置控制系统的软件架构,以及如何调度根级函数的执行顺序。

    model = systemcomposer.openModel("ThrottleControlComposition");

    对模型进行仿真,为其填充函数。

    sim("ThrottleControlComposition");

    查看按执行顺序排列的函数名称。

    functions = {model.Architecture.Functions.Name}'
    functions = 6×1 cell
        {'Actuator_output_5ms'   }
        {'Controller_run_5ms'    }
        {'TPS_Primary_read_5ms'  }
        {'TPS_Secondary_read_5ms'}
        {'TP_Monitor_D1'         }
        {'APP_Sensor_read_10ms'  }
    
    

    降低第三个函数的执行顺序。

    decreaseExecutionOrder(model.Architecture.Functions(3))

    查看按执行顺序排列的函数名称。

    functions = {model.Architecture.Functions.Name}'
    functions = 6×1 cell
        {'Actuator_output_5ms'   }
        {'TPS_Primary_read_5ms'  }
        {'Controller_run_5ms'    }
        {'TPS_Secondary_read_5ms'}
        {'TP_Monitor_D1'         }
        {'APP_Sensor_read_10ms'  }
    
    

    现在,第三个函数的执行顺序提前了,执行时间也提前了。

    增加第二个函数的执行顺序。

    increaseExecutionOrder(model.Architecture.Functions(2))

    查看按执行顺序排列的函数名称。

    functions = {model.Architecture.Functions.Name}'
    functions = 6×1 cell
        {'Actuator_output_5ms'   }
        {'Controller_run_5ms'    }
        {'TPS_Primary_read_5ms'  }
        {'TPS_Secondary_read_5ms'}
        {'TP_Monitor_D1'         }
        {'APP_Sensor_read_10ms'  }
    
    

    现在,第二个函数的执行顺序向下移动,在后面执行。

    详细信息

    全部展开

    版本历史记录

    在 R2021b 中推出