主要内容

通过编程方式配置AUTOSAR体系结构模型

AUTOSAR架构模型提供了资源和帆布发展AUTOSAR成分和组件模型。你开发软件体系结构通过使用图形用户界面,相当于架构建模功能,或两者兼而有之。AUTOSAR Blockset提供了这些功能架构相关的任务。

任务 功能
创建、负载、打开、保存或关闭一个AUTOSAR的架构模型 autosar.arch.createModel
autosar.arch.loadModel
关闭
开放
保存
添加、连接或删除AUTOSAR组件、组合、和港口 addComponent
addComposition
addPort
连接
摧毁
importFromARXML
布局
找到AUTOSAR元素和修改属性 找到
得到
定义组件行为通过创建或连接模型金宝app®模型 createModel
linkToModel
添加基础软件(BSW正在)服务组件块模拟BSW正在服务调用 addBSWService
出口结构和组件ARXML描述并生成组件代码(需要嵌入式程序员®) 出口
getXmlOptions
setXmlOptions

这个示例脚本:

  1. 创建并打开一个AUTOSAR的架构模型。

  2. 添加一个成分和组件。

  3. 增加了体系结构、组成和组件端口。

  4. 连接体系结构、组成和组件端口。

  5. 为组件创建和链接仿真软件实现模型。金宝app

  6. 安排架构模型基于启发式的布局。

  7. 组件和端口属性集。

  8. 删除一个组件。

  9. 搜索元素在不同的层次体系结构的层次模型。

  10. 列表属性值对组成的港口。

运行该脚本,复制从MATLAB命令®MATLAB命令窗口下面脚本清单。

或者,您可以复制脚本文件configAutosarArchModel.m到你的工作目录并运行该文件。将脚本复制到你的工作目录中,输入MATLAB命令:

拷贝文件(fullfile (matlabroot”,帮助/工具箱/ autosar /例子/ configAutosarArchModel.m”),“。”)
% configAutosarArchModel.m%%配置AUTOSAR架构模型。%这个脚本创建模型管理员一。基金和Actuator.slx。%重新运行脚本,删除工作目录的模型。%创建和打开AUTOSAR架构模型modelName =“myArchModel”;archModel = autosar.arch.createModel (modelName);%添加成分作文= addComposition (archModel,“传感器”);%添加2组件内部传感器组成名称= {“PedalSnsr”,“ThrottleSnsr”};sensorSWCs = addComponent(组成、名称、“类型”,“SensorActuator”);布局(成分);%自动排列组合布局%添加组件高层体系结构模型(称为布局安排块)addComponent (archModel的管理员一);致动器= addComponent (archModel,“执行机构”);集(致动器,“类型”,“SensorActuator”);%添加架构端口addPort (archModel“接收方”,{“TPS_Hw”,“APP_Hw”});addPort (archModel“发送”,“ThrCmd_Hw”);%添加成分端口addPort(组成、“接收方”,{“TPS_Hw”,“APP_Hw”});addPort(组成、“发送”,{“TPS_Perc”,“APP_Perc”});%添加组件端口控制器=找到(archModel,“组件”,“名字”,的管理员一);addPort(控制器,“接收方”,{“TPS_Perc”,“APP_Perc”});addPort(控制器,“发送”,“ThrCmd_Perc”);addPort(致动器,“接收方”,“ThrCmd_Perc”);addPort(致动器,“发送”,“ThrCmd_Hw”);%在顶层,连接成分和组件基于匹配端口名称连接(archModel、组合、控制器);连接(archModel、控制器、执行机构);%连接指定拱根端口指定的成分和组件端口连接(archModel archModel.Ports (1) composition.Ports (1));%使用找到构建港口规格连接(archModel找到(archModel“端口”,“名字”,“APP_Hw”),找到(组成、“端口”,“名字”,“APP_Hw”));连接(archModel actuator.Ports (2), archModel.Ports (3));%或者,根端口连接架构基于匹配端口名称%连接(archModel、[]、写作);%连接(archModel、传动装置、[]);%为控制器和执行机构组件创建实现模型createModel(控制器);createModel(执行机构);%链接实现模型PedalSnsr组件内部传感器pedalSnsr =找到(组成、“组件”,“名字”,“PedalSnsr”);%路径添加到实现模型目录(fullfile (matlabroot,' / / autosarblockset /主要的例子));linkToModel (pedalSnsr“autosar_tpc_pedal_sensor”);布局(archModel);%自动排列布局%设置属性集(composition.Ports (1),“名字”,“NewPortName1”);%的名字传感器组成的港口集(composition.Ports (3),“名字”,“NewPortName2”);集(find(控制器,“端口”,“名字”,“TPS_Perc”),“名字”,“NewPortName3”);%为管理员一组件&实现港口名称集(控制器,“类型”,“ServiceProxy”);%为管理员一组件组件类型集(控制器,“名字”,“Instance1”);%为管理员一组件名称%摧毁组件ThrottleSensor内部传感器throttleSnsr =找到(组成、“组件”,“名字”,“ThrottleSnsr”);破坏(throttleSnsr);%找到顶级组件体系结构模型components_in_arch_top_level =找到(archModel,“组件”)%找到组件的层次结构components_in_all_hierarchy =找到(archModel,“组件”,“AllLevels”,真正的)%找到港口块组成composition_ports =找到(组成、“端口”)%类型和名称属性值列表组成的港口2 = 1:长度(composition_ports)端口= composition_ports (ii);portName =得到(港口,“名字”);portKind =得到(港口,“类型”);流(“% s % s \ n端口”、portKind portName);结束
components_in_arch_top_level = 2×1组件数组属性:名称类型港口ReferenceName父SimulinkHandle components_in_all_hierarchy =金宝app 3×1组件数组属性:名称类型港口ReferenceName父SimulinkHandle composition_ports = 4×1 CompPort数组属性:一名家长SimulinkHandle接收机端口连接NewPortName1接收机端口APP_Hw发送方端口NewPortName2 APP_Perc发送端口

另请参阅

|||

相关的话题