如何解决如何使用CAPL连续监视CAN信号?
有一个名为“ A”的信号,该信号从指定发生的0到20计数。计数20之后,该信号将重置为0。每次出现之间的时间间隔为20 ms。 我需要监视此信号 A 200次。每当计数器跳过一个值时,例如:0,1,4,5..20,我需要存储该特定实例。反正有这样做吗?
在CAPL中是否有任何命令可以捕获计数器信号 A 的值?解决方法
在测试节点中运行时,有几种方法可以对信号做出反应。
他们的名字全都以testWaitForSignal
开头。您可以简单地查看CANoe的文档以了解详细信息。
对于您的特定用例,您可以使用
testWaitForSignalMatch(<signal>,<expectedValue>,20)
该呼叫将在20毫秒后最晚返回。返回值将为1
,表示信号在20毫秒内具有期望值,或者返回0
,表示信号在20ms以内没有期望值20ms 。
在模拟/测量节点中运行时,等待是不可能的,因为那样会阻止模拟。
您可以在这些节点中做的是创建一个事件处理程序,例如
on signal_change <signal>
在此事件处理程序中,您可以使用$<signal>
访问信号的值。
可以通过调用timeNowNS()
来获得当前时间戳。
使用此信息,您可以在仿真节点中实现逻辑。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。