0

我有一个字符串,它存储从 excel 文件中提取的信号名称。如果我有很多这样的信号,我想使用字符串动态分配信号的名称。

例如,如果我的 dbc 文件中有一个名为“speed”的信号,并且我有一个存储“speed”的字符串,则需要将信号“speed”的值设置为 100。

variable
{
    message BCM BCM;
    char signal[100]= "speed";
}

on message * 
{
    $signal= 100;
}

我得到的错误是:
错误:标识符“信号”没有信号类型。

是否有解决此问题的方法,以便我可以通过某种方式将字符串转换为信号名称?

4

1 回答 1

0

您正在混合这样的变量格式。唯一可以使用 $ 的对象是dbSignal类型。您需要的是一个像getSignal ( dbSignal name ); 这样的函数,但带有 char[] 参数。遗憾的是,Vector 没有实现这样的解决方法,让您唯一的选择是通过测试用例参数传递信号字符串(如果您使用的是 XML 测试节点)。

因为,我认为你有太多,我建议你用另一种脚本语言编写一个脚本来构建 .can 文件本身的文本,用 excel 中的字符串填充 dbsignals 的位置,然后使用 .can 文件进行测试/模拟。

于 2018-12-27T09:05:50.943 回答