问题标签 [canalyzer]

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 回答
5831 浏览

function - How to use a signal as function parameter in CAPL

I am trying to write a function in CAPL that takes a signal and calculates the physical value with the signal value, the signal factor and the signal offset.

This is how a simple gateway normally works:

#xA;

And this is what I am trying to do:

#xA;

There are two problems with this code:
Firstly when I pass the signal as the parameter the compiler says that the types don't match. The second problem is that inside the function the attributes (factor and offset) are no longer recognized. These problems might have something to do with the weird object-oriented-but-not-really nature of CAPL. The value of the signals can be accessed directly but it also has attributes?

#xA;

If you are familiar with C you might say that the problem is that I am specifying a pointer in the function but that I am not passing a pointer into it. But in CAPL there are no pointers and the * simply means anything. Without the * I would have needed to use a specific signal which would have defeated the purpose of the function.

EDIT:
I have found the attribute .phys by now which does exactly what my demo function would have done.

#xA;

This has already made my code much shorter but there are other operations that I need to perform for multiple signals so being able to use signals as a function parameter would still be useful.

0 投票
1 回答
2145 浏览

capl - 从 CAPL 中的从节点读取 LIN 帧

我正在尝试读取从 LIN 从节点发送的 linFrame,以识别特定位何时从零变为一。

我正在向从属伺服系统发送一条 LIN 消息,命令它移动到物理终点之外。

一旦它物理地到达终点,它的状态消息就会将一个位从零设置为一。该位标识伺服电机何时停止。我的目标是让 CAPL 脚本检测到电机已经停转。

我的命令消息是由我的 CAPL 脚本使用“output()”函数发送的。我不确定哪个函数可以读取响应,但我认为我必须发送响应消息的标头,然后读取响应帧。

“writelinee”函数写入的数据与我在 CANalyzer 的 LIN 跟踪窗口中看到的值非常不同。

