指定信号范围
金宝app®块允许您指定一个范围的输出信号的有效值。指定信号范围帮助你优化数据类型和提高生成的代码。
如果你有嵌入式编码器®,金宝app仿真软件编码器™可以优化你的代码生成的模型,考虑到您指定的最小值和最大值信号和参数。这种优化可以删除算法代码,影响结果的一些仿真模式如银或外部模式。有关更多信息,请参见优化使用指定的最小和最大值(嵌入式编码)。
块,允许信号范围规范
以下模块允许您指定范围的输出信号:
使用信号范围块
指定信号范围对于大多数块,使用输出最小和输出最大一块的参数指定一个块输出信号的有效值范围。异常包括数据存储内存,轮廓尺寸,在公共汽车元素,外港,公共汽车元素,信号规范块,你使用他们最低和最大参数指定一个信号范围。看到块,允许信号范围规范适用的块列表。
要访问这些参数,使用属性检查器(建模选项卡,在设计,点击属性检查器(在),模型数据编辑器建模选项卡上,单击模型数据编辑器),或者阻止对话框。
指定一个最小值或最大值作为表达式的求值结果为一个标量,实数双
数据类型。例如,您可以使用:
文字数量等
98.884
。隐式数据类型双
。一个数值(见工作空间变量共享和重用块参数值通过创建变量)的数据类型
双
。使用这种技术分享多个数据项之间的最大或最小值。当你使用一个变量设置
最小值
或马克斯
财产的金宝appSimulink.ValueType
,金宝appSimulink.Signal
,或金宝appSimulink.BusElement
对象,变量的当前值分配给对象。的最小值
和马克斯
对象的属性不受未来变化的影响变量。
您所指定的标量值,适用于复合信号的每个元素(例如,当信号nonscalar或一辆公共汽车)。标量扩展信息,请参阅标量扩展输入和参数。
离开的最小或最大信号不明,使用一个空矩阵[]
,这是默认值。
指定范围的建模结构
如果你使用建模构造等公交车,数据存储,Stateflow®图表,您可以使用不同的技术来指定设计范围信息。用表中的信息。
目标信号的描述 | 技术和更多的信息 |
---|---|
数字的复杂信号 |
当你指定一个输出最小或输出最大为数字信号复杂,指定最小值和最大值分别适用于实部和虚部的复数。如果该值的数量小于最低的一部分,或大于最大值,复数在指定范围之外。不会发生范围检查对实部和虚部的任意组合,如 |
信号元素在一辆公共汽车 |
如果你组装公车使用总线的创造者块,您可以指定范围的上游信息块总线的创造者块。 不管你使用的技术组装汽车,您可以创建一个 |
信号在一个MATLAB函数块 |
使用符号面板和属性检查器来指定的最低和最大变量的属性。看到设置通用变量属性。 |
信号在Stateflow图表 |
设置最低和最大相应的Stateflow数据的属性。看到限制范围内(Stateflow)。 |
信号,你与一个对象(如 |
设置 |
数据存储(数据存储内存块或 |
对于一个数据存储内存块,设置最低和最大块的参数。一个信号对象,设置 |
解决信号范围错误
金宝app仿真软件提供了一个诊断命名模拟范围检查,你可以发现在模拟信号超过指定范围时。启用时,模型比较了一块输出信金宝app号值与指定的范围(见使用信号范围块)和块数据类型。也就是说,模型执行金宝app下列检查:
DataTypeMin≤MinValue值≤≤MaxValue≤DataTypeMax
在哪里
DataTypeMin
由块最小值可表示的数据类型。MinValue
指定的块输出,应该是最小值,例如,输出最小。价值
是块输出信号值。MaxValue
最大值是块输出,应该规定,例如,输出最大。DataTypeMax
由块最大值可表示的数据类型。
请注意
可以overspecify一块如何处理信号,超过特定的范围。例如,您可以指定值(默认值)信号参数范围和启用浸透在整数溢出参数。在这种情况下,模型显示一条警金宝app告消息,建议您禁用浸透在整数溢出参数。
启用模拟范围检查
要启用模拟范围检查诊断:
在模型窗口,建模选项卡上,单击模型设置。
金宝app模型显示了配置参数对话框。
在选择树的左边配置参数对话框中,单击诊断>数据的有效性类别。在右边信号,设置模拟范围检查诊断为
错误
或警告
。点击好吧应用您的更改并关闭配置参数对话框。
看到模拟范围检查为更多的信息。
模拟模型与仿真范围检查
检查信号范围错误或警告:
启用模拟范围检查诊断模型(见启用模拟范围检查)。
在模型窗口中,点击运行模拟模型。
金宝app仿真软件模拟模型和执行信号范围检查。如果一个信号超过指定范围时模拟范围检查诊断指定
错误
,仿金宝app真软件停止仿真,并生成一个错误(例如,在诊断查看器)。否则,如果一个信号超过指定范围时模拟范围检查诊断指定
警告
在M金宝appATLAB仿真软件生成一条警告消息®命令窗口。每个消息标识块的输出信号超过指定范围,和这种违反发生的时间步。
虚拟块信号范围传播
一些虚拟块(见Nonvirtual和虚拟块)允许您指定范围的输出信号,例如,轮廓尺寸和外港块。当模拟范围检查启用诊断模型,该模型包含这样的块,虚拟块向后传播的信号范围的第一个实例nonvirtual块的输出信号接收。如果nonvirtual块指定不同的值的范围,仿真软件执行信号范围检查的金宝app紧密可能的范围。即模型检查信号使用金宝app较大的最小值和最大值越小。
例如,考虑以下模型:
在这个模型中,指定其恒定的块输出最大参数为300,轮廓尺寸块设置为100。假设你使模拟范围检查诊断和模拟模型。的轮廓尺寸块传播其最大值nonvirtual块之前,即。,常数块。金宝app仿真软件然后使用较小的两个最大值的检查的信号常数块输出。因为常数块的输出信号的值(200)超过了紧凑的范围,仿真软件生成一个错误。金宝app
意想不到的错误或警告的数据更精确或范围双
当一个数据项(信号或参数)而不是使用一个数据类型双
比较之前,每个设计仿真软件将数据项和限制(金宝app最大或最小值指定)nondouble数据类型。这种技术有助于防止产生不必要的、误导性的错误和警告。
然而,仿真软件商店金宝app设计限制双
之前的比较。如果数据项的数据类型相比,具有更高的精度双
(例如,一个定点数据类型与128位字长和一个126位的部分长度)或更大的范围双
,双
不能完全代表的价值设计限制,仿真软件可以生成意想不到的警告和错误。金宝app
如果nondouble类型具有较高的精度,可以考虑圆角设计下最远的从零数量限制双
可以表示。例如,假设一个信号生成一个错误在你设置的最大值98.8847692348509014
。在命令提示符处,计算下一个最远的数量从0双
可以表示。
格式长98.8847692348509014 + eps (98.8847692348509014)
ans = 98.884769234850921
使用生成的号码,98.884769234850921
取代的最大价值。