- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我是 CANoe 的新手,也是 CAPL 语言的新手。但我想问你:
如何在 ECU 的网络上使用 CAPL 发送消息。例如:我想发送一个十六进制数(这是一个 ECU 的问题),然后我想看到这个问题的响应。
我不知道我是否很清楚,但是如果您有任何答案,我将不胜感激。
最佳答案
用 CAPL 发送消息
您可以在任何事件上发送一条消息(或多条消息),
例如,按键、接收到另一条消息、接收到错误帧或计时器到期。
发送事件消息包括创建事件过程、声明要发送的消息以及在事件过程中发送消息。
可以将消息声明为全局变量,以便可以在任何事件过程中访问它。
如消息对象部分所示,您可以在程序中声明消息的结构,也可以使用关联的数据库。
在这个例子中,我们将在 Global Variables 窗口中声明一个
variables
{
message EngineData msg1; // Defined in database
message 0x101 msg2; // Standard message 101 (hex)
message 0x105x msg3; // Extended message 105 (hex)
}
现在,要发送消息,我们只需要将其中一行放入事件过程中:
output(msg1);
output(msg2);
当然,我们也可以在发送之前给消息添加数据。
msg1.EngSpeed.phys = 1000;
msg1.EngTemp.phys = 150;
msg1.IdleRunning = 1;
output(msg1);
msg2.DLC = 4; // Allocate 4 data bytes in msg2
msg2.byte(0) = 0x16; // First word is 16 hex
msg2.byte(1) = 7; // Second word is 7 decimal
output(msg2);
回复信息
on message 0x101 // This is the identifier of your response
{
if(this.byte(0) == 0x16)
{
write("Response is the expected!");
}
}
或者
on message msg2 // This is the identifier of your response
{
if(this.byte(0) == 0x16)
{
write("Response is the expected!");
}
}
关于capl - 使用 CAPL 发送消息/注入(inject)消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45369254/
我编写了一个 CAPL 脚本,它使用 sysExecCmd 调用 python 脚本,例如 sysExecCmd("python",myParameters,myTree),其中 myTree是 CA
我编写了一个 CAPL 脚本,它使用 sysExecCmd 调用 python 脚本,例如 sysExecCmd("python",myParameters,myTree),其中 myTree是 CA
我是 CANoe 的新手,也是 CAPL 语言的新手。但我想问你: 如何在 ECU 的网络上使用 CAPL 发送消息。例如:我想发送一个十六进制数(这是一个 ECU 的问题),然后我想看到这个问题的响
我对 CAPL 语言还很陌生。因此,我在将数据写入 .txt 文件时遇到了问题。这是我写的代码: includes { } variables { message Generate_Num
我是 Can Access 编程语言的新手。在某些文档中,CAPL 被描述为脚本。谁能解释一下,为什么它被称为脚本? 是编程还是脚本? 最佳答案 根据 this question脚本语言和编程语言之间
CAPL 是否支持类似 typedef 的东西?我的目标是创建一个 bool 值: typedef char bool; 我能做到: enum bool { fal
我想在 CAPL 中包含一个 *.can 文件,但我必须设置绝对路径 C:\Users\myuser\canoe\simulations\projectX\Function Test\playgrou
这是我的第一个问题,请注意我是编码新手。快速搜索对我没有帮助,因为我认为答案可能太简单了。 我正在用 CAPL(一种基于 C 的 CANoe 特定语言)编写一些代码。简化我的场景:我必须读取 10 个
我在 Vector CANoe 中开发 CAPL 脚本,我需要定义几个返回文本字符串的函数。在 C 语言中,我会写这样的东西: char * ErrorCodeToMsg(int code) 或 ch
如何在 CAPL 中的 Vector 中使用 memcpy 来用零初始化数组?CAPL中的变量是: byte myArray; 在 C 中,初始化数组的解决方案是: memset(myarray, 0
如何在 CAPL 中的 Vector 中使用 memcpy 来用零初始化数组?CAPL中的变量是: byte myArray; 在 C 中,初始化数组的解决方案是: memset(myarray, 0
例如,考虑使用这种类型的十六进制字符串: char hex_str[100] = "0x01 0x03 0x04 0x0A"; 如何从这个字符串中取出 CAPL 中的字节数组表示形式,例如: byte
我正在编写 CAPL 脚本来自动化诊断服务。我读过一些大于 8 字节的 DID。直到 8 个字节,我才能在我的 CAPL 脚本中正确捕获数据,但是当数据大小超过 8 个字节时,我会得到一些垃圾值 00
我正在使用 CAN 应用程序,但遇到了一些时序问题。似乎在我的 CAN 消息写入功能完成与 CAN 消息实际传输之间存在一些时间差。所以我想测量两者之间的时间。写函数是用 C++ 编写的,因此只需调用
我一直在编写一个 CAPL 脚本,它会在一定的延迟后在每个 channel (2 个)上发送消息。我想使用 SetTimer() 和 mstimer::isRunning 函数生成以下延迟。我可以使用
我尝试使用以下命令将 .dll 文件包含在我的 CAPL 代码中,但收到以下警告: Warning 2102 at (6,20): Could not open C:\Users\Desktop\Op
我目前正在尝试为 Controller 测试自动生成代码。 测试将在 CANoe 中与 Capl 一起完成。 我已经尝试了很多东西并且效果很好,但现在我想测试“消息丢失”。 我需要这样的东西。 CAN
我正在研究 CANalyzer,但找不到如何调用包含参数的 CAPL 函数。如果我将 num 放在 functions_call.Call(num) 中,它不起作用。 def call(num):
问题 我正在尝试调用 CAPL 通用函数(在我的例子中是 timeNowNS),但我不知道这是否可行。 我在用什么? 我正在使用 Python 3.7 和 Vector CANoe 11.0。 连接是
我想在 CAPL 中集成一个头 .h 或 .dll 文件(具体来说是 Visa32.dll、visa.h 或 sicl.h)来控制万用表 34461A。如何在 CANoe 中包含 .h 文件或 .dl
我是一名优秀的程序员,十分优秀!