CANoe系统变量模块里定义的结构体类型和变量从CAPL代码角度理解

CAPL里声明一个结构体类型:

variables
{
  struct DoIPMessage
  {
    byte      version;
    byte      inVersion;
    word      type;
    dword     length;
    byte      payload[1500];
  };
  struct DoIPMessage doipMessage;
}

声明一个结构体类型DoIPMessage,定义了一个此结构体类型的变量doipMessage。也就是说doipMessage作为变量,它的数据类型是DoIPMessage。

由于系统变量中没有byte、word等数据类型,所以在系统变量中定义结构体里的成员时数据类型使用UInt32。payload成员在CAPL中是byte数组,在系统变量中定义为Data类型。长度也要做相应地设置:

如果DoIP消息是基于UDP协议传输的,想要把UDP头部加进来,就可以使用结构体定义一个UDP Header。

struct UDPHeader
{
  word      sourcePort;
  word      destinationPort;
  word      length;
  word      checksum;
};

要如何把一个结构体作为另一个结构体的成员?

在系统变量模块中定义如下:


相关推荐
车端域控测试工程师4 天前
【ISO 14229-1:2023 UDS诊断(会话控制0x10服务)测试用例CAPL代码全解析⑤】
经验分享·学习·汽车·测试用例·capl·canoe
车端域控测试工程师4 天前
【ISO 14229-1:2023 UDS诊断(会话控制0x10服务)测试用例CAPL代码全解析⑩】
经验分享·学习·汽车·测试用例·capl·canoe
车端域控测试工程师5 天前
【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析⑧】
经验分享·学习·汽车·测试用例·capl·canoe
车端域控测试工程师6 天前
【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析①】
经验分享·学习·汽车·测试用例·capl·canoe
车端域控测试工程师6 天前
【ISO 14229-1:2023 UDS诊断(ECU复位0x11服务)测试用例CAPL代码全解析③】
经验分享·学习·汽车·测试用例·capl·canoe
车端域控测试工程师7 天前
【ISO 14229-1:2023 UDS诊断(会话控制0x10服务)测试用例CAPL代码全解析⑥】
经验分享·汽车·测试用例·学习方法·capl·canoe
闲人编程1 个月前
CAPL概述与环境搭建
开发语言·自动化测试·数据分析·capl·canoe·故障注入·canalyzer
up up day2 个月前
CANoe 报文仿真
vector·canoe
jasonj336 个月前
CANoe Trace窗口过滤栏消失的几种解决方法(附上最终解决方案)
canoe
蚂蚁小兵6 个月前
LIN诊断(3)—— 传输层诊断协议(LINTP)
canoe·lin·tp·iso-17987-2