capl - 自适应检索 CAN 通道的 sysVar BusLoad
问题描述
我正在为测试创建一个程序节点。该测试需要了解被测 CAN 通道的总线负载。除了检索相应通道的 sysVar Busload 之外,该测试几乎是完全自主的。我想这样做,以便我可以像这样检索 BusLoad 值:
合适的方式:
on message *{
BusLoad = @_Statistics::CAN1::Busload;
}
我想要的是:
on message *{
BusLoad = @_Statistics::this.msgChannel::Busload;
}
我对 CAPL 非常陌生,因此将不胜感激,我不确定这是否可能。
谢谢!:)
解决方案
你可以想到这样的事情:
on message *{
switch (this.can)
{
case 1:
BusLoad = @_Statistics::CAN1::Busload;
break;
case 2:
BusLoad = @_Statistics::CAN2::Busload;
break;
case 3:
BusLoad = @_Statistics::CAN3::Busload;
break;
// and so on
default:
// what happens on default
break;
}
}
推荐阅读
- javascript - 无法让 NAV 按钮向右移动以做出反应
- react-native - 如何在本机反应中仅从单选按钮组更改值
- perl - 如何使用 linux 运行器安装带有 github 操作工作流的 cpanm?
- ios - 带有圆角和阴影但没有边框的 UITextField
- javascript - 如何从函数中删除事件监听器
- javascript - 为什么使用 JavaScript 在我的 PWA 上重复该位置?
- javascript - 使用 eval() - 未捕获的 SyntaxError:pageLoad 处的意外标识符
- vhdl - VHDL 与或反转电路,仿真期间前 5 ns 的输出未确定。内部信号也没有显示在波形上
- c++ - 尝试在 C++ 中实现可变参数 min() 函数
- google-chrome-extension - Chrome 扩展:创建新标签并附加监听器