CANalyzer CAPL: определить, спит ли шина (нет сообщений на шине) - PullRequest
1 голос
/ 02 августа 2020

Я использую CANalyzer 7.0 и пытаюсь выяснить, как определить в CAPL, перешла ли шина CAN в спящий режим (сообщения больше не отправляются). Как я могу это сделать?

Я пытался прочитать BusLoad, используя sysGetVariableInt(), но всегда возвращал ноль. Возможно, у меня было неправильное имя пространства имен / переменной. Где я могу найти все системные переменные?

Edit - Я пробовал это:

BusLoad = sysGetVariableInt("_Statistics", "CAN1::Busload");

Я также пытался изменить пространство имен, но не уверен, где найти список системных пространств имен.

1 Ответ

1 голос
/ 03 августа 2020

Доступ к статистике через системные переменные был введен в CANalyzer / CANoe версии 8.0.

Поскольку вы используете версию 7.0, попробуйте следующее:

BusLoad = canGetBusLoad(1);

Начиная с версии 7.1, вы должны используйте:

BusLoad = CAN1.BusLoad;

Начиная с версии 8.0, вы можете использовать системные переменные, как в исходном вопросе.

Чтобы ответить на второй вопрос, вы можете получить список всех системных переменных из Обозреватель символов .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...