CAN和CANFD数据写入.asc文件的dll

因为工作需要,需要做一些硬件不是CANoe的上位机(比如说周立功CAN,NI-CAN),上位机需要有记录数据的功能,所以用Qt制作了一个记录数据的dll,方便重复使用(因为有的客户指定了编程软件,所以我也没办法呀,没办法编一次就好)。
进入正题,本次以labview调用dll写入ASC文件为例。

下面先介绍一下文件

dll文件包含义

相关数据下载见文章尾部链接

如下图,红框里的是dll文件和.h文件,其他的都是Qt的一些库函数,因为自己懒,用Qt比较好diy。调用的时候需要把红框里的文件加载上,具体流程百度调用dll。这个dll不能换位置,只能把dll这个文件夹全部带过去才能用,如果是Qt调用,当我没说

labview调用示例

相关数据下载见文章尾部链接

如下图,这是一个调用示例

函数接口介绍

cpp 复制代码
//Timestamp:时间戳
//Channel:通道
//Dir    :发送接收(0:Rx,1:Tx)
//ID:报文ID
//DLC:报文dlc长度(0-15那个)
//DataLength:报文数据长度(0-64那个)
//data:报文数据
//type:报文类型(0:can ,1:canfd)
//此函数是将报文数据储存到文件里面
extern "C" ASCTEST_EXPORT uint8_t ASCsaveMsg(uint64_t Timestamp,uint8_t Channel,uint8_t Dir,uint32_t ID,uint8_t DLC,uint8_t DataLength,uint8_t *data,uint8_t type);

//file:保存文件路径
//此函数是打开文件句柄
extern "C" ASCTEST_EXPORT uint8_t ASCopenFile(char file[]);

//此函数是关闭文件句柄,用于保存,不调用会保存失败
extern "C" ASCTEST_EXPORT uint8_t ASCcloseFile();

上面说的够明显了吧,调用顺序ASCopenFile->ASCsaveMsg->ASCcloseFile;

视频展示

将CAN和CANFD数据保存为ASC的dll文件展示

缺陷

暂时只支持CAN和CANFD的标准帧报文保存,和CANoe保存的数据有略微差异,仅用于测试分析。如果有人需要

1:labview我可以将此工程制作为一个VI函数

2:有需要的可以留言,之后可能会加功能,比如说扩展帧

3:can通道记得从1开始

4:记录数据一开始的时间点是以ASCopenFile的时间点,如果需要准确的请获取到第一帧报文,去打开文件句柄,以后传输的时间戳减去第一帧的时间戳

下载链接

dll压缩包只包含dll相关数据,labview写入ASC压缩包包含dll和vi,不需要重复下载

下载链接

链接:https://pan.baidu.com/s/1CEWeVCrllF07geo9cSVAIw?pwd=hzr9

提取码:hzr9

--来自百度网盘超级会员V7的分享

需要定制化开发可以联系我,有问题也可以联系我。邮箱:liu_xiaoshuai@foxmail.com

相关推荐
A0_張張3 小时前
记录一个PDF盖章工具(PyQt5 + PyMuPDF)
开发语言·python·qt·pdf
慧都小项3 小时前
Parasoft Jtest 如何用 JSON 文件驱动Java 测试自动化
java·自动化·json
蜘蛛小助理3 小时前
研发团队效率神器:手把手教你用蜘蛛表格构建自动化任务管理中枢
数据库·自动化·任务管理·多维表格·蜘蛛表格
淼淼7633 小时前
工厂方法模式
开发语言·c++·windows·qt·工厂方法模式
tianyuanwo4 小时前
Kickstart文件密码设置指南:自动化安装的核心实践
自动化·anaconda·kickstart
钱彬 (Qian Bin)4 小时前
项目实践11—全球证件智能识别系统(切换为PostgreSQL数据库)
人工智能·qt·fastapi
Focussend智能化营销4 小时前
2026破局:以营销自动化成熟度Macom模型为鞍,驰骋增长新赛道!
运维·自动化
无锡耐特森5 小时前
CANopen转Profinet网关:小设备撬动自动化产线大效率
运维·自动化
深蓝海拓5 小时前
PySide6从0开始学习的笔记(二) 控件(Widget)之容器类控件
笔记·qt·学习·pyqt
北京耐用通信5 小时前
解码协议迷雾:耐达讯自动化Profinet转Devicenet让食品包装称重模块“跨界对话”的魔法
人工智能·物联网·网络协议·自动化·信息与通信