主要内容

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

systemcomposer.arch.Function

R2026a

软件架构函数

    描述

    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

    自 R2026a 起

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

    依赖项

    只有函数组具有此属性。

    对象函数

    increaseExecutionOrder将函数执行顺序改为稍后
    decreaseExecutionOrder将函数执行顺序提前
    addAdd function to function group
    removeRemove function from function group
    ungroupRemove all functions from function group
    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 中推出

    全部展开