主要内容

银和公益诉讼的限制

关于硅和公益诉讼的局限性

使用嵌入式编码器®,您可以运行software-in-the-loop(银)和processor-in-the-loop(公益诉讼)模拟使用:

  • 顶级模特。

  • 模型块。

  • 从子系统模块。

以下部分描述建模和代码生成功能不支持或部分由硅和公益诉讼模拟。金宝app

通用硅和公益诉讼的局限性

可调参数和硅/公益诉讼

模型块硅/公益诉讼和硅/公益诉讼块模拟,您可以调整可调工作空间但不是可调参数对话框参数。调优参数的信息,请参阅调整和试验块参数值

高级模型与可调参数,您可以运行一个银/公益诉讼模拟但是你不能在模拟调优参数。

软件不能定义、初始化或调整以下类型的可调工作空间的参数。

参数描述 软件响应
顶级模特SIL /公益诉讼 模型块硅/公益诉讼 银/公益诉讼块
参数存储类,适用“静态”范围或“常量”关键字。例如,自定义,常量,或ConstVolatile 警告 警告 警告
参数和多字,定点数据类型 警告 错误 警告
参数的数据类型有不同的大小对主机和目标 警告 错误 警告

对于c++类代码,银/公益诉讼时可以调整参数可调的工作区参数的可见性公共。如果参数的可见性私人受保护的、调优只有支持金宝app参数访问方法内联方法

顶级模特SIL /公益诉讼和SIL /公益诉讼块,考虑一下这种情况:所有适用下列条件:

  • 代码生成>接口>代码接口包装可重用的功能

  • 代码生成>接口>使用动态内存分配模型初始化不是选择。

  • 优化>默认参数的行为可调

  • 在代码映射编辑器为模型,默认存储类全局参数本地参数类别设置为默认的模型包含相应的参数,使用存储类汽车模型的默认

如果硅/公益诉讼组件不能动态初始化的可调参数rtP模型参数结构,你看到一个错误信息如下:

参数对话框:InitialOutput SILTopModel / CounterTypeA /计数是进口“rtP”结构的一部分生成的代码但不能初始化硅或公益诉讼。为了避免这种错误,确保参数对应于一个可调工作空间变量。另外,设置”配置参数>代码生成>界面>代码接口包装”“那种一次性功能”,或者搜索“使用动态内存分配模型初始化”的配置参数对话框并选择复选框。
如果您选择代码生成>接口>使用动态内存分配模型初始化,这种限制并不适用。

模型块硅/公益诉讼,如果指定代码接口顶级模特在模拟运行时,您可以调整参数。如果你调整参数之间的连续的模拟运行,后期运行的软件生成新的代码。新代码使用最新设置初始参数值。

高层模型或模型块硅/公益诉讼,如果你改变MATLAB的价值®对象(如变量或参数金宝appSimulink.Parameter)存储在一个工作区,金宝app®编码器™重新生成C代码。

模型块硅/公益诉讼,您可以调整模型工作区之间的参数模拟,包括启用快速启动时。你不能在模拟调优参数。您可以使用:

  • 模型空间参数与进口存储类。

  • 导出的模型空间参数没有数据初始化。

  • 模型空间参数映射到AUTOSAR共享参数。

自动定义或模型工作空间的初始化参数模型块硅/公益诉讼支持只对模型空间参数金宝app的顶级银/公益诉讼进行测试的组件。模型可用金宝app的支持不是下级工作空间的参数模型中引用层次结构,从而导致不匹配正常和硅/公益诉讼仿真结果。

全球和本地数据存储

银/公益诉讼支持金宝app全球数据存储。没有导出功能的组件模型,银/公益诉讼块模拟访问全球数据存储必须单一税率。否则,软件会产生一个错误。

银/公益诉讼不支持本地数据存储。金宝app

模型块硅/公益诉讼不支持本地金宝app数据存储内存块,这些参数设置:

  • 分享跨模型实例——选择。

  • 存储类- - - - - -汽车模型的默认

