我有一个字符串,用于存储从excel文件中提取的信号名称。 如果我有很多这样的信号,我想使用字符串动态分配信号的名称。
例如,如果我在dbc文件中有一个名为“ speed”的信号,并且有一个存储“ speed”的字符串,则需要将信号“ speed”的值设置为100。
variable
{
message BCM BCM;
char signal[100]= "speed";
}
on message *
{
$signal= 100;
}
我得到的错误是:
错误:标识符“信号”没有信号类型。
是否有解决此问题的方法,以便可以通过某种方式将字符串转换为信号名称?
答案 0 :(得分:0)
您正在混合这样的变量格式。可以使用$的唯一对象是 dbSignal 类型。您需要的是类似 getSignal ( dbSignal name ))的函数,但是具有char []参数。 遗憾的是,Vector没有实现这种解决方法,使您成为通过测试用例参数传递信号字符串的唯一选择(如果使用XML测试节点)。
既然如此,我想您有太多建议,建议您用另一种脚本语言编写一个脚本,以构造.can文件本身的文本,用excel中的字符串填充dbsignals的位置,然后使用.can文件用于测试/模拟。