【发布时间】:2019-10-04 12:39:34
【问题描述】:
我编写了一个简单的 CAPL 程序来将数据输出到文件。
在离线模式下执行模拟时,文件上不会打印任何内容。我无法在在线模式下对其进行测试。我不明白为什么。
脚本在主分支上在线/离线切换之后立即放入测量设置中。我正在使用 CANoe。
/*@!Encoding:1252*/
includes
{
}
variables
{
dword fileHandle;
char buffer[1024];
}
on preStart
{
setFilePath("mypath");
fileHandle = openFileWrite("file.txt", 2);
}
on stopMeasurement
{
fileClose(fileHandle);
}
on linFrame someFrame
{
snprintf(buffer, elcount(buffer), "somestring %d", somevalue);
filePutString(buffer, elcount(buffer), fileHandle);
}
【问题讨论】:
-
您在离线模式下使用哪些日志文件作为源?它们是否包含预期的 LIN 帧?另外,模拟设置中没有在线/离线切换,我假设您在谈论测量设置,对吧?
-
我正在使用我知道包含预期 LIN 帧的日志文件(我也在处理转换为 ascii 的同一日志,我可以看到这些帧)。那天早些时候我自己拿了日志文件。这与使用离线模式时键盘输入在模拟中似乎被忽略的事实相吻合(并且 CANoe 在测量设置中不提供重放块,除了离线开关一)。我也修改了问题,你说得对。