Как отправить сообщение с помощью программы CAPL - PullRequest
0 голосов
/ 13 июня 2018

Я новичок в CANoe, а также в языке CAPL.Я хотел бы знать, как периодически отправлять сообщение (100 мс) по CAN 1 (увеличивая байт в полезной нагрузке с каждой отправкой, то есть счетчиком сообщений), получать это сообщение по CAN2, и когда оно принимается автоматически, должен передаваться ответ,счетчик полученных сообщений в качестве одного байта в полезной нагрузке.

1 Ответ

0 голосов
/ 20 июня 2018

В CANoe, пожалуйста, нажмите F1 , чтобы войти в руководство, затем перейдите к главе CAPL Functions и прочитайте его.Это поможет вам понять следующие принципы:

Чтобы периодически отправлять сообщение, вы хотите объявить тип переменной message в блоке variables вашего скрипта и таймер.Ассоциация CAN обычно выполняется в файле * .dbc, но вы даже можете настроить шину CAN в сценарии CAPL.

variables {
    message 0xA m1;
            // 0xA is the message ID from your *.dbc can database used in the simulation
    timer timer100;
}

Вы хотите установить таймер, например, при запуске симуляции, а затемвыведите свое сообщение в обратный вызов таймера следующим образом:

on start {
    timer100.set(100);
}

on timer100 {
    // reset timer
    timer100.set(100);
    // do stuff to your message content
    // for instance m1.signalA = 0x01;
    // ...
    output(m1)  // send m1 on CAN bus
}

Вы также хотите делать что-то, когда сообщение читается, затем делать что-то вроде

on message m2 {
     // ...
}

Возможно, вы захотите попробовать этосначала самостоятельно, а затем, возможно, обновите свой вопрос, чтобы быть более точным.Сейчас кажется, что вы действительно не приложили усилий к этому.

...