问题标签 [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.

0 投票
2 回答
185 浏览

canoe - 将外部传感器连接到 CANoe

我对stackoverflow完全陌生。我有一个与 CANoe(矢量)相关的问题

是否可以通过CANoe将外部传感器信号注入ECU,外部传感器信号来自虚拟仿真软件Carmaker。

0 投票
1 回答
2156 浏览

canoe - 如何使用 Canoe .XCP 和 CAPL 写入 XCP 参数?

如何使用 Canoe .XCP 和 CAPL 脚本写入 XCP 参数?我们可以测量这些参数,但不能改变它们,这有可能吗?

0 投票
0 回答
344 浏览

c# - 在 C# 的 Vector.Diagnostics(用于 CANoe)程序集中使用 Request 和 Ecu 类

我正在尝试创建一个仅指定 PDU 的诊断服务请求,并在 Visual Studio 中的 C# 上使用请求类的 ToString 函数打印回该服务的相应限定符。Ecu 类和 Request 类都是 Vector.Diagnostics 程序集的成员。

但是我对应该如何使用这些类感到困惑。

是否可以创建 Ecu 类的对象,并使用该对象创建新请求?我尝试了一些代码来做到这一点,但它只是在运行时显示错误或抛出“NullReferenceException”。

错误是说 Request 类没有构造函数。为什么不?它是一个类,因此它必须有一个默认构造函数。

如果如果我删除第二行,并对第三行进行如下修改:

我打字的时候很开心,但是在运行时抛出了上面提到的异常。

发生了什么,为什么?

0 投票
0 回答
576 浏览

c# - 使用基于 C# 的工具向 CANoe 配置中的 ECU 发送诊断请求

我想向特定 CANoe 配置中的 ECU 发送自定义诊断请求,并通过外部工具(由我在 C#、Visual Studio 中开发)接收该请求的响应。

我知道 Vector.Diagnostics 之类的库,它们在发送请求和内容时很有用。但据我目前所见,大多数使用这些库的脚本都已加载到 CANoe 配置中,并通过模拟设置中的 .NET 测试模块执行。

因此,即使我确实使用“Vector.Diagnostics”库创建了诊断请求,我应该如何将请求与特定配置中的 ECU 准确关联?ECU 本身可以通过 ECU Qualifier 和“ECU”类对象来寻址。但是 CANoe 配置呢?

我正在考虑通过 CANoe-COM 服务器组件打开关联的 CANoe 配置,然后发送请求,但它并没有真正的意义。没有理由将配置(通过 COM 服务器打开)与诊断请求(通过 C# 中的向量库创建和发送)相关联。

有人吗?任何人?...

PS:如果无需完全打开 CANoe 配置即可完成此任务,我也将不胜感激。

0 投票
1 回答
392 浏览

capl - CAPL中CAN 1监听UDS报文并在CAN2输出控制码的方法

我是一个完全的编程爱好者,但在操作 Vector 工具方面有一些经验,并且长期熟悉汽车 CAN 网络和 UDS。我可以发送控制消息以手动操作总线 2 上的 RAD I/O 接口上的继电器(ON KEY),所以我知道该命令有效(clickety click)但我需要它在收到诊断 CAN 帧后这样做(在对话中)。问题是,diagRequest 在 CAN 总线 1 上,我需要在 CAN 总线 2 上发送命令。请有 CAPL 键盘侠能提出解决方案吗?

0 投票
1 回答
634 浏览

capl - 替代 CAPL 函数“TestWaitForDiagRequestSent”

我正在寻找 CAPL 中的一个函数,它提供与上述函数相同的功能。

该函数用于等待确认诊断请求是否成功发送。传入的参数是 DiagRequest 对象和特定的等待期。如果在此期间结束时未收到确认,则返回与超时相对应的错误代码。另一个错误代码也指其他失败原因,例如协议错误等。

我对这个已建立的“TestWaitForDiagRequestSent”函数的主要问题是它只能在测试用例结构中使用,或者通过 CANoe 的模拟设置中的 CAPL、XML 或 .NET 测试模块实现。我需要实现相同的功能,而不必使用测试模块。

任何人都可以建议另一个 CAPL 函数来完成相同的工作减去测试模块,或者建议一种实用的方法来实现这一点?

0 投票
1 回答
620 浏览

c# - 将 CANoe COM 服务器与 C# 一起使用时的问题

我正在尝试通过 C# 中的 CANoe-COM 服务器在特定的 CANoe 配置中执行一些 CAPL 函数。但我遇到了错误。

在这里,我在 CANoe-COM 服务器中声明两个类的对象:应用程序(打开 CANoe 配置)和 CAPLFunction(在配置上运行一些 CAPL 功能,比如打开一个面板),按下按钮在一个简单的 Windows 窗体中。代码如下:

当我在 Visual Studio 中输入这些函数时,没有显示任何错误。即使在运行程序时,表单也会显示,并且在单击按钮时,配置“All_Neu.cfg”也会打开。但在那之后,系统抛出这个错误:“类未注册,HRESULT:REGDB_E_CLASSNOTREG”。它在抛出错误时突出显示声明 CAPLFunction 对象的行。

这很奇怪,因为应该没有问题,对吧?我的意思是,CANoe 配置正确打开,所以 CANoe-COM 服务器是活跃的。

事实上,我注意到 COM 服务器中任何其他类的任何对象,如 Bus 或 Write,都会导致相同的错误。配置确实打开了,但在那之后,什么也没有。

关于为什么会发生这种情况的任何想法?

0 投票
1 回答
336 浏览

capl - 是否有访问硬件配置的 CAPL 功能?

我正在使用 CANoe 设置测试环境。根据我要运行的测试,我需要在运行测试之前正确配置硬件。

我能够使用面板配置硬件并导出设置以供以后导入,但我无法从测试本身启动它,因此在附加到不同硬件配置的测试之前需要手动操作启用。

我希望能够直接从测试(CAPL)中恢复硬件配置。

0 投票
1 回答
2576 浏览

canoe - 驱动程序:接收溢出:消息丢失

测量设置


模拟设置


上面两张图分别是我的测量和模拟设置。Replay 块播放一个长度为 6 分钟的 blf 文件,其中包含来自两个 CAN 通道的总共 2,413,161 个 CAN 帧。


测试设置


上图说明了工作台设置。Canoe 读取 blf 文件并在两个 CAN 通道上传输 CAN 帧。微控制器 (MuC) 接收 CAN 帧将它们转换为以太网 IPV4 UDP 数据包并再次传输到独木舟。

当我运行此配置时,出现以下错误。
1. 系统 - CAN 驱动程序:接收溢出 - 消息丢失
2. 系统 CAN X:ID = XXX 的消息无法发送。TransmitCANFrame 中的驱动程序错误 11,“XL_ERR_QUEUE_IS_FULL”
3. 系统警告:重播加载延迟
系统 ReplayBlock 1(blf_file.blf):15 次,总共 7347.46 毫秒

我认为这是由于独木舟性能问题或 CAN 驱动程序问题。所以我做了以下步骤。
1.修改了Vector hardware Config下CANCaseXL Receive latency->Very fast。
2. 在 Vector hardware config -> Global settings 下增加 Transmit queue settings->32768 (maximum)。
3. 我禁用了除一个日志记录块 (blf) 之外的所有内容 [正如您在测量设置中看到的那样]。

但我仍然遇到同样的错误。可能是什么问题呢?有没有其他方法可以解决这个问题?

0 投票
3 回答
283 浏览

python-3.x - 如何在python的while循环中每次返回值

我有以下代码

我想每次都退回味精,我该怎么办?有人能帮我吗?