主要内容

软件组件的建模

软件建模指建模、模拟和生成代码的算法在软件框架中运行。金宝app动态仿真模块®提供了一系列的建模抽象、语义和配置功能,帮助您创建算法模型,利用调度、通信、时间、内存、诊断和多核支持这些框架。金宝app例如,当设计一个模型,您可以:

  • 分区的设计时间,基于事件的调度。

  • 设计软件组件数据接口。

  • 表示调用目标平台服务诊断和内存等服务。

  • 为在多核系统上并发执行配置模型。

  • 创建测试和模拟模型的组成部分。

  • 与标准的集成中间件软件,比如AUTOSAR和DDS。

  • 代表复杂的控制和模式转换逻辑。

通过使用模型参考,变体,和数据管理功能,您可以设计可重用的软件组件在应用程序和软件框架。

当你使用仿真软件仿真软件代金宝app码生成和验证和测试的产品,您可以指定,精心设计,测试和验证软件组件。下载188bet金宝搏您可以:

  • 模型系统的仿真软件。金宝app

  • 在目标环境模拟系统行为。

  • 使用金宝app仿真软件编码器™或者嵌入式编码器®从你的算法模型来生成代码快速成型或生产,分别。

  • 初始化函数调用生成的入口点函数执行初始化和控制,重置和关闭。

  • 使用代码共享功能部署和集成函数层次生成源代码,共享库和应用程序的可执行程序。

看到建模指南特定于应用程序的指导模型架构、设计和配置。

创建模型的软件组件

当你设计每个组件的功能组成,它是有用的区分算法内部的组件和组件的交互与目标环境的软件。每个软件组件可以实现的算法在仿真软件模型中,这是引用的模型块仿真软件或软件组件的组成成分在系统作曲家™。金宝app模型可用于多个实例设计中,用于模拟和代码生成。

在代表软件组件的模型中,可以进一步的组件化设计。看到基于组件的建模指南。组件化,你可以使用子系统建立层次结构框图和功能相关的块保持在一起。关于子系统的更多信息,请参阅创建子系统。您还可以使用模型引用定义一组块一次,重复使用它。使用模型引用代替子系统提供了几个优势。例如,模型引用允许你做模块化开发,在此期间您可以开发一个引用模型独立于模型,使用它。使用模型引用还允许模型的保护,使用相同的多个参考模型,增量模型加载和代码生成。金宝app有关更多信息,请参见模型参考基础

三个模型块显示的名称引用模型(sldemo_mdlref_counter)块图标。

您可以创建自己的自定义库的阻塞的使用实例从内置模型库或您创建的模块或组件。金宝app您可以创建自定义块通过遗留代码或其他自定义代码。看到使用自定义块扩展建模功能。使用自定义库有助于提供经常使用,很少改变重用组件的建模工具和一个模型或多个模型。欲了解更多,请看创建自定义库

金宝app模型库浏览器窗口显示“我的图书馆”的内容。

安排和控制您的软件组件的执行模型,您可以设计每个模型的导出功能模型或率模型。导出功能模型,独立可调用的函数的代码生成器生成的代码可以与目标环境集成软件和调度器。看到导出功能模型概述。率模型,仿真软件调度函数执行基于样例次。金宝app代码生成器生成一个可调用的函数为每个率模型中表示。提供灵活的入口点和定制支持导出功能模型,这使得他们用于生成生产代码。金宝app有关更多信息,请参见创建导出功能模型创建率模型

函数调用子系统块连接到端口。模型块与周期性的事件和其他港口。

当你设计你的组件的接口,使用在公共汽车元素轮廓尺寸块代表组件的输入。一个信号或消息到达一个输入端口组件流出该组件的相关尺寸。同样,使用公共汽车元素外港块代表组件输出。

金宝app模型的机械系统模型,同一块带在一个子系统。

减少视觉复杂性在一个模型中,可以将信号到公交车的复合信号。公交车包含元素,保持自己的独立身份,它允许您从混合信号中提取它们。当你组信号为公共汽车你可以决定他们是否影响模拟和代码生成。

  • 一个虚拟复合信号简化模型的视觉外观结合两个或两个以上的信号行成一行。它不组在任何功能意义上的信号,因此,不影响模拟或代码生成。通过直接访问元素,虚拟复合信号执行速度比nonvirtual复合信号模拟和生成的代码。

  • 一个nonvirtual复合信号视觉和功能组信号,影响模拟和代码生成。

有关更多信息,请参见选择复合界面

为模型,包括公交车许多总线组成的元素,可以考虑使用在公共汽车元素公共汽车元素块。这些块减少信号线复杂性和结合的功能尺寸和外港块能够选择哪些元素总线的输入和输出。你可以自定义数据接口组件通过定义和使用自定义总线类型。看到创建Nonvirtual公交车

金宝app仿真软件模型与多个输出信号形成总线信号。

