返回值: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...