INI 文件大多数选项可以直接在工具界面中设置但部分选项只能通过修改 CANdelaStudio.ini 配置文件生效。有两种文件1.项目级 INI 文件位于你的 CDD 项目文件夹内只对当前项目生效2.全局 INI 文件位于C:\ProgramData\Vector\CANdelaStudio\版本号\对所有项目生效LogDetails这是排查 ODX 导入失败最有用的配置没有之一。默认关闭时日志只输出 导入成功 或 导入失败 的结果没有任何错误细节。开启后日志会输出每个 ODX 文件的解析过程每个 DID、DTC、服务的导入状态具体的错误位置和原因如 XML 标签错误、数据类型不兼容、ID 重复被忽略的元素和忽略原因。LogPerformance这个配置项打开ODX导入功能会记录性能相关信息例如诊断服务的平均处理时间、分析耗时最长的诊断服务等。这个配置可有可无建议关闭。SupportStableOIDsCANdela数据模型支持 OID对象标识符。默认情况下OID要么从数据源ODX文件导入如果存在要么重新随机生成。在某些特定场景下我们需要让 生成的OID当数据源未提供OID时始终采用分层算法生成例如层的短名称 诊断服务的短名称 参数短名称。由于这一行为与项目流程强相关因此可以通过以下配置开启或关闭此 稳定 OID 功能。如果没有打开这个选项每次导入 ODX 文件所有没有自带OID的对象都会被随机生成一个新的 OID。这会导致1.即使 ODX 文件没有任何实际变更重新导入后 CDD 文件也会出现上千行无关变更2.Git 版本对比完全失效无法区分真正的功能变更和随机 OID 变更3.多人协作时频繁出现冲突无法合并代码StrictNegResponse从ODX导入时默认检查诊断服务中定义的NRC与目标CDD文档中已存在的NRC定义是否匹配。StructNegResponse0忽略ODX文件中的NRC不做匹配检查StructNegResponse1对负响应码执行严格映射不匹配则报错ImportRequiredAndMissingNrcs默认不会修改目标文档中现有的全局NRC定义库Available negative response codes。对于OEM特定场景我们需要将ODX文件中新增的、CDD文件中没有的NRC自动添加到全局NRC库中。将ImportRequiredAndMissingNrcs开启用导入源中所需的NRC扩展全局DTC/NRC池RunImportPostProcessorPlugin在特定的OEM间合作场景存在流程专用的导入后插件。部分插件会在 ODX 导入完成后立即自动执行用于修正数据格式、补充OEM特定信息确保数据一致性。RunImportPostProcessorPlugin打开ODX导入完成后执行流程专用插件。一般不建议开启。DeactivateInstances默认导入时遵循导入向导中的设置由用户手动选择是否停用不在ODX中的实例。开启后导入时强制自动停用所有不在新ODX文件中的诊断实例和作业容器完全忽略导入向导中的设置注意这个容易让数据丢失。ForVariantWizardMapBaseVariantElementId指定是否从ODX更新ECU相关信息如名称、限定符和描述。开启后用ODX中 BASE-VARIANT 定义的 ELEMENT-ID 替换 CANdela 中的 ECU 相关信息SkipImportOfVehicleInfoSpec默认情况下ODX 导入器会将VEHICLE-INFO-SPECVIS车辆信息规范作为库集成到CANdela文档中。因此在执行ODX 导出时VIS也会被一并导出。配置开启后完全跳过 VEHICLE-INFO-SPEC 的导入。UniqueLocalIdDuringImport在创建每个新的诊断实例时导入器会自动检查该实例的标识符是否与本次导入过程中已导入的实例或CDD文档中已存在的实例发生冲突。默认允许导入创建重复的标识符开启后导入过程中只允许创建唯一的标识符。SkipImportOfVehicleInfoSpec从 ECU 诊断实现的角度来看在 CANdela 文档中支持重复的服务前缀通常没有意义。因此ODX 导入器默认会跳过重复的服务前缀并在控制台输出相应的提示信息。但在某些特定用例中需要导入同一个服务前缀但属于不同诊断类、且具有不同数据参数的服务。开启后允许在不同诊断类中存在重复的服务前缀。HandleDataTypeMergeInCaseOfRangeDifferencesCANdela文档会尽可能复用现有数据类型。但如果从 ODX 导入一个名称、限定符、描述、转换规则都相同但范围排除项不同的数据类型时。这个配置决定了具体动作0 - 复用现有数据类型如有差异则合并1 - 始终创建新的数据类型永不合并2 - 仅当现有数据类型可修改时才复用基于可修改标志合并DID2DiagClassMapping根据CANdelaStudio诊断类限定符预定义DID范围的映射关系。范围0xF190-0xF19F的 DID 应存储在限定符为Identifications_Global的诊断类中范围0x2000-0x20FF的 DID 应存储在名为LocalIdents的诊断类中值必须匹配以下正则表达式MappingA;MappingB;MappingC;...分号分隔每个映射遵循格式[起始范围-结束范围]诊断类名称例子DID2DiagClassMapping[F190-F199]GlobalIdents;[0200-02FF]LocalIdentsODXImportCacheLimitationInMB从 ODX 导入数据时导入组件会使用额外的内存作为缓存来提高导入性能。由于缓存内存消耗可能会非常大因此可能需要对其进行限制。该配置作为最大缓存大小的整数值单位MB用于提高导入性能。设置为 0 将禁用缓存。CreateRevisionHistoryEntryODX 导入完成后可以自动添加一条新的修订历史记录。配置为1自动创建导入历史记录条目。
CANdelaStudio ODX导入配置
INI 文件大多数选项可以直接在工具界面中设置但部分选项只能通过修改 CANdelaStudio.ini 配置文件生效。有两种文件1.项目级 INI 文件位于你的 CDD 项目文件夹内只对当前项目生效2.全局 INI 文件位于C:\ProgramData\Vector\CANdelaStudio\版本号\对所有项目生效LogDetails这是排查 ODX 导入失败最有用的配置没有之一。默认关闭时日志只输出 导入成功 或 导入失败 的结果没有任何错误细节。开启后日志会输出每个 ODX 文件的解析过程每个 DID、DTC、服务的导入状态具体的错误位置和原因如 XML 标签错误、数据类型不兼容、ID 重复被忽略的元素和忽略原因。LogPerformance这个配置项打开ODX导入功能会记录性能相关信息例如诊断服务的平均处理时间、分析耗时最长的诊断服务等。这个配置可有可无建议关闭。SupportStableOIDsCANdela数据模型支持 OID对象标识符。默认情况下OID要么从数据源ODX文件导入如果存在要么重新随机生成。在某些特定场景下我们需要让 生成的OID当数据源未提供OID时始终采用分层算法生成例如层的短名称 诊断服务的短名称 参数短名称。由于这一行为与项目流程强相关因此可以通过以下配置开启或关闭此 稳定 OID 功能。如果没有打开这个选项每次导入 ODX 文件所有没有自带OID的对象都会被随机生成一个新的 OID。这会导致1.即使 ODX 文件没有任何实际变更重新导入后 CDD 文件也会出现上千行无关变更2.Git 版本对比完全失效无法区分真正的功能变更和随机 OID 变更3.多人协作时频繁出现冲突无法合并代码StrictNegResponse从ODX导入时默认检查诊断服务中定义的NRC与目标CDD文档中已存在的NRC定义是否匹配。StructNegResponse0忽略ODX文件中的NRC不做匹配检查StructNegResponse1对负响应码执行严格映射不匹配则报错ImportRequiredAndMissingNrcs默认不会修改目标文档中现有的全局NRC定义库Available negative response codes。对于OEM特定场景我们需要将ODX文件中新增的、CDD文件中没有的NRC自动添加到全局NRC库中。将ImportRequiredAndMissingNrcs开启用导入源中所需的NRC扩展全局DTC/NRC池RunImportPostProcessorPlugin在特定的OEM间合作场景存在流程专用的导入后插件。部分插件会在 ODX 导入完成后立即自动执行用于修正数据格式、补充OEM特定信息确保数据一致性。RunImportPostProcessorPlugin打开ODX导入完成后执行流程专用插件。一般不建议开启。DeactivateInstances默认导入时遵循导入向导中的设置由用户手动选择是否停用不在ODX中的实例。开启后导入时强制自动停用所有不在新ODX文件中的诊断实例和作业容器完全忽略导入向导中的设置注意这个容易让数据丢失。ForVariantWizardMapBaseVariantElementId指定是否从ODX更新ECU相关信息如名称、限定符和描述。开启后用ODX中 BASE-VARIANT 定义的 ELEMENT-ID 替换 CANdela 中的 ECU 相关信息SkipImportOfVehicleInfoSpec默认情况下ODX 导入器会将VEHICLE-INFO-SPECVIS车辆信息规范作为库集成到CANdela文档中。因此在执行ODX 导出时VIS也会被一并导出。配置开启后完全跳过 VEHICLE-INFO-SPEC 的导入。UniqueLocalIdDuringImport在创建每个新的诊断实例时导入器会自动检查该实例的标识符是否与本次导入过程中已导入的实例或CDD文档中已存在的实例发生冲突。默认允许导入创建重复的标识符开启后导入过程中只允许创建唯一的标识符。SkipImportOfVehicleInfoSpec从 ECU 诊断实现的角度来看在 CANdela 文档中支持重复的服务前缀通常没有意义。因此ODX 导入器默认会跳过重复的服务前缀并在控制台输出相应的提示信息。但在某些特定用例中需要导入同一个服务前缀但属于不同诊断类、且具有不同数据参数的服务。开启后允许在不同诊断类中存在重复的服务前缀。HandleDataTypeMergeInCaseOfRangeDifferencesCANdela文档会尽可能复用现有数据类型。但如果从 ODX 导入一个名称、限定符、描述、转换规则都相同但范围排除项不同的数据类型时。这个配置决定了具体动作0 - 复用现有数据类型如有差异则合并1 - 始终创建新的数据类型永不合并2 - 仅当现有数据类型可修改时才复用基于可修改标志合并DID2DiagClassMapping根据CANdelaStudio诊断类限定符预定义DID范围的映射关系。范围0xF190-0xF19F的 DID 应存储在限定符为Identifications_Global的诊断类中范围0x2000-0x20FF的 DID 应存储在名为LocalIdents的诊断类中值必须匹配以下正则表达式MappingA;MappingB;MappingC;...分号分隔每个映射遵循格式[起始范围-结束范围]诊断类名称例子DID2DiagClassMapping[F190-F199]GlobalIdents;[0200-02FF]LocalIdentsODXImportCacheLimitationInMB从 ODX 导入数据时导入组件会使用额外的内存作为缓存来提高导入性能。由于缓存内存消耗可能会非常大因此可能需要对其进行限制。该配置作为最大缓存大小的整数值单位MB用于提高导入性能。设置为 0 将禁用缓存。CreateRevisionHistoryEntryODX 导入完成后可以自动添加一条新的修订历史记录。配置为1自动创建导入历史记录条目。