CAPL基礎
1.CAPL如何生效
CAPL透過在Simulation Setup視窗設定CAPL節點,並載入對應的CAPL檔案使CAPL生效。
2.Event驅動
CAPL語言的執行邏輯是事件觸發,當滿足條件時執行對應的程式碼
如下圖所示有啟動觸發、停止觸發、傳送報文觸發、定時器觸發和按鍵觸發等
3.報文傳送
1.自定義報文傳送
CAPL中定義了報文格式的結構體,如果是自定義的報文需要對dlc、data等部分進行配置
使用output對報文進行輸出
on key 'a'
{
message 0x1A msg1;
msg1.dlc=4;
msg1.byte(0)= 0x55;
msg1.byte(1)= 0xff;
output (msg1);
}
2.已定義報文傳送
已定義報文可直接對訊號進行賦值
on key 'b'
{
message Enginestate msg2;
msg2.Enginespeed =100;
msg2.onoff=1;
output(msg2);
}
4.訊號觸發
//訊號值改變時觸發
on signal SignalA
{
write("1,signal value is change");
sigValue =getsignal(signalA);
write("sig value is f",sigValue);//這倆一樣
write("sig value is f"$SignalA);//這倆一樣
}
//當訊號傳送到匯流排上時觸發
on signal_update SignalA
{
write("2,signal is send to the bus");
}
on key 'a'
{
setSignal(SignalA,5);//賦值
}
on key 'b'
{
$SiganlA=10;//賦值
}