主要内容

标识符的格式控制

您可以自定义生成的标识符指定标识符的格式控制参数对代码生成>标识符面板的配置参数对话框。对于每个参数,您可以输入一个宏,用于指定是否在什么顺序,某些文本包含在生成的标识符。例如,您可以指定根模型名称被插入到每个标识符使用$ R令牌。

宏可以包括:

构建过程生成每个标识符通过扩大令牌并将合成文本插入到标识符。令牌是扩大中列出的顺序标识符的格式标记。组字符插入您所指定的位置,在令牌直接标识符。连续的牌扩展由下划线(_)字符。

标识符的格式标记

令牌 描述
$ C

这个令牌是必需的共享公用事业公司标识符的格式。如果超过的标识符最大标识符长度代码生成器插入一个8-character校验和避免命名冲突。对于共享实用程序生成的MATLAB函数块,代码生成器取代了$ C令牌和一个校验和标识符的长度无关。的位置$ C令牌的标识符的格式控制参数规范确定校验和的位置在生成的标识符。例如,如果您使用规范N C美元校验和是附加到结束的标识符。这个令牌只能共享工具。

M美元

这个令牌是必需的。如果有必要,代码生成器插入名称改编文本,以避免命名冲突。修改校验和使用字符长度共享的校验和长度参数。的位置M美元令牌的标识符的格式控制参数规范确定的位置名称改编文本生成的标识符。例如,如果您使用规范R N美元美元,附加名称改编文本(如果需要)的标识符。有关更多信息,请参见控制在生成的标识符名称改编

你美元

插入文本,你指定的你美元令牌。使用自定义令牌的文本参数指定这个文本。

$ F

插入方法名称(例如,_Update更新方法)。这令牌只有子系统的方法。

$ N

插入对象的名字(块、信号或信号对象、状态参数,参数共享效用函数或对象)正在生成的标识符。的决议列表金宝搏官方网站$ N令牌,看$ N嵌入式编码字典决议

$ R

插入根模型名称标识符,不支持的字符替换为下划线(金宝app_)字符。当你使用引用的模型,除了需要这个令牌M美元(见避免与引用标识符名称冲突模型)。

注意:这个令牌替换全球标识符前缀模式名称在以前的版本。

H美元

插入标记指示系统层次结构级别。根级块标记文本root_。块在子系统级别,表单的标记sN_N是一个独特的系统数字仿真软件分配的金宝app®软件。这令牌只有子系统全球类型的方法和字段名称。

注意:这个令牌替换包括系统层次结构数字标识符在以前的版本。

美元一个

插入数据类型缩写词(例如,手机等整数)信号和工作矢量标识符。这个令牌是对本地块输出变量,当地的临时变量,全球类型的字段名称。

注意:这个令牌替换在标识符包含数据类型缩写在以前的版本。

我美元
  • 插入u如果参数是一个输入。

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

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

例如,rtu_对于一个输入参数,rty_一个输出参数,rtuy_输入和输出参数。这令牌只有子系统方法参数。

G美元

数据项,插入的名字相关联的存储类数据项。这个令牌也可以在您所指定的命名规则头文件存储类的嵌入式编码®字典。

服务接口,插入服务的名称。

$ E

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

  • 生产技术

  • capi_host

  • dt

  • testinterface

  • 私人

  • 类型

这个令牌是必需的头文件源文件

$ X

这个令牌只适用于发送方、接收方、数据传输、定时器服务函数命名规则。插入入口点可调用的函数的名称包含函数调用的服务。

标识符的格式控制参数值列表默认宏观价值,支持的令牌,和适用的限制金宝app标识符的格式控制参数。

标识符的格式控制参数值

