Python—CAN报文发送上位机
1、需求
工作中需要通过模拟发送报文验证模型功能,周立功上位机能够通过控制面板控制信号发送:

但有个小瑕疵,有些报文需要进行CheckSum校验,涉及报文位的运算,无法通过控件配置。实际整车测试时只能通过标定设置,不够方便。
2、通过Python制作上位机实现功能
①运行后配置波特率通道;选择DBC文件导入报文

②导入DBC后,能够通过下拉报文列表选择需要发送的报文名称
③点击连接周立功CAN盒,CAN1灯亮起绿灯,连接成功

④配置发送次数为-1,此时默认持续发送;点击编辑已选择的报文,跳出信号弹窗


⑤Counter&CheckSum信号配置
1、Counter
根据DBC文件自动识别Life和Counter信号,并将Max定义为DBC的最大值,同时此最大值可用户自配置。

2、CheckSum
CheckSum信号会有配置控件;根据需求自定义

每个报文不同的CheckSum支持独立的计算公式:
⑥点击发送报文,此时报文按照对应通道和波特率实现发送;验证总线CheckSum信号:一致


报文接收端: