【问题标题】:Is there any module to parse CAN database (.dbc) files in python?是否有任何模块可以在 python 中解析 CAN 数据库 (.dbc) 文件?
【发布时间】:2023-01-31 02:53:14
【问题描述】:
import cantoools
can_db = cantools.database.load_file(path)

上面的 sn-p 显示错误

“signal_xx”在消息“node_xx”中重叠

请建议其他方法来解析此信息。

路径 ---> CAN BASE J1939

【问题讨论】:

    标签: python python-3.x can-bus j1939


    【解决方案1】:

    我不熟悉 cantools 项目,但消息对我来说似乎很明确。

    :signal_xx" 在消息 "node_xx" 中重叠

    这意味着在 DBC 中,有一个名为 node_xx 的帧,其中至少有 2 个重叠的信号。这意味着有一个或几个位被多个信号使用。

    DBC 文件似乎格式不正确!

    您可以从 VECTOR 下载事实上的标准 candb++,而不是作为免费软件,可以免费下载。如果信号重叠,该软件应该能够报告一些警告或错误。

    【讨论】:

      【解决方案2】:

      您正在正确解析它,但 DBC 文件本身存在问题。您可以像 Robert 建议的那样使用 CANdb++(它会自动安装任何 Vector 软件,如 CANalyzer),或者只是在文本编辑器中打开 DBC 文件。您正在寻找信号重叠的消息。每个信号都有一个起始位和定义的位数,因此在某处存在冲突。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-14
        • 2019-08-26
        • 1970-01-01
        • 2017-04-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多