作者:腾龙娱乐开户 | 来源:互联网 | 2023-08-14 00:16
《基于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数据类型。