返回值: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代表当前时间

返回值:纳秒级的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编程中常用的获取当前时间和或者时间差函数!!!

functionsdword timeNow()long addTimeMeasurementStartTime(int64 timeSpan, long time[]); dword timeNow() dword timeNow() float timeNowFloat(); 没有本质区别,只不过返回值一个是整形,一个是浮点型 返回值的单位都是10ms 下面的返回值是ns: float TimeNowNS(); int64 timeNowInt64(); 没有本质区别,只不过返回值一个是整形
一、 时间 函数 :timestampdiff   语法:timestampdiff(interval, datetime1,datetime2)   结果:返回( 时间 2- 时间 1)的 时间 差,结果单位由interval参数给出。 frac_second 毫秒(低版本不支持,用second,再除于10...