你不能创建银/公益诉讼从模型,使用本地块数据存储内存块的分享跨模型实例参数选择。

银/公益诉讼不会检查金宝app编码器错误状态

银/公益诉讼不检查金宝app仿真软件编码器错误状态下生成的代码的测试。这个错误状态标志异常情况在执行期间生成的代码。

块模型中还可以设置金宝app仿真软件编码器错误状态,例如,您创建的自定义模块。银/公益诉讼不会检查这个错误状态和报告错误。

失踪的代码接口描述文件错误

银/公益诉讼需要一个代码接口描述文件,代码生成过程中创建的组件测试下。如果代码接口描述文件丢失,银/公益诉讼模拟无法继续。你看到一个错误报告文件不存在。如果你选择不支持的选项金宝app经典的调用接口时,会发生此错误。因此,不选择的选项。

工作区块

如果你启用MAT-file日志记录,顶级模特SIL /公益诉讼和硅/公益诉讼支持金宝app到工作空间块。

模型块硅/公益诉讼不支持金宝app到工作空间块。

不能连接硅/公益诉讼合并输出块

如果你连接模型块硅/公益诉讼或银/公益诉讼块输出合并块,你看到一个错误,因为s函数内存不是可重用。

不支金宝app持的块

银/公益诉讼不支持以下模块:金宝app

  • 范围块,和所有类型的运行时显示。例如,显示端口值和信号值。

  • 停止块。银/公益诉讼忽略了停止仿真块,继续模拟。

多字定点I / O

你不能运行SIL多字和公益诉讼的模拟模型,定点信号跨组件边界。

比32位定点数据类型更广泛

银/公益诉讼支持金宝app更广泛的比32位定点数据类型。例如:

  • 64位很久很久

  • 64位执行分析定时器数据类型

  • int64uint64MATLAB编码器SIL)执行。

以下限制适用:

  • 64位数据类型支持的数据类型必须能上演的金宝app很久很久在MATLAB主机上目标。否则,软件采用多字,定点的方法,银/公益诉讼不支持。金宝app

  • 软件不支持40位金宝appTI数据类型的C6000™的目标。

    通过配置>硬件实现窗格中,您可以启用支持64位金宝app很久很久数据类型。33岁和40位之间的数据类型和宽度(包容),该软件实现了数据类型使用40位数据类型,银/公益诉讼不支持。金宝app

数据类型替换

银/公益诉讼中,数据类型替换名称布尔必须解决布尔,uint8,或int8

金宝appSimulink.ImageType数据类型

银/公益诉讼不支持金宝app金宝app仿真软件的功能数据存储内存块,需要转移金宝appSimulink.ImageType数据模型和目标应用程序之间金宝app。的接口:

  • 金宝app仿真软件的功能块,函数参数的数据类型不能金宝appSimulink.ImageType

  • 数据存储内存块不得使用金宝appSimulink.ImageType数据。

如果金宝app仿真软件的功能数据存储内存块不但是在目标应用程序的接口,限制并不适用。

连续采样时间

顶级模特SIL /公益诉讼和硅/公益诉讼块不支持连续样本*在硅或公益诉讼组件边界。金宝app然而,他们支持连续采样时间内金宝app的组件。

模型块硅/公益诉讼不支持连续样本。金宝app

适应信号

模型模拟块硅/公益诉讼支持只有适应信号金宝app诊断>模型参考>传播适应信号的大小在执行期间

顶级模特SIL /公益诉讼和硅/公益诉讼块模拟治疗适应信号的I / O边界SIL /公益诉讼组件固定大小的信号,这可能导致在传播的信号大小错误。为了避免此类错误,只使用固定大小信号的I / O边界SIL /公益诉讼组件。

可以有传播过程中没有发生错误的情况下的信号大小。在这些情况下,该软件将适应输入信号大小为零的信号。

内部信号记录

银/公益诉讼块不支持日志记录的信号。金宝app解决方法,明白了日志组件的信号

以下内部信号记录适用于顶级模特和局限性模型块硅/公益诉讼模拟。

