主要内容

初始化信号和离散状态

金宝app®允许您指定的初始值和离散信号,即。,信号和离散状态的值开始时间的模拟。可以使用信号对象指定初始值的任何信号或离散状态模型。此外,对于一些块,例如,外港,数据存储内存,或内存,您可以使用一个信号对象或一块参数或双方指定的初始值一块状态或输出。在这种情况下,模型检查,以确保金宝app信号对象和参数所指定的值是一致的。初始化信息总线信号,看到为总线元素指定初始条件

当你指定一个信号信号或离散状态初始化对象,或一个变量作为一块参数的值,仿真软件解决了名字你指定一个合适的对象或变量,描述金宝app符号解析

给定信号最多只能被关联到一个信号对象在任何情况下。信号可以引用对象不止一次,但每个引用都必须解决完全相同的对象。一个不同的信号对象完全相同的性能不能满足要求的独特性。编译时错误发生,如果一个模型将多个信号对象与任何信号。有关更多信息,请参见金宝appSimulink.Signal合并块。

使用块参数初始化信号和离散状态

块有一个初始值或初始条件参数,您可以使用这个参数来初始化一个信号。例如,下面的块参数对话框初始化单元的信号延迟块的初始条件0。

要访问这些块参数,选择其中一个技术:

  • 使用模型数据编辑器(在建模选项卡上,单击模型数据编辑器)与一个可搜索的配置多个信号和状态,可分类的表。初始化块状态或数据存储,您可以使用适当的选项卡(数据存储)。初始化一个信号、状态或数据存储,您可以使用参数选项卡并找到对应相关的行块参数。

  • 使用属性检查器(在建模选项卡,在设计,点击属性检查器)来配置一个信号或状态。选择维护目标状态的块或生成目标信号,找到相关的块参数。

  • 使用块参数对话框。使用这种技术来配置一个信号或状态或比较几个信号或状态的配置。

关于技术访问块参数的更多信息(包括控制信号的参数和状态初始化),看到的设置属性和参数

使用信号对象初始化信号和离散状态

您可以使用信号以外的存储类的对象“汽车”或者,当你设定的默认存储类相应的数据类别默认的(默认设置)代码映射编辑器,“模型默认”初始化:

  • 离散状态的初始条件参数

  • 信号模型中除了总线信号和块输出恒定值

指定一个初始值,使用Model Explorer或MATLAB®下面的命令:

  1. 创建信号对象。

    在Model Explorer工具栏,选择添加>金宝app仿真软件的信号。信号对象出现在工作区底部缺省名称。重命名对象S1。另外,使用这个命令在命令提示符:

    S1 = 金宝appSimulink.Signal;

    信号对象的名称必须相同的名称的信号对象初始化。虽然不是必需的,但是考虑设置信号仿真软件名称必须决心信号对象金宝app选择在信号属性对话框。这个设置使信号MATLAB工作区中的对象符合信号出现在您的模型中。

    考虑使用向导来创建信号对象的数据对象。数据对象向导搜索信号,信号的模型对象不存在。然后您可以选择性地创建信号对象为多个信号搜索结果中列出的单个操作。有关数据对象向导的更多信息,请参阅创建数据对象模型使用数据对象向导

  2. 设置信号对象存储类以外的一个值汽车模型的默认。在模型浏览器中内容窗格中,选择信号对象。在对话框中窗格中,集存储类ExportedGlobal。另外,使用这个命令在命令提示符:

    S1.CoderInfo。StorageClass =“ExportedGlobal”;

  3. 设置初始值。您可以指定一个MATLAB表达式,包括工作空间变量的名称,评估数字标量值或数组。

    仿真软件金宝app引擎将初始值类型,复杂性,和尺寸符合相应的参数值。如果你指定一个无效的值或表达式,则会出现一条错误消息,当你更新模型。

    在Model Explorer对话框窗格中,集初始值0.5。另外,使用这个命令在命令提示符:

    S1.InitialValue=“0.5”

    如果你也可以用一块参数设置的初始值信号或状态,你应该设置参数要么为空([])或相同的值作为初始值信号的对象。如果你设置参数值为空,仿真软件使用指定的值的信号对象初始化信号或状态。金宝app如果将参数设置为其它值,模型比较了参数值信号对象的值,并显示一个错误,如果他们是不同的。金宝app

    下面的示例显示了一个对象指定的初始输出一个信号使子系统。

    信号年代被初始化为0。4.5。为了避免一致性错误,使子系统的初始值外港块必须[]或4.5。

    如果你需要一个信号对象及其初始值设置跨模型会话持久化,明白了金宝app创建持久数据对象

