从LabVIEW MathScript调用用户自定义函数(MathScript RT模块)

LabVIEW 2012 MathScript RT模块帮助

版本日期:June 2012

产品编号:373123C-0118

»查看产品信息
下载帮助
(仅限Windows)

用户定义保存函数后,可在LabVIEW MathScript窗口MathScript节点中调用这些自定义函数。如要调用一个用户自定义函数,函数的文件名必须与函数同名,且其扩展名必须为小写的.m。例如,foo函数的文件名必须是foo.m。另外,函数必须保存在MathScript RT模块的搜索路径列表下。下列用户定义函数演示了两个输入值相加,返回总和:

function return_value = add2(a, b)

%Add a and b

return_value = a + b;

将文件保存为搜索路径下的add2.m文件后,使用下列语法调用该函数:

c = add2(5, 9)

注:  在Linux操作系统上,调用用户自定义函数时区分大小写。在Windows和Mac OS X上,不区分大小写。

加载时调用用户自定义函数

LabVIEW根据函数的文件名识别和区分用户自定义函数。从LabVIEW MathScript窗口调用一个用户自定义函数时,LabVIEW将在MathScript搜索路径列表中自上而下搜索具有指定文件名的.m文件。从MathScript节点调用用户自定义函数时,LabVIEW将依次在下列三个位置搜索具有指定文件名的.m文件:

  • 首先,LabVIEW将查看当前内存中是否已加载了具有指定文件名的.m文件。
  • 其次,LabVIEW将查看最后保存包含MathScript节点的VI时.m文件所在的目录。由于LabVIEW查看的是最后保存VI时.m文件所在目录,故在另一台计算机上打开VI时,无需重新配置MathScript RT模块搜索路径列表。但VI与.m文件的相对路径必须保持不变。
  • 最后,LabVIEW将自上而下搜索MathScript RT模块搜索路径列表。如在另一台计算机上打开VI,LabVIEW搜索在该计算机上配置的搜索路径列表,而不是最后保存VI的搜索路径列表,所以,搜索路径列表可能会改变。
注:  如MathScript节点中有警告符号,LabVIEW将按照.m文件最近所在的目录,然后MathScript搜索路径列表,最后内存的顺序搜索.m文件。

编辑和运行时调用用户自定义函数

如新写了一个调用用户自定义函数的脚本,或在现有MathScript节点中添加或编辑了用户自定义函数的调用,LabVIEW先检查内存中是否有指定名称的.m文件,然后在MathScript RT模块的搜索路径中自上而下进行搜索。也就是说,如加载一个现有VI,并且在VI的MathScript节点中编辑了函数调用,LabVIEW不会在最后保存VI时函数所在的目录中搜索.m文件。

Note 注:  如MathScript节点中有警告符号,LabVIEW先搜索MathScript搜索路径,然后搜索内存。

LabVIEW如何建立与用户自定义函数的关联

如内存中已加载具有指定文件名的.m文件,LabVIEW将把函数的调用链接到.m文件以便执行。函数调用和.m文件之间的关系与VI和子VI类似。 如引用子VI的同时内存中已存在同名VI,LabVIEW会引用已在内存中的VI,而不是用户选择的子VI。同理,如从同一个应用程序实例引用两个同名但不相同的.m文件,实际上仅有一个.m文件可被加载到内存。因为两个.m文件的引用指向同一个文件,会产生交叉链接的错误。

使用LabVIEW项目可避免交叉链接。在VI中引用一个.m文件,而该VI又从属于一个项目时,LabVIEW将把.m文件添加到对象的依赖关系中。然后,为.m文件配置一个唯一的搜索路径。例如,创建一个包含MathScript节点的VI,该MathScript节点调用project1.lvproj中一个名为foo的用户自定义函数。也可创建一个包含MathScript节点的VI,该MathScript节点调用project2.lvproj中一个名为foo的用户自定义函数。在项目中右键单击一个终端,从快捷菜单中选择选择属性,在类别列表的MathScript:搜索路径页配置项目唯一的搜索路径,然后保存VI。下次在项目之外的位置打开这些VI时,只要打开其中一个VI,LabVIEW就会将foo函数调用链接至相应的.m文件。

文章是否对您有帮助?

没有帮助