
目录
getFirstCANdbFilename -- 获取数据库的文件名
代码示例
getFirstCANdbName -- 获取数据库的名称
代码示例
getSignalName -- 获取报文的信号名称
getMessageAttrInt -- 获取信号属性值
代码示例
getFirstCANdbFilename -- 获取数据库的文件名

功能:找出第一个被分配的数据库的文件名。
buffer:写入数据库文件名的缓冲区。
size:以字节为单位的缓冲区大小。
返回值:
!= 0:成功获取dbc名称
0:获取dbc名称失败
代码示例
on start
{
    char buffer[256];
    dword pos;
    pos = GetFirstCANdbFilename( buffer, elcount( buffer));
    //查找第一个数据库的文件名。
    //如果找到数据库,“pos”包含值 1。
    //如果没有找到 "pos" 包含 0。
    while ( 0 != pos)
    {
        write( "CANdb: %s", buffer);
        pos = GetNextCANdbFilename( pos, buffer, elcount( buffer));
        //查找其他数据库的文件名。
        //如果找到其他数据库
        //"pos" 包含值 2、3 等
        //如果没有找到更多的数据库
        //"pos" 包含 0 并退出循环
    }
}
 
getFirstCANdbName -- 获取数据库的名称

功能:找出第一个分配的数据库的名称。
buffer:写入数据库文件的缓冲区。
size:以字节为单位的缓冲区大小。
返回值:
!= 0:成功获取dbc名称
0:获取dbc名称失败
代码示例
on start
{
  char buffer[256];
  dword pos;
  pos = GetFirstCANdbName( buffer, elcount( buffer));
  //查找第一个数据库的名称。
  //如果找到数据库,“pos”包含值1
  //如果没有找到 "pos" 包含 0
  while ( 0 != pos)
  {
    write( "CANdb: %s", buffer);
    pos = GetNextCANdbName( pos, buffer, elcount( buffer));
    //查找其他数据库的名称。
    //如果找到其他数据库
    //"pos" 包含值 2、3 等
    //如果没有找到更多的数据库
    //"pos" 包含 0 并退出循环
  }
}
 
getSignalName -- 获取报文的信号名称

功能:返回 CAN 网络 CAN 消息负载中索引位置(起始位)的信号名称。
返回 CAN 网络 PDU 索引位置(起始位)的信号名称。
caplCanMessage:CAN网络中的CAN报文
caplAutosarPDU:Autosar中的PDU报文
startBit:信号在报文中的起始位置
返回值:
返回 CAN 消息中给定起始索引处的信号名称。 起始索引在 DBC 编辑器中定义
返回 PDU 内给定起始索引处的信号名称。 起始索引是用 Autosar Explorer 定义的。
getMessageAttrInt -- 获取信号属性值

功能:从数据库中获取消息属性的值;必须在数据库中定义具有参数中指定的名称且类型为 Integer 的用户定义属性。 如果没有定义这样的属性,则该函数返回 0。如果没有为数据库中的消息分配属性值,则返回属性定义的默认值。
说明:每次调用时,此函数都会再次在数据库中查找消息属性的值。 如果消息在编写 CAPL 程序时已知,则应通过其选择器语法直接找到该属性(<消息变量>.<属性名称>,例如 absData.msgCycleTime)。
canMessage:CAN报文
attributeName:目标名称
返回值:来自数据库的属性值(或默认值)
代码示例
此示例在收到消息时在 Write Window 中输出消息属性 GenMsgCycleTime 的值。
属性名必须按照数据库中的定义来写。 您可以在数据库的属性窗口中找到属性名称。
on message *
{
  long cycleTimeValue1;
  long cycleTimeValue2;
  cycleTimeValue1 = getMessageAttrInt(this, "GenMsgCycleTime");
  write("CycleTime of message id %x = %d", this.id, cycleTimeValue1);
  message EngineData gMsgEngineData;
  cycleTimeValue2 = getMessageAttrInt(gMsgEngineData, "GenMsgCycleTime");
  write("CycleTime of message id %x = %d", this.id, cycleTimeValue2);
} 
                

















