我用labview的一点经验
时间:12-13
整理:3721RD
点击:
自己写的,一些使用经验,^_^,水平很低,高手权当解闷了。
NI的labview是著名的G(图形)语言,制作虚拟仪器(VI)的利器。对于我们学化学的人来说,在你不是专业编程人员的情况下,可以比较方便地编程以控制你的仪器。我接触最多的接口有两类:GPIB(IEEE488)和RS232(Serial),前者控制很简单,因为速度比较快,仪器与设备之间建立通讯也比较简单,只要两边的地址设定一致了而命令又没有错,就可以很方便地控制仪器了。但是后者是最令我讨厌的,速度慢,有的仪器要求仪器上某按钮被按下才能建立通讯,有的仪器又要求在仪器启动一定时间内串口上某针电平维持一定时间才能建立通讯,在控制的过程中适当的延时非常重要,并且Labview自身对串口的支持我就觉得很难适应(我现在就只好用LV6.1进行串口编程,其他情况下用LV7.1)。
03年上半年是我第一次独立给一台仪器写控制程序。起因是实验室一位老师想要一台单色仪,并且能用计算机连续改变波长,同时从电流表中读数。他听了中科院一位博士生的建议,让我去北光买了一个不带控制器的单色仪,然后去卓立汉光买了一个步进电机的控制器,并且还买了一个新的步进电机。那段时间我到处找资料,把新的步进电机换上去,焊串口,研究步进电机步数与波长的对应关系。反正经过这件事,我对单色仪的构造不是一般的清楚了。电流信号是GPIB接口采集的,所以很简单,而控制波长这面就比较麻烦了。国产仪器对于编程那方面写得特别简略,把每个客户都看成是编程高手似的,说明书薄薄的,印刷质量也很差,看得我很晕。当时费了很大功夫,才终于让两部分同步起来,但是那套设备是用于IPCE测量的,至今都未用起来。这个系统中,串口通讯的数据流量并不大,关键是步进电机运动需要一定时间,所以要等待步进电机到位,从串口返回信号。
今年上半年,又给一个串口仪器写了一个控制程序。这次和上面的系统类似,不过换用了一个北光的更高级的单色仪,是自带控制器的,所以写起程序简单了一些,不像上面那个那么复杂了。不过这次是在LV7里面用了一个LV6才存在的串口控制的VI,所以感觉兼容性特别差,程序在很多电脑上都不兼容,我也一直找不到根本原因。这件事让我特别讨厌串口了。
这周为PR650先写了一个导出数据的程序(接下来就是要利用计算机控制进行测量以及和Keithley 2400联用了)。Photo Research的东西那么贵,所以manual还是很详细的,不过我读得不够仔细了,因为有了前面两次的经验,有点轻视这个了。因为随机还够买了一个GPIB to RS232的转换器,所以最初我想通过GPIB进行控制,以避开令人讨厌的RS232。但是我发现我的程序没法和PR650建立通讯,我仔细读了说明书也没有办法。于是我只好放弃了只用那个转换器的念头,转为直接使用串口连接,因为有别的供它使用的程序证明了串口和它的通讯是可行的。我修改了程序,但是发现还是不行。我回去细读说明书,发现它要和程序建立通讯,必须首先RTS电平为高,然后RTS电平为低,并维持50ms以上,最后RTS电平为高,这样才能建立通讯。因为微机原理学了太久了,我根本不知道如何实现改变针脚的电压。还好手册上提供了一个QB写的简单例子,我勉强看懂了意思。我重新修改了程序,终于发现PR650重启了,并且LCD显示了我发送进去的命令。接下来的事情就简单了,我进一步补充了代码以完善功能。因为主要目的是让仪器上存储的数据传回电脑,所以数据流量还是不太小的,我最初的延时太短,所以只采集到了部分数据。后来加长了延时,就获得了全部数据。PR650的数据格式是精确到字节的,所以我想将来进一步开发时也不会有太大问题了。
Labview是个有趣的东东,也是一个非常贵的东东。我虽然认识它都3年多了,但是用得并不好。我自己只上过很简单的数据结构,数字逻辑和微机原理了,所以水平也很低了,并且也不是长期研究这个的,都是实验室有需要了才又动手去看看然后写一写。用了这些年的体会就是:如果你不是编程高手,如果你想把手头现成的仪器组合起来去实现一个功能,并用计算机进行控制和数据采集,那么Labview是一个不错的选择。
.204
NI的labview是著名的G(图形)语言,制作虚拟仪器(VI)的利器。对于我们学化学的人来说,在你不是专业编程人员的情况下,可以比较方便地编程以控制你的仪器。我接触最多的接口有两类:GPIB(IEEE488)和RS232(Serial),前者控制很简单,因为速度比较快,仪器与设备之间建立通讯也比较简单,只要两边的地址设定一致了而命令又没有错,就可以很方便地控制仪器了。但是后者是最令我讨厌的,速度慢,有的仪器要求仪器上某按钮被按下才能建立通讯,有的仪器又要求在仪器启动一定时间内串口上某针电平维持一定时间才能建立通讯,在控制的过程中适当的延时非常重要,并且Labview自身对串口的支持我就觉得很难适应(我现在就只好用LV6.1进行串口编程,其他情况下用LV7.1)。
03年上半年是我第一次独立给一台仪器写控制程序。起因是实验室一位老师想要一台单色仪,并且能用计算机连续改变波长,同时从电流表中读数。他听了中科院一位博士生的建议,让我去北光买了一个不带控制器的单色仪,然后去卓立汉光买了一个步进电机的控制器,并且还买了一个新的步进电机。那段时间我到处找资料,把新的步进电机换上去,焊串口,研究步进电机步数与波长的对应关系。反正经过这件事,我对单色仪的构造不是一般的清楚了。电流信号是GPIB接口采集的,所以很简单,而控制波长这面就比较麻烦了。国产仪器对于编程那方面写得特别简略,把每个客户都看成是编程高手似的,说明书薄薄的,印刷质量也很差,看得我很晕。当时费了很大功夫,才终于让两部分同步起来,但是那套设备是用于IPCE测量的,至今都未用起来。这个系统中,串口通讯的数据流量并不大,关键是步进电机运动需要一定时间,所以要等待步进电机到位,从串口返回信号。
今年上半年,又给一个串口仪器写了一个控制程序。这次和上面的系统类似,不过换用了一个北光的更高级的单色仪,是自带控制器的,所以写起程序简单了一些,不像上面那个那么复杂了。不过这次是在LV7里面用了一个LV6才存在的串口控制的VI,所以感觉兼容性特别差,程序在很多电脑上都不兼容,我也一直找不到根本原因。这件事让我特别讨厌串口了。
这周为PR650先写了一个导出数据的程序(接下来就是要利用计算机控制进行测量以及和Keithley 2400联用了)。Photo Research的东西那么贵,所以manual还是很详细的,不过我读得不够仔细了,因为有了前面两次的经验,有点轻视这个了。因为随机还够买了一个GPIB to RS232的转换器,所以最初我想通过GPIB进行控制,以避开令人讨厌的RS232。但是我发现我的程序没法和PR650建立通讯,我仔细读了说明书也没有办法。于是我只好放弃了只用那个转换器的念头,转为直接使用串口连接,因为有别的供它使用的程序证明了串口和它的通讯是可行的。我修改了程序,但是发现还是不行。我回去细读说明书,发现它要和程序建立通讯,必须首先RTS电平为高,然后RTS电平为低,并维持50ms以上,最后RTS电平为高,这样才能建立通讯。因为微机原理学了太久了,我根本不知道如何实现改变针脚的电压。还好手册上提供了一个QB写的简单例子,我勉强看懂了意思。我重新修改了程序,终于发现PR650重启了,并且LCD显示了我发送进去的命令。接下来的事情就简单了,我进一步补充了代码以完善功能。因为主要目的是让仪器上存储的数据传回电脑,所以数据流量还是不太小的,我最初的延时太短,所以只采集到了部分数据。后来加长了延时,就获得了全部数据。PR650的数据格式是精确到字节的,所以我想将来进一步开发时也不会有太大问题了。
Labview是个有趣的东东,也是一个非常贵的东东。我虽然认识它都3年多了,但是用得并不好。我自己只上过很简单的数据结构,数字逻辑和微机原理了,所以水平也很低了,并且也不是长期研究这个的,都是实验室有需要了才又动手去看看然后写一写。用了这些年的体会就是:如果你不是编程高手,如果你想把手头现成的仪器组合起来去实现一个功能,并用计算机进行控制和数据采集,那么Labview是一个不错的选择。
.204
虚拟仪器和LabVIEW的确是一个好东西,我用这个给实验室做了虚拟电化学测试系统,什么常规脉冲极谱,差分脉冲极谱,电位阶越,线性扫描伏安法,循环伏安法,溶出伏安法统统