第3.6节 LabVIEW的跨平台特性
3.6.1 LabVIEW支持多种操作系统
“跨平台”的意思就是说:“无论在那个操作系统平台上,使用LabVIEW开发环境设计出来的vi,拿到其它平台上(当然,必须有LabVIEW开发环境)都可以直接运行。这就大大地增强了设计的灵活性和应用的广泛性。有时人们也称这种方式为:可移植性。后来出现的Java语言也具备这样的特点。
我曾思考过这一个问题:“在各操作系统下,vi的本质是什么”?
参照对其它语言的说法:vi的实质是标准的“LabVIEW图形化语言的中间语言代码”(这个词是参照C#语言的说法)。
中间语言代码——在各个平台上生成的,NI制定的标准化的(图形化)语言代码。有了中间语言代码就完成了“跨平台”的第一步。请看例图。
Java的跨平台特性也是参考了这个道理,完成了跨平台的特性。
3.6.2 运行时引擎(Runtime)
实现“跨平台”操作的第二步,就是通过各个平台下LabVIEW Run_time (Run_time运行时)将vi(中间语言代码)编译转换成各个平台下的可执行代码,程序得以运行。
所以对于不同的操作系统LabVIEW Run_time是不同的,而且对于不同的LabVIEW版本其LabVIEW Run_time也是不同的。参考例图。
可见,各个操作系统下的LabVIEW Run_time是保证vi是可以跨平台运行的关键。当打包成可执行文件时,我们会看到LabVIEW Run_time也是包含在内。
这样的好处是:如果你的用户(协作者)使用的是Linux版的LabVIEW,那你在MS操作系统下设计的VI同样可以发给他,或者说与他进行交流、沟通。
目前,NI对MS和Linux支持的比较好(DAQmx也有Linux版)。
3.6.3 在Mac电脑上运行vi的例子
由于我喜欢Apple精美的图形化风格,所以一直也希望能够在Mac系统上运行LabVIEW,寻找了几年的时间,就是无法获得Mac版的LabVIEW(评估版也没有),即便是D版的也无法搞到……。
不甘心的我有一天发现NI的论坛(LabVIEW)上有一个栏目,寻找自愿者申请作LabVIEW 8.6的测试评估工作。
开始我并没太注意(原因当然是英文不好),后来发现它还提供Mac、Linux版的LabVIEW时,我按耐不住决心试一试,很快完成了Mac版的申请注册。其实,没办法因英文不好,许多该填的内容没写,有些碰运气的感觉。
注册后,看到提示:LabVIEW Paltform- Pending Approval。意思是:悬而未决。
再次造访,突然发现我的申请竟被批准通过了,于是快速下载了一个Mac版的LabVIEW 8.6 Beta2,解压后安装到iMac上(驱动还没下)。
在iMac的系统托盘上,看到了LabVIEW的图标。
第一个想法,赶快做个小程序看看Mac的界面风格和多平台特性。下图是在iMac上,用LabVIEW 8.6 beta版做的一个小程序命名为:MacLabVIEW.vi,该程序在Mac、XP、Vista操作系统下的运行图片。
只是在各操作系统下的界面风格有所不同。
由于目前Mac版的DAQ驱动较为简单(不能使用DAQmx),特别是目前Mac电脑也没有PCI接口(USB2.0通常不少于3个),所以做数据采集的应用程序可能还是有问题,不过可以使用USB接口的数据采集卡,但是做GPIB控制应该没有什么大的问题。
NI也应考虑增加对Mac平台的支持力度,因为Mac的使用者会越来越多!
特别是“苹果”的触摸屏技术,将来可能会看到用iPod touch来做简单的数据采集和控制,包括将来利用无线技术增强LabVIEW的应用能力(目前NI已推出十几款无线(LAN)采集卡)。
3.6.4 在Mac电脑上运行双操作系统
iMac G3 iMac G4 iMac Intel 最新款iMac Intel
苹果电脑公司是世界上唯一的电脑及操作系统都开生产的电脑公司,这点与NI公司极为相似。早期苹果的G3、G4电脑使用的是IBM生产的CPU——PowerPC,由于PowerPC的主频上不去,又改为使用Intel处理器。因此,从Mac OS10.5(Mac操作系统)开始,iMac推出了Boot Camp软件,实际上是驱动转换软件,利用该软件可以在Mac电脑上运行Windows操作系统,实现了一台电脑上可以分别运行不同的操作系统而互不影响。正是由于苹果公司双操作系统的推出,才吸引我开始玩Mac电脑。现在除了使用LabVIEW在Windows操作系统下,通常我都是使用的Mac操作系统,包括文字处理和网页制作。
由于在Mac操作系统下,我也有LabVIEW 8.6Beta版,所以也可以进行程序设计,不过是英文版的。我给用户配的笔记本电脑也是Mac Book,运行双操作系统。用户当然高兴了!