一些初始值设置可能取决于初始化模式。有关更多信息,请参见未指定初始化检测

经典的初始化模式:在这种模式下,初始值设置对象代表以下信号和状态信号覆盖相应的块如果未定义(指定为参数的初始值[]):

  • 有条件地执行子系统的输出信号和合并块

  • 阻塞状态

简化初始化模式:在这种模式下,初始值的信号对象与下面的输出块将被忽略。使用相应的块的初始值。

  • 有条件地执行子系统的输出信号

  • 合并模块

使用信号对象来优化初始值

金宝app仿真软件允许您使用信号对象作为替代参数对象(见金宝appSimulink.Parameter)调整块输出和状态的初始值,可以通过一个可调参数来指定。使用一个信号对象调整一个初始值,创建一个信号对象名称相同的信号或状态和信号对象初始值设置为一个表达式,包括MATLAB工作区中定义的一个变量。然后您可以优化初始值通过改变相应的工作空间变量的值在模拟。

例如,假设你想优化的初始值内存块国家命名M1。为此,您可以创建一个信号对象命名M1,设置它的存储类“ExportedGlobal”,设置它的初始值K(M1.InitialValue =“K”),K是一个工作空间变量的MATLAB工作区,并设置相应的初始条件参数内存[]为了避免一致性错误。你可以改变的初始值内存块状态仿真期间任何时间通过改变的价值K在MATLAB命令行和更新框图(例如,通过输入Ctrl + D)。

初始化信号对象的行为总结

下面的模型和表显示不同类型的信号和离散状态,您可以初始化和仿真结果的行为。

信号或离散状态 描述 行为
S1 根输入端口
  • 初始化为S1.InitialValue

  • 如果你使用数据导入/导出面板的配置参数对话框指定根输入值,初始值覆盖,在每个时间步可能有所不同。否则,该值保持不变。

X1 单位延迟块,块的离散状态有一个初始条件
  • 初始化为X1.InitialValue

  • 金宝app仿真软件检查是否X1.InitialValue块匹配指定的初始条件,显示一个错误如果出现不匹配。

  • 第一次写,输出=X1.InitialValue和国家=S1

  • 在每个时间步后第一次写,输出等于等于状态和状态更新S1

  • 如果启用了块在一个子系统,可以使用初始值作为一个重置价值如果子系统启用块参数州时启用被设置为重置

X2 数据存储内存
  • 数据类型(DWork)向量进行初始化工作X2.InitialValue。有关工作的信息向量,明白了DWork矢量基础知识

  • 金宝app仿真软件检查是否X2.InitialValue块匹配指定的初始条件,并显示一个错误如果出现不匹配。

  • 数据存储写块覆盖值。

S2 一个使子系统的输出
  • 初始化为S2.InitialValue或者的价值外港块。如果指定了多个初始值相同的信号,所有初始值必须相同。

  • 第一个写发生在启用了子系统。块喂子系统输出设置值。

  • 初始值也被用作一个复位值如果子系统启用块参数州时启用外港块参数输出时禁用被设置为重置

S3 持续的信号
  • 初始化为S3.InitialValue

  • 输出值是在每个时间步块复位的。

  • 影响代码生成。仿真,设置初始值S3是无关紧要的,因为价值观是覆盖在模型仿真开始时间。

相关的话题