热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

LabVIEW学习笔记1

《基于LabVIEW光伏发电在线测控系统的研究》LabVIEW注重代码的编写效率,改变传统文本书写的习惯,取而代之G语言代码。G代码编写的应用程序后

《基于LabVIEW光伏发电在线测控系统的研究》

LabVIEW注重代码的编写效率,改变传统文本书写的习惯,取而代之G语言代码。

G代码编写的应用程序后缀vi,一个完整的VI程序包括三个部分:前面板、后面板、图标连接器。

前面板:控制量、显示量。

后面板:图标、连线、框图,图标是一些变量、常量、子VI等,按照一定逻辑关系组合在一起。

图标连接器:子VI与子VI之间的数据连接。

G语言编程两个基本规则:模块化编程,图形数据流编程。



 

《基于LabVIEW的三轴转向伺服控制系统的研究》

LabVIEW与Matlab的混合编程基本示意图如下:

LabVIEW与Matlab的混合编程常见的方式有以下三种:

1, Matlab Script节点。

此方法应用较多、使用起来较为方便。可以根据实现功能编写Matlab函数,或者调用计算机中已经存在的M函数(是M文件还是调试生成的.fis文件???)。

2, Active函数模板。

实现起来相对困难,难理解易出错。原理:应用程序或者组件通过Active函数控制另外一个应用程序或组件。

3, COM组件技术。

原理:通过构建庞大的组件库,让使用者像搭建硬件电路一样,从组件库中选取组件搭建程序,方法难以实现。

LabVIEW与Simulink的混合编程

主要两种:第一种利用接口技术。第二种利用NI的SIT(SimulinkInterface Toolkit)接口工具包,该工具包功能强大,操作简单易行。本文主要讲第二种。

(1)    Simulink里面有NI SITBlocks模块。

(2)    Simulink创建一个模型,模型的最外层放置Signalprobe模块。

(3)    在LabVIEW创建用户界面。

(4)    建立LabVIEW与Matlab之间的连接。在LabVIEW中点击Tools---SIT connections manager---打开Simulink模型目录选择---点击Mappings,在链表中连接LabVIEW与Simulink图形中相对应的量。

(5)    通过完成该链接,LabVIEW前面板和后面板自动生成如下的控制面板与框图程序。

通过混合编程,LabVIEW可以实现复杂的高难度控制算法而不需要通过复杂的编程过程,减小了工作量。

注:LabVIEW2013版本后取消了SIT,该功能集成在了MIT接口工具包中。

 

 



 

LabVIEW大学实用教程(第三版)》

14.4 调用其他语言的代码

如果考虑使用C或者C++编写全部代码,应该看一下LabWindows/CVI,一个类似于LabVIEW

的编程环境,主要区别是使用C代码代替子图形框图。如果坚持使用LabVIEW也可以,只在需要时使用传统的代码。

LabVIEW提供了3个选项来调用编译过的外部代码:

1, 通过SystemExec.vi使用命令行方式。

 

2, 使用CallLibrary Function Node调用动态链接库和DLL。

动态链接库(dynamic link library或者缩写DLL)是windows操作系统下,实现共享函数库概念的一种方式。

动态链接提供了一种方法,使进程可以调用不属于其可执行代码的函数。函数的可执行代码位于一个DLL文件中,该DLL包含一个或者多个已经被编译、链接并与使用他们的进程分开存储的函数。

 

3,使用CodeInterface Node与编译过的代码交互。

 

 



 

《LabVIEW宝典》

9.4.3math script函数和脚本文件

MathScript中,M函数和M脚本都是M文件表示,但那时性质不同。C语言中,函数内部可以定义局部变量,作用域是函数内部,MathScript也类似,函数结束后,局部变量不存在。M脚本文件不同,它内部定义的变量并非定义在函数内部,而是定义在MathScript的工作区。

M函数如下:

Function [output1, output2] =hanshuming [input1 , input2 …. ]

M脚本文件:

X = linspace(0 ,2*pi , 100);

………

引用MathScript是利用其强大的数据处理能力和显示功能。因为它基本的数据结构是矩阵。

