2016-10-26 4 views
0

У меня есть файл CAPL, прикрепленный к узлу CAN, который периодически отправляет сообщение с помощью функции «output». Как я могу использовать второй файл CAPL для блокировки узла, отправляющего сообщение (делая все, что делает узел)?Узел блока CAPL от отправки сообщений

ответ

1

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

enter image description here

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" в другом узле он будет останавливает сообщение, так же как и все сообщения должны записывать переменную среды, тогда вы можете управлять другими сообщениями узла.