我需要访问几个信号的值,以便计算它们的总值。我还需要将信号的值与在if语句中使用的常量值进行比较。
on timer msTimer100
{
if(msg1.Sig1 < 23)
{
x=1;
}
else
{
x=0;
}
}但是,我在if语句中得到的操作数不兼容。我也尝试过以$msg1.Sig1的身份输入$符号,但是我得到了一个错误消息“Service signal not found in database”,尽管该信号已经存在于数据库中。有什么想法吗?
发布于 2020-09-11 17:41:14
访问信号的正确语法是$message_name::signal_name。
您会收到错误消息“面向信号的CAPL在当前上下文中是不允许的”,这可能是因为您没有在节点中使用此代码,而该节点应该启用了交互层(CANoe IL)。
尝试以下操作:
$message_name::signal_name访问信号值。注意::只有在模拟信号的情况下,该语法才会给出总线中的当前值。这不适用于接收(Rx)信号。
https://stackoverflow.com/questions/60633689
复制相似问题