首页 > 其他分享 >CANoe中Logging模块使用方法及妙招⭐

CANoe中Logging模块使用方法及妙招⭐

时间:2024-05-22 13:51:18浏览次数:20  
标签:触发 Logging 及妙 记录 CANoe trigger 模块 Log

Logging是CANoe软件中的数据记录模块,主要在台架测试中使用,支持CAN/CAN FD、LIN、FlexRay以及车载以太网总线的数据记录。常用的数据记录仪还有GL数据记录仪,GL有自己单独的硬件设备,应用场景主要为台架或者实车测试,进行无人看守时的数据记录,和Logging的最大区别就是Logging是CANoe软件中的一个功能点,不是单独的硬件,同时Logging的使用,人员往往在上位机面前会进行互动操作。

 

使用CANoe测试的过程中,我们不可能时时刻刻盯着每一帧报文去进行分析,这样就需要用到Logging模块记录工程中的报文信号与变量,通过记录的Logging文件去解析报文,分析测试结果。当然这里面有大量数据,会占用较大内存,并且在我们分析的时候去寻找需要的内容时也会看花眼,如果只记录我们需要的数据要如何操作呢?可以参考小编给大家分享一下使用Logging的一些基础知识和经验解决。

 

 

认识Logging模块

 

 

先认识一下Logging模块,如图1-1,Logging模块的位置在Analysis下,包含的功能有,模块的激活,模块的触发方式,文件的设置以及模块的增加。

 

  图 1-1

 

 

触发的配置

 

 

详细触发配置表格如图2-1所示。

 

  图 2-1

 

1.触发类型:

 

  1. Single trigger:在Single trigger 模式下,所有在触发条件时间段内的数据都将被记录下来。用户可以在 Time 区域内设置Logging的条件,如开始触发(Toggle on)、结束触发(Toggle off)和触发次数。
  图2-2  

2.Toggle trigger:在Toggle trigger 模式下,用户可以定义开始触发和结束触发的方式。如果用户选中 Use combined toggle mode,那么开始和结束触发的条件可以保持一致。用户可以在 Time 区域内设置Logging 的条件,如开始触发、结束触发和触发次数。

 

  图2-3  

3.Entire Measurement:在Entire Measurement 模式下,所有测量数据将会被记录,因此用户无法选择触发条件和时间。

 

  图2-4  

2.触发条件:

 

定义了基本的 Logging 条件,例如,起始点、结束点、Logging 时间段。包括以下四种触发模式。

 

  1. Start:选中 Start 触发条件,数据将会从测量开始记录,这种情况下Pre-trigger 时间将变得没有意义并设置为0,Post-trigger 时间指定了记录的时间长度。若选择了Infinitepost-trigger time,所有的数据将会从测量开始记录到测量结束,这等效于Entire Measurement模式。
  2. Stop:选中Stop触发条件,触发会在测量结束时开始。Pre-trigger时间定义了Logging的时间长度。在这种情况下,Post-trigger 时间将变得没有意义并设置为0。
  3. CAPL:该触发条件将由CAPL程序触发,Pre-trigger 和 Post-trigger 定义了 Logging的时间长度。
  4. User defined:该触发条件将由用户自定义,包括总线报文或 Attribute、统计时间、环境变量的值等。用户可以通过 Define 按钮进行自定义。
  5. Time:

 

在该窗口中,用户可以定义 Pre-trigger 和 Post-trigger 的值,这两个值确定了 Logging的时间长度。选中 Infinite post-trigger time 选项时,终止事件为无穷大,这时 Post-trigger的值将会变成无效。

 

  1. 高级选项:

(1)Stop after Trigger Blocks:指定在n个触发块后停止测量。

(2)Notifications in Write Window:选中此项时,在 Write 窗口会有与 Trigger 相关的通知。

  1. 手动触发:

(1)Start/stop key:设置一个按键控制 Logging的开始和结束

 

 

文件的设置

 

 

