繁体   English   中英

如何使用CAPL连续监控CAN信号?

[英]How to monitor a CAN signal continuously using CAPL?

有一个名为“A”的信号,它从指定事件的 0 到 20 计数。 计数到 20 后,信号将重置为 0。每次出现之间的时间间隔为 20 毫秒。 我需要监视这个信号A 200 次。 每当计数器跳过一个值时,例如: 0,1,4,5..20 ,我需要存储该特定实例。 有没有办法做到这一点? CAPL 中是否有任何命令可以在计数器信号A发生变化时捕获它的值。?

在测试节点中运行时,有多种方法可用于对信号做出反应。

他们的名字都以testWaitForSignal 您可以简单地查看 CANoe 的文档以获取详细信息。

对于您的特定用例,您可以使用

testWaitForSignalMatch(<signal>, <expectedValue>, 20)

调用将在 20 毫秒后最晚返回。 返回值将是1 ,这意味着信号在 20ms 内具有预期值0 ,这意味着信号在 20ms 内没有预期值


在模拟/测量节点中运行时,不可能等待,因为这会阻止模拟。

您可以在这些节点中做的是创建一个事件处理程序,如

on signal_change <signal>

在此事件处理程序中,您可以使用$<signal>访问信号的值。

当前时间戳可以通过调用timeNowNS()

使用此信息,您可以在模拟节点中实现您的逻辑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM