Vector - CAPL - 获取相对时间函数

在自动化开发中,无论是CAN通信测试,还是网络管理测试,亦或是休眠唤醒等等存在时间相关的,都可能会使用相关的时间函数;今天主要介绍的就是获取当前时间,我们知道vector工具的最大优势就是稳定和精确度高,这体现在我们使用工具的方方面面,今天我们来介绍的就是获取的运行的相对时间,包含10微秒级和纳秒级,下面我们就来看下CAPL都提供哪些获取当前时间函数吧!

10微秒级

timeNow

返回值:10ms级的CANoe工程启动到执行到该函数的时间;整数类型

常见用法:time_now_ms = timeNow()/100, time_now_ms就是CANoe启动到执行到该行的运行时间,单位为ms,一般来说大部分测试达到满足毫秒级即可,极个别需要精确到微秒甚至纳秒的时候我们才会使用其他方法。

timeNow:time_now_ms的最大值:2^32*10微秒=11小时55分钟49秒672毫秒96微秒;如果是长时间压力测试的时候使用该函数需要注意处理最大值,以免测试结果的误判。

timeNowint64:如果是长时间压力测试的时候建议使用该函数。

timeNowFloat

返回值:10ms级的CANoe工程启动到执行到该函数的时间;浮点类型

常见用法:time_now_ms = timeNow()/100, time_now_ms就是CANoe启动到执行到该行的运行时间,单位为ms,一般来说大部分测试达到满足毫秒级即可,极个别需要精确到微秒甚至纳秒的时候我们才会使用其他方法。

如果是长时间压力测试的时候使用该函数需要注意处理最大值,以免测试结果的误判。

timeDiff

message:CAN报文 例如:message 0x100 msg;则msg就代表报文ID为0x100的报文,msg.dlc即为报文0x100的长度都可通过msg.xx进行设置(FDF/BRS/R0/R1等等参数),设置内容函数MessageTimeNS中的message介绍。

NOW:当前时间

返回值:报文m1到当前的时间差或者报文m1和报文m2之间的时间差。

单位:10微秒

diff = timeDiff(m100, now); 
diff = this.time - m100.time; 
//this代表当前时间

纳秒级

timeNowNS & timeNowInt64

返回值:纳秒级的CANoe工程启动到执行到该函数的时间;整数类型

常见用法:time_now_ns =timeNowNS(), time_now_ns就是CANoe启动到执行到该行的运行时间,单位为ns,这里函数能够满足纳秒级的测试,满足更加精确的时间精度。

如果是长时间压力测试的时候使用该函数需要注意处理最大值,以免测试结果的误判。

MessageTimeNS

message:CAN报文 例如:message 0x100 msg;则msg就代表报文ID为0x100的报文,msg.dlc即为报文0x100的长度都可通过msg.xx进行设置(FDF/BRS/R0/R1等等参数)

message 100 msg;
msg.DLC = 1;
msg.BYTE(0) = 0xff;
output(msg);

linFrame:LIN报文 参考上面

以报文为参数,其中包含CAN报文或者LIN报文,返回值为CANoe启动到当前函数的时间,单位为纳秒,精度相当的高,这个主要用于检查特定报文出现的时间,比如检查Autosar网络管理中的的重复报文出现的时间和时间差,可直接用当前函数去获取并进行检查。

以上是我们在使用CAPL编程中常用的获取当前时间和或者时间差函数!!!

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

车载网络测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值