你可以配置组件调用平台服务,这样的数据发送方和接收方和定时器服务,定制服务,如设备驱动程序,和其他组件代码,或其他目标环境的软件,在分布式服务架构。使用函数调用子系统和函数调用块一起为此港口。看到使用函数调金宝app用模型函数在其他模型端口

您可以配置组件上运行并发系统部署时多核处理器和多处理器系统。这个配置可以提高性能或提高嵌入式系统的可伸缩性。看到在多核编程概念多核编程与仿真软件金宝app

代表一个区域的内存使用的组件模型,您可以使用一个数据存储。数据存储是一个存储库,您可以阅读,您可以编写数据没有输入或输出信号连接到商店,类似于一个全局变量在一个程序中。使用数据存储读取和数据存储块写入访问数据存储。看到通过创建数据存储模型全局数据确定在哪里存储变量和对象模型模型金宝app

金宝app模型与数据存储内存块画布和数据存储读写块连接到其他块模型。

创建模型的目标环境

一旦你创建模型的软件组件,您可以测试您的设计通过创建一个模型来模拟或模拟的目标环境组件将被部署。

使用消息模型仿真软件组件间的通信系统集成的目的。金宝app

您可以使用基于消息的通信,而不是信号组件通信建模时系统取代集中式体系结构的分布式架构。消息是一个有用的建模工件,它结合了事件和相关数据。你可以发送和接收消息从根模型的输入和输出端口,生成C / c++代码连接到中间件或操作系统通信编程接口。

有关更多信息,请参见金宝app仿真软件信息概述

金宝app仿真软件模型与消息轮廓尺寸和外港块。模型外,酒吧里贴上“中间件”是由箭头连接尺寸和外港块。

使用仿真金宝app软件功能等代表可调用的服务的输入和输出,记忆,诊断和硬件外围设备。看到金宝app动态仿真模块功能概述

金宝app仿真软件功能块连接尺寸和外港块。

计划的执行你的软件组件,您可以使用时间表编辑器,Stateflow®图表或其他等调度模块函数调用生成器。看到使用函数调用测试导出功能模型模拟发电机,测试导出功能模型模拟使用Stateflow图表,测试导出功能模型模拟使用时间表编辑器。率模型,您可以使用仿真软件内置的调度程序,基于样本时间安排任务。金宝app导出功能模型,您需要安排执行显式的调用。看到创建分区

如果你有导出功能和率组件,您可以使用周期函数调用事件率组件端口。你也可以安排时间表编辑器。

您可以使用事件函数实现启动,关闭,模式转换系统的行为。看到使用初始化,初始化、复位和终止功能

测试系统通过模拟组合模型

一旦你建立了一个模型的目标环境在你的软件组件,您可以模拟模型来测试和改进你的设计。

你可以观察到在模拟系统行为,如何看待和分析结果数据通过使用模拟数据检查员。看到研究信号值。还可以使用序列观众想象的消息和函数调用。

你可以尝试不同的参数值或变量配置测试系统。看到调整和试验块参数值变异是什么以及何时使用它们

如果你有一个金宝app仿真软件测试™许可,可以自动创建一个测试工具测试系统模型。

将组件集成到软件架构

一旦你创建模型在仿真软件来表示你的软件组件,您可以将金宝app组件集成到一个软件体系结构模型在系统作曲家。将软件组件添加到您的软件体系结构模型,然后连接这些组件的仿真软件模型。金宝app您可以使用导出功能和率模型。定义和创建组件之间的接口来构建组合。然后您可以使用系统作曲家查看、分析和模拟成分帮助你进一步细化设计。看到作者软件架构(系统作曲家)

软件体系结构的组件与一个导出功能模型。

设计软件架构

设计软件组件本身之前,设计系统的总体体系结构的组件操作可以是有用的。您可以建模系统的高级行为通过创建一个软件体系结构模型在系统作曲家。看到设计软件架构(系统作曲家)

使用系统的作曲家,您可以定义组件接口,组件功能,作者分析您的设计和模拟组合之前完全实现的功能组件。看到作者和扩展功能的软件架构(系统作曲家)

系统作曲家帆布与软件体系结构模型由4组件,每一个与多个港口和接头。

生成代码的软件组件

当你准备为软件组件生成代码,使用嵌入式编码器为代码生成模型并生成C代码。生成的代码从一个模型包括入口点函数,从应用程序代码调用。执行功能,这些功能包括一个初始化函数,可选地,终止和复位功能。功能与应用程序代码交换数据通过数据接口控制。定制的数据接口生成的代码,使用嵌入式编码字典和代码映射编辑器。测试生成的代码,您可以运行software-in-the-loop(银)和processor-in-the-loop(公益诉讼)模拟。SIL仿真编译和运行生成的代码在开发计算机上。公益诉讼模拟开发电脑上交叉编译源代码。公益诉讼仿真然后下载和运行目标代码目标处理器或一个等价的指令集模拟器。

首先,明白了嵌入式编码基本原理(嵌入式编码)