2017-05-03 1027 views
0

我正在使用CAPL来模拟一些小测试的测试envirmonet,并且在发送消息或更具体地设置值时遇到问题。用CAPL和dbc信号值发送消息

我能读取信号值与$ SignalName,我也能够设置这样的信号值。

如果我使用此代码来发送消息的消息数据始终是0:

on key 't' 
{ 
    message MessageName msg; 
    setSignal(SignalName,i); 
    write("Value: %d",i); 
    outport(msg); 
} 

女巫使还挺SENCE becouse我认为消息对象旨在用于发送字节巫婆你可以访问通过msg.byte()

我知道我可以通过msg.SignalName在消息中设置信号,但这似乎不是正确的方法。我认为应该有一种方法来发送消息,消息中包含的所有信号都被设置为由SetSignal()函数设置的值。否则SetSignal Funktion有点无用

也许有人有一个想法。 谢谢

回答

0

我正在使用CANalyzer版本8.2,我没有使用SetSignal(信号,值)功能的选项。通过访问消息选择器来设置信号值似乎是一种合理的方法。但是,您使用了功能输出!您需要使用输出功能来传输消息。

on key 't' { 
    message MessageName msg; 
    msg.signal1 = value1; 
    output(msg); 
} 

对于这种方法的数据库必须被配置为使得消息MSG包含所有必要的信号(信号1)。

如果你想将所有信号值在数据库中配置的初始值使用的功能:

setSignalStartValues(message msg);