Vector - CAPL - CAN x 总线信息获取

        在CAN&CANFD测试中,我们经常需要获取到CAN总线的负载、错误帧、过载帧、发送错误等等CAN总线上面的信息,这些信息如此重要,但是如果真的要写代码去实现也是相当不易的,那我们该如何去获取到的呢?下面我们就来一起看下相关的实现函数。

Vector - CAPL - CAN x 总线信息获取_第1张图片

目录

canResetStatistics -- 重置CAN统计信息

代码示例

BusLoad -- 总线负载

代码示例

ChipState -- CAN芯片状态(CANoe)

代码示例

PeakLoad  -- 峰值负载

代码示例

 TxChipErrorCount -- 芯片发送错误数量

代码示例

RxChipErrorCount -- 芯片接收错误数量

代码示例


canResetStatistics -- 重置CAN统计信息

功能: 重置CAN通道统计信息。

说明:

        1、只有通过模拟/测试设置中定义的CAPL程序才能在没有显式通道的情况下调用此函数。由当前总线上下文确定的通道的统计信息将被重置。

        2、具有显式通道的函数只能从测量设置中定义的CAPL程序中调用。

channel:CAN通道,对应CANoe使用通道

代码示例

on key 'r' 
{ 
   // 重置CAN1通道统计信息
   canResetStatistics(1);
}

BusLoad -- 总线负载

功能:获取当前某路CAN总线的总线负载;返回通道x的当前总线负载。

        x的取值范围:01 - 32

用法:CAN x. BusLoad;CAN x代表的是CANoe上面的第x路CAN通道

返回值:通道x的当前总线负载(百分比)。

代码示例

void Get_CAN1_BusLoad()
{
    busload = CAN1.BusLoad
    write ("CAN1 busload = %d", busload);
}

ChipState -- CAN芯片状态(CANoe)

功能:返回CAN控制器的当前芯片状态。

        x的有效值:1 - 32

返回值:当前CAN芯片状态说明;

        0:当前值不可用

        1:CAN芯片处于仿真状态

        2:未使用

        3:错误激活状态

        4:警告级别

        5:CAN芯片处于被动错误

        6:CAN芯片处于总线关闭

代码示例

void Get_CAN1_chipState()
{
    chip_state = CAN1.ChipState
    write ("CAN1 chip state = %d", chip_state );
}

PeakLoad  -- 峰值负载

功能:返回通道的峰值负载。

        x的有效值范围:1 - 32

返回值:通道x的峰值负载(百分比)。

代码示例

void Get_CAN1_PeakLoad()
{
    PeakLoad= CAN1.PeakLoad
    write ("CAN1 Peak Load = %d", PeakLoad);
}

 TxChipErrorCount -- 芯片发送错误数量

 功能:返回通道接收器中的当前芯片发送错误计数。

        x的有效值范围:1 - 32

返回值:自开始测量以来,通道x上的芯片发送错误消息数

代码示例

void Get_CAN1_TxChipErrorCount()
{
    TxChipErrorCount= CAN1.TxChipErrorCount
    write ("CAN1 Tx Chip Error Count = %d", TxChipErrorCount);
}

RxChipErrorCount -- 芯片接收错误数量

 功能:返回通道接收器中的当前芯片接收错误计数。

        x的有效值范围:1 - 32

返回值:自开始测量以来,通道x上的芯片接收错误消息数

代码示例

void Get_CAN1_RxChipErrorCount()
{
    RxChipErrorCount= CAN1.RxChipErrorCount
    write ("CAN1 Rx Chip Error Count = %d", RxChipErrorCount);
}

你可能感兴趣的:(CAPL,CAN,CANoe,vTESTstudio)