labview编程笔记之顺序结构

简介: labview编程笔记之顺序结构

学习之路,长路漫漫,写学习笔记的过程就是把知识讲给自己听的过程。这个过程中,我们去记录思考的过程,便于日后复习,梳理自己的思路。学习之乐,独乐乐,不如众乐乐,把知识讲给更多的人听,何乐而不为呢?

博客写作背景----项目中解决的问题

最近遇到一个使用stm32单片机多路采集信号的项目,还需要在上位机进行波形的查看,信号算法的处理,初步定为使用labview编写上位机程序进行处理。为啥用labview呢,因为LabVIEW是美国国家仪器公司(NI)的创新软件产品,其全称是实验室虚拟仪器工程平台(Laboratory Virtual Instrument Engineering Workbench),是一种基于G语言(Graphics Language,图形化编程语言)的测试系统软件开发平台。LabVIEW并不局限于虚拟仪器的开发,它的作用是为大型复杂测试系统提供通用的软件开发平台。目前,LabVIEW已经成为测试领域应用最广泛和最有前途的软件开发平台之一。

下面是我最近写程序的一些知识,进行了部分的整理,发出来和大家一起分享,也方便我以后查找自己的编程过程。

编程知识点–labview编程笔记之顺序结构

求两个数的和与差。已知两个数a和b,则两者之和为x=a+b,两者之差为y=a-b。要求通过计算机编程实现和与差的计算。具体地,a和b由键盘输入,输出和与差的值,即x=a+b,y=a-b。

利用LabVIEW来实现,其代码如图所示。

d6ae43a94cda4061a71a516575d9c536.png


图形化编程语言LabVIEW与文本式语言(比如C语言)不同的地方有:①基于LabVIEW进行的编程,不需要定义变量;②基于LabVIEW编程的参数输入是在前面板上实施的;③LabVIEW具有天生的并行特点,比如,x和y是并行计算出来的。而在图4.1所示的基于C语言完成的编程代码中,x先于y被计算。


由于采用了数据流机制,利用LabVIEW编写的VI天生就具有并行的特点。


598712ef74be4d2d92ecc740c7bd8723.png

计算一段程序的运行时间。

计算程序运行时间的VI,是一个要严格控制程序执行顺序的典型案例,可以利用顺序结构来实现,该VI的程序框图如图所示。

dbecb2e939204a0a95ee2057f5d73acb.png

它共有3帧,在第0帧中,调用了“时间计数器”函数,输出当前时间;在第1帧中,可以调用要测试的VI,在本例中,调用了一个“时间延迟”函数来代替;在第2帧中,调用了“时间计数器”函数,输出当前时间,如此,由第2帧输出的时间减去第0帧输出的时间,就得到了第1帧中VI的运行时间。


如图所示,平铺式顺序结构各帧之间的数据可以通过连线直接穿过帧壁进行传递。平铺式的顺序结构非常直观,就像是电影胶片,程序执行完第0帧里的代码,然后逐个执行第1帧、第2帧里的代码,从而严格控制了VI代码执行的先后。


平铺式的顺序结构,会让程序功能看起来一目了然。但是,当顺序结构的帧数过多时,用平铺式顺序结构会使VI看起来过大。针对于此,可以通过调用快捷菜单中的“替换为层叠式顺序”功能,将平铺式的顺序结构转换成层叠式的,以使得VI看起来更为紧凑。


将上图所示程序框图上的平铺式顺序结构转换成层叠式顺序结构,效果如图所示


96a60d35132e4f7882c6dd5c3f0594a1.png

层叠式顺序结构在空间上只占用顺序结构一帧的大小,可通过单击层叠式顺序结构中上方的选择器按钮,来查看其不同帧的程序代码。为理解起来方便,图4.5中,是将层叠式顺序结构的各个帧分别复制出来,然后显示在了同一平面上。


目录
相关文章
|
JSON JavaScript 测试技术
掌握JMeter:深入解析如何提取和利用JSON数据
Apache JMeter教程展示了如何提取和使用JSON数据。创建测试计划,包括HTTP请求和JSON Extractor,设置变量前缀和JSON路径表达式来提取数据。通过Debug Sampler和View Results Tree监听器验证提取结果,然后在后续请求和断言中使用这些数据。此方法适用于复杂测试场景,提升性能和自动化测试效率。
|
数据采集 数据可视化 数据挖掘
深入浅出:使用Python进行数据分析的基础教程
【10月更文挑战第41天】本文旨在为初学者提供一个关于如何使用Python语言进行数据分析的入门指南。我们将通过实际案例,了解数据处理的基本步骤,包括数据的导入、清洗、处理、分析和可视化。文章将用浅显易懂的语言,带领读者一步步掌握数据分析师的基本功,并在文末附上完整的代码示例供参考和实践。
|
人工智能 API 决策智能
智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐
【7月更文挑战第8天】智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐
16593 134
智胜未来:国内大模型+Agent应用案例精选,以及主流Agent框架开源项目推荐
|
存储 机器学习/深度学习 人工智能
探索未来科技:人工智能与区块链的融合之路
【10月更文挑战第14天】探索未来科技:人工智能与区块链的融合之路
566 1
|
人工智能 文字识别 小程序
通义听悟--一个懂你的AI助理
介绍什么是通义听悟以及通义听悟的功能体验
16282 68
|
安全 Java Spring
springboot整合spring security 实现用户登录注册与鉴权全记录
【1月更文挑战第11天】springboot整合spring security 实现用户登录注册与鉴权全记录
1921 2
|
存储 运维 监控
阿里云发布「云盒+无影」云端机顶盒解决方案,打造云边端一体化的机顶盒新模式
近日,阿里云发布了基于「云盒+无影」的云端机顶盒解决方案,帮助广电企业在三网融合时代打造云、边、端一体化的机顶盒新模式,帮助其在不更换旧机顶盒的情况为家庭用户提供全新的应用服务;同时,以“中心 Region 云+云盒”的分布式云形式加速创新业务的拓展,提升用户的家庭娱乐体验。
阿里云发布「云盒+无影」云端机顶盒解决方案,打造云边端一体化的机顶盒新模式
|
存储 编解码 边缘计算
阿里云视频点播服务介绍|学习笔记
快速学习阿里云视频点播服务介绍
阿里云视频点播服务介绍|学习笔记
|
缓存 自然语言处理 Dubbo
深度剖析 Seata TCC 模式【图解 + 源码分析】
Seata 目前支持 AT 模式、XA 模式、TCC 模式和 SAGA 模式,之前文章更多谈及的是非侵入式的 AT 模式,今天带大家认识一下同样是二阶段提交的 TCC 模式。
997 0
深度剖析 Seata TCC 模式【图解 + 源码分析】
|
SQL 前端开发 Java
IDEA下创建SpringBoot+MyBatis+MySql项目实现动态登录与注册功能
IDEA下创建SpringBoot+MyBatis+MySql项目实现动态登录与注册功能
612 0
IDEA下创建SpringBoot+MyBatis+MySql项目实现动态登录与注册功能