Vector - CAPL - CANoe DBC消息相关自动化
阿里云国际版折扣https://www.yundadi.com |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
目录
getNextCANdbFilename -- 获取指定位置数据库文件命名
getNextCANdbName -- 获取指定数据库的名称
setSignalStartValues -- 设置目标信号初始值
GetMessageID -- 获取报文ID![](https://img-blog.csdnimg.cn/1802b871bf20455796df6e62bd76614f.png)
功能通过报文找出该报文的ID。
messageName报文的名称
dbName数据库的名称如果在多个数据库中使用消息名称则需要此名称。
返回值报文 ID如果找不到消息则为 (dword)-1
代码示例
dword id;
id = GetMessageID("LightState");
GetMessageName -- 获取报文名称
功能通过报文ID找出报文名称。
id应为其找到消息名称的消息的 ID。
context分配的数据库的上下文。
上下文的低位字包含频道号。
上下文的高位字包含总线类型
1CAN
5LIN
buffer写入消息名称的缓冲区。
size以字节为单位的缓冲区大小。
返回值
0获取失败
!=0获取成功
代码示例
variables
{
dword contextCAN = 0x00010000;
dword contextLIN = 0x00050000;
dword contextMOST = 0x00060000;
dword contextFLEXRAY = 0x00070000;
dword contextBEAN = 0x00080000;
dword contextJ1708 = 0x00090000;
}
on message *
{
char buffer[64];
if ( getMessageName( this.ID, contextCAN | this.CAN, buffer, elcount( buffer)))
{
write( "Message: %s", buffer);
}
}
getNextCANdbFilename -- 获取指定位置数据库文件命名
功能找出其他指定数据库的文件名使用 pos 查找其他已分配数据库的文件名。
pos要查找的数据库的位置号。
buffer写入数据库文件名的缓冲区。
size以字节为单位的缓冲区大小。
返回值
0获取失败
!=0获取成功
代码示例
//查找第三个数据库的示例
on key '3'
{
char buffer[256];
dword pos;
//第二个数据库的位置号
dword DbcNumber = 2; //Position number of the second database
pos = GetNextCANdbFilename(DbcNumber, buffer, elcount(buffer));
//返回第三个数据库的文件名。
//返回值“pos”包含值 3。
//如果没有找到第三个数据库“pos”包含 0。
write( "Database position number : %d Database file name : %s",pos, buffer);
}
getNextCANdbName -- 获取指定数据库的名称
功能找出其他已分配数据库的名称使用 pos 找出其他分配的数据库的名称。
pos要查找的数据库的位置号。
buffer写入数据库名称的缓冲区。
size以字节为单位的缓冲区大小。
返回值
0获取dbc名称失败
= 0成功获取dbc名称
代码示例
on key '3'
{
char buffer[256];
dword pos;
dword DbcNumber = 2; //Position number of the second database
pos = GetNextCANdbName(DbcNumber, buffer, elcount(buffer));
//返回第三个数据库的名称。
//返回值“pos”包含值 3。
//如果没有找到第三个数据库“pos”包含 0。
write( "Database position number : %d Database name : %s",pos, buffer);
}
setSignalStartValues -- 设置目标信号初始值
功能将参数中的信号值设置为数据库中定义的起始值。
msg, frame, pdu, paramGroup, parameter被设置信号的对象。
uninitializedData帧/PDU 中未被信号使用的字节应设置的值。4, 6
返回值
0成功将目标参数中的信号设置为初始值
1在数据库中找不到消息/框架/PDU/paramGroup
2至少一个信号起始值不适合消息中的信号
代码示例
message LightState msg;
setSignalStartValues(msg);