常用数据统计函数:

方差、微分、积分、插值。

数据的图形显示:

 

 

MathScript节点可以确定输入输出变量的数据类型。其他脚本节点,尤其是Matlab脚本节点,无法确定用户创建的输入输出变量的数据类型,必须为这些脚本节点上的输入输出变量赋一个LabVIEW数据类型。


推荐阅读
  • 本文详细介绍了如何在Linux系统上安装和配置Smokeping,以实现对网络链路质量的实时监控。通过详细的步骤和必要的依赖包安装,确保用户能够顺利完成部署并优化其网络性能监控。 ... [详细]
  • 本文介绍了如何使用JQuery实现省市二级联动和表单验证。首先,通过change事件监听用户选择的省份,并动态加载对应的城市列表。其次,详细讲解了使用Validation插件进行表单验证的方法,包括内置规则、自定义规则及实时验证功能。 ... [详细]
  • 本文详细介绍了如何使用 Yii2 的 GridView 组件在列表页面实现数据的直接编辑功能。通过具体的代码示例和步骤,帮助开发者快速掌握这一实用技巧。 ... [详细]
  • 优化ListView性能
    本文深入探讨了如何通过多种技术手段优化ListView的性能,包括视图复用、ViewHolder模式、分批加载数据、图片优化及内存管理等。这些方法能够显著提升应用的响应速度和用户体验。 ... [详细]
  • 本文将介绍如何编写一些有趣的VBScript脚本,这些脚本可以在朋友之间进行无害的恶作剧。通过简单的代码示例,帮助您了解VBScript的基本语法和功能。 ... [详细]
  • 本文详细介绍了如何解决Uploadify插件在Internet Explorer(IE)9和10版本中遇到的点击失效及JQuery运行时错误问题。通过修改相关JavaScript代码,确保上传功能在不同浏览器环境中的一致性和稳定性。 ... [详细]
  • 本文介绍了如何利用JavaScript或jQuery来判断网页中的文本框是否处于焦点状态,以及如何检测鼠标是否悬停在指定的HTML元素上。 ... [详细]
  • 导航栏样式练习:项目实例解析
    本文详细介绍了如何创建一个具有动态效果的导航栏,包括HTML、CSS和JavaScript代码的实现,并附有详细的说明和效果图。 ... [详细]
  • 前言--页数多了以后需要指定到某一页(只做了功能,样式没有细调)html ... [详细]
  • 本章将深入探讨移动 UI 设计的核心原则,帮助开发者构建简洁、高效且用户友好的界面。通过学习设计规则和用户体验优化技巧,您将能够创建出既美观又实用的移动应用。 ... [详细]
  • 深入解析Android自定义View面试题
    本文探讨了Android Launcher开发中自定义View的重要性,并通过一道经典的面试题,帮助开发者更好地理解自定义View的实现细节。文章不仅涵盖了基础知识,还提供了实际操作建议。 ... [详细]
  • 本文详细介绍如何使用Python进行配置文件的读写操作,涵盖常见的配置文件格式(如INI、JSON、TOML和YAML),并提供具体的代码示例。 ... [详细]
  • 本文介绍了在使用Visual Studio 2015进行项目开发时,遇到类向导弹出“异常来自 HRESULT:0x8CE0000B”错误的解决方案。通过具体步骤和实践经验,帮助开发者快速排查并解决问题。 ... [详细]
  • 数据管理权威指南:《DAMA-DMBOK2 数据管理知识体系》
    本书提供了全面的数据管理职能、术语和最佳实践方法的标准行业解释,构建了数据管理的总体框架,为数据管理的发展奠定了坚实的理论基础。适合各类数据管理专业人士和相关领域的从业人员。 ... [详细]
  • 深入理解 SQL 视图、存储过程与事务
    本文详细介绍了SQL中的视图、存储过程和事务的概念及应用。视图为用户提供了一种灵活的数据查询方式,存储过程则封装了复杂的SQL逻辑,而事务确保了数据库操作的完整性和一致性。 ... [详细]
author-avatar
腾龙娱乐开户
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有