У меня есть файл CAPL, прикрепленный к узлу CAN, который периодически отправляет сообщение с помощью функции «output». Как я могу использовать второй файл CAPL для блокировки узла, отправляющего сообщение (делая все, что делает узел)?Узел блока CAPL от отправки сообщений
0
A
ответ
1
0
Вы можете остановить все ваши циклические сообщения, отменив таймеры каждого сообщения
Пример:
message can1.0x12 message1;
msTimer tmessage1;
on timer tmessage1
{
output(message1); // sending message
setTimer(tmessage1,100); //set the cyclic time as 100ms
}
on envVar envmessage1
{
if (getValue(envmessage1) == 1)
{
setTimer(tmessage1,100); //set and start the cyclic time as 100ms
}
else
{
cancelTimer(tmessage1); // cancel the cyclic timer
}
}
если вы просто сделать "envmessage1 = 0" в другом узле он будет останавливает сообщение, так же как и все сообщения должны записывать переменную среды, тогда вы можете управлять другими сообщениями узла.