文档

标识符格式控制

您可以通过指定来自定义生成的标识符标识符格式控制参数代码生成>符号窗格在“配置参数”对话框中。对于每个参数,您可以输入一个宏,该宏指定生成的标识符中是否包含某些文本。例如,您可以使用该根模型名称使用该根模型名称插入每个标识符$ r令牌。

宏可以包括:

  • 有效令牌,在标识符格式令牌。您可以根据要在标识符名称中包含的内容来使用或忽略令牌。这共享实用程序标识符格式参数要求您指定校验和令牌,$ c。其他参数需要熔断令牌,$ m。有关更多信息,请参阅控制名称在生成的标识符中。乱七八糟的令牌受到使用和订购限制的约束标识符格式控制参数值

  • 令牌装饰器,列出带有令牌装饰器的控制箱。您可以使用令牌装饰器来控制每个令牌生成的标识符情况。

  • 有效的C或C ++语言标识符字符(A-Z,A-Z,_,0-9)。

构建过程通过扩展令牌并将结果文本插入标识符来生成每个标识符。代币按列出的顺序扩展标识符格式令牌。字符组被插入您直接围绕令牌指定的位置中。连续的令牌扩展由下划线分开(_) 特点。

标识符格式令牌

令牌 描述
$ c

这个令牌是需要的共享实用程序标识符格式。如果标识符超过最大标识符长度,代码生成器插入了8个字符的校验和,以避免命名碰撞。位置$ c令牌标识符格式控制参数规范确定校验和在生成标识符中的位置。例如,如果您使用规格$ n $ c,将校验和附加到标识符的末端。此令牌仅适用于共享公用事业。

$ m

需要这个令牌。如有必要,代码生成器将插入名称响应文本,以避免命名碰撞。通过使用共享校验和长度范围。位置$ m令牌标识符格式控制参数规范确定生成标识符中命名文本的位置。例如,如果您使用规格$ r $ n $ m,将姓名文本附加到标识符末尾(如果需要)。有关更多信息,请参阅控制名称在生成的标识符中

$ u

插入您指定的文本$ u令牌。使用自定义令牌文本参数以指定此文本。

$ f

插入方法名称(例如,_更新用于更新方法)。该令牌仅适用于子系统方法。

$ n

插入对象的名称(块,信号或信号对象,状态,参数,共享实用程序函数或参数对象),为其生成标识符。

$ r

将根模型名称插入标识符,用下划线代替不支持的字符(万博1manbetx_) 特点。当您使用引用模型时,此外还需要此令牌$ m(看避免使用引用模型的标识符碰撞)。

笔记:这个令牌取代了前缀型号名称为全局标识符以前的版本中的选项。

$ h

插入标签指示系统层次结构级别。对于根级块,标签是文本根_。对于子系统级别的块,标签是形式的sn_n是Simulink分配的唯一系统编号万博1manbetx®软件。该令牌仅适用于全局类型的子系统方法和字段名称。

笔记:这个令牌取代了在标识符中包括系统层次结构编号以前的版本中的选项。

$ a

插入数据类型首字母缩写(例如,i32对于整数)发出信号和工作向量标识符。该令牌可用于本地块输出变量,本地临时变量和全局类型的字段名称。

笔记:这个令牌取代了在标识符中包括数据类型的首字母缩写词以前的版本中的选项。

$ i
  • 插入如果参数是输入。

  • 插入y如果参数是输出。

  • 插入如果参数是输入和输出。

例如,rtu_对于输入参数,rty_对于输出参数,以及rtuy_用于输入和输出参数。该令牌仅适用于子系统方法参数。

$ g

插入与数据项关联的存储类的名称。该令牌也可以在您指定的命名规则中可用标题文件对于嵌入式编码器中的存储类®字典。

$ e

插入文件类型。$ e代表这些文件类型的实例:

  • 卡皮

  • capi_host

  • DT

  • TestInterface

  • 私人的

  • 类型

这个令牌是需要的标题文件源文件

标识符格式控制参数值列出默认宏值,受支持的令牌以及每个的适用限制万博1manbetx标识符格式控制范围。

标识符格式控制参数值

