银和公益诉讼的限制
关于硅和公益诉讼的局限性
使用嵌入式编码器®,您可以运行software-in-the-loop(银)和processor-in-the-loop(公益诉讼)模拟在三个方面:
顶级模特SIL /公益诉讼-设置顶级模特模拟模式
Software-in-the-Loop(银)
或Processor-in-the-Loop(公益诉讼)
。模型块硅/公益诉讼——设置模型块参数模拟模式来
Software-in-the-loop(银)
或Processor-in-the-loop(公益诉讼)
。银/公益诉讼块——在模型中使用硅或公益诉讼块。
以下部分描述建模和代码生成功能不支持或部分由硅和公益诉讼模拟。万博1manbetx
通用硅和公益诉讼的局限性
可调参数和硅/公益诉讼
为模型块硅/公益诉讼和硅/公益诉讼块模拟,您可以调整可调工作空间但不是可调参数对话框参数。调优参数的信息,请参阅调整和试验块参数值(万博1manbetx模型)。
高级模型与可调参数,您可以运行一个银/公益诉讼模拟但是你不能在模拟调优参数。
软件不能定义、初始化或调整以下类型的可调工作空间的参数。
参数描述 | 软件响应 | ||
---|---|---|---|
顶级模特SIL /公益诉讼 | 模型块硅/公益诉讼 | 银/公益诉讼块 | |
参数存储类,适用“静态” 范围或“常量” 关键字。例如,自定义 ,常量 ,或ConstVolatile |
警告 | 警告 | 警告 |
参数和多字,定点数据类型 | 警告 | 错误 | 警告 |
参数的数据类型有不同的大小对主机和目标 | 警告 | 错误 | 警告 |
对于c++类代码,银/公益诉讼时可以调整参数可调的工作区参数的可见性是公共
。如果参数的可见性是私人
或受保护的
、调优只有支持万博1manbetx参数访问是方法
或内联方法
。
顶级模特SIL /公益诉讼和SIL /公益诉讼块,考虑一下这种情况:所有适用下列条件:
代码生成>接口>代码接口包装是
可重用的功能
。代码生成>接口>使用动态内存分配模型初始化不是选择。
优化>默认参数的行为是
可调
。在代码映射编辑器为模型,默认存储类全局参数或本地参数类别设置为
默认的
模型包含相应的参数,使用存储类汽车
或模型的默认
。
如果硅/公益诉讼组件不能动态初始化的可调参数rtP
模型参数结构,你看到一个错误信息如下:
参数对话框:InitialOutput rtwdemo_sil_topmodel / CounterTypeA /计数是进口“rtP”结构的一部分生成的代码但不能初始化硅或公益诉讼。为了避免这种错误,确保参数对应于一个可调工作空间变量。另外,设置”配置参数>代码生成>界面>代码接口包装”“那种一次性功能”,或者搜索“使用动态内存分配模型初始化”的配置参数对话框并选择复选框。
为模型块硅/公益诉讼,如果指定的代码在测试顶级模特
在模拟运行时,您可以调整参数。如果你调整参数之间的连续的模拟运行,后期运行的软件生成新的代码。新代码使用最新设置初始参数值。
高层模型或模型块硅/公益诉讼,如果你改变MATLAB的价值®对象(如变量或参数万博1manbetxSimulink.Parameter
)存储在一个工作区,万博1manbetx®编码器™重新生成C代码。
全球和本地数据存储
银/公益诉讼支持万博1manbetx全球数据存储。没有导出功能的组件模型,顶级模特SIL /公益诉讼和硅/公益诉讼块模拟访问全球数据存储必须单一税率。否则,软件会产生一个错误。
银/公益诉讼不支持本地数据存储。万博1manbetx
模型块硅/公益诉讼不支持本地万博1manbetx数据存储内存块,这些参数设置:
分享跨模型实例——选择。
存储类- - - - - -
汽车
或模型的默认
。
你不能创建银/公益诉讼从模型,使用本地块数据存储内存块的分享跨模型实例参数选择。
银/公益诉讼不会检查万博1manbetx编码器错误状态
银/公益诉讼不检查万博1manbetx仿真软件编码器错误状态下生成的代码的测试。这个错误状态标志异常情况在执行期间生成的代码。
块模型中还可以设置万博1manbetx仿真软件编码器错误状态,例如,您创建的自定义模块。银/公益诉讼不会检查这个错误状态和报告错误。
失踪的代码接口描述文件错误
银/公益诉讼需要一个代码接口描述文件,代码生成过程中创建的组件测试下。如果代码接口描述文件丢失,银/公益诉讼模拟无法继续。你看到一个错误报告文件不存在。如果你选择不支持的选项万博1manbetx经典的调用接口时,会发生此错误。因此,不选择的选项。
工作区块
如果你启用MAT-file日志记录,顶级模特SIL /公益诉讼和硅/公益诉讼支持万博1manbetx到工作空间块。
模型块硅/公益诉讼不支持万博1manbetx到工作空间块。
不能连接硅/公益诉讼合并输出块
如果你连接模型块硅/公益诉讼或银/公益诉讼块输出合并块,你看到一个错误,因为s函数内存不是可重用。
变异条件下传播与变异源和变体沉块
顶级模特SIL /公益诉讼和硅/公益诉讼块模拟不支持跨组件边界变异的传播条件。万博1manbetx
不支万博1manbetx持的块
银/公益诉讼不支持以下模块:万博1manbetx
范围块,和所有类型的运行时显示。例如,显示端口值和信号值。
停止块。银/公益诉讼忽略了停止仿真块,继续模拟。
多字定点I / O
你不能运行SIL多字和公益诉讼的模拟模型,定点信号跨组件边界。
比32位定点数据类型更广泛
银/公益诉讼支持万博1manbetx更广泛的比32位定点数据类型。例如:
64位
长
和很久很久
64位执行分析定时器数据类型
int64
和uint64
在MATLAB编码器SIL)执行。
以下限制适用:
64位数据类型支持的数据类型必须能上演的万博1manbetx
长
或很久很久
在MATLAB主机上和目标。否则,软件采用多字,定点的方法,银/公益诉讼不支持。万博1manbetx软件不支持40位万博1manbetx
长
TI数据类型的C6000™的目标。通过配置>硬件实现窗格中,您可以启用支持64位万博1manbetx
很久很久
数据类型。33岁和40位之间的数据类型和宽度(包容),该软件实现了数据类型使用40位长
数据类型,银/公益诉讼不支持。万博1manbetx
数据类型替换
软件不支持更换数据类型名称,您定义的内置数据万博1manbetx类型布尔
如果这些名称映射到int
或使用uint
内置的数据类型。
连续采样时间
顶级模特SIL /公益诉讼和硅/公益诉讼块不支持连续样本*在硅或公益诉讼组件边界。万博1manbetx然而,他们支持连续采样时间内万博1manbetx的组件。
模型块硅/公益诉讼不支持连续样本。万博1manbetx
适应信号
模型模拟块硅/公益诉讼支持只有适应信号万博1manbetx诊断>模型参考>传播适应信号的大小是在执行期间
。
顶级模特SIL /公益诉讼和硅/公益诉讼块模拟治疗适应信号的I / O边界SIL /公益诉讼组件固定大小的信号,这可能导致在传播的信号大小错误。为了避免此类错误,只使用固定大小信号的I / O边界SIL /公益诉讼组件。
可以有传播过程中没有发生错误的情况下的信号大小。在这些情况下,该软件将适应输入信号大小为零的信号。
内部信号记录
银/公益诉讼块不支持日志记录的信号。万博1manbetx解决方法,明白了日志组件的内部信号。
以下内部信号记录适用于顶级模特和局限性模型块硅/公益诉讼模拟。
限制 | 适用于 | |
---|---|---|
顶级模特SIL /公益诉讼 | 模型块硅/公益诉讼 | |
C API中仅包含了信号记录在硅/公益诉讼模拟。观察信号在生成的代码中,您可以配置测试点的信号。对于每一个信号,选择信号特性>测试点复选框。 |
是的 | 是的 |
信号正常喂养不支持合并模块的登录模拟,但登录银/公益诉讼模式。万博1manbetx记录值在硅/公益诉讼是一样的记录值的输出块合并。 | 是的 | 没有 |
顶级模特正常模拟日志数据以周期性的速度但名模SIL /公益诉讼模拟日志数据以恒定速率在这种情况下:
为了避免这种行为和日志以恒定的速度在所有模拟模式,集默认参数的行为来 |
是的 | 没有 |
功能不支持:万博1manbetx
|
是的 | 是的 |
适应,函数调用,不支持和行动的信号。万博1manbetx一个正常的模拟产生一个错误。银/公益诉讼模拟产生一个警告。 |
是的 | 没有 |
国家不支持端口信号。万博1manbetx一个正常的模拟产生一个错误。银/公益诉讼模拟不会产生一个警告。 |
是的 | 没有 |
不支万博1manbetx持的实现错误
如果你使用一个定制的存储类(CSC)类型的属性是其他
或者如果你使用一个数据存储,信号,或参数实现银/公益诉讼不支持,你可以看到错误如下:万博1manbetx
以下数据接口有不支持的实现硅或公益诉讼。万博1manbetx
数据接口
可以是全球性的数据存储,港口
,外港
,或参数
。
模型输出端口通过虚拟输出端口的优化进行了优化。看到虚拟化优化输出端口。发生错误,因为属性(例如,数据类型,尺寸)的信号或信号进入虚拟根输出端口修改路由的信号在下列方法之一:
通过一个Mux块。
通过一块变化信号的数据类型。检查数据类型的一致性模型,通过选择显示端口数据类型显示>信号和港口>端口数据类型(见端口数据类型(万博1manbetx模型))。
通过一块变化信号的维度。检查数据类型的一致性模型,通过选择显示维度显示>信号与港口>信号的维度。
从标量维度变化(
1
)矩阵(1 x1)
,矩阵(1 x1)
标量(1
),会导致这个错误。很难检查模型,因为这样的变化显示>信号与港口>信号的维度不区分(1
),(1 x1)
维度。两个信号都显示为标量信号。仔细检查你的模型和工作区对象。确保您指定标量尺寸一致。
下面的模型会导致这个错误通过改变输出端口信号数据类型。
硬件实现
公益诉讼不支持多字数据类型万博1manbetx的词序不同于目标字节顺序。公益诉讼仿真失败,显示未定义的行为。
公益诉讼要求您配置正确硬件实现目标环境的设置,包括字节次序为目标。如果你不指定正确的字节顺序,公益诉讼仿真失败,显示未定义的行为。
在文件夹名称非ascii字符
如果当前工作文件夹包含非ascii字符的名称,您不能运行一个SIL模拟。
状态日志
银/公益诉讼不支持万博1manbetx状态日志(万博1manbetx模型)。
总线元素映射到导入的位域的定义
如果你通过一个仿真软件万博1manbetx总线元素映射到一些领域进口头文件,银或公益诉讼模拟生成一个构建错误。例如,如果您的模型轮廓尺寸一块连接到总线万博1manbetxSimulink.Bus
对象与这些属性:
的名字- - - - - -
myBus
总线的元素——一个数组
万博1manbetxSimulink.BusElement
具有这些属性的对象。的名字 数据类型 复杂性 维 bitField0
布尔
真正的
1
bitField1
布尔
真正的
1
bitField2
布尔
真正的
1
bitField3
布尔
真正的
1
bitField4
布尔
真正的
1
bitField5
布尔
真正的
1
数据范围- - - - - -
进口
头文件- - - - - -
busSpecification.h
。这个文件包含myBus
,它定义了C总线的位域的数据类型的元素。typedef struct myBus {unsigned int bitField0: 1;unsigned int bitField1: 1;unsigned int bitField2: 1;unsigned int bitField3: 1;unsigned int bitField4: 1;unsigned int bitField5: 1;}myBus;
大小不匹配万博1manbetx和目标硬件数据类型
当一个模型数据万博1manbetx类型和相应的目标硬件数据类型的大小不同,银或公益诉讼模拟产生一个错误。这个尺寸不匹配可能发生如果你模型数据类型映射到目标硬件通过导入头文件中定义数据类型。万博1manbetx例如,如果您创建一个数据类型的别名,T_BOOL
,这是一个万博1manbetxSimulink.AliasType
对象与这些属性:
基本类型- - - - - -
布尔
。模式- - - - - -
建在
,布尔
。数据范围- - - - - -
进口
。头文件- - - - - -
myDefinitions.h
。这个文件定义T_BOOL
枚举数据类型:typedef enum _BOOL_TYPE{假= 0,真= 1}BOOL_TYPE;typedef BOOL_TYPE T_BOOL;
T_BOOL
,可以从模型数据类型的大小不同,万博1manbetx布尔
。
SIL模拟与有针对性的定制代码
有针对性的定制代码不可移植的执行在您的开发计算机可以产生编译或运行时在SIL仿真失败。
例如,银不支持使用定制代码明确地将指针转换为整型变量万博1manbetx的长度小于一个指针变量在开发计算机上。考虑使用这些替代方法之一:
运行一个仿真公益诉讼。
如果你有自定义代码,把指针指向一个32位的整数类型,开发计算机,建立公益诉讼目标连接配置使用工具链配置为构建一个32位二进制应用程序。
顶级模特SIL /公益诉讼的局限性
顶级模特root登录
顶级模特SIL /公益诉讼支持信号测万博1manbetx井信号连接到根级港口和外港。C API不是必需的。根级日志有以下限制:
记录的特征数据,如数据类型,样品时间,尺寸必须匹配的特点,港口和外港root(而不是连接信号的特点)。
在某些情况下,可以有不同的数据类型和维度之间的信号被记录和根尺寸或信号与输出港。考虑下面的例子。
如果一个信号被记录有矩阵维度
[1 x5]
但外港连接到信号向量维度(5
),然后将数据记录在硅或公益诉讼模拟有向量维度(5
)。如果一个信号被记录有标量维度,但外港连接到信号矩阵维度
(1 x1)
,那么数据记录在硅或公益诉讼模拟矩阵维度(1 x1)
。
信号连接到港口不重复记录在硅/公益诉讼模拟。没有发出警告。
在正常的模拟信号,直接连接到重复的港口被记录。
信号记录选择器/
DataLoggingOverride
不支持覆盖机制。万博1manbetx正常和硅/公益诉讼总线信号模拟日志名称不同当所有适用下列条件:
的
SaveOutput
或SignalLogging
配置参数在
。元素的名称在总线信号不同于相应的总线中的名字对象。例如,当
InheritFromInputs
参数为总线的创造者块设置为“上”
。
软件插入后缀,
_wrapper
为输出日志,如果保存格式结构
,结构随着时间的推移
,或数据集
你运行sim卡
对于没有指定命令格式。软件增加了_wrapper
为信号块名称你
。如果保存格式数组
,软件不添加后缀。例如:> >你。信号ans =值(11 x1双):维度:1标签:“SignalLogging”blockName:‘sillogging_wrapper / OutputLogging’
为了避免这种行为,运行命令行模拟
sim卡
对于命令指定格式。看到通过编程的方式运行模拟(万博1manbetx模型)。
模型在编制国家顶级模特SIL /公益诉讼
在一个顶级模特SIL /公益诉讼仿真,软件模型在编译状态——看到的地方模型
。这一行动会导致冲突之间的全球资源模型和生成的硅/公益诉讼代码。在这种情况下,正常模式之间的差异和硅/公益诉讼仿真输出结果。
例如,考虑一个模型,该模型使用UDP块从DSP系统工具箱™。这些块开放UDP套接字,从而导致资源争用模型和生成的硅/公益诉讼之间的代码。
回调支持万博1manbetx
银/公益诉讼不支持回调(模型或块)万博1manbetxStartFcn
和StopFcn
。
请注意
顶级模特SIL /公益诉讼支持回调万博1manbetxInitFcn
。
增量构建
当你开始一个顶级模特SIL /公益诉讼模拟,软件重新生成代码,如果它检测到更改您的模型。软件使用模型的校验和检测变化。你的软件没有检测变化:
的
HeaderFile
财产的万博1manbetxSimulink.AliasType
对象遗留S-functions
如果你把这些变化,构建(Ctrl-B你又开始下一个公益诉讼之前仿真模型。
模型块硅/公益诉讼的局限性
顶级模特代码测试
以下限制适用:
的模型变量块不支持参数万博1manbetx
CodeInterface
。软件的行为好像CodeInterface
被设置为“模型参考”
。为了解决这个限制,使用不同的子系统块。通过这一块,可以合并模型块的CodeInterface
被设置为“高级模式”
。因为模型参数并不适用于一个顶级模特,当代码接口块参数设置
顶级模特
,软件不支持万博1manbetx模型参数块参数。有条件的执行并不适用于一个顶级模特。如果一个模型块设置,有条件地执行代码接口块参数设置
“高级模式”
,软件生成一个错误当你运行一个银或公益诉讼模拟。样品时间独立的模型,必须设置配置参数>解算器>定期取样时间约束来
确保样品时间独立
。仿真结果从顶级模特代码和模型参考代码根级时可以不同轮廓尺寸连接到一个根级吗外港通过一个信号,信号对象的初始值。
顶级模特代码,软件将信号对象关联起来轮廓尺寸。该软件可以应用信号对象的初始值轮廓尺寸。看到初始化信号对象的行为总结(万博1manbetx模型)。
模型参考代码,软件将信号对象关联起来外港。软件不适用信号对象的初始值轮廓尺寸。
有条件地执行子系统
你看到一个错误如果:
你把你的模型块,在硅或公益诉讼模拟模式,有条件地执行子系统和引用的模型是多重速率的(也就是说,多个样例次)。单频、引用模型(只有一个样本时间)不受影响。
你的模型块,在硅或公益诉讼模拟模式块取决于绝对时间和是有条件地执行。
输出恒定的样品时间
如果块参数代码接口是顶级模特
,模型块硅/公益诉讼支持输出恒定的万博1manbetx样品时间。
Noninlined S-Functions
Model-block SIL /公益诉讼模拟不支持noninlined S-万博1manbetxfunctions。
使用相同的目标连接配置的参考模型
考虑一个模型与两个或两个以上模型块参考模型,使用相同的目标连接配置。如果模型块同时在公益诉讼模式下,你不能运行一个模拟的模型。出现一个错误。
银和公益诉讼的实例引用的模型
考虑一个模型,该模型包含两个实例模型块引用相同的模型。如果一个实例是在银模式和另一个实例是在公益诉讼模式下,你不能运行一个模拟的模型。出现一个错误。
银/公益诉讼块的局限性
公益诉讼块Mux
公益诉讼的块支持mux信号,万博1manbetx除了混合数据类型mux信号扩展到个人信号在右键单击子系统构建。
代码覆盖率
银块模拟不支持代码覆盖率结果的一代。万博1manbetx公益诉讼块支持代码覆万博1manbetx盖取决于你的目标连接配置和第三方产品支持。
子系统与继承的样本块的时间
当您创建一个银/公益诉讼块从一个子系统与继承块样本,生成的代码和硅/公益诉讼包装获得的样品时间原始父模型。如果你使用一个上下文中的SIL /公益诉讼块,不允许显式样品时间,例如,在触发子系统中,您看到一个错误。
试试其中一个解决方法:
在您创建SIL /公益诉讼块之前,在父模型,设置配置参数>解算器>定期取样时间约束来
确保样品时间独立
。使用子系统,创建一个模型块独立于样品的时间。块,运行模型块硅/公益诉讼模拟。