CAN C チャネルですべてのメッセージの送信を許可し、データベース ファイルからの特定のメッセージの送信を停止する必要がある CAPL スクリプトを作成しています。私が使用できるメソッド/関数/コードを手伝ってくれる人はいますか?
質問する
6104 次
3 に答える
1
あなたの質問は漠然としていますが、あるCANチャネルから別のCANチャネルに移行していると思います。たとえば、CAN C から CAN D (または CAN 3 から CAN 4) の場合は、次のようになります。
on message CAN3.0x7FF // This would be that one ID that stops at some point
{
message CAN4.0x7FF msg;
msg = this;
// Assuming you are receiving on CAN 3, and looking to transmit on CAN 4
if(this.dir == rx)
{
// Declare a global variable that sets to 1 when you want it to stop
if(MSG_STOP == 0)
output(msg);
}
}
on message CAN3.*
{
message CAN4.* msg;
msg = this;
if (this.dir == rx)
{
output (msg);
}
}
于 2016-05-31T19:34:16.973 に答える
1
私の知る限り、これを達成する唯一の方法は、メッセージの自動送信 (IG またはネットワーク IL 経由など) を無効にし、すべてのメッセージをタイマー コールバックで CAPL スクリプトから手動で送信することです。送信はoutput
関数を使用して行うことができ、定義した条件に基づいて、output
ブロックする必要があるメッセージを呼び出さないように選択できます。
于 2016-05-12T17:56:56.723 に答える