范围 默认值 万博1manbetx支持令牌 限制
全局变量(万博1manbetxSimulink编码器) $ r $ n $ m $ m,,,,$ r,,,,$ g,,,,$ n,,,,$ u $ f,,,,$ h,,,,$ a,,,,$ e, 和$ i不允许。
全球类型(万博1manbetxSimulink编码器) $ n $ r $ m_t $ m,,,,$ r,,,,$ g,,,,$ n,,,,$ u $ f,,,,$ h,,,,$ a,,,,$ e, 和$ i不允许。
全局类型的字段名称(万博1manbetxSimulink编码器) $ n $ m $ m,,,,$ n,,,,$ h,,,,$ a,,,,$ u $ r,,,,$ f,,,,$ g,,,,$ e, 和$ i不允许。
子系统方法(万博1manbetxSimulink编码器) $ r $ n $ m $ f $ m,,,,$ r,,,,$ n,,,,$ h,,,,$ f,,,,$ u $ f$ h为状态流空®功能;$ a,,,,$ g,,,,$ e, 和$ i不允许。
子系统方法参数(万博1manbetxSimulink编码器) RT $ i $ n $ m $ m,,,,$ n,,,,$ i,,,,$ u $ r,,,,$ f,,,,$ h,,,,$ g,,,,$ e, 和$ a不允许。
本地临时变量(万博1manbetxSimulink编码器) $ n $ m $ m,,,,$ r,,,,$ n,,,,$ a,,,,$ u $ f,,,,$ h,,,,$ g,,,,$ e, 和$ i不允许。
本地块输出变量(万博1manbetxSimulink编码器) rtb_ $ n $ m $ m,,,,$ n,,,,$ a,,,,$ u $ r,,,,$ f,,,,$ h,,,,$ g,,,,$ e, 和$ i不允许。
恒定宏(万博1manbetxSimulink编码器) $ r $ n $ m $ m,,,,$ r,,,,$ n,,,,$ u $ f,,,,$ h,,,,$ a,,,,$ g,,,,$ e, 和$ i不允许。
共享实用程序标识符格式(万博1manbetxSimulink编码器) $ n $ c $ n,,,,$ c,,,,$ r,,,,$ u $ c是必须的。$ m,,,,$ f,,,,$ h,,,,$ a,,,,$ g,,,,$ e, 和$ i不允许。
EMX数组实用程序功能标识符格式(万博1manbetxSimulink编码器)
emx $ m $ n $ m,,,,$ n,,,,$ r $ c,,,,$ u,,,,$ f,,,,$ h,,,,$ a,,,,$ g,,,,$ e, 和$ i不允许。
EMX数组类型标识符格式(万博1manbetxSimulink编码器)
emxarray_ $ m $ n $ m,,,,$ n,,,,$ r $ c,,,,$ u,,,,$ f,,,,$ h,,,,$ a,,,,$ g,,,,$ e, 和$ i不允许。
标题文件 $ r $ e $ r,,,,$ u,,,,$ e $ c,,,,$ m,,,,$ n,,,,$ f,,,,$ h,,,,$ a,,,,$ g, 和$ i不允许。
源文件 $ r $ e $ r,,,,$ u,,,,$ e $ c,,,,$ m,,,,$ n,,,,$ f,,,,$ h,,,,$ a,,,,$ g, 和$ i不允许。
数据文件 $ r_data $ r,,,,$ u $ c,,,,$ m,,,,$ n,,,,$ f,,,,$ h,,,,$ a,,,,$ g,,,,$ e, 和$ i不允许。

基于非ERT的目标(例如GRT目标)隐式使用默认值$ r $ n $ m规格。该默认规范由根模型名称组成,其次是生成对象的名称(信号,参数,状态等),然后是名称响应文本。

用于适用于标识符格式控制参数,请参阅标识符格式惯例的例外标识符格式控制参数限制

带有令牌装饰器的控制箱

代码生成>符号窗格,您可以使用令牌装饰器来控制生成的标识符情况。立即将装饰器放在目标令牌之后,然后将装饰器包装在方括号中[]。例如,您可以设置全局变量$ r [ul] $ n $ m,它大写了模型名称的首字母,并迫使模型名称中的其余字符延伸到小写。

该表显示了如何操纵扩展$ r代币的名称为模型型号名称

所需的扩展 描述 令牌和装饰师
型号名称 模型名称的首字母是大写。其余字符未修改。 $ r [u]
型号名称 模型名称的首字母是大写。其余字符是小写。 $ r [ul]
型号名称 所有角色都是大写。 $ r [u]
型号名称 所有字符都是小写。 $ r [l]
型号名称 模型名称的首字母是小写。其余字符是大写。 $ r [lu]
型号名称 模型名称的首字母是小写。其余字符未修改。 $ r [l]

当您使用装饰器时,代码生成器删除了下划线字符(_)默认情况下出现在令牌之间。但是,您可以用下划线附加每个装饰器:$ r [u _] $ n。例如,如果您设置全局变量参数为$ r [u _] $ n [ul] $ m对于名为的模型型号名称dwork结构代表DW,结果是modelname_dw

标识符的控制格式

此示例显示了如何通过指定来自定义生成的标识符标识符格式控制参数代码生成>符号窗格在“配置参数”对话框中。

模型='rtwdemo_symbols';Open_System(型号)

% 清理rtwdemoclean;CLOSS_SYSTEM(型号,0)
这个话题有帮助吗?