【课设记录】基于PC的车速测量:Labview采集双光电开关并处理

前言

一、任务要求

二、具体实现

1.DAQ采集电压

2.读入数据,获取时间

方案一

方案二

三、重要的使用知识

感想与总结


前言

        做这个课设把labview摸索了两天,赶在检查前极限完成,写本文记录一下学到的东西。如果对你有帮助,那再好不过了。程序上传csdn了,想要网盘可以直接找我,看到就回。

下载链接


 

一、任务要求

        设备:NPN型 E3F-DS30C4E3F-DS30C4  光电开关

                   NI USB6009 采集卡

        任务:

        首先明确方案,将两个光电开关安装在一条直线上距离为L,获取物体经过时传感器的时间,做一个时间差T。平均速度 v = L / T。

        所以关键在于怎么获取经过时间。

二、具体实现

1.DAQ采集电压

这个直接找例程:在 帮助-查找范例

图片

基本流程(以函数名代替)是:DAQmx创建通道-DAQmx定时-DAQmx开始任务-DAQmx读取-DAQmx停止任务-DAQmx清除任务

中间的记录和触发看需求。

2.读入数据,获取时间

两种方案,都用到了<基本电平触发>这个函数。

方案一:开关触发,读取保存系统时间,假设 t1为物体经过第一个开关的时间,t2同理。时间差T = t2-t1

方案二:开关触发,获取已用时间,假设假设 t1为物体经过第一个开关的已用时间,t2同理。时间差T = t2-t1

 

方案一

 

 上面两张是获取时间+计算、显示结果的全部,有重复的部分

 逐一解释:

使用<基本电平触发>,具体使用详见帮助文档,检测到下降沿就触发,输出布尔量,由于我是两个信号,输出的是布尔数组,分贝对应两个信号的触发情况,将其使用<布尔数组至数值转换>,转换成数值,为1是代表信号1触发,为2代表信号2触发,做一个判断等于1还是2,分别传给  布尔显示控件  通道1、2  的属性:值,例:信号1触发数值为1,通道1为ture。

 将通道1、2的值作为条件结果的判断输入,红框部分是触发后读取系统时间拆分出 分、秒、秒的小数部分,把两个值相加转为最终的秒数,传给时间2(时间2也是显示控件的属性:值)

 时间1先得到,2后得到,两个都不为0时,做时间差,并计算车速显示,然后清0给下一次计算。

 

 

方案二

 

方案2的主要区别是使用<已用时间>和<条件结构>,这样结构简洁了很多,已用时间运行后会一直计时,直到目标值后重置。这里我设置的目标值是3600s,足够大了但是也在清零是顺便计时重置了,即每次测量都是重新计时。

主要对中间的条件结构解释:我们条件结构设置的事件[1]是  显示控件  触发通道   的值改变,改变前的原值是0,如果为0,再通过和1比较,判断是1还是2。是1就保存  已用时间  给  时间1,2同理。还有一个事件[0]是超时事件,设置的超时是1ms,超过就把一个true常量传给循环条件,中止循环进入下一阶段,避免因为没有触发,导致程序卡在这里(这个一定要有)。

剩下的和方案一一样。

 

 

三、重要的使用知识

1.事件结构的软件触发。一般事件结构设置值改变,直接设置输入控件能正常用,但是设置显示控件的值改变是不会起作用的,可以创建显示控件的 属性-值(信号),注意:值 和 值(信号) 有区别,只有值(信号)可以作为事件结构的条件。

2.事件结构放在while循环里面

3.创建属性节点可以方便的传递值进行写入写出

详细参考文章:http://t.csdnimg.cn/J2YHb


感想与总结

由于是新手,很多控件的使用,程序设计都不是最佳的,有大佬觉得不合理的可以给点建议。

做的时候由于不知道控件的使用方法,很多想法都卡住不能实现......如果是和我一样的小白做数据采集,建议先去b站看看课程,比如 up加油小林哥 还有  数据采集入门,摸清楚基本的控件的使用省去摸索的时间。

光电开关本来是数字量,但是我当时设置的模拟量采集,也当模拟量处理了,还好发现了基本电平触发可以检测下降沿上升沿,不然要去比较电平做判断就更麻烦了。搞完后才想起开关应该是数字量,看了看数字量采集有什么可以用的,应该可以是搜索数字波形找到触发的那一段并返回时间,更方便。

本次课设就记录这么多了,欢迎各位交流

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值