基于CANoe_CAPL语言设计_车载网关控制器自动化测试工程之从INI文件读取配置参数
从INI文件读取配置参数
1.从配置文件读取配置信息到变量中
主要使用的函数:
getProfileString : 获取字符串类型的配置信息 不需要变量接收
getProfileInt : 获取整型的配置信息 需要变量接收
2.获取测量的虚拟通道的数量以及虚拟通道的名称
从ini文件读取拟通道的数量以及虚拟通道的名称
3.获取每个网段的CAN名称赋值给变量
源码如下
//获取程控、示波器电源端口地址,用于电源及示波器初始化 PowerBuffer[] ScopeBuffer[]
getProfileString("SpecParameter","PowerIO","aa", PowerBuffer, elcount(PowerBuffer),gProfilePathIOPort);
write ("电源IO地址为 %s",PowerBuffer);
putValue (Env_6700IOPort,PowerBuffer);
//获取被测ECU的名称并输出write窗口
getProfileString("Channel_Info","ECUName"," ", gDUTName, elcount(gDUTName),IniFilePath_ChannelInfo);
write("DUTName = %s",gDUTName); //gDUTName = GW
//获取测量的虚拟通道的数量
//gDUTNetworkNum =getProfileInt("Channel_Info","NetworkNum",0,IniFilePath_ChannelInfo);
// write("NetworkNum = %d",gDUTNetworkNum); //gDUTNetworkNum=2
//获取网络对应DBC的Network Name
if( getValue(Env_GWTestCan)==1&& getvalue(Env_GWTest_Bodybus)==1)
{
getProfileString("Channel_BodyBUS_IBUS","Network1Name"," ", gNetwork1Name, elcount(gDUTName),IniFilePath_ChannelInfo);
getProfileString("Channel_BodyBUS_IBUS","Network2Name"," ", gNetwork2Name, elcount(gDUTName),IniFilePath_ChannelInfo);
write("gNetwork1Name = %s",gNetwork1Name);
write("gNetwork2Name = %s",gNetwork2Name);
}
if( getValue(Env_GWTestCan)==1&& getvalue(Env_GWTest_Bodybus)==2)
{
getProfileString("Channel_BodyBUS_ADASBUS","Network1Name"," ", gNetwork1Name, elcount(gDUTName),IniFilePath_ChannelInfo);
getProfileString("Channel_BodyBUS_ADASBUS","Network2Name"," ", gNetwork2Name, elcount(gDUTName),IniFilePath_ChannelInfo);
write("gNetwork1Name = %s",gNetwork1Name);
write("gNetwork2Name = %s",gNetwork2Name);
}
if( getValue(Env_GWTestCan)==1&& getvalue(Env_GWTest_Bodybus)==3)
{
getProfileString("Channel_BodyBUS_EVBUS","Network1Name"," ", gNetwork1Name, elcount(gDUTName),IniFilePath_ChannelInfo);
getProfileString("Channel_BodyBUS_EVBUS","Network2Name"," ", gNetwork2Name, elcount(gDUTName),IniFilePath_ChannelInfo);
write("gNetwork1Name = %s",gNetwork1Name);
write("gNetwork2Name = %s",gNetwork2Name);
}
if( getValue(Env_GWTestCan)==1&& getvalue(Env_GWTest_Bodybus)==4)
{
getProfileString("Channel_BodyBUS_TBUS","Network1Name"," ", gNetwork1Name, elcount(gDUTName),IniFilePath_ChannelInfo);
getProfileString("Channel_BodyBUS_TBUS","Network2Name"," ", gNetwork2Name, elcount(gDUTName),IniFilePath_ChannelInfo);
write("gNetwork1Name = %s",gNetwork1Name);
write("gNetwork2Name = %s",gNetwork2Name);
}
if( getValue(Env_GWTestCan)==1&& getvalue(Env_GWTest_Bodybus)==5)
{
getProfileString("Channel_BodyBUS_CBUS","Network1Name"," ", gNetwork1Name, elcount(gDUTName),IniFilePath_ChannelInfo);
getProfileString("Channel_BodyBUS_CBUS","Network2Name"," ", gNetwork2Name, elcount(gDUTName),IniFilePath_ChannelInfo);
write("gNetwork1Name = %s",gNetwork1Name);
write("gNetwork2Name = %s",gNetwork2Name);
}
if(getValue(Env_GWTestCan)==2&&getValue(Env_GWTest_IBUS)==2)
{
getProfileString("Channel_IBUS_ADASBUS","Network1Name"," ", gNetwork1Name, elcount(gDUTName),IniFilePath_ChannelInfo);
getProfileString("Channel_IBUS_ADASBUS","Network2Name"," ", gNetwork2Name, elcount(gDUTName),IniFilePath_ChannelInfo);
write("gNetwork1Name = %s",gNetwork1Name);
write("gNetwork2Name = %s",gNetwork2Name);
}
if(getValue(Env_GWTestCan)==2&&getValue(Env_GWTest_IBUS)==3)
{
getProfileString("Channel_IBUS_EVBUS","Network1Name"," ", gNetwork1Name, elcount(gDUTName),IniFilePath_ChannelInfo);
getProfileString("Channel_IBUS_EVBUS","Network2Name"," ", gNetwork2Name, elcount(gDUTName),IniFilePath_ChannelInfo);
write("gNetwork1Name = %s",gNetwork1Name);
write("gNetwork2Name = %s",gNetwork2Name);
}
if(getValue(Env_GWTestCan)==2&&getValue(Env_GWTest_IBUS)==4)
{
getProfileString("Channel_IBUS_TBUS","Network1Name"," ", gNetwork1Name, elcount(gDUTName),IniFilePath_ChannelInfo);
getProfileString("Channel_IBUS_TBUS","Network2Name"," ", gNetwork2Name, elcount(gDUTName),IniFilePath_ChannelInfo);
write("gNetwork1Name = %s",gNetwork1Name);
write("gNetwork2Name = %s",gNetwork2Name);
}
if(getValue(Env_GWTestCan)==2&&getValue(Env_GWTest_IBUS)==5)
{
getProfileString("Channel_IBUS_CBUS","Network1Name"," ", gNetwork1Name, elcount(gDUTName),IniFilePath_ChannelInfo);
getProfileString("Channel_IBUS_CBUS","Network2Name"," ", gNetwork2Name, elcount(gDUTName),IniFilePath_ChannelInfo);
write("gNetwork1Name = %s",gNetwork1Name);
write("gNetwork2Name = %s",gNetwork2Name);
}
if(getValue(Env_GWTestCan)==3 && getValue(Env_GWTest_ADASBUS)==3)
{
getProfileString("Channel_ADASBUS_EVBUS","Network1Name"," ", gNetwork1Name, elcount(gDUTName),IniFilePath_ChannelInfo);
getProfileString("Channel_ADASBUS_EVBUS","Network2Name"," ", gNetwork2Name, elcount(gDUTName),IniFilePath_ChannelInfo);
write("gNetwork1Name = %s",gNetwork1Name);
write("gNetwork2Name = %s",gNetwork2Name);
}
if(getValue(Env_GWTestCan)==3 && getValue(Env_GWTest_ADASBUS)==4)
{
getProfileString("Channel_ADASBUS_TBUS","Network1Name"," ", gNetwork1Name, elcount(gDUTName),IniFilePath_ChannelInfo);
getProfileString("Channel_ADASBUS_TBUS","Network2Name"," ", gNetwork2Name, elcount(gDUTName),IniFilePath_ChannelInfo);
write("gNetwork1Name = %s",gNetwork1Name);
write("gNetwork2Name = %s",gNetwork2Name);
}
if(getValue(Env_GWTestCan)==3 && getValue(Env_GWTest_ADASBUS)==5)
{
getProfileString("Channel_ADASBUS_CBUS","Network1Name"," ", gNetwork1Name, elcount(gDUTName),IniFilePath_ChannelInfo);
getProfileString("Channel_ADASBUS_CBUS","Network2Name"," ", gNetwork2Name, elcount(gDUTName),IniFilePath_ChannelInfo);
write("gNetwork1Name = %s",gNetwork1Name);
write("gNetwork2Name = %s",gNetwork2Name);
}
if(getValue(Env_GWTestCan)==4 && getValue(Env_GWTest_EVBUS)==4)
{
getProfileString("Channel_EVBUS_TBUS","Network1Name"," ", gNetwork1Name, elcount(gDUTName),IniFilePath_ChannelInfo);
getProfileString("Channel_EVBUS_TBUS","Network2Name"," ", gNetwork2Name, elcount(gDUTName),IniFilePath_ChannelInfo);
write("gNetwork1Name = %s",gNetwork1Name);
write("gNetwork2Name = %s",gNetwork2Name);
}
if(getValue(Env_GWTestCan)==4 && getValue(Env_GWTest_EVBUS)==5)
{
getProfileString("Channel_EVBUS_CBUS","Network1Name"," ", gNetwork1Name, elcount(gDUTName),IniFilePath_ChannelInfo);
getProfileString("Channel_EVBUS_CBUS","Network2Name"," ", gNetwork2Name, elcount(gDUTName),IniFilePath_ChannelInfo);
write("gNetwork1Name = %s",gNetwork1Name);
write("gNetwork2Name = %s",gNetwork2Name);
}
if(getValue(Env_GWTestCan)==5&&getValue(Env_GWTest_TBUS)==5)
{
getProfileString("Channel_TBUS_CBUS","Network1Name"," ", gNetwork1Name, elcount(gDUTName),IniFilePath_ChannelInfo);
getProfileString("Channel_TBUS_CBUS","Network2Name"," ", gNetwork2Name, elcount(gDUTName),IniFilePath_ChannelInfo);
write("gNetwork1Name = %s",gNetwork1Name);
write("gNetwork2Name = %s",gNetwork2Name);
}
getProfileString("Channel_Info","Network1_Channel"," ", Tempbuffer, elcount(Tempbuffer),IniFilePath_ChannelInfo);
gNetwork1_CH = CANAPPToChannelNum(Tempbuffer); //返回值1
getProfileString("Channel_Info","Network2_Channel"," ", Tempbuffer, elcount(Tempbuffer),IniFilePath_ChannelInfo);
gNetwork2_CH = CANAPPToChannelNum(Tempbuffer);//返回值2
write("gNetwork1_CH = %d",gNetwork1_CH);
write("gNetwork2_CH = %d",gNetwork2_CH);