参数 默认值 金宝app支持令牌 限制
全局变量 R N美元美元 M美元,$ R,$ N,你美元 $ F,H美元,美元一个,$ E,我美元,G美元是不允许的。
全球类型 $ N R M_T美元 M美元,$ R,$ N,你美元 $ F,H美元,美元一个,$ E,我美元,G美元是不允许的。
全球类型的字段名 N M美元 M美元,$ N,H美元,美元一个,你美元 $ R,$ F,G美元,$ E,我美元是不允许的。
子系统的方法 F R N M美元美元 M美元,$ R,$ N,H美元,$ F,你美元 $ FH美元为Stateflow是空的®函数;美元一个,G美元,$ E,我美元是不允许的。
子系统的方法参数 rt我N美元美元 M美元,$ N,我美元,你美元 $ R,$ F,H美元,G美元,$ E,美元一个是不允许的。
当地的临时变量 N M美元 M美元,$ R,$ N,美元一个,你美元 $ F,H美元,G美元,$ E,我美元是不允许的。
本地块输出变量 rtb_ N M美元 M美元,$ N,美元一个,你美元 $ R,$ F,H美元,G美元,$ E,我美元是不允许的。
恒宏 R N美元美元 M美元,$ R,$ N,你美元 $ F,H美元,美元一个,G美元,$ E,我美元是不允许的。
共享公用事业公司标识符的格式 N C美元 $ N,$ C,$ R,你美元 $ C是必需的。M美元,$ F,H美元,美元一个,G美元,$ E,我美元是不允许的。
EMX效用函数数组标识符的格式
emx $ M $ N M美元,$ N,$ R $ C,你美元,$ F,H美元,美元一个,G美元,$ E,我美元是不允许的。
EMX数组类型标识符的格式
emxArray_ $ M $ N M美元,$ N,$ R $ C,你美元,$ F,H美元,美元一个,G美元,$ E,我美元是不允许的。
头文件 R E美元 $ R,你美元,$ E $ C,M美元,$ N,$ F,H美元,美元一个,G美元,我美元是不允许的。
源文件 R E美元 $ R,你美元,$ E $ C,M美元,$ N,$ F,H美元,美元一个,G美元,我美元是不允许的。
数据文件 R_data美元 $ R,你美元 $ C,M美元,$ N,$ F,H美元,美元一个,G美元,$ E,我美元是不允许的。

GRT Non-ERT-based目标(如目标)隐式使用默认的R N美元美元规范。这个默认规范由根模型名称,紧随其后的是生成对象的名字(信号参数,状态,等等),其次是名称改编文本。

适用的限制标识符的格式控制参数,看到例外标识符格式约定标识符的格式控制参数的局限性

$ N嵌入式编码器字典的决议

$ N令牌的名称解析为对象的一个标识符生成。上下文对象类型不同的命名规则。此表列出的对象$ N解决项目的嵌入式编码字典。

类别 服务接口 自定义实体 默认的命名规则 解决$ N
执行 初始化和终止功能 函数命名规则 R N美元 初始化初始化函数块,术语终止函数
周期和非周期函数 函数命名规则 R N美元 重置周期函数,一步对于非周期函数
服务接口 接收机 函数命名规则 get_ $ X $ N 轮廓尺寸块名称
发送方 函数命名规则值 set_ $ X $ N 外港块名称
函数命名规则供参考
数据传输 接收函数的命名规则 get_ $ X $ N 数据传输信号的名字,等DataTransferAt<块><外港>< PortNumber >
发送方函数命名规则 set_ $ X $ N
内部函数 子组件的功能 函数命名规则 R N美元 相关函数元素,如港口一个导出的函数的名称
共享效用函数 函数命名规则 N C美元 的函数的名称
内存 存储类 头文件 新罕布什尔州美元 模型或子系统的数据相关联
定义文件 北卡罗来纳州美元 模型或子系统的数据相关联
类型名称 $ R $ $ N G M美元 模型或子系统的数据相关联
实例名 G N美元美元 模型或子系统的数据相关联
Getter的名字 get_ N M美元 相关数据元素
Setter的名字 set_ N M美元 相关数据元素

通过使用令牌decorator控制情况

代码生成>标识符窗格中,您可以使用令牌装饰器控制的情况下生成的标识符。后立即放置一个装饰目标令牌,并附上方括号的装饰[]。例如,您可以设置全局变量(uL) $ R N M美元内模型的首字母大写,名字和部队其余字符小写的型号名称。

