LabVIEW中的数据流编程基础
出处:21ic 发布于:2018-07-23 14:08:41
LabVIEW按照数据流(dataflow)模式运行VI。 当接受到所有所需的输入时,程序框图节点将运行。节点在运行时产生输出端数据并将该数据传送给数据流路径中的下一个节点。 数据流经节点的过程决定了程序框图上VI和函数的执行顺序。
Visual Basic,C++,JAVA以及绝大多数其它文本编程语言都遵循程序执行的控制流模式。 在控制流中,程序元素的先后顺序决定了程序的执行顺序。
图1显示了一个数据流编程的范例,程序框图中两个数字相加,然后从结果中减去50.00。 在这个范例中,程序框图从左向右执行,这并非因为对象的放置顺序,而是因为“减”函数必须在“加”函数执行完,并将数据传到“减”法函数后才能执行。 节点只有在所有输入接线端数据准备好后才能执行,只有在节点完成执行后才能向输出接线端提供数据。
图1.数据流编程范例
在图2中,考虑哪段代码先执行—“加”、“随机数”,还是“除”函数。 您无法知道答案,因为“加”和“除”函数的输入同时可用,而随机数并没有输入。 在一个代码段必须在另一个前执行,并且两个函数间没有数据依赖关系的情况下,可以采用其它编程方法(例如顺序结构或错误簇)强制设定执行的顺序。
图2.多代码段的数据流范例
补充一下:
如果两个或两个以上的线程在同一时间企图访问同一个内存 地址,那么将会发生数据冲突。显然,在应用程序中识别可能产生冲突的代码是一项艰巨的任务。但是,通过在 LabVIEW中以 图形化的方式创建程序框图,用户可以迅速展开具体工作,并实现自己的构想,而无需考虑线程同步。两个并行化的图形代码段在写入文件时都需要访问硬盘,LabVIEW可 以自动地处理这两个线程的同步。
版权与免责声明
凡本网注明“出处:维库电子市场网”的所有作品,版权均属于维库电子市场网,转载请必须注明维库电子市场网,https://www.dzsc.com,违反者本网将追究相关法律责任。
本网转载并注明自其它出处的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品出处,并自负版权等法律责任。
如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
- 高输入低输出电源应用中的三种不同降压架构2026/8/24 16:12:31
- 支持多轨电源时序控制与高可靠性的现代电源管理 IC2026/8/21 16:22:34
- 解析 BUCK 电路输出电容选型的关键切入点2026/8/20 15:40:47
- 电源,从微观角度观看电功率是怎么产生2026/8/19 15:25:24
- 开关稳压器CM/DM噪声分离实战2026/8/12 16:44:21









