2017-06-09 1 views
0

Ich versuche, die Signaldaten in jeder meiner CAN-Nachrichten in separaten Variablen zu speichern. Für z. Ich habe eine CAN-Nachricht 'msg1' von dlc = 4, mit Signalen {8, 5, 7, 21} in CANalyzer CAPL, Ich möchte sie in Variablen wie speichern: int var1 = msg1.byte (0); aber ich bekomme immer Null (0) als der endgültige Wert der Variablen nach der Operation.CAN-Nachrichtensignale, CAPL

Jede Hilfe wird sehr geschätzt. Dank

+0

Bitte helfen Sie uns, und fügen Sie Ihrer Frage ein [minimales, vollständiges und überprüfbares Beispiel] (https://stackoverflow.com/help/mcve) hinzu. – sergej

Antwort

0

Wenn Sie nicht tun dies bereits, implementieren eine auf Nachrichtenereignis mit dem Schlüsselwort this:

on message msg1 { 
    var1 = this.byte(0); 
    ... 
} 

Das Ereignis wird immer dann ausgelöst werden, wenn CANalyzer die Nachricht in dem auf Nachrichtenereignis angegeben empfängt. Auf diese Weise können Sie auch sicherstellen, dass der von var1 gespeicherte Wert auf dem neuesten Stand ist. Sie können auch einen allgemeineren Ansatz mit Arrays verwenden.