Hallo Leute,
Ich habe folgendes Problem: (Ich verwende CANoe VERSION 8.0.87 (SP4) )
Auf CAN 1 sende ich mit einem IG eine 1byte Message im loop(100ms) und
möchte diese in einem CAPL knoten auslesen (siehe Code) und sie in eine
8byte Message ins erste byte einfügen und auf CAN 2 weitersenden. (die
beiden Messages sind in einer db definiert)
Anbei mein Code,sowie ein Screenshot vom Trace der als Ergebnis das
kopierte erste byte immer mit null anzeigt, obwohl ich es im IG mit 1
eingestellt habe.
****CODE****
1 | includes
|
2 | {
|
3 | }
|
4 | variables
|
5 | {
|
6 | message Wasserhoehe_aktuell wa
|
7 | message Wasserhoehen wh;
|
8 |
|
9 | msTimer t;
|
10 | }
|
11 |
|
12 | on start
|
13 | {
|
14 | setTimer(t, 100);
|
15 | }
|
16 |
|
17 | on timer t
|
18 | {
|
19 | wh.byte(0) = wa.byte(0); // HIER LIEGT DAS PROBELM
|
20 |
|
21 | wh.byte(1) = 2 //funktioniert
|
22 | wh.byte(2) ++; //funktioert
|
23 | if (wh.byte(2) > 10) {wh.byte(2) = 1;} //funktioniert
|
24 |
|
25 | output (wh);
|
26 |
|
27 | setTimer(t, 100);
|
28 | }
|
************
Wo liegt mein Fehler? ich bin relativ unerfahren mit CAPL und habe mich
an das Handbuch gehalten und glaube eigentlich auch, dass das was ich
machen will, eigentlich sehr einfach sein sollte.
Vielen Dank im Voraus für eure Hilfe!