• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 测试测量 > Labview 虚拟仪器 > 在LabVIEW下建立弹球模型

在LabVIEW下建立弹球模型

录入:edatop.com    点击:

对物理对象进行建模仿真是目前来说非常流行的一种科学研究方法,一般来说,对于这种应用,可以用 C 语言或者 Matlab 来实现。作为一种编程语言, LabVIEW 其实也能非常方便地实现模型的建立,特别是 8.2 的 Simulation Module 更是使得仿真建模更加方便直观,本文就将以实现一个弹球模型( Bouncing Ball )为例,跟大家介绍一下利用 LabVIEW 来建模的三种方式。


1. Simulation Module

Simulation Module 这个模块对于 LabVIEW 来讲还算比较新,但是相信在以后的版本中会有更强大的功能,并且会更加完善和易用。利用这个模块对弹性球建模的程序如下图:


点击看大图


可以看到,整个模型一共有三个可调参数:弹性系数(即表示在与地面撞击时小球速度变为原速度的比值),初始速度以及初始高度。在 Simulation Loop 中,首先对重力加速度 g 进行积分,得到速度值,再积分得到位置值。其中还判断了位置是否过了 0 点(即是否与地面发生了撞击),当过了 0 点时,则将速度乘上弹性系数,位置重置于 0 。


2. G Code

不用 Simulation Module ,单单用 LabVIEW 的 G code ,也能对这个简单的物理模型进行仿真。下图是用 LabVIEW 编写的程序:


点击看大图


从图中可以看到,我们用了 For 循环使得仿真的循环次数为 200 ,每次的 dt0.1 ,根据 dt 以及物理动力学公式,可以得到当前的速度以及位置等信息,再与上例一样进行过 0 检测,并进行相应的操作。可以看到,用 LabVIEW 编写程序稍微烦琐一点,主要是数学运算太多,使得整个 Diagram 过于占用面积。


3. Mathscript

Mathscript 也是 LabVIEW 8.2 的一个新特性,目前来说,对于 LabVIEW 主张的是文本与图形混合编程的方式,这样可以兼顾两种编程方式的优势,使得开发效率达到最高。下图是用 Mathcript 编写的仿真代码:

点击看大图


整个 Mathcript 的代码是类 m 代码,即只要你在 Matlab 下能够顺利运行这些代码,那么 90% 你就能直接贴到这个节点里运行。如果仔细研究下程序的话,可以看到它的运算方式与用 G Code 类似,但是由于用到了文本编程方式,使得代码更有效率,这也是为什么用混合编程的最大原因。

下面是用了这三种仿真方式的结果比较图:


点击看大图


可以看到,用 Simulation Module 的算法由于用到了专业的 Rounge-Kutta 计算方法(即 Solver ),因此在实际的仿真结果上可以确认为可信,那么其他两种方法在减小 dt 的条件下也能使得其仿真效果接近 Simulation Module

总结一下,用 LabVIEW 建模是目前来说比较新的方法,但是由于 LabVIEW 拥有非常强大的数据采集功能,界面功能等优势,因此将这些与建模整合起来的话,就可以很方便地进行快速原型设计和硬件在环测试等高级应用。

点击浏览:矢量网络分析仪、频谱仪、示波器,使用操作培训教程

上一篇:LabVIEW关于定时的研究
下一篇:基于LABVIEW平台的USB接口多路高速数据采集系统的

微波射频测量操作培训课程详情>>
射频和天线工程师培训课程详情>>

  网站地图