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

相关推荐
fzb5QsS1p18 小时前
告别重复造轮子,Qt 快速开发脚手架
开发语言·qt·php
森G19 小时前
58、最佳实践与注意事项---------多线程、竟态条件和同步
c++·qt
Benszen19 小时前
Ansible自动化运维实战
linux·运维·自动化·ansible
qqxhb19 小时前
23|工具生态全景:本地文件、网络、数据库、浏览器自动化
网络·数据库·自动化·ai编程·最小权限·人工确认
小樱花的樱花20 小时前
1 项目概述
开发语言·c++·qt·ui
MinterFusion20 小时前
如何在openKylin 2.0 SP2中安装Qt(v0.2.2)(上)
开发语言·qt·软件开发·系统维护·明德融创·openkylin
特立独行的猫a21 小时前
HarmonyOS鸿蒙PC的QT应用开发:(一、开发环境搭建及第一个HelloWorld)
qt·华为·harmonyos·鸿蒙pc
青花瓷21 小时前
采用QT下MingW编译opencv4.8.1
开发语言·qt
祭曦念21 小时前
越权漏洞的克星!用爬虫自动化检测平行越权/垂直越权漏洞
爬虫·安全·自动化
lishutong100621 小时前
基于 Perfetto 与 AI 的 Android 性能自动化诊断方案
android·人工智能·自动化