限制 适用于
顶级模特SIL /公益诉讼 模型块硅/公益诉讼
信号正常喂养不支持合并模块的登录模拟,但登录银/公益诉讼模式。金宝app记录值在硅/公益诉讼是一样的记录值的输出块合并。 是的 没有

顶级模特正常模拟日志数据以周期性的速度但名模SIL /公益诉讼模拟日志数据以恒定速率在这种情况下:

  • 默认参数的行为可调

  • 一个常数时间信号从一个示例模型块顶部登录模式。

  • 记录的信号不能直接连接到一个根级输出端口。

为了避免这种行为和日志以恒定的速度在所有模拟模式,集默认参数的行为内联

是的 没有

功能不支持:金宝app

  • 信号登录SIL /公益诉讼引用的模型组件。

  • 信号登录金宝app仿真软件的功能块。

  • 虚拟信号。

  • 虚拟的公交车。

  • 不定位信号,被记录为纸浆包信号。

  • 连续、异步和触发样品时间。在导出功能模型的顶层,你可以记录信号触发样品时间。

  • 记录Stateflow®州和本地数据。

是的 是的

适应,函数调用,不支持和行动的信号。金宝app一个正常的模拟产生一个错误。银/公益诉讼模拟产生一个警告。

是的 没有

国家不支持端口信号。金宝app一个正常的模拟产生一个错误。银/公益诉讼模拟不会产生一个警告。

是的 没有

自定义类型的存储类其他

银/公益诉讼模拟金宝app支持自定义存储类类型被设置为其他。这些限制适用:

  • 如果返回的代码片段TLC与自定义存储类相关联的文件不完整,银/公益诉讼程序可能无法编译,或产生不正确的结果。

  • 定制的存储类进口范围和指针获得支持,但你必须提供金宝app代码来初始化指针。例如,您可以修改的响应DataAccess(记录,“定义”、“”、“”)提供一个定义的存储实现和初始化指针实现变量的地址。

  • 确定一个变量常量因此不是可调,银/公益诉讼的构建过程应用程序使用的内存部分定义定制的存储类。如果自定义存储类定义了一个变量常量并没有关联的常量内存部分,目标应用程序可能无法编译、仿真期间或产生一个错误。在这种情况下,将自定义存储类与记忆的部分是常量例如,指定MemConst。另外,如果金宝appSupportSILPIL是一个特定参数的自定义属性类,为相关的信号或参数,准备好了吗CoderInfo.CustomAttributes.金宝appSupportSILPIL

不支金宝app持的实现错误

如果你使用一个数据存储、信号或参数实现银/公益诉讼不支持,你可以看到错误如下:金宝app

以下数据接口有不支持的实现硅或公益诉讼。金宝app
数据接口可以是全球性的数据存储,港口,外港,或参数

模型输出端口通过虚拟输出端口的优化进行了优化。看到虚拟化优化输出端口。发生错误,因为属性(例如,数据类型,尺寸)的信号或信号进入虚拟根输出端口修改路由的信号在下列方法之一:

  • 通过一个Mux块。

  • 通过一块变化信号的数据类型。检查数据类型的一致性模型,显示端口数据类型

  • 通过一块变化信号的维度。检查数据类型的一致性模型,显示信号的维度

硬件实现

公益诉讼不支持多字数据类型金宝app的词序不同于目标字节顺序。公益诉讼仿真失败,显示未定义的行为。

公益诉讼要求您配置正确硬件实现目标环境的设置,包括字节次序为目标。如果你不指定正确的字节顺序,公益诉讼仿真失败,显示未定义的行为。

总线元素映射到导入的位域的定义

如果你通过一个仿真软件金宝app总线元素映射到一些领域进口头文件,银或公益诉讼模拟生成一个构建错误。例如,如果您的模型轮廓尺寸一块连接到总线金宝appSimulink.Bus对象与这些属性:

  • 的名字- - - - - -myBus

  • 总线的元素——一个数组金宝appSimulink.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;

大小不匹配金宝app和目标硬件数据类型