我觉得特别奇怪的是,写出的 ID 字段与代码开头变量部分中设置的 ID 不同。在代码中,我将该状态消息的帧 ID 定义为 0x21,但写入命令给出了不同的值(我相信是 0x35,尽管我目前不在我的设置中。

0 投票
1 回答
5326 浏览

canoe - 如何在 CANoe 中实时回放 .blf 文件?

我在 SO 上发现了几个关于这个主题的问题,所以我认为这也可以。

在 CANoe/CANalyzer 离线模式下,可以开始测量以重放记录的数据,例如 .blf 文件中的数据。要进行配置,请参考以下问题:

如何在 CANalyzer 中播放 blf 文件

使用 CAPL 在常量循环中运行 Blf 文件进行仿真

但是,回放会尽可能快地完成。我记得我在一个文件中读过这个,但我找不到在哪里。

有没有办法减慢 .blf (或任何)日志文件的重播速度,它是什么?

或者,相反,是否有人参考他们声明无法做到的文档?我感觉这种重播速度正在影响我正在开发的一些脚本,因为我的电脑不能“尽可能快”。

0 投票
1 回答
816 浏览

capl - CAPL 获取创建的日志文件的名称

我将 CANoe 设置配置为使用动态命名约定自动将日志文件保存到文件夹(即:输出文件名具有日期和时间,它们不是常量)。

我想在保存此文件后使用on Stop()CAPL 脚本的过程对它执行一些操作。为了确保定位正确的日志文件,我想使用它的名称,它是动态创建的(这是一个约束)。我怎样才能做到这一点?

0 投票
1 回答
2806 浏览

can-bus - 在矢量面板设计器中使用工具箱中的“按钮”,用于 CAPL

我正在用 CAPL 编写测试用例,并希望使用 Panel Designer 中的“按钮”来激活每个测试用例。问题是每当我按下按钮时,它的反应就好像它被按下了两次。

我只是简单地添加这样的代码以使该问题可见。(“@sysvar::Test_Cases::TC1”的系统变量链接到面板编辑器中的按钮)

我只希望看到 -->Value of @sysvar::Test_Cases::TC1 =1

但是输出是这样的:

@sysvar::Test_Cases::TC1 的值 =1 @sysvar::Test_Cases::TC1 的值 =0

0 投票
0 回答
1982 浏览

python - 将 Vector *.blf 数据转换为普通可读数据,以便与 python-can 或 cantools 一起使用电子表格

我有一些文件是通过在 CANalyzer 或 Vector 中导出 CAN-Bus 数据而创建的。问题是文件中主要有趣的数据被编码,如下所示:“40c1 bf1b 490d 34b0 46c5 6ed0 a853 d856”。

有没有办法通过 python-can 或 cantools 将这些数据“转换”为正常的、人类可读的数字?

0 投票
0 回答
2010 浏览

file-conversion - 在 Vector CANalyzer 中自动进行 BLF 到 MAT 文件的转换

我正在尝试将一堆 BLF 文件自动转换为 Matlab MAT 文件。我在这里发现了一个类似的问题并使用答案开始:

有没有办法在 Vector CANoe 中自动将 BLF 转换为 CSV?

我只想评论那个帖子,但我这里的帐户是新的,所以我不能。

我按照另一个线程中的说明为 CANalyzer 和 BLF/MAT 文件进行了设置。当我运行 BAT 文件时,我在 CANalyzer 的写入窗口中收到错误消息:无法导入系统日志文件“logfile001.blf”

所以问题似乎是 BLF 没有正确导入 CANalyzer。有没有人尝试过这个或对尝试什么有任何建议?我从来没有真正使用过 VBS,所以我很难对代码进行故障排除。

这是我写的代码。对于 BAT 文件:

for /F %%x in ('cd') do for %%i in (*.blf) do c:\windows\system32\wscript.exe canalyzer_convert.vbs %%i %%x

对于 VBS 脚本:

如果您将我的答案与其他线程的答案进行比较,您会看到我必须从该行中删除 arg1 信息

src_file=arg1 & "" & arg0

如果我不从那里删除 arg1,那么 CANalyzer 会尝试导入一个 BLF 文件,该文件还包括文件名中的文件夹名称,并使脚本崩溃。我认为这可能会导致问题

Set Logging = App.Configuration.OnlineSetup.LoggingCollection(1)

因为那条线似乎参考

arg1=args.Item(1)

任何帮助,将不胜感激。

0 投票
1 回答
1320 浏览

capl - 如何使用 CAPL 脚本或任何其他可能的方式测试 CanTp 协议中的 N_As、N_Ar 超时参数?

作为 CanTp 协议相关测试的一部分,我一直在尝试测试N_AsN_Ar超时错误,其中N_AsMax = 1000msN_ArMax = 1000ms.

是否可以使用 CANalyzer 和/或使用 CAPL创建N_As和超时?N_Ar如果您可以分享一种使用 CANalyzer 或 CANoe 测试这些时序参数的可能方法,那将是非常有帮助的。

0 投票
1 回答
338 浏览

excel - 将 CANoe 数据库中的数据插入现有 Excel 工作表

`最近,我的任务是使用 CAPL 自动将 CANoe 中的 ECU 的一些数据插入到现有的 Excel 工作表中。我对此很陌生,需要一些帮助。我会尽可能详细。

  1. 如何在 CAPL/CANoe 中创建一个 env var 到数据库的链接。
  2. 我已经创建了一个带有按钮的面板,该按钮应该与上面询问的环境变量一起分配。所以,我的问题是如何访问需要从此按钮获取一些数据的现有文件?我的意思是 CAPL 不允许使用 excel 格式。如何通过单击按钮将一些数据输出到现有的 Excel 工作表?我应该如何继续为此编写代码?
0 投票
1 回答
159 浏览

gateway - 如果那里有 CAPL 节点,如何在 Graphics/Trace 窗口之前对 FlexRay 帧进行网关处理?

这比其他任何事情都更适合练习。我在图形窗口( CAPL 节点的位置)之前添加了一个 CAPL 节点,我只是想熟悉一些简单的事情,比如向信号和事物添加偏移量。

如果我想使用以下内容,我可以通过 CAN 信号原封不动地传递它:

问题是我不知道如何为 FlexRay 执行此操作。我根据以下内容尝试了一些组合,但总是以错误告终;

任何指针将不胜感激。