2016-10-26 1 views
0

'출력'기능을 사용하여 주기적으로 메시지를 보내는 CAN 노드에 CAPL 파일을 첨부했습니다. 두 번째 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"다른 노드는 것 모든 메시지에 대해 같은 환경 변수를 써야만하는 메시지를 중지하고 다른 노드 메시지를 제어 할 수 있습니다.

관련 문제