当一个模型数据金宝app类型和相应的目标硬件数据类型的大小不同,银或公益诉讼模拟产生一个错误。这个尺寸不匹配可能发生如果你模型数据类型映射到目标硬件通过导入头文件中定义数据类型。金宝app例如,如果您创建一个数据类型的别名,T_BOOL,这是一个金宝appSimulink.AliasType对象与这些属性:

  • 基本类型- - - - - -布尔

  • 模式- - - - - -建在,布尔

  • 数据范围- - - - - -进口

  • 头文件- - - - - -myDefinitions.h。这个文件定义T_BOOL枚举数据类型:

    typedef enum _BOOL_TYPE{假= 0,真= 1}BOOL_TYPE;typedef BOOL_TYPE T_BOOL;
    在这种情况下,编译器为目标硬件决定的大小T_BOOL,可以从模型数据类型的大小不同,金宝app布尔

SIL模拟与有针对性的定制代码

有针对性的定制代码不可移植的执行在您的开发计算机可以产生编译或运行时在SIL仿真失败。

例如,银不支持使用定制代码明确地将指针转换为整型变量金宝app的长度小于一个指针变量在开发计算机上。考虑使用这些替代方法之一:

  • 运行一个仿真公益诉讼。

  • 如果你有自定义代码,把指针指向一个32位的整数类型,开发计算机,建立公益诉讼目标连接配置使用工具链配置为构建一个32位二进制应用程序。

样品时间仿真数据检查员的差异比较

检查员比较记录如果你使用仿真数据模型从正常和硅或公益诉讼模拟输出,输出的样本时间可能会有所不同。你仍然可以使用模拟数据检查员验证输出匹配数值。

顶级模特SIL /公益诉讼的局限性

顶级模特root登录

顶级模特SIL /公益诉讼支持信号测金宝app井信号连接到根级港口和外港。C API不是必需的。根级日志有以下限制:

  • 记录的特征数据,如数据类型,样品时间,尺寸必须匹配的特点,港口和外港root(而不是连接信号的特点)。

    在某些情况下,可以有不同的数据类型和维度之间的信号被记录和根尺寸或信号与输出港。考虑下面的例子。

    • 如果一个信号被记录有矩阵维度[1 x5]但外港连接到信号向量维度(5),然后将数据记录在硅或公益诉讼模拟有向量维度(5)。

    • 如果一个信号被记录有标量维度,但外港连接到信号矩阵维度(1 x1),那么数据记录在硅或公益诉讼模拟矩阵维度(1 x1)

  • 信号连接到港口不重复记录在硅/公益诉讼模拟。没有发出警告。

    在正常的模拟信号,直接连接到重复的港口被记录。

  • 信号记录选择器/DataLoggingOverride不支持覆盖机制。金宝app

  • 正常和硅/公益诉讼总线信号模拟日志名称不同当所有适用下列条件:

    • SaveOutputSignalLogging配置参数

    • 元素的名称在总线信号不同于相应的总线中的名字对象。例如,当InheritFromInputs参数为总线的创造者块设置为“上”

  • 软件插入后缀_wrapper输出日志如果保存格式结构结构随着时间的推移你运行sim卡对于没有指定命令格式。软件增加了_wrapper为信号块名称。如果保存格式数组,软件不添加后缀。例如:

    > >你。信号ans =值(11 x1双):维度:1标签:“SignalLogging”blockName:‘sillogging_wrapper / OutputLogging’

    为了避免这种行为,运行命令行模拟sim卡对于命令指定格式。看到通过编程的方式运行模拟

回调支持金宝app

银/公益诉讼不支持回调(模型或块)金宝appStartFcnStopFcn

请注意

顶级模特SIL /公益诉讼支持回调金宝appInitFcn

增量构建

当你开始一个顶级模特SIL /公益诉讼模拟,软件重新生成代码,如果它检测到更改您的模型。软件使用模型的校验和检测变化。你的软件没有检测变化:

  • HeaderFile财产的金宝appSimulink.AliasType对象

  • 遗留S-functions

