Skip to content

CAN / CANopen / J1939 ​

专业版功能

CAN 帧监视、CANopen、J1939 为专业版功能(试用期全开放)。

CAN 连接 ​

连接方式选「CAN」,选择驱动插件(PCAN 等厂商插件,需先装对应驱动)或 Qt virtualcan 虚拟总线,设置通道与波特率(125k/250k/500k/1M 可手输),支持 CAN FD 及数据段波特率。

没有硬件也能调:virtualcan 虚拟总线配合示例工程 examples/can虚拟总线互测.proj,SDO/PDO/心跳全流程自测。

CAN 帧监视 ​

入口:菜单 设备 → CAN 监视。

CAN 帧监视

  • 帧列表:按 ID 聚合显示,最新数据与计数一目了然
  • 总线统计:帧率 fps、负载率、错误帧计数
  • 总线状态:状态栏同步显示 Good / Warning / Error / BusOff

CANopen ​

强制要求 CAN 连接方式,协议参数只需节点号(1~127)与轮询周期。

  • SDO 读写:expedited(≤4 字节)读写对象字典,参数表 co 行地址格式 索引:子索引(如 6041:00)
  • PDO 订阅:pd 行地址格式 COB-ID#字节偏移(如 185#0);RPDO 写闭环支持
  • EDS 导入:参数表「导入」选 .eds 文件,按对象字典批量生成 co/pd 行并建新表
  • 心跳与 NMT:菜单 设备 → CANopen 节点状态 + 5 个 NMT 命令(启动/停止/复位等)

典型配置(伺服驱动器):

text
连接方式:CAN  插件:pcan  通道 0  波特率 500k
通讯协议:CANopen  节点号 5  轮询周期 100ms
参数行:  状态字  co  地址 6041:00  uint16(只读)
          控制字  co  地址 6040:00  uint16(可写,SDO)
          PDO 信号  pd  地址 185#0

J1939 ​

PGN 订阅只读监视,同样强制 CAN 链路,无额外协议参数:

  • 参数表行地址类型 j9,地址格式 PGN#字节偏移(如转速 F004#3),只读
  • DBC 导入:参数表「导入」选 .dbc 文件,按信号定义批量生成 j9 行

示例工程附 j1939示例.dbc,导入即可体验发动机数据监视。

常见问题 ​

  • 「CAN 插件不可用」:CAN 卡厂商驱动未安装,先用厂商工具确认能识别卡;无硬件时改用 virtualcan
  • 「CANopen 行写入须为 1~4 字节」:SDO expedited 限长,检查数据类型与数组个数
  • 「不是 CANopen 协议设备」:co/pd 行绑定的设备不是 CANopen 协议,改设备名或改地址类型