logo资料库

小草手把手教你LabVIEW仪器控制.pdf

第1页 / 共51页
第2页 / 共51页
第3页 / 共51页
第4页 / 共51页
第5页 / 共51页
第6页 / 共51页
第7页 / 共51页
第8页 / 共51页
资料共51页,剩余部分请下载后查看
小草手把手教你 LabVIEW 串口仪器控制 那些年,我们一起 LabVIEW 手把手 教你串口仪器控制 (基础篇) V1.0 编写:浅浅的小草 Email:happyarrow@qq.com 论坛:http://www.mufenglv.com/ 2012·湖南·长沙 《小草手把手教你LabVIEW》网络教学视频: http://www.moore8.com/courses/400 http://www.mufenglv.com/ Email:happyarrow@qq.com 1
小草手把手教你 LabVIEW 串口仪器控制 目 录 一,开篇词...............................................................................................................................3 二,VISA 驱动下载安装篇: ................................................................................................5 三,安装使用仪器现有驱动...................................................................................................7 四,初识 VISA 串口 .............................................................................................................12 五,VISA 串口配置 ..............................................................................................................19 六,字符串处理.....................................................................................................................27 七,通信协议(指令).........................................................................................................30 八,使用虚拟串口.................................................................................................................34 九,使用串口调试小助手.....................................................................................................37 十,常见问题举例分析.........................................................................................................40 十一,生成 EXE 和 SETUP 的问题.....................................................................................42 十二,结束语.........................................................................................................................48 串口常见问题总结:.............................................................................................................50 http://www.mufenglv.com/ Email:happyarrow@qq.com 2
小草手把手教你 LabVIEW 串口仪器控制 一,开篇词 (1),关于 LabVIEW 我大概接触 LabVIEW 才两年,这两年,也只是一个业余爱好,也写过很多代码。以 数据采集跟仪器控制居多,虽然没做过太大的项目,不过平时在 QQ 群里或者 GSD 论坛跟 vihome 论坛看过别人的问题,都会自己思考一遍,然后看解答或者给别人解答。 本科时候大四学过 LabVIEW 的课程,结果那时候,却忙着考研,没怎么听课,然后 有上机考试,老师总会说,要自己动手做一做,不然自己肯定不会做的。然后自己也不太懂, 只管考研。后来期末考试,还是不会做。成绩只是及格。 研一时候,由于教学需要,自己买了本《我和 LabVIEW》,NI 公司的人都很推荐这本 书,也是他们公司的大牛写的。然后我自己看了下,然后又去图书馆借了很多书,结果都大 同小异。《我和 LabVIEW》确实很好,很多经验之谈,自己都经常翻一番,而且自己也经常 会写写笔记,或者看看 LabVIEW 自带的范例。 两年过去了。LabVIEW 的应用,如果专业知识要求不是特别高,我都会业余去了解, 最常见的就是数据采集,还有串口通讯,还有图像处理,还有数学运算等等,还有 GSDzone.net 上面的代码库的很多小程序。 两年内,看到 Q 群里,问的最多的就是串口通信问题。原因是很多做嵌入式单片机之 类的,学校毕业设计需要,或者自己项目需要,大概都是由于有需要才学这个语言。现在网 上的教程很多,但是很多人,还是有各种各样的问题。 所以,QQ 群里经常有人重复的问 VISA 串口通信的问题,几乎每天都有,而且特别是 毕业设计或者期末课程设计的时候。而且这个时候,网上的代做毕业设计的,貌似也很火。 我比较反感那些只为了完成某种任务(毕业设计或者课程设计)而到论坛或者加很多 Q 群 来求资源的。我没有给人代做过毕业设计,只是从开始到现在,帮助过很多完成课程设计或 者毕业设计。 我觉得,生活中很多东西,你都应该端正自己的态度和培养自己的思维。而不是只为 求个功利性的结果。要做一个自己有自己独立思考和学习能力的人。一个人的能力是慢慢的 学习出来的。所以,很多时候,Q 群里很多人的问题根本不是编程问题,而是自己思维的问 题。 由于使用串口通信的人很多,网上看了看,虽然资料很多,但是很杂,也没谈到什么 经验问题。所以,自己建议 Q 群群主木风创办了《那些年,我们一起 LabVIEW》这个论坛, 为了帮大家总结常见的问题,避免不停地重复地把某个问题问着。比如今天有人在群里问某 个问题,给解答了,第二天,又有人问同样的问题。如果在论坛回复,可以自己搜搜以往回 答。 关于 LabVIEW 的论坛网上很多,主要推荐 NI 官网 GSDzone.net 跟 vihome。自己如果 对 LabVIEW 很感兴趣,并且想多学习,可以经常到上面去看看,里面还有很多资源,可以 自己搜搜。 虽然论坛很多,但是,回帖的效率很低,或者没人去好好整理,所以,我们创办了自 己的论坛。 有兴趣可以访问我们的论坛:http://www.mufenglv.com/ 或者百度“那些年,我们一起 LabVIEW”。也欢迎大家到上面提问交流。 那些年,我们一起 LabVIEW,无论那些年过去多久,记得自己曾经用过 LabVIEW, 记得我们的论坛。那些年,为你自己 LabVIEW。 3 http://www.mufenglv.com/ Email:happyarrow@qq.com
小草手把手教你 LabVIEW 串口仪器控制 (2),关于仪器控制 很多人到群里或者论坛问 LabVIEW 编写串口程序的问题。 为什么这么多人用 LabVIEW 编写串口呢? 因为它方便。编写上位机,只需要几个步骤,就完成了。 LabVIEW 在仪器控制方面,还是很有优势的,把你仪器给你,读懂指令,然后估计半 小时就可以编写好一个完整的仪器控制系统。从仪器配置到数据发送,数据接收,到数据生 成报表。 如果使用其他语言,例如 VB,VC 之类的,写过仪器控制的同学来说,这个问题,写个 界面,就要写半天,还得什么进制转换啊,各种操作,麻烦多了。但是,如果你采用 LabVIEW, 这些问题,都是小儿科了。 所以,你想做仪器控制,选择 LabVIEW 吧,这样,你将节省很多很多时间。 到现在为止,我写过好多个仪器控制的,比如 keithley2000 2400 万用表,Ruska7250 压 力计等等,还有很多利用 MODBUS 总线通讯的仪器。 常见的仪器通讯协议大概就 SCPI,MODBUS 等等,当然还有自定义的,搞过单片机和 上位机的,应该都比较熟悉,可以自己定义协议,然后发命令给单片机,单片机回送数据。 归结起来,都是使用的 VISA,使用 LabVIEW 的 VISA 驱动来编程还是很方便的。 对 VISA 不明白的同学,可以百度下 VISA,它是一种虚拟架构,让你不用关心底层, 直接调用就好,而且不用管接口是什么类型的,它通吃。比如,你是 232 接口,用 VISA 吧, 485 接口,用 VISA 吧,是 GPIB 接口(GPIB 实际上不属于串口,所以,本篇不讲 GPIB 方 面的内容,但是使用方式也是 VISA,不过自己要安装好 GPIB 卡跟它的驱动)?一样的, 用 VISA 吧。 用过 VB 、VC 的,可能用 WINAPI 习惯了。 用 MSComm 控件啊,用其他的 DLL 什 么的,当然也可以,那样,可以在生成 SETUP 文件时候,少打包进 VISA,这个看自己需 求了。其实既然有 VISA,而且也方便使用,我建议大家还是使用 VISA 吧。LabVIEW 的推 出,本来就是为了让编程简单化,模块化,你如果用其他的 DLL 之类的,要涉及到底层的 一些知识,要配置很多参数什么什么的。 (3)一些建议 本文章,虽然是手把手教你串口仪器控制,但是由于本人能力有限,并不能面面俱到, 而且篇幅也有限。由于自己临近毕业,所以很多精力也有限。 建议读本篇文章时候,读者需要自己对 LabVIEW 有一定的了解跟认识,会基本的程序 结构。一般建议看 LabVIEW 相关的书籍的前几章。看基础部分就差不多了。 我所说的前几章,一般指 数据类型,基本程序结构,错误调试。这几个自己一定要弄 清楚。这个是最基本的。 对于串口通信来说,最麻烦的就是数据转换,最常见的,就是 16 进制转 10 进制,浮 点数转 16 进制,10 进制转 16 进制。还有正常显示的 16 进制到 HEX 显示的字符串转换的。 所以,自己好好看数据类型。 对于仪器,看说明书:物理连接方式(232 或 485)、通信指令(协议)必须有。 本篇文章,可能话语比较啰嗦,由于自己非专业写手,只能用自己方式来描述问题。 不过建议如果对串口不太了解的人,还是从头看起,因为篇幅不长。 谢谢大家的阅读。 本帖网址:http://www.mufenglv.net/forum.php?mod=viewthread&tid=17&extra=page%3D1 http://www.mufenglv.com/ Email:happyarrow@qq.com 4
小草手把手教你 LabVIEW 串口仪器控制 二,VISA 驱动下载安装篇: 上一篇,我已经讲了。仪器控制,核心在于 VISA 函数.。有些仪器可能不需要 VISA, 有自己的 DLL 什么的,我就管不着。 正常情况下,大家安装的 LabVIEW,都是不带 VISA 驱动的。但是,LabVIEW 即使 不安装 VISA 驱动,也是有 VISA 函数的啦! 注意:有些人以为有 VISA 函数就是装了驱动,我无法理解现在人的思维跨度真的是 很大,所以,学习知识,不要一贯自己想当然,一步一步的踏实地走。 VISA 函数的位置见下图。 当然,还有一个位置。其实都差不多的啦。自己可以研究下。见下图所示。 5 http://www.mufenglv.com/ Email:happyarrow@qq.com
小草手把手教你 LabVIEW 串口仪器控制 首先得了解函数在哪里,以后才方便编程。 一般用的比较多的函数,就是上面 4 个啦,其他的,最开始都可以不用管。这 4 个会用 就行啦。基本的串口通信程序,都差不多是上面几种。 不信的话,多看一看 LabVIEW 自带的范例。你会发现,结构都差不多吧。 这一篇主要讲 驱动下载安装。前面只是引言。安装是很重要的步骤哦。是串口通信的 前提。 安装好了 LabVIEW 之后,再安装 VISA。 VISA 驱动下载地址可以到 www.ni.com 官网去搜索,以下我给出了连接地址。 http://www.ni.com/nisearch/app/main/p/bot/no/ap/tech/lang/zhs/pg/1/sn/catnav:du,n8: 3.25.123.1640,ssnav:ndr/ 版本有很多,自己看着办,最好去看下 VISA 的 support 文件说明,看支持什么版本的 LV。正常情况下,高版本的 VISA 都是支持低版本的 LabVIEW,可是如果你的 LabVIEW 比较古老,可能会有意外,所以,保险情况,你看下 Support 说明。 给大家看下支持性文件的链接位置。如下图所示。 安装很容易,就不停的下一步,到完成。 记住:安装的时候,记得退出杀毒软件,360 之类的,这样安装会顺利也防止出意外。 6 http://www.mufenglv.com/ Email:happyarrow@qq.com
小草手把手教你 LabVIEW 串口仪器控制 等待安装结束,会提示重启。 安装完毕后重启一下电脑。 然后到 MAX(measurement& Automation Explorer)里找,看设备有接口下,有没有 Serial & Parallel.,有的话,就说明你串口安装成功了。 安装 NI 其他硬件驱动,也是同理,看 MAX 有木有。 具体操作,点击桌面上 Max 图标或者找到这个 MAX 路径运行,按下图位置进行查看。 到现在为止,VISA 驱动就安装成功啦。 很简单的吧。 欢迎大家继续关注本论坛。 我们将循序渐进带领大家一步一步的学习 LabVIEW. 本帖论坛地址:http://www.mufenglv.net/forum.php?mod=viewthread&tid=46&extra=page%3D1 三,安装使用仪器现有驱动 声明:很多仪器是没有驱动的。所以,具体问题具体分析。 另外声明:所谓的驱动,也就是封装好的底层的串口通信程序,也是程序而已,只不 http://www.mufenglv.com/ Email:happyarrow@qq.com 7
小草手把手教你 LabVIEW 串口仪器控制 过别人帮你做成了子 VI,让自己容易用。 所以:不要弄混淆了概念。 国外的很多仪器,都是有现成的 LV 程序驱动的,这个时候,我们到网上搜搜就行了。 如果你要做仪器驱动,你最好先到网上搜搜,看有木有现成的。 有现成的,开发速度就好多啦。 如果手边的仪器搜不到现成的驱动,那就只能自己写了。 下面讲解怎么安装现成的驱动。 ①,网站下载篇,前面这个帖子讲了。 http://www.mufenglv.net/forum.php?mod=viewthread&tid=59&extra=page%3D1 有兴趣可以看看。 下面是通过 LabVIEW 软件下载。 我下面手把手教下 在 LV 软件里下载安装。 首先在 LV 的帮助菜单里,找到 查找仪器驱动 然后就会弹出一个仪器查找界面。如果你已经连接好了仪器的硬件,且仪器支持 IDN? 这个 SCPI 指令的话。 可以使用扫描仪器按钮,扫描一下你的仪器。因为使用那个指令,如果仪器连接好 没错误,会返回一个仪器本身的仪器类型和版本的。这个时候,LV 就知道是什么仪器 8 http://www.mufenglv.com/ Email:happyarrow@qq.com
分享到:
收藏