表显示了如何操纵的扩张$ R标记为一个模型,他的名字叫modelName

想要扩张 描述 令牌和装饰
ModelName 模型名称的首字母是大写。剩余字符不修改。 $ R (u)
Modelname 模型名称的首字母是大写。剩余字符小写的。 $ R (uL)
MODELNAME 所有的字符都大写。 $ R (U)
modelname 所有的人物都是小写的。 $ R (L)
mODELNAME 模型名称的第一个字母是小写的。剩余字符大写。 $ R(陆)
modelName 模型名称的第一个字母是小写的。剩余字符不修改。 $ R (l)

使用修饰符时,代码生成器删除下划线字符(_默认情况下)之间出现的令牌。然而,你可以添加每个装饰用下划线:$ R [U_] $ N。例如,如果您设置了全局变量参数$ R [u_] N (uL) M美元对于一个模型命名modelName和一个DWork结构由DW,结果是ModelName_Dw

通过使用正则表达式decorator修改标识符

修改标识符的方式比其他情况下,您可以使用正则表达式。使用一个正则表达式,将双引号的装饰。一个正则表达式装饰包含两个正则表达式由一个斜杠分开。代码生成器搜索第一个正则表达式匹配的子字符串的令牌和替换这些子字符串使用第二个正则表达式。例如,下面的标识符命名规则需要根模型名称$ R和替换的实例一个b:$ R (a / b”)。代码生成器解释正则表达式语法的方式是一致的regexprep正则表达式函数,除了装饰器不支持动态表情,使用MATLAB金宝app®命令。

您可以配置一个正则表达式装饰通过添加一个选项列表的末尾装饰。单独的选项从第二个正则表达式使用斜杠和相互独立的选项使用管道字符。例如,下面的标识符命名规则需要根模型名称$ R,只替换第一个实例一个b,忽略的例子:$ R (“a / b /一旦| ignorecase”)

类别 选项 描述 例子装饰 输入例子 示例输出
匹配/替换发生 所有(默认) 匹配和替换表达式尽可能多地。
[" a /——/ "]
afabcswbc -f-bcswbc
一次 匹配和替换表达式只有一次。
[" a /——/一次”]
afabcswbc -fabcswbc
N 在哪里N是一个整数,匹配和替换吗N发生的一场比赛。
[" a / - / 2 "]
afabcswbc af-bcswbc
情况下匹配 matchcase(默认) 匹配字母大小写。
[" aBcD / wXyZ / matchcase”]
abcdABCD abcdABCD
ignorecase 忽略字母大小写。
[" aBcD / wXyZ / ignorecase”]
abcdABCD wXyZwXyZ
preservecase 忽略字母大小写匹配但保留相应的原始文本字符的情况下而取代。
[" aBcD / wXyZ / preservecase”]
abcdABCD wxyzWXYZ
空的匹配 noemptymatch(默认) 忽略长度为零的匹配。
[" ^ /前缀/ noemptymatch”)
abcdABCD abcdABCD
emptymatch 包括零长度匹配。
[" ^ /前缀/ emptymatch”)
abcdABCD prefixabcdABCD

如果正则表达式装饰导致不可编译代码,代码生成器产生错误之前构建代码。

正则表达式限制

  • 正则表达式decorator仅适用G美元,$ N,$ R令牌。

  • 不像regexprep正则表达式装饰器不支持动态表情,使用MATLAB命令。金宝app

  • 不支持正则表达式修饰符的函数映射金宝app代码的映射编辑器。

  • 代码生成器不能评估一个正则表达式是否有效。一个无效的正则表达式不会导致改变影响令牌,不产生警告。

控制格式标识符

这个例子展示了如何定制生成的标识符指定标识符的格式控制参数对代码生成>标识符面板的配置参数对话框。保持模型的可追溯性,重要的是,增量修正模型对标识符名称的影响最小,出现在生成的代码中。这个例子展示了如何使用名称指定改编标识符的格式控制参数标识符名称最低限度的影响。

模型=“rtwdemo_symbols”;open_system(模型)

%的清理rtwdemoclean;close_system(模型中,0)