最近导师计划要开始使用NI的硬件做实验,而且要跑神经网络,我很无奈,先不说Labview的资料少的可怜,更何况就是有那哪能和python里各种成熟的框架比呢,我思来想去不如通过数据库中介算了,代码全部python解决多开心,不管最后效果会怎么样,我先把通道打通再说。
数据库使用的是Mongodb,为什么是这个呢?先不说分布式数据库是未来的大方向,Mongodb自己也很火,到处打广告,重点是我只会这个(而且还不熟练),特别是它对各种环境的支持都很好,包括冷门的Labview。
我搜了一会儿,发现完全没人提过怎么在labview使用Mongodb,只能去官网查文档了,顺便写下这篇博客。
其实官方的文档写的很通俗,照着做就行了,首先,循着百度到的链接,我们来到mongodb的驱动支持页面:
https://docs.mongodb.com/ecosystem/drivers/community-supported-drivers/
找到Labview的链接,它指向一个Github页面:
https://github.com/RBXSystems/mongo-labview-driver
我们需要的VI都在这里,直接右上角 Clone or download 下载下来解压,里面有几个示例,大部分功能都展示了,甚至比自己敲代码还明确清晰,当然,页面里的说明文档要求我们更新库,链接指向mongodb的C#驱动库:
https://github.com/mongodb/mongo-csharp-driver/releases
一样下载下来,我的系统是win10,所以直接用net45里的文件,把所有dll文件全部复制到CSharp/bin里替换原文件,这个更新是必须的,因为原来的库文件是3年前的版本,不支持最近的数据库版本。
2年后的ps:可能有小伙伴不熟悉Github,我简单指以下路:
先到这里,版本我随便点的:
然后拖到最后,找到release下载位置,不考虑源码的话就只下载第一个。
解压找到需要的版本,一般都是net45的文件夹:
复制替换即可。
说明文档下的NI支持.net库的问题我没有遇到,我的版本是labview2016,至少我这个版本对.net库支持很好。到这里其实就能用了,我们赶紧试试,打开example2,它默认的是一个远程的测试库,我们把它精简下:
换成本地库(如果之前不跟新c#库,我的本地库版本太高是用不了的):
OK,运行,别忘了先打开mongod:
看到数据库的内容已经被取出来了,再结合pymongo,python和labview就这么打通了。