CAN接收-公式编辑
组件作者 | 梅清 | 组件ID | 11747 |
---|---|---|---|
功能 | 该模块用CAN接收。和CAN接收组件功能类似,增加了用户自定义公式对CAN数据处理功能。 __ | ||
输入桩格式 | json | ||
输出桩格式 | 自定义 | ||
其他 |
组件原理
输入
"配置CAN"接收一个JSON数据,如下,可以只包含下面key的子集,缺省默认使用参数配置中的内容,如
{
"canInterface": "vcan0",
"bustype": "socketcan",
"bitrate": 500000,
"filterCanId": 1
}
输出
用户自定义公式对CAN数据处理后的数据。
公式编辑功能:用户可以按需求增加输出端子以及端子类型,如int或float,公式编辑器中编辑公式,如[in1[0], in1[1]]代表输出两路端子,分别为CAN接收数据的第一字节和第二字节。公式编辑器也支持一些简单的数学计算,如加减乘除。
参数配置
- CAN接口标识符(如vcan0):
字符串
- 总线类型:
单选下拉
- 波特率:
正整数
- 只接收指定ID信息(-1为不过滤):
整数
- 输出数据-公式编辑:
字符串
使用示例_
如上列中用户编辑的公式为,为一个包含3个元素的数组,即通过三路输出
[(in1[0] + in1[1] * 256 + in1[2] * 65536 + in1[3] * 1677721) / 1000,
(in1[4] + in1[5] * 256) / 1000, (in1[6] + in1[7] * 256) / 1000]
如果CAN数据8个字节为[89, 3, 2, 12, 3, 1, 4, 91]
,上述in1
变量值即为此CAN数据数组,输出为[20264.581, 0.259, 23.3],3个数值分别输出到3个输出端子。