CAPL基础篇-----CAPL中如何对系统变量事件响应

前言:上一章节中通过系统变量可以实现CAPL和Panel之前的交互,这是针对报文是周期性报文的一种解决方案。如果需要当系统变量发生变化时再发出报文该如何操作呢?

针对上面的问题,需要用到CAPL中针对系统变量的两个事件

On SysVar和On SysVar_Update。

On SysVar和On SysVar_Update相同点是当系统变量发生变化时两个事件都会触发。

但是On SysVar_Update只要是对系统变量赋值不诊断是否和前一次的数据一样都会触发。

如 A--->B 两个函数事件都会触发

    A--->A 只有On SysVar_Update会触发。

基于之前的工程,下面通过按键'A'和'W'来触发相应的动作。

代码修改如下。

测试先按下A:

可以发现只有sysvar_update被调用了,这是因为系统变量VehSpd的默认值为0

当W被按下时

两个函数都被调到了。

再按一次W

可以发现这一次只有upate被调用了,因为系统变量VehSpd的值没有发生变化,所以on sysvar不会被调用。

--------------------------------------分割线--------------------------------------------

猜你喜欢

转载自blog.csdn.net/WlzSnail/article/details/129165266