vTESTstudio系列11--vTESTstudio中的动态函数库介绍1

在前几篇文章中,我们介绍了在通信测试方面根据需求去编写自己需要的测试函数,来达到自动化测试的目的。原来准备从本篇文章开始,通过三篇文章来介绍在诊断测试方面的测试函数,越想写越发现需要在这之前需要介绍一下动态函数库(DLL)文件,通过本篇文章对DLL文件的详细描述,接下来的介绍诊断测试的测试函数,大家看起来就比较通俗易懂了。不啰嗦,直接开始了。

目录

1.osek_tp.dll文件的介绍:

1.1 osek_tp.dll的添加:

1.2 osek_tp.dll的接口介绍:

2.CAN TP的连接设置:

2.1 CanTpCloseConnection的介绍:

2.2 CanTpCreateConnection的介绍:

2.3 CanTpSetRxIdentifier的介绍:

2.4 CanTpSetMaxCANFDFrameLength的介绍:

2.5 CanTpSetBitRateSwitch的介绍:

2.6 CanTpSetSTmin/CanTpSetBlockSize的介绍:


1.osek_tp.dll文件的介绍:

osek_tp.dll是一个动态链接库(DLL),通常用于与汽车电子控制系统相关的OSEK(开放式实时操作系统嵌入式内核)应用程序开发。OSEK协会定义了一组标准接口,旨在简化和规范汽车电子控制单元(ECU)的软件开发。因此,osek_tp.dll可能包含与这些标准接口相关的功能或代码。

1.1 osek_tp.dll的添加:

当你在电脑上安装完CANoe之后,你就可以在你安装的CANoe目录下面找到这个DLL文件了。一般默认安装的话,路径如下:“C:\Program Files\Vector CANoe 11.0\Exec32”。

找到这个文件后,你需要在你的vTESTstudio工程中添加这个DLL文件,添加方式如下:

点击Test Unit,然后点击Test Unit Configuration,选择Modeling Libraries,点击右侧的"Add..."这个按钮,然后找到“C:\Program Files\Vector CANoe 11.0\Exec32”这个路径下的osek_tp.dll,点击dll文件,选择Open,这样osek_tp.dll就被添加到vTESTstudio工程中了。

1.2 osek_tp.dll的接口介绍:

如何去查询osek_tp.dll的接口有哪些,在CANoe工程中,按下"F1"键,打开Help文档,点击"CANoe"----->"Libraries & Packages(Standard & OEM)"----->"Standard Modeling Libraries"----->"OSEK Transport Protocol(CAN)"----->"OSEK TP(CAN Transport Protocol)".在这个模块里面,就可以查看osek_tp.dll对应的所有接口了。

注意!!!OSEK TP(CAN Transport Protocol)这个模块里面的接口适用于CAN和CANFD两个类型的通信协议,但是下面的OSEK TP(Transport Protocol) - obsolete这个模块里面的接口只适用于CAN的通信协议,所以墙裂建议使用第一个OSEK TP(CAN Transport Protocol)。(我后面的介绍中也是使用这个模块去做诊断相关的测试函数)

2.CAN TP的连接设置:

通过如下的函数去建立CANTP的连接:

void InitializeCanTpHandle()
{
  CanTpCloseConnection(handle_xml);
  handle_xml = CanTpCreateConnection(0);
  CanTpSetRxIdentifier(handle_xml,g_rxId);  
  CanTpSetMaxCANFDFrameLength(handle_xml, 64);
  CanTpSetBitRateSwitch(handle_xml, 1);
  CanTpSetSTmin(handle_xml, 0x14);
  CanTpSetBlockSize(handle_xml, 8);  
}

针对如上函数,我会对每一个自带的cantp函数去做详细的介绍:

2.1 CanTpCloseConnection的介绍:

CanTpCloseConnection的函数功能是关闭现有连接。将不会报告该连接的其他事件,并且指示此连接将失败的CAPL函数调用。所以一般用在初始化的最前方,关闭掉所有的现有连接,以避免建立连接时出错。

2.2 CanTpCreateConnection的介绍:

CanTpCreateConnection的函数功能是使用给定的地址模式创建新连接。比较关键的是这个函数的入参是有如下几种:可以发现入参是报文帧的类型,一般都是默认的Normal正常报文帧。

NumberDecription
0Normal
1Extended(based)
2NormalFixed
3Mixed
4Mixed/11bit
5Extended(free)

同时,CanTpCreateConnection这个函数还有返回值,当返回值 ≤ 0的时候,表示为错误码,连接没有建立成功,当返回值>0的时候,表示连接建立成功,可以被使用。

2.3 CanTpSetRxIdentifier的介绍:

CanTpSetRxIdentifier函数的功能是设置诊断回复的报文ID,入参有两个,一个是CanTpCreateConnection的返回值,另一个是需要输入的诊断回复报文的ID.

2.4 CanTpSetMaxCANFDFrameLength的介绍:

CanTpSetMaxCANFDFrameLength函数的功能是在CanTpCreateConnection函数建立连接的基础上激活或者不激活CANFD报文,入参有两个,一个是CanTpCreateConnection函数的返回值,第二个是报文的帧长度,当帧长度为0时,表示为CAN报文,当帧长度为8,12,16,20,24,32,48,64时,则表示为CANFD 报文。

2.5 CanTpSetBitRateSwitch的介绍:

CanTpSetBitRateSwitch函数的功能是激活或停用比特率开关标志,从而在给定连接上使用CAN FD帧。如果CAN FD未激活连接,则不会发生任何事情。此函数仅针对CANFD报文有效

入参的第二个参数bitRateSwicth为0时,则表示没有激活CANFD帧;为1时,则表示激活CANFD帧。

2.6 CanTpSetSTmin/CanTpSetBlockSize的介绍:

CanTpSetSTmin函数的功能是设置连接时最小分离时间,以便在接收时发送流控制帧;CanTpSetBlockSize函数的功能是设置连接时块大小,以便在接收时发送流控制帧。一般STmin的时间是20ms,转化成16进制即为0x14,BS一般为8,设置即为0x8;表示连续帧的个数为8个。

这期的osek_tp.dll的介绍就这些,下期开始在vTESTstudio使用osek_tp.dll去编写脚本,敬请期待!!!

  • 14
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

道法自然0402

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

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

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

打赏作者

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

抵扣说明:

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

余额充值