问题标签 [capl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
7763 浏览

capl - 如何将我的 dbc 文件导入 CAPL 浏览器?

我正在一个新的 .can 文件中编写代码,但它无法识别我在预定义的 dbc 文件中的消息。如何将 CAPL 浏览器指向我的 dbc 文件?我应该以某种方式使用我的 CANoe 配置吗?

0 投票
2 回答
1217 浏览

capl - 如何在 CAPL 脚本中读取 hex 和 mhx 扩展名

I HAVE ReadBinFile () //从 bin 文件中读取 2048 个字节 {

transferlength = fileGetBinaryBlock(缓冲区,2048,文件句柄);}

现在我想阅读 .hex 和 .mhx 扩展文件我找不到内置函数在 capl 脚本中执行此操作的选项是什么。

0 投票
2 回答
10374 浏览

can-bus - 如何访问 Vector CANoe CAPL 中的交互式生成器模块 (IG)?

我想访问 CAPL 中的 IG 块,例如激活/停用消息发送,设置信号值。但我没有找到这种capl函数。

0 投票
1 回答
2887 浏览

capl - CAPL typedef bool

CAPL 是否支持 typedef 之类的东西?我的目标是创建一个布尔值:

我能够做到这一点:

但这不是我想要的,因为我必须这样做:

代替:

0 投票
3 回答
3988 浏览

capl - 如何在 CAPL 中创建扩展消息 ID?

CAPL 确实接受如下消息定义

消息 100x mymsg

但是,它不接受长消息 ID,这是扩展有效负载的情况。换句话说,这就是我想做的(CAPL 不接受):

消息 18FEF889x mymsg

我知道有函数 mkExtId(),虽然我还没有弄清楚它是如何工作的。我尝试了类似的东西

消息 18FEF889x mymsg

mkExtId(mymsg.id)

但它仍然不起作用。有人有什么想法吗?

谢谢

0 投票
1 回答
2270 浏览

diagnostics - CAPL 中的节点/ECU 仿真

我正在尝试在 CAPL 中模拟一个节点,该节点对测试仪请求提供诊断响应。在 CANoe 中,我添加了 2 个网络节点 1)ECU 和 2)Tester。

在跟踪窗口中可以看到测试仪请求 [1A B0],但未观察到肯定响应。

注意:仅考虑积极响应处理,并且测试人员的请求是正确的。我尝试使用 on message * 事件获得响应,这很好。

在使用CAPL 函数 DiagSendResponse时,有人可以帮我解决问题吗?

谢谢

0 投票
2 回答
2042 浏览

capl - 如何通过 CAPL 访问 .dll 文件?

我已经尝试了以下代码。

对于此代码,我收到“解析错误”。我该如何解决?我需要包含一个头文件吗?

0 投票
1 回答
705 浏览

c++ - 访问 CANalyzer CAPL 系统时钟

我正在使用 CAN 应用程序并且遇到了一些时间问题。在我的 CAN 消息写入功能完成和 CAN 消息实际传输之间似乎有一些时间差。所以我想测量两者之间的时间。write 函数在 C++ 中,因此只需调用 GetTickCount 即可知道 write 函数何时完成。它知道实际传输何时发生,这就是问题所在。

我正在使用 Vector 的 CANalyzer 来监控我的 CAN 总线,听说它有一个编程接口 (CAPL)。我想做的是获取实际传输消息的 PC 时钟时间。是否有任何我可以用来执行此操作的系统-CAPL 接口?

0 投票
2 回答
15399 浏览

can-bus - 使用 CAPL 和 dbc 信号值发送消息

我正在使用 CAPL 为一些小型测试模拟测试环境,并且在发送消息或更具体的设置值时遇到问题。

我可以使用 $SignalName 读取信号值,也可以设置这样的信号值。

如果我使用此代码发送消息,则消息数据始终为 0:

女巫有点意思,因为我认为消息对象旨在用于发送字节,您可以通过 msg.byte() 访问

我知道我可以通过 msg.SignalName 在消息中设置信号,但这似乎不是正确的方法。我认为应该有一种发送消息的方法,并且消息中包含的所有信号都设置为 SetSignal() 函数设置的值。否则 SetSignal Funktion 有点没用

也许有人有一个想法。谢谢

0 投票
1 回答
1207 浏览

delay - CAPL 使用计时器作为延迟导致崩溃

我正在尝试编辑其他人在 CAPL 中编写的脚本。原始脚本按预期工作,但我编辑的版本可以编译,但有一些运行时问题。当我按下“u”键时,整个程序崩溃了,就好像它陷入了一个循环,它无法中断。对于我编辑的部分,代码的简化版本如下所示:

(原始代码每次按下“u”时 CMD 递减 5,每次按下“U”时 CMD 递增 5。我希望我的新脚本在我定义的限制之间不断上升和下降 CMD,在我定义的步骤和无限期的时间间隔,直到按下“U”,这会将 CMD 重置为 0)

我尝试在“on key 'u'”中注释掉外部while循环,以防在“on key 'u'”语句正在运行时无法执行“on key 'U'”事件语句......我是假设任何事件都可以覆盖任何其他事件,即使它仍在执行?无论如何,当我按下“u”时,运行它仍然会导致一切冻结,所以我认为使用我的计时器功能也存在问题。

我想要的只是类似于 delay_ms() 的函数,但 CAPL 似乎无法识别这一点,所以我不得不尝试使用 setTimer 和 isTimerActive 函数。

有什么建议么?