有一个名为'A‘的信号,它计数从指定事件的0到20。该信号在计数20后将重置为0。每次发生之间的时间间隔为20 ms。我需要监视这个信号200次。每当计数器跳过一个值时,例如:0、1、4、5.20,我需要存储该特定实例。有这样的事吗?当计数器信号A发生变化时,CAPL中是否有任何命令来捕获它的值?
发布于 2020-08-28 08:20:10
在测试节点中运行时,有几种方法可用于对信号作出反应。
他们的名字都以testWaitForSignal
开头。您可以简单地查看独木舟的文档以获得详细信息。
对于特定的用例,可以使用
testWaitForSignalMatch(<signal>, <expectedValue>, 20)
该电话将在20 The后返回。返回值要么是1
,这意味着信号的期望值在20 or之内,要么是0
,它意味着信号在20 or内没有期望值。
在模拟/测量节点中运行时,不可能等待,因为这会阻止仿真。
您可以在这些节点中创建一个事件处理程序,如
on signal_change <signal>
在此事件处理程序中,可以使用$<signal>
访问信号的值。
可以通过调用timeNowNS()
获得当前时间戳。
使用这些信息,您可以在模拟节点中实现您的逻辑。
https://stackoverflow.com/questions/63600709
复制相似问题