You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CAPL入门问题:按键触发移除报文时编译报错1159

CAPL编译错误1159解决方法

错误原因

TestEnableMsg()属于CAPL的Test模块专属函数,仅能在CANalyzer/CANoe的Test环境(如Test节点的CAPL脚本)中调用。你当前的脚本是在Analyze环境(普通测量节点的CAPL)下编写的,不符合函数的使用上下文,因此触发1159错误。

解决方案

根据你的需求(按下按键移除指定报文),分两种场景处理:

场景1:停止发送自己CAPL脚本中定义的报文

使用Analyze环境支持的OutputControlMsg()函数,控制报文的发送状态:

on key 'a' {
  // 参数2设为0停止发送,设为1恢复发送
  OutputControlMsg(DM01_ECM, 0);
}

场景2:过滤总线上的指定报文(阻止接收)

使用SetFilter()函数过滤目标报文,让当前节点不再接收该报文:

on key 'a' {
  // 参数2设为0禁用该报文的接收,设为1恢复
  SetFilter(DM01_ECM, 0);
}

若坚持使用Test模块函数

将你的CAPL脚本移到Test Node中,运行时切换到Test模式而非Analyze模式,即可正常调用TestEnableMsg()。

内容的提问来源于stack exchange,提问作者hugo da silva gomes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 16:23:15