CAPL基礎

疯狂生长的陈大花發表於2024-11-07

CAPL基礎

1.CAPL如何生效

CAPL透過在Simulation Setup視窗設定CAPL節點,並載入對應的CAPL檔案使CAPL生效。

2.Event驅動

CAPL語言的執行邏輯是事件觸發,當滿足條件時執行對應的程式碼

如下圖所示有啟動觸發、停止觸發、傳送報文觸發、定時器觸發和按鍵觸發等

image-20241106234825601

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;//賦值
}

相關文章