当前位置:   article > 正文

Python学习--Python_cantools_python cantools

python cantools

关于

参考文档:Python cantools包_程序模块 - PyPI - Python中文网

cantools主要用于:

  • DBCKCD、SYM、ARXML 3&4 和 CDD 文件解析。
  • CAN报文编码和解码。
  • 简单和扩展的信号复用。
  • 诊断 DID 编码和解码。
  • candump输出解码器。
  • 节点测试器
  • C 源代码生成器。
  • CAN总线监视器。
  • 信号图形。

安装

pip install cantool

 示例用法

cantools.db.load_file(dbc路径)

        返回一个数据库对象

  1. db_can = cantools.db.load_file("D:\\Pycharm\\Daily_study\\Daily_000\\20220318-jh1-ES33_ICM_V4.6_INFOCAN_Cluster.dbc")
  2. db_canfd = cantools.db.load_file("D:\\Pycharm\\Daily_study\\Daily_000\\"
  3. "20220318-jh1-ES33_ICM_V4.6_INFOCANFD_Cluster.dbc")

db_can.get_message_by_name(报文名字)

        返回一个报文类对象

My_message = db_can.get_message_by_name('IMCU_PTCANFD_20ms_FrP05')

My_message.encode(data_dict,scalling=True,padding=False,strict=True)

        data_dict:以一个字典的形式对信号进行赋值

        scalling:默认进行信号缩放

        padding:默认未使用的信号值不处理,为True时则会置为1

        strict:默认为真,所有信号值都必须在其允许的范围内,否则会引发异常

My_message.signals

        返回的是一个列表,列表内存的是一个个signal类,通过signal类可以获取到信号的

         name、initvalue等

pprint(My_message.signals[1].name)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/煮酒与君饮/article/detail/1011035
推荐阅读
相关标签
  

闽ICP备14008679号