如果你把这些变化,构建(Ctrl-B你又开始下一个公益诉讼之前仿真模型。

模型块硅/公益诉讼的局限性

顶级模特代码测试

以下限制适用:

  • 因为模型参数并不适用于一个顶级模特,当代码接口块参数设置顶级模特,软件不支持金宝app模型参数块参数。

  • 有条件的执行并不适用于一个顶级模特。如果一个模型块设置,有条件地执行代码接口块参数设置“高级模式”,软件生成一个错误当你运行一个银或公益诉讼模拟。

  • 样品时间独立的模型,必须设置配置参数>解算器>定期取样时间约束确保样品时间独立

有条件地执行子系统

你看到一个错误如果:

  • 你把你的模型块,在硅或公益诉讼模拟模式,有条件地执行子系统和引用的模型是多重速率的(也就是说,多个样例次)。单频、引用模型(只有一个样本时间)不受影响。

  • 你的模型块,在硅或公益诉讼模拟模式块取决于绝对时间是有条件地执行。

输出恒定的样品时间

如果块参数代码接口顶级模特,模型块硅/公益诉讼支持输出恒定的金宝app样品时间。

Noninlined S-Functions

Model-block SIL /公益诉讼模拟不支持noninlined S-金宝appfunctions。

使用相同的目标连接配置的参考模型

考虑一个模型与两个或两个以上模型块参考模型,使用相同的目标连接配置。如果模型块同时在公益诉讼模式下,你不能运行一个模拟的模型。出现一个错误。

银和公益诉讼的实例引用的模型

考虑一个模型,该模型包含两个实例模型块引用相同的模型。如果一个实例是在银模式和另一个实例是在公益诉讼模式下,你不能运行一个模拟的模型。出现一个错误。

子系统块硅/公益诉讼的局限性

原子子系统工作流的局限性

描述的工作流程单元测试子系统的代码与硅/公益诉讼的经理不支持:金宝app

  • 这些子系统类型:

    • 虚拟

    • 函数调用

    • Stateflow

    • 为每一个

    • 行动

    • 初始化函数

    • 重置功能

    • 终止函数

    • 金宝app仿真软件的功能

  • “紧凑”选择ERTFilePackagingFormat如果PreserveStaticInFcnDecl被设置为“上”

  • 子系统生成如何嵌入代码。子系统块参数RTWSystemCode必须“那种一次性函数”“可重用函数”

  • 子系统包含:

    • 参考模型。

    • 金宝app仿真软件的功能块。

    • MATLAB函数块。

    • 数据存储内存,数据存储读取,数据存储写块。

  • LDRA工具套件和BullseyeCoverage代码覆盖分析的工具。

  • 虚拟总线子系统接口。

模型和硅或公益诉讼的结果可能不同数值模拟如果:

  • 该子系统使用非谓语形式的数字,例如,

  • 子系统和父母模型有多个样本率和速率转换。

  • 一个查找表子系统连接到一块Prelookup块在子系统边界。

变异条件下传播与变异源和变体沉块

银/公益诉讼块模拟不支持跨组件边界变异的传播条件。金宝app

公益诉讼块Mux

公益诉讼的块支持mux信号,金宝app除了混合数据类型mux信号扩展到个人信号在右键单击子系统构建。

代码覆盖率

银块模拟不支持代码覆盖率结果的一代。金宝app公益诉讼块支持代码覆金宝app盖取决于你的目标连接配置和第三方产品支持。

子系统与继承的样本块的时间

当您创建一个银/公益诉讼块从一个子系统与继承块样本,生成的代码和硅/公益诉讼包装获得的样品时间原始父模型。如果你使用一个上下文中的SIL /公益诉讼块,不允许显式样品时间,例如,在触发子系统中,您看到一个错误。

试试其中一个解决方法:

  • 在您创建SIL /公益诉讼块之前,在父模型,设置配置参数>解算器>定期取样时间约束确保样品时间独立

  • 使用子系统,创建一个模型块独立于样品的时间。块,运行模型块硅/公益诉讼模拟。

相关的话题