新建仿真工程之后,CANoe默认提供一路未启用的Logging Block。在 Measurement Setup 窗口中,右击Logging Block,选择 Logging File Configuration 命令可以打开 Logging File Configuration 对话框。也可以通过点击图3-1画圈位置打开。

 

  图3-1

打开配置如下图3-2所示:

 

图3-2

1.Destination folder:用于选择 Logging 文件的保存位置。

2.Destination file:指定要保存的 Logging 文件的文件名。

3.Field Codes:帮助用户按需求生成文件名。

4.File format:指定 Logging File 的格式。

5.Advanced Settings

(1)Warn before overwriting Logging file:选择是否在新的测量 Logging 文件与原有文件

重名时弹出覆盖已有文件警告窗口。

(2)Show error message on data loss:选择是否在数据丢失时提醒用户。

(3)View Logging file(s) after measurement stop:选择是否在测量结束后自动打开已经记录的 Logging 文件。

(4)Global format settings:单击 Settings 按钮进入 Option 对话框。

6.Logging Filter

(1 Log bus events:选择是否记录总线事件(如报文、数据帧等)。

(2)Log system and environment variables:选择是否记录环境变量或系统变量事件。

(3)Log trigger events:选择是否记录 Start/Stop 触发事件。

(4)Log test events:选择是否记录 Test Modules 和 Test Units 的信息

(5)Log internal events:选择是否记录内部程序事件。

(6)Log statistic events:选择是否记录数据统计相关的系统变量的信息。

(7)Log CAPL events:选择是否记录 CAPL函数 write To Log和CAPL 程序中的说明。

(8)Log diagnostic events:选择是否记录诊断相关信息。

 

 

实际应用

 

 

1.当进行测试时,想在工程启动时的时刻开始录制Logging数据,我们可以直接使用Entire Measurement进行触发、记录如图4-1所示。

 

  图4-1
  1. 如果想信号A或者多个信号的值达到设定的逻辑要求时,触发记录模块开始记录,可以选择记录触发时间前的数据(根据设置 Pre-trigger time实现),触发时间后需要记录的时间根据自己自定义选择,那我们可以采用Single trigger,详细配置如下图4-2,4-3,4-4。选择用户自定义,然后点击Define添加变量或者信号,编辑触发的值,例如当发动机开关Engine::EngineStateSwitch这个变量等于1时开始记录Logging,并记录5000ms。
  图4-2

 

  图4-3

 

图4-4

 

2.如果想信号A或者多个信号的值达到设定的逻辑要求时,触发记录模块开始记录,信号B或者多个信号值达到设定的逻辑要求停止记录,并且工程不会停止,需要记录很多段,那我们可以使用Toggle trigger,通过Define自定义开始与结束的逻辑,这样我们就可以得到很多组记录数据,并且仅有我们需要的数据,可以节约很多空间,如图4-5,具体逻辑设置过程可以参考上面图4-3和图4-4。

 

  图4-5

 

3.如果想要让工程在记录几次文件后自动停止工程,我们可以使用Stop after Trigger Blocks模块,当到达触发次数时,工程便会停止记录。如图4-6所示

 

图4-6

 

注意事项:当我们想记录多组Logging时,要将生成文件名进行更改,要将文件名字改成带有001这种格式,如果不是这种,下一次记录会将之前的Logging文件覆盖掉,如图4-7中打√的就是常用的生成名字格式,并且不会被覆盖掉。

 

图4-7

 

 

总结

 

 

Logging是CANoe中的一个功能模块,希望通过本文的介绍,大家对Logging的使用有了更深入的了解。如果您对Logging或CANoe感兴趣或者想要了解更多相关内容,欢迎咨询北汇信息,感谢观看!

 

北汇信息作为Vector中国的合作伙伴,始终专注于汽车电子领域的新技术和新产品,为整车厂和零部件企业提供完整的研发、测试解决方案,为工程师在汽车领域提供“趁手装备”!我们不仅提供相应的工具和技术支持服务及培训,还针对不同的应用提供相应的解决方案,助力中国客户的研发效率提升。欢迎联系北汇信息,我们将根据不同需求为您提供针对性的高效、灵活、稳定的解决方案!

 

翻译

搜索

复制

<iframe></iframe>

标签:触发,Logging,及妙,记录,CANoe,trigger,模块,Log
From: https://www.cnblogs.com/polelink/p/18206098

相关文章

  • SkyEye对接CANoe:助力汽车软件功能验证
    01.简介CANoe(CANopenenvironment)是德国Vector公司专为汽车总线设计而开发的一款通用开发环境,作为车载网络和ECU开发、测试和分析的专业工具,支持从需求分析到系统实现的整个系统的开发过程。CANoe丰富的功能和配置选项被OEM和供应商的网络设计、开发和测试工程师所广泛使用。Sk......
  • 错误解决 TypeError: __init__() got an unexpected keyword argument 'size'import l
    TypeError:__init__()gotanunexpectedkeywordargument'size'importlogging代码段如下importloggingimportosfromgensim.modelsimportword2veclogging.basicConfig(format='%(asctime)s:%(levelname)s:%(message)s',level=logging.IN......
  • 模块学习之logging模块
    【一】函数式简单配置importlogginglogging.debug('debugmessage')logging.info('infomessage')logging.warning('warningmessage')logging.error('errormessage')logging.critical('criticalmessage')默认情况......
  • 会充电的CANoe-赋能新能源汽车,高效完成即插即充(PnC)智能充电功能测试
     ISO15118-2标准中描述的PnC功能,可以实现插枪即充电,识别、计费信息、充电参数都通过高级别通信在EV和EVSE之间自动交换。简化了电动汽车的充电过程,提高了用户体验,为电动汽车行业带来了更智能、更便捷的充电解决方案。 然而,电动汽车和充电站之间要实现自动通信和计费,必须交......
  • Oracle日志记录模式 - LOGGING、FORCE LOGGING、NOLOGGING模式介绍
    一、日志记录模式(LOGGING、FORCELOGGING、NOLOGGING)内容转载自:https://www.cnblogs.com/tk-bolg/p/12867772.html1.三者的含义LOGGING:当创建一个数据库对象时将记录日志信息到联机重做日志文件。LOGGING实际上是对象的一个属性,用来表示在创建对象时是否记录REDO日志,包括......
  • web server apache tomcat11-22-logging 日志
    前言整理这个官方翻译的系列,原因是网上大部分的tomcat版本比较旧,此版本为v11最新的版本。开源项目从零手写实现tomcatminicat别称【嗅虎】心有猛虎,轻嗅蔷薇。系列文章webserverapachetomcat11-01-官方文档入门介绍webserverapachetomcat11-02-setup启动web......
  • 模块(time、datetime、os、random、日志logging、hashlib)
    【一】time模块【1】表示时间的三种方式时间戳元组(struct_time)格式化的时间字符串:格式化的时间字符串(FromatString):'1999-12-06'【2】时间转换(1)导入时间模块importtime(2)时间戳[1]生成时间戳importtime#生成时间戳,时间戳是浮点数类型time_str=time.time......
  • logging模块
    logging模块记录log记录日志的模块importloggingimportlogging.configimportosimportsystry:#想要给日志上色就安装这个模块#pipinstallcoloredlogs:::>>>给日志上个色importcoloredlogsexceptExceptionase:ifstr(e)=="Nomodulenamed'coloredlo......
  • time模块,datetime模块,os模块,random模块,logging模块,hashlib模块
    Ⅰtime模块【1】表示时间的三种方式#【1】时间戳表示时间:时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数#我们当时给函数计时两次时间戳相减得到了消耗的总时间#【2】元组(struct_time)(年,月,日,时,分,秒,......
  • python接口自动化实现--基于logging库的日志打印
    1、日志的级别                debug:调试级别,打印非常详细的日志信息,通常用于代码调试        info:信息级别,打印一般的日志信息,突出强调程序的运行过程        warming:警告级别,打印警告信息,表明可能出现潜在的错误        error......