关于LabVIEW的那些事


1. 一些小感想

现在刚刚从504所回来,虽然累但是感觉到了前所未有的充实感。从12月份底开始到现在,从刚开始很简单的LabVIEW上位机程序,到现在一个麻雀虽小,五脏俱全的完整的上位机程序,涉及到串口通信,Acess数据库连接与使用,SQL语句,ActiveX技术,FTP文件传输协议,示波器控制,生产者消费者模式的队列数据结构,动态调用技术,数据采集,程序控制等技术****。但是呢,网上有一句话就是****软件的开发周期绝对是预期计划的至少两倍时间,现在说实话我自己感觉程序还有很多地方需要进行优化,完成这些优化后这个程序还不期会出现什么BUG。

除了技术上学习到的东西,我觉得更令人兴奋的是,这段时间在团队里我们协同工作一起完成项目的这个经历。首先是认识了非常厉害的孟哥,从化学专业转来搞电,然后做的非常精通。我们不论是在学校调试还是在所里调试的时候,遇到问题我们互相讨论,我感觉我迅速抛弃了自己的那种疲惫的精神状态,就算是整整搞一整天我也丝毫不觉得累。上周日,周六晚上我和朋友出去吃饭喝酒,晚上打麻将到3点多,然后周日早上去研究所调试到快凌晨1点才回到宿舍,我丝毫不困不累,我从来没感觉到这种快感。1月份刷完了电视剧Strike Back,Scott和Stonebridge以及Section 20的这么一个Team的合作,特别感人肺腑,我想我想要的就是Team这么一个感觉。

之后接触到了一些前辈老师,以及研究所的一些人,当然不像我和孟哥那么熟悉,但是我们一起在为这个事情付出的努力,以及从他们身上学到的东西足以使我感到振奋并且让我得到提高。

嗯,非常感谢!


2. LabVIEW与数据库的那些事

首先呢,LabVIEW开发系统自带有与数据库进行连接的库,注意是连接,因为直接通过LabVIEW是无法创建数据库的,LabVIEW只自带了和数据库进行连接的库。但是通过ActiveX是可以创建数据库的。

1). 具体介绍一下如何通过ActiveX(自动化引用句柄)来创建数据库:

自动化引用句柄-与ActiveX函数配合使用。当打开一个指向ActiveX服务器对象的引用,且需要将引用作为参数传递给另一个VI时,可使用该类引用句柄控件。如需指定引用句柄的类型,可右键单击控件,从快捷菜单中选择选择ActiveX类»浏览,打开从类型库中选择对象对话框,浏览可用的ActiveX服务器应用程序。

首先在前面板上点击右键,在引用句柄下选择自动化引用句柄,放置在前面板上,在建立的图标上右击,点击选择ActiveX类,自定义,进入选择对话框。如图所示:

选择ActiveX类
选择ActiveX类

选择如图所示的ADOX._Catalog后,转入程序框图,编写程序如图所示:

程序框图
程序框图

该程序最关键的一步是设置合理的ConnectString,这个ConnectString是代表数据库的连接信息。这个连接信息是使用LabVIEW自带库函数操作数据库最关键的一个信息了,因此集中放在下一节解释。

2). 如何使用LabVIEW自带的Database库函数操作数据库

连接并使用数据库的一个基本流程就是,open connection->Execute Query->Fetch Recordset Data->Free Object->Close connection.

如图所示:

流程
流程

其中open connection函数涉及到连接数据库一个关键的内容就是设置合理的连接字符串,连接字符串包括Provider和Data Source,Provider一般是与连接的数据库属性有关的,在这里我使用的是Microsoft的Acess因此连接字符串的Provider是:Provider=Microsoft.JET.OLEDB.4.0;然后DataSource是你将要连接的数据库地址。将这两个字符串连接起来,传入open connection函数中的connection information端子上。

Execute Query函数接受一个SQL语句的字符串,用于进行数据库操作。SQL语句语法等内容请移步:SQL语句

其中Fetch Recordset是用于读取数据的,这里面有另外一个核心技术,就是将数据库查询出来的变体数据转换至字符串数据,下面将会介绍。

最后是Free Object和Close connection函数,也就是释放对象并且关闭连接。在这里我曾经遇到一个问题,利用for循环进行了多次的Execute Query之后调用Free Object和Close Connection会输出504错误,Open recordset object,由于vi也能正常实现功能,所以这个也不能完全算是错误,但是如果错误随着错误流输出的话会影响以后程序的运行,因此在Close connection函数后面加一个清楚错误函数,将该504错误清除。

3). 关于Fetch Recrodset函数读取出的变体数据操作方法
4). 如何使用LabSQL ADO Functions操作数据库

先挖坑在这里,以后再填上

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 一、温故而知新 1. 内存不够怎么办 内存简单分配策略的问题地址空间不隔离内存使用效率低程序运行的地址不确定 关于...
    SeanCST阅读 7,884评论 0 27
  • __block和__weak修饰符的区别其实是挺明显的:1.__block不管是ARC还是MRC模式下都可以使用,...
    LZM轮回阅读 3,374评论 0 6
  • ———————————————回答好下面的足够了---------------------------------...
    恒爱DE问候阅读 1,762评论 0 4
  • 找一个博客做自己的女朋友,不管你跟她说什么她都帮你记录,这是多么幸福的一件事啊。如果有女生能做到这点,赶紧娶回家吧!
    4A46阅读 165评论 0 0