传输方式

虚拟 CAN

qianmoQqianmoQ· 更新于 2026-10-01· 阅读 2 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

一个基于内存的 CAN 总线。所有命名相同总线的传输实例彼此之间直接交换帧,无需内核、无需硬件,也不必安装任何驱动。

它是 SocketCAN 传输] 的对应实现,适用于测试、演示与开发:在一台完全没有 CAN 硬件的笔记本电脑上,同一总线上的两个连接即可相互通信。

传输语法

{name of the virtual bus}

使用相同总线名称的实例可以看到彼此发送的帧。总线在首次使用时创建,因此只要两端使用相同的名称,任何名称都可以。

示例

canopen:can-virtualcan://test-bus
genericcan:can-virtualcan://test-bus

总线也可以改用 can-virtualcan.bus-name 选项命名;如果两者都指定了名称,则以地址段的名称为准。两者都不指定时,将连接到名为 default 的总线。

名称 类型 默认值 必填 说明
名称 Virtual CAN 代码

can-virtualcan

Maven 依赖

<dependency>
  <groupId>org.apache.plc4x</groupId>
  <artifactId>plc4j-transports-can-virtualcan</artifactId>
  <version>1.0.0</version>
</dependency>

配置选项:

can-virtualcan.bus-name

STRING

default

虚拟 CAN 总线的名称。位于同一总线上的实例会在内存中交换帧。

can-virtualcan.filter-ids

STRING

接受的 CAN ID 逗号分隔列表(十进制或 0x 十六进制)。留空表示接受全部。

can-virtualcan.filter-range-start

INT

-1

接受的 CAN ID 范围的起始值(含)。-1 表示不进行范围过滤。

can-virtualcan.filter-range-end

INT

-1

接受的 CAN ID 范围的结束值(含)。-1 表示不进行范围过滤。

评论

登录后参与评论

正在加载评论…