labVIEW Python联合编程
我最近做的内容主要是Labview与Python的联合使用,在LabVIEW中实现Python代码的调用。
调用的方式主要有两种,在 西安气象爱好者简书中写的比较好。
1、使用LabVIEW中的Python接口
这样可以直接调用Python接口,方便传入参数,但是对于Python的版本要求较高,必须是2.7或者3.6版本,其他的不兼容,之前我都是在Anaconda里面安装的Python,这次安装的3.6版本是按照网络上搜到的方法,从官网上下载,可参考 这篇,安装完之后再安装opencv的时候总是装不上去,用pip也有问题,opencv没法用,那我LabVIEW调用.py文件几乎没有必要了,但是先把这条路走通,传递简单的参数,获取Python的返回值,以备后用。

TEST.py文件程序
def main():
print('dfgaggg')
return 'hello'
显示的结果就是下图,我们可以看到调用Python接口返回的值是.py程序中return的值,这点也是和调用命令行窗口不同的地方。
这是简单的字符串,也可以把输入类型变为数值型,就像接下来的这个
此时的TEST.py文件程序
import math
def main(a,b):
print('dfgaggg')
return a+b
返回的值自然也是数值型
这个参数的传递与返回值的获取是真滴方便,奈何我的Python3.6一直装不上Opencv,只能另辟蹊径
2、使用LabVIEW中的执行系统命令接口
按照 这篇中介绍的通过执行系统命令接口,使用Python运行.py文件,但是不方便传参数,同时返回值的获取需要使用print打印字符串,限制较多。
同时我的Python里面同样没有Opencv,所以按理说这个的结果是和第一种方法一样,但是!!
我发现我安装的Anaconda里面有一个AnacondaPrompt.lnk文件,.lnk是快捷方式,我记不得具体路径是什么,在属性里面也没有看出什么头绪,找的话只好在Anaconda安装目录下搜索,应该是可以找到。
在后来的学习搜索过程中,我又发现了直接进入这种状态的方法,参考这篇 cmd找不到conda以及通过cmd启用Anaconda中的Python环境(base)
使用AnacondaPrompt.lnk的窗口和cmd不一样,这个直接是进入了Anaconda中安装的root(base)环境,这个环境中是有Opencv,这样就可以调用Opencv了,就是传参数不好传,目前的方法就是把参数保存到本地文件,之后在.py文件中读取本地文件,在用VisualStudio中调用的Python使用同样的方法。
具体实现方法如图:
前面的cmd /c是必须要有,不然不会启动cmd,没有的话是另外的两个方式,具体可以参考帮助文件,并不适用我们这种情况。cmd /c后面接的就是AnacondaPrompt.lnk,按照我的理解就是启动了Anaconda中的(base)Python环境,之后加一个|符号,再接上要调用的.py文件的完整路径,第二行又输入了一遍.py文件的完整路径是输入到控件的标准输入中,也是必须要,否则得不到返回值,具体原因不懂。。其他的关系就不大了。
此时.py文件中的程序为:
def main():
print('dgfagfa')
return 'hello'
main()
注意里面一定要有调用函数的名字main(),这个并不像第一种方法中已经告诉了程序要执行的是哪一个函数,所以在文件的最后一行需要写上要调用的函数。
执行的结果如图:
可以看到返回的值是print打印出来的内容,主要是由于命令行窗口接收的数据就是print的数据,因此这里接收的返回值就是命令行窗口接收到的数据。
要记录的就这些了,有用的话点赞啦