问题标签 [canoe]
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.
ip - 如何访问 CANoe 中的内部定时器?
我在 CANoe 中使用以太网总线并想访问 CANoe 中使用的内部定时器。例如:如果发送/接收数据包,则要监视数据包发送/接收的时间。是否有可以监视此活动的 IP 层函数/系统变量。最终目的是根据监控的时间做出决定(连接关闭)。
testing - CAPL Canoe 等待特定的 can 消息
我目前正在尝试测试控制器的自动生成代码。
测试将在带有 Capl 的 CANoe 中完成。
我已经尝试了很多东西并且效果很好,但是现在我想测试“消息丢失”。
我需要这样的东西。
CAN 1 正在发送 10 次测试消息。3次将有一条消息丢失。
接收信号的 CAN 2 必须以特定值对此作出反应。
我需要类似 WaitForMessage(int aTimeOut, Message yourMessage) 的东西,例如,0 表示成功访问消息,-1 表示超时。
capl - 如何使用 CAPL 从 dbc 生成信号可能值作为通用输出
我正在使用 Canoe 10.0 版,我想问是否有一种智能方法可以将可选信号的值从数据库生成到其他值。
现在我正在做硬编码,但对每个信号都这样做很烦人。特别是当我知道数据库包含信号长度、起始位和最小和最大可能值等信息时。
我看到有诸如 getSignal、setSignal 等选项。但我没有设法理解如何正确使用它们以实现我的目标。
谢谢您的帮助。
capl - OSEK_TP.DLL 的并发使用
我有一个 CANoe 模拟器,其主节点使用 OSEK_TP.DLL
我想用不同的有用的“键盘'x'”宏创建另一个节点(易于重用)来发送CANext消息,还有OSEK_TP.DLL
我可以使用 OSEK_TP.DLL 有不同的节点吗?每个人都处理自己的上下文:例如,我可以在每个“开始”调用中声明不同的 OSEKTL_SetRxId 值吗?
谢谢你的帮助,
can-bus - 如何使用 CAPL 中的 TP 层从 29 位 CAN id 接收 CAN 数据
我的要求是从 29 位 CAN id 接收/发送超过 8 个字节。我为此使用了TP层。是否有任何库函数用于接收来自 29 位 id 的罐头数据?例如:0x1CDA00FE 是测试仪,0x1CDAFE00 是服务器。
ethernet - 如何在运行时操作某些/IP 消息内容?
我试图通过伪造运行时在 2 个 ECU 之间发送的内容(有效负载)来操纵一些/IP 消息。
在设置硬件 VN6510A MAC 旁路并将其集成到这 2 个 ECU 之间的数据流量路径中后,以监视和控制所有以太网数据流。
ECU A ---> eth1 接口-- VN6510A -- eth2 接口---> ECU B
我成功地捕获了我们的目标 SOME/IP 消息,并且我还成功地操纵了它们的有效载荷。但最后我们得到了 2 条 SOME/IP 消息:真实的消息和同时转发的伪造消息。
我们如何将这 2 个 SOME/IP 消息,真实消息和伪造消息绑定在一起,这样我们就可以只有一个伪造的 SOME/IP 消息,知道我使用的是相同的 SOME/IP 消息句柄。
我使用回调函数void OnEthPacket(LONG channel, LONG dir, LONG packet)注册接收到的以太网数据包。
capl - CAPL 脚本中的 API 是什么?
是否有任何 API 可以通过 CAPL 脚本或诊断和 XCP 窗口自动提取 canalyzer 的写入窗口?我知道它可以手动提取,但我不想手动提取谢谢
delay - CAPL 代码,在代码中加入延迟
我有一个控制 CAN 信号发送开始的 CAPL 测试代码。我的目标是延迟发送过程的开始。我的想法是通过 setTimer() 函数与 isTimerActive() 结合使用。
一般来说,我的代码如下所示:
上面的程序代码导致卡在那个点,CANoe 没有响应,我可以结束模拟的唯一方法是通过任务管理器。
- 从我这边进一步检查得出的结论是计时器需要更多时间来处理并且根本没有执行。
- 如果没有 isTimerActive() 函数,程序代码不会等待计时器完成,也不会有任何延迟。似乎代码在不等待异常的情况下运行。
- 似乎 CAPL 处理循环非常糟糕。
我查看了 stackoverflow,以下论坛帖子讨论了我遇到的非常相似的问题,但没有提供任何可行的解决方案:
can-bus - 使用 CAPL 和 CANalyzer 在按钮按下时发送周期性 CAN 信号
我正在尝试将一组 CAN 帧发送到 CAN 总线。我使用 CAPL 进行编程,使用 CANalyzer8.5 进行模拟,使用面板设计器创建按钮。我的要求是首先使用 PANEL 设计器创建一个按钮。只有在按下按钮时,它才会开始向总线发送周期性的 CAN 帧。我对如何实现它有点困惑。到目前为止,我已经设法使用 CAPL 编写了两个单独的程序。第一个程序在启动时定期发送数据。第二个代码在按下按钮时仅发送一次数据。我想合并两个代码以在按下按钮时开始定期发送。
第一个代码
第二代码
如前所述,当我按下按钮时,它应该开始定期发送 CAN 帧。但问题是,我不能在函数内调用函数,如下所示:
请给我建议。谢谢你