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

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

dll文件包含义

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

labview调用示例

相关数据下载见文章尾部链接
如下图,这是一个调用示例
在这里插入图片描述

函数接口介绍

//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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/37195.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android高级面试_12_项目经验梳理

Android 高级面试-1:Handler 相关 问题:Handler 实现机制(很多细节需要关注:如线程如何建立和退出消息循环等等) 问题:关于 Handler,在任何地方 new Handler 都是什么线程下? 问题&#xff1a…

Redis主从复制、哨兵以及Cluster集群

1.Redis高可用 在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 但是在Redis语境中,高可用的含义似乎要宽泛一些,除了保证提供…

加密教程:pdf怎么加密?7个pdf加密技巧任你选(图文详解)

pdf作为一种便携式文档,是展示内容的首选格式,目前也已广泛应用于交换和分享重要等温,例如内部报告、人力资源文件,以及商业提案等包含敏感信息的文档。然而,在如今的数字化时代,随着越来越多的企业将其文档…

划分子网、子网掩码、地址范围、网络地址和广播地址。

一公司原来使用 192.168.1.0/24 这个标准网络,现在想为公司的每个部门(共六个)单独配置一个子网,其中最大的部门要分配 IPv4 地址的数量不超过 25 个。求每个子网的子网掩码、地址范围、网络地址和广播地址。 因为2,4,8所以划分为…

el-date-picker设置时间范围

下面这种写法会报错&#xff1a;找不到expirationDate&#xff0c;这是因为涉及到this的指向问题 在普通函数中&#xff0c;this 的上下文并不指向 Vue 组件实例&#xff0c;而是取决于函数的调用方式或者是否使用了严格模式 <el-date-pickerclass"date-icon-common&q…

capitalize()方法——字符串首字母转换为大写

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 capitalize()方法用于将字符串的首字母转换为大写&#xff0c;其他字母为小写&#xff0c;例如图1所示的效果。 图1 字符串首字母大写效果…

代码随想录算法训练营第五十二天-复习|LeetCode704 二分查找、LeetCode35 搜索插入位置、LeetCode27 移除元素

题1&#xff1a; 指路&#xff1a;704. 二分查找 - 力扣&#xff08;LeetCode&#xff09; 代码&#xff1a; class Solution { public:int search(vector<int>& nums, int target) {int left 0; int right nums.size() - 1;while (left < right) {int middl…

动手实现一个可发送短信随机密码的高安全性用户密码系统

动手实现一个可发送短信随机密码的高安全性用户密码系统 1、背景2、设计3、代码实现3.1、首先先看一下ThreadSpecificSecureRandom组件代码实现,如图所示3.2、调用nextInt的UserPasswordSystemManager组件的代码实现3.3、UserPasswordSystemManager组件所提供的方法,请看下图…

智慧数据中心可视化:高效管理与直观监控的未来

随着数据中心的规模和复杂性不断增加&#xff0c;传统管理方式难以满足需求。智慧数据中心通过图扑可视化实现实时数据监控和智能分析&#xff0c;将复杂的基础设施直观呈现&#xff0c;极大提升了运维效率、故障排查速度和资源优化能力&#xff0c;为企业提供现代化、智能化的…

Android使用WorkManager实现循环定时通知

引入包 def work_version “2.9.0” // (Java only) implementation “androidx.work:work-runtime:$work_version” // Kotlin coroutines implementation "androidx.work:work-runtime-ktx:$work_version"// optional - RxJava2 support implementation "a…

农业新质生产力数据(2012-2022年)原始+dofile+测算数据集

数据简介&#xff1a;农业新质生产力是指在现代农业发展中&#xff0c;通过融合尖端科技、信息技术与创新管理模式&#xff0c;实现农业生产效率飞跃、产品质量显著提升及生产可持续性增强的一种革新性生产能力&#xff0c;农业新质生产力代表了从依赖传统资源转向依靠科技创新…

一加Ace3 刷机救砖简化说明

注意&#xff1a;工具使用英文目录&#xff0c;支持救砖和降级。PJE110国行版&#xff0c;CPH2609国际版。目前国行版不能完美转换国际版&#xff0c;每次升级都需要刷oplusstanvbk&#xff0c;不建议使用。跨国转换或ROOT一定先解锁Bootloader&#xff0c;可以使用“一加全能工…

【java 执行 postgresql sql 结果不一致】

java 执行 postgresql sql 结果不一致 问题描述&#xff1a;pk_deptdoc&#xff0c;deptname 这两个字段只显示第一个字符。解决方案&#xff1a;是因为用到了UNION ALL&#xff0c;为了两边查询结果一致&#xff0c;我们一般会定一个空值&#xff0c;却没有定义数据类型&#…

Linux免交互

免交互 交互&#xff1a;我们发出指令控制程序的运行&#xff0c;程序在接受到指令之后按照指令的效果做出对应的反应 免交互&#xff1a;间接的通过第三方的方式把指令传送给指定的程序&#xff0c;不用直接的下达指令 Here Document 免交互&#xff1a; 这是命令行格式&…

国外Essay写作需要哪些明确规划?

Essay是一项有挑战性的任务&#xff0c;因此需要一个明确的写作规划&#xff0c;以确保您的Essay有逻辑性、准确性和连贯性。以下是一些不同寻常的写作规划的建议&#xff0c;以帮助您编写一篇成功的Essay。 创意闪光&#xff1a; 一个好的Essay写作规划应该让您的创意闪光。…

CSS隐藏元素:探索不同的隐藏技巧

在网页设计中&#xff0c;我们经常需要隐藏某些元素&#xff0c;以实现特定的布局效果或响应式设计。CSS提供了多种方法来隐藏元素&#xff0c;每种方法都有其特定的用途和效果。今天&#xff0c;我们就来探索一下CSS中隐藏元素的几种常见方式。 隐藏元素的两种方式 方式一&a…

为什么用excel求出的和是错误的?

Excel中求和结果错误的原因可能有几种常见的情况&#xff1a;1. **数据格式问题**&#xff1a;有时候数字可能被错误地视为文本格式。这种情况下&#xff0c;Excel 在求和时会忽略这些单元格。你可以通过将这些单元格的格式改为数值格式来解决。2. **隐藏的行或列**&#xff1a…

01_基于git代码代码运行JADE的第一个Agent

第一步&#xff1a;下载JADE代码 进入官网地址 Jade (jade-project.gitlab.io) 使用git下载JADE代码 第二步&#xff1a;编译并打包代码 在代码目录下执行mvn install 注意事项 1. maven版本需大于3.2.6 第三步&#xff1a;新建一个常规maven项目 <?xml version&q…

find_in_set 查询数据库中,逗号隔开的字符串

FIND_IN_SET(str,strlist)&#xff0c;该函数的作用是查询字段(strlist) 中是否包含(str)的结果&#xff0c;返回结果为 null或记录 。 写法1&#xff1a; $where[] [exp,Db::raw("FIND_IN_SET($user_id,follow_ids)")];写法2&#xff1a; ->where("find_in…

encode()方法——编码字符串

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 语法参考 编码是将文本&#xff08;字符串&#xff09;转换成字节流&#xff0c;Unicode格式转换成其他编码格式。在Python中提供了encode()方法&am…