LabVIEW编程LabVIEW开发NI USB 6251例程与相关资料 点击:112 | 回复:0



fjczd

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:552帖 | 36回
  • 年度积分:703
  • 历史总积分:1294
  • 注册:2008年8月14日
发表于:2021-12-02 19:48:10
楼主

LabVIEW编程LabVIEW开发NI USB 6251例程与相关资料

USB-6251提供模拟I/O、数字I/O、两个32位计数器/定时器和数字触发,用于头盔吸收碰撞能量试验的一个项目。

 image.png

这个项目采用NI的板卡,也就是常规的采集、显示、计算、输出等常规套路。但它的计算采用了双循环,数据量比较大,运行一次大约要数十秒。开始怀疑哪里有问题,后与用户沟通后,得到了肯定的答复,这个计算确实比较长。用EXCEL的VBA实现,不会比这个快。一般的试验自动计算出结果,很少有这么久的。

下面是VBA的代码。


E = 0                                                                               'E作为放最大HIC值

T = 0.05                                                                            '定义采样的时间间隔,单位ms

C = Application.WorksheetFunction.Count(Range("A:A"))                               '获取A列数据(即试验数据)的个数,作为循环的作大数

For i = 1 To C                                                                      '对t1采样点由起始数据到末尾数据的遍历

    For j = (i + 1) To C                                                            '对t2采样点由t1后加1个数据到末尾数据的遍历

    A = Application.WorksheetFunction.Sum(Range(Cells(i, 1), Cells(j, 1)))          '对t1采样点到t2采样点加速度值的求和

    'Cells(j, 7 + i) = A  '显示A值计算过程,用于调试

    B = ((A - Cells(i, 1) / 2 - Cells(j, 1) / 2) / (j - i)) ^ 2.5                   '对HIC公式2.5次幂内的计算

    HIC = B * (j - i) * T * 0.001                                                   '对HIC公式的计算(*0.001,因为时间的单位市ms,所以*0.001)

    'Cells(j, 7 + i) = HIC  '显示HIC值计算过程,用于调试

        If HIC > E Then

        E = HIC                                                                    '找最大的HIC值,并赋值给变量E

        Else

        End If

         Next j

Next i

  Range("b1").Value = E                                                            '将最大HIC值显示在b1单元格

End Sub

这里是LabVIEW实现算法的源程序。

 image.png

厂家有提供LabVIEW的例子,针对项目的实际情况,编写了LabVIEW程序。如下附件所示。

LabVIEW、LabVIEW开发、LabVIEW编程、LabVIEW程序

文字内容均在附件Word中,同时上文中提到的例子和资料,均在word中的附件里,可点击下载。登录www.bjcyck.com可以查看更多详细信息。这里只是简略的介绍,有任何关于LabVIEW、LabVIEW开发、LabVIEW编程、LabVIEW程序相关问题,请与我们联系。

链接地址为:http://www.bjcyck.com/nd.jsp?id=304#_np=2_358




楼主最近还看过


热门招聘
相关主题

官方公众号

智造工程师