为什么data dashboard for labview for mac 破解不支持iphone

全部论文分类
基于WEB技术的远程测控系统研究与实现摘
来源:&&[ 07-31 ]&&阅读:&&作者:&&编辑:/
基于WEB技术的远程测控系统研究与实现
网络和移动设备的进化改变了人们与环境互动的方式,伴随着“后PC时代”的到来,智能手机和平板电脑的全球销量迅速超越了传统的笔记本电脑和台式电脑。显而易见,移动技术正在从根本上改变着我们获取和使用信息的方式。
智能手机和平板电脑被创造的初衷就是为了满足消费者,如今,它们也已经被应用到了很多消费领域中。比如在健康保护领域,它们可以帮助使用者远程访问病人数据;在教育领域,它们可以被用作交互式的课本。类似的,移动技术也对数据采集领域造成了革命性影响。
   通过将移动技术与数据采集设备结合,工程师和科学家创造出了极具便携性和互联性的测量系统,这让他们可以在更多场合进行测量。另外,移动技术还提供了丰富的用户接口,可以从世界上几乎任何地方监控测量系统。想要充分利用这项技术也并非难事,人们可以借助各种各样的工具来使用带有移动技术的NI( National Instrument,美国国家仪器有限公司)LabVIEW(Laboratory Virtual Instrumentation Engineering Workbench,实验室虚拟仪器工作平台)软件和NI硬件。
   本文首先分析了基于Web的系统构建,在此基础上选择NI公司设计的一种基于微软Sliverlight的新LabVIEW软件新产品——LabVIEW Web UI Builder作为研究对象,分析了其功能与特性,不仅利用该软件构建了基于本机和基于网络的两种方案下的Web Service,同时还成功创建了基于Web的简单的瘦客户端应用程序,最终顺利通过Web浏览器实现了对远程虚拟仪器应用程序的访问和监控。除此之外,本文进一步对NI公司最新推出的另一种LabVIEW应用程序——LabVIEW Data Dashboard(虚拟仪器数据仪表盘)做了分析研究,明确了其功能和使用特性后,借助该应用程序和NI CompactRIO平台,创建了一个简单的定制的界面,实现随时随地的使用智能手机或平板电脑等移动设备来监测PC机或嵌入式系统上NI数据采集的测量数据。最后本文还做了相关技术链接,概述了意大利T4SM(Tools for Smart Minds)公司提供的SCCT(Smartphone and Cross-Platform Communication Toolkit,智能手机和跨平台通信工具包)。SCCT是一个强大的支持不同平台和编程语言的通信库。它简化了应用程序和移动设备之间的通信,实现了一个真正平滑方式的分布式计算解决方案。借助SCCT,用户可创建能够在各种系统(从智能手机到Java应用程序和UNIX工作站台)
   之间交换数据的开放式解决方案,并且使用SCCT从移动设备(智能手机、嵌入式系统、实时的解决方案)收集、处理数据,并通过网络来可视化结果。
   本课题研究中使用了资料搜集、理论分析、方案论证、实验性验证等多种方法和手段,运用最先进的LabVIEW软件,借助当前最潮流的移动设备实现了基于Web技术的远程系统的测量与控制,完成了研究任务,实现了研究目标,达到了预期效果,对今后继续深入开发和研究提供了积极地指导意义。
  关键词:远程测控,WEB,LabVIEW,移动设备(Andriod/iOS)
Research and Implementation of Remote Measurement and Control System Based on WEB Technology
The evolution of the Internet and mobile devices has changed the way people interact with the environment, along with the arrival of the "post-pc era", global sales of smartphones and tablets quickly beyond the traditional notebook and desktop computers.It is obvious that mobile technology is fundamentally changing the way we access and use information.
Smartphones and tablet computers are created by the original intention is to satisfy consumers, today, they have also been applied to many areas of consumption.In the field of health protection, for example, they can help users remote acIn the field of education, they can be used as an interactive books.Similarly, mobile technology has also had a revolutionary influence on data mining field.
By data acquisition device with the mobile technology, engineers and scientists to create the portability and interoperability of measurement system, it makes them can be measured in more places.In addition, mobile technology also provides a rich user interface, you can monitor measurement system from almost anywhere in the world.Want to make full use of the technology isn't that hard, people can use a variety of tools to use mobile technology with NI (National Instrument, the U.S. National Instrument co., LTD) LabVIEW (Laboratory Virtual Instrumentation Engineering Workbench, Virtual Instrument Laboratory work platform) software and hardware NI.
This article first analyzes the construct system based on Web, On the basis of the choice of NI company design a new LabVIEW software products based on Microsoft Sliverlight - LabVIEW Web UI Builder as the research object,analyses the functions and features, not only to use the software based on the machine and is constructed based on Web Service under the network of two kinds of schemes, but also to create a Web based simple thin client applications, in the end to try the remote virtual instrument by a Web browser and application access and monitoring.In addition, this article further to NI latest launched another LabVIEW applications, LabVIEW Data Dashboard Data Dashboard (virtual instrument) did the analysis and research, made clear the function and use characteristics, with the aid of the application and NI CompactRIO platform, create a simple custom interface, achieve anytime, anywhere in the use of mobile devices such as smartphone or tablet to monitor on a PC or embedded system of NI Data acquisition parameters.Link at the end of the paper also made a related technology, summarizes the Italian T4SM (Tools for Smart Minds) of SCCT (Smartphone and Cross - Platform Communication Toolkit, Smart phones and cross-platform Communication Toolkit).SCCT is a powerful support communication libraries of different platforms and programming languages.It simplifies the communication between applications and mobile devices, to achieve a real smooth way of distributed computing solutions.With the aid of SCCT, users can create can in various systems (from smart phones to Java application and UNIX platform) for exchanging data between open solution, and use the SCCT from mobile devices (smart phone, embedded systems, real-time solution) data collection, processing, and through the network to visualize the results.
Using the data collected in this topic research, theoretical analysis, project demonstration and experimental verification, such as a variety of methods and means, using the most advanced LabVIEW software, with the current trend of mobile equipment to realize the remote measurement and control system based on Web, completed the study task, to achieve the research goal, the desired effect, for the future further research and development to provide a positive guiding significance.
KEY WORDS: Remote Measurement and Control, WEB, LabVIEW,
Mobile Devices (Android/iOS)
ABSTRACT III
1.1 课题的提出 1
1.1.1 课题的背景 1
1.1.2 发展状况 2
1.2课题的研究内容和技术关键 2
1.2.1研究内容 2
1.2.2课题的关键技术 3
1.3系统的总体设计方案 3
1.4预期成果 3
本章小结 4
2 基于Web的系统概述 5
2.1 运行环境 5
2.2 开发技术 5
2.2.1 Web网络协议 6
2.2.2 Web页面技术 6
(1)浏览器端页面技术 6
2.2.3数据库连接技术 8
本章小结 8
3 Web服务构建 9
3.1 Web服务器 9
3.1.1 C/S模式 9
3.1.2 B/S模式 9
3.2 Web Service 10
3.2.1 Web Service的基本概念 10
3.2.2 Web Service的组成 10
3.2.3 Web Service的特点 11
3.3从LabVIEW中导入Web Service 12
3.3.1 利用Web Service 12
3.3.2在LabVIEW中创建一个基于Web的服务的应用 13
本章小结 18
4 使用LabVIEW Web UI Builder进行系统设计 19
4.1 LabVIEW Web UI Builder概述 19
4.1.1基于浏览器的远程监视和控制需求 19
4.1.2 虚拟仪器Web UI Builder 20
4.1.3 虚拟仪器Web UI Builder 支持的特性 21
4.1.4 访问虚拟仪器Web UI Builder 21
4.1.5 虚拟仪器Web UI Builder应用程序与虚拟仪器远程面板 21
4.1.6 虚拟仪器Web UI Builder使用特点 22
4.1.7 云 22
4.2 UI Builder界面介绍 25
4.3 UI Builder功能概述 27
4.3.1 控制量和指示量 27
4.3.2程序框图面板 28
4.4利用LabVIEW和UI Builder进行联合开发 29
4.4.1系统设计要求 29
4.4.2 LabVIEW和UI Builder的联合调用 29
4.4.3构建基于本机Web Service 30
4.4.4在UI Builder中调用建立好的Web Service 34
4.4.5构建基于网络Web Service 36
4.4.6动画和事件功能 36
(1)事件选项 37
(2)动画选项 38
4.4.7界面的美化 39
4.4.8登陆面板 40
(1)初始化 40
(2)比对用户名和密码 40
4.4.9 UI Builder 应用实例 41
(1)注水减水循环面板 41
(2)多媒体播放面板 41
(3)波形显示面板 42
(4)3DCar演示面板 42
本章小结 43
5使用LabVIEW Data Dashboard 进行系统分析和实现 44
5.1LabVIEW Data Dashboard 概述 44
5.1.1LabVIEW Data Dashboard 44
5.1.2组建用户自定制的移动瘦客户端 44
LabVIEW 数据仪表盘的使用和特性 45
5.2.1 LabVIEW 数据仪表盘的使用 46
5.2.2 LabVIEW 数据仪表盘相关特性 58
5.3 使用LabVIEW Data Dashboard 实现远程测控 63
5.3.1 NI虚拟仪器RIO评估工具-Data仪表盘演示 63
5.3.2数据仪表盘Retargeter应用程序 67
5.3.3 将NI数据仪表盘虚拟仪器集成到虚拟仪器的应用 69
5.3.4 数据仪表盘应用实例 76
本章小结 87
6 智能手机和跨平台通信工具包 - T4SM 88
6.1概述 88
6.2 SCCT解决方案应用举例 88
6.3玩具车演示应用 90
本章小结 92
参 考 文 献 95
攻读学位期间发表的学术论文目录 96
原创性声明及关于学位论文使用授权的声明 97
1.1 课题的提出
1.1.1 课题的背景
2011年,Steve Jobs宣布“后PC时代”的到来。同年,智能手机和平板电脑的全球销量超越了传统的笔记本电脑和台式电脑。尽管个人电脑不会因此被淘汰,但很明显的是,移动技术正在从根本上改变着我们获取和使用信息的方式。
智能手机和平板电脑被创造的初衷就是为了满足消费者,如今,它们也已经被应用到了很多消费领域中。比如在健康保护领域,它们可以帮助使用者远程访问病人数据;在教育领域,它们可以被用作交互式的课本。类似的,移动技术也对数据采集领域造成了革命性影响。
通过将移动技术与数据采集设备结合,工程师和科学家创造出了极具便携性和互联性的测量系统,这让他们可以在更多场合进行测量。另外,移动技术还提供了丰富的用户接口,可以从世界上几乎任何地方监控测量系统,如图1-1所示。
图1-1包括智能手机和平板电脑在内的移动设备正越来越多地出现在测控相关的应用中。这些移动设备的功能不断扩充,使用方式多变,包括:可视化功能以及连接无线设备的能力。
Figure 1-1 With the mobile devices, including smartphones and tablets are increasingly appeared in the application of measurement and control related.The continuous extension of the function of these devices, using ways, including: visual function and the ability to connect wireless devices.
1.1.2 发展状况
   如今的Web技术手段越来越成熟、完善,基于B/S(Browser/Server,浏览器/服务器)模式开发的信息系统方法越来越普及,在很多方面逐渐取代了传统的C/S(Client/Server,客户机/服务器)模式,这种趋势也将成为现今乃至未来很长一段时间内的主流。
   而NI公司的LabVIEW自从发布以来也以极高的更新率进化发展,不断推出的强大软、硬件工具,以及频繁更新、完善的功能和特性,被市场用户积极认可和接受,使得它的应用领域迅速扩张。
   与此同时,突飞猛进的移动技术令所有用户惊喜不断,尤其是消费领域里,以迅雷不及掩耳之势不断推陈出新的各种移动设备使人们深刻体会到什么才是应接不暇的感觉。而对于测控领域而言,毫不夸张的说,数据采集设备与移动技术齐头并进并完美结合,是令工程师和科学家,乃至无数技术工作人员的最振奋最期待的事情。在今天,这种期待已经逐步成为现实。
   Web、移动技术、虚拟仪器的相互渗透和结合,使得今天的远程测控变得便携、互联,似乎无所不能,人们与环境传统的交互方式似乎已被颠覆,未来更是不可预知。
1.2课题的研究内容和技术关键
1.2.1研究内容
   本课题研究内容涉及以下几方面:
   基于Web的系统分析及Web服务构建研究。
   分析LabVIEW Web UI Builder的功能及使用特性,利用LabVIEW Web UI Builder 工具构建基于本机和基于Web的两种方式下的Web Survice,进一步创建瘦客户端应用程序,通过Web浏览器实现远程测控系统应用程序的监控。
   分析LabVIEW Data Dashboard的功能和使用特性,创建用户定制界面,借助移动设备(支持的平板电脑或智能手机)实现远程应用程序的测控。
   综述智能手机和跨平台通信工具的相关知识和技术,研究客户端与服务器端的通信方式。
1.2.2课题的关键技术
   1、LabVIEW 图形化编程技术。
   2、LabVIEW Web UI Builder 工具创建瘦客户端应用程序技术。
   3、LabVIEW数据仪表盘创建Web Service技术。
   4、智能手机(Andriod,IOS)跨平台通信技术。
1.3系统的总体设计方案
   本设计依靠强大的网络环境,构建所需的Web服务系统,研究实现了两种方案下的基于Web技术的测控系统。
   方案一:
   系统总体设计是基于LabVIEW编程,在此选择了NI公司推出的强大的LabVIEW软件,此软件在8.2版本中推出了Web服务的功能,该功能可以使用LabVIEW将已经设计好的程序打包成基于本机的Web服务,或者将网络上面的数据构建成本机的程序打包成基于网络的Web服务。UI Builder是NI公司近期新推出的一个基于微软的Sliverlight 的软件,其类似于LabVIEW的一个模块,具有LabVIEW中的部分的控件功能,还具有很好的调用Web服务的功能,并且界面更加美观,符合当前的UI界面设计潮流。因此本课题的第一方案是:使用LabVIEW8.2的强大编程能力来构建Web服务,然后用界面更加美观的UI Builder来调用建立好的Web服务,从而实现功能互补,降低编程难度。
   方案二:
   借助LabVIEW应用程序Data Dashboard 和NI CompactRIO平台,用户可以使用智能手机与平板电脑等移动设备来监测PC机或嵌入式系统上NI数据采集的测量数据,从而获得更丰富的工程体验和更高的工作效率。基本步骤是:
(1)添加一个虚拟仪器Web服务,可以处理来自外界与独立运行虚拟仪器代码交互的请求;
(2)创建仪表板数据指示板,可以与虚拟仪器的Web服务进行交互;
(3)实现web服务实时运行或者构建成一个可执行的目标。
1.4预期成果
   本论文的研究中,主要完成以下几方面工作:
(1)提出了一种基于LabVIEW的Web服务的构建
   利用本机程序或者使用网络服务供应商提供的WSDL的URL来构建这个Web服务。
(2)设计并完成构建Web服务的功能
   在UI Builder中利用已有的控件来进行程序框图和前面板的设计,最终实现监控功能的正常运行。
   (3)借助移动设备实现远程测控
   在安装了Data Dashboard for LabVIEW 2.1的Android Tablet或iPad中,借助安全数据访问和多仪表板编辑等扩展功能,实现远程测控。
   本章分析了课题研究的背景、发展状况,介绍了研究内容、提出了总体方案设计及采用的关键技术,最后预期了研究成果。
2 基于Web的系统概述
   Web本意是蜘蛛网和网的意思,现广泛译作网络、互联网等技术领域。表现为三种形式,即超文本(hypertext)、超媒体(hypermedia)、超文本传输协议(HTTP)。
   信息系统是由计算机硬件、计算机软件、信息资源、网络和通讯设备、信息用户及规章制度组成的,用来处理信息流的人机一体化系统。所谓信息系统计算模式是指,组成信息系统的硬件、软件及数据等资源的物理和逻辑配置,和它们之间的共同工作方式。信息系统计算模式经历了从集中计算模式向分布式计算模式的由简到繁、由低到高的发展过程。大量实践表明,尽管新技术使信息系统计算模式有所改变,但已存在的信息系统分析和设计方法,如结构化方法、面向对象方法等仍然适用。在目前和今后的一段时间里,B/S模式仍将是信息系统的主流计算模式。
   因此,在采用结构化方法或者面向对象方法等信息系统分析和设计方法的基础上,了解和掌握运用各种基于Web的系统开发技术,实现信息系统分析和设计以及信息系统计算模式的要求是进行基于Web的系统开发的重点。
2.1 运行环境
   典型的基于Web的信息系统软件运行环境包括三部分:即Web服务请求、Web服务器和数据库管理系统,如图2-1所示。
图2-1 典型基于Web的系统软件运行环境
Figure 2-1 Typical system based on Web software running environment
2.2 开发技术
   基于Web的系统开发技术主要包括三方面即:Web网络协议、Web页面技术和数据库连接技术。如图2-2所示。
图2-2 基于Web的系统开发技术
Figure 2-2 System development based on Web technology
2.2.1 Web网络协议
   Web网络协议定义了网络中各计算机之间进行通信的语言基础和规范准则。基于Web的信息系统采用了建立在TCP/IP(传输控制协议/网间协议)基础上的HTTP协议。
2.2.2 Web页面技术
   基于Web的信息系统以Web页面作为系统和用户交互的接口。因而,Web页面技术是系统开发中最重要的技术。根据软件不同,可分为浏览器端页面技术和Web服务器端页面技术两类。
(1)浏览器端页面技术
1)HTML(Hypertext,超文本标记语言):一种文档结构标记语言,它使用约定标记对页面上各种信息(文字、声音、图像、视频等)、格式以及超链接进行描述。当用户浏览万维上的信息时,浏览器会自动解释这些标记含义,并将其显示为用户在屏幕上所看到的网页。用HTML编写的网页也称为HTML文档。
    2)XML(Extended Markup Language,可扩展标识语言):与HTML一样,都属于SGML(Standard Generalized Markup Language,标准通用标记语言)。XML是Internet环境中跨平台依赖于内容的技术,是当前处理结构化文档信息的有力工具。扩展XML是一种简单的数据存储语言,使用一系列简单、易建立的标记描述数据。事实上XML占用的空间相比二进制数据更多,但XML却易于掌握和使用。
    3)JavaScript:网景公司推出的一种跨平台、面向对象的脚本语言。客户端的JavaScript被用于控制浏览器的对象及文档对象模型,响应鼠标移动、点击事件和输入校验等功能。
    4)VBScript:微软公司推出的一种以Visual Basic语言为基础的脚本语言。它通过编写时间驱动的客户端脚本来强化HTML功能。由于客户端脚本由浏览器解释执行,因而只有得到浏览器支持方能正常执行。IE支持VBScript,而Netscape不支持。但IE和Netscape都支持JavaScript。
    5)Java Applet:用java编写的、含有可视化内容的、并被嵌入Web页面中用来产生特殊页面效果的小程序。可以为页面带来动态交互内容,如声音、动画等。
    6)ActiveX控件:类似于Java Applet,是一个提供特定功能的二进制对象,具有属性、方法以及外界可捕获的事件。ActiveX控件允许加入到使用JavaScript和VBScript的Web页面中,用以增强页面的功能,提供如交互性和动画等特殊的页面效果,并能与脚本语言实现互操作从而完成特定功能。IE和Netscape都支持java Applet,唯有IE支持ActiveX控件。
   (2)Web服务器端页面技术
    1)CGI(Common Gateway Interface,公共网关接口):用来定义Web服务器与外部程序间通信的标准,使外部程序能生成HTML文档和图像。如此一来,浏览器的HTML页面便可以通过CGI同Web服务器进行动态交互。CGI开发简单、投入低,但性能稍差。
    2)API(Application Programming Interface,应用程序接口):允许第三方软件开发者以标准方式编写处理请求与返回动态内容的程序。API程序将保持装入Web服务器的地址空间,运行效率优于CGI;但开发困难、程序也不够健壮。
    3)ASP(Active Server Pages,登录服务器页面):微软1996年推出的进行动态、交互和高性能Web页面开发的技术。适用于Windows服务器平台,采用VBSCript编写程序,与IIS Web服务器紧密集成。ASP通过扩展名为.asp的文件来实现。这些.asp文件位于Web服务器的文件目录下,当浏览器向Web服务器发出.asp文件请求时,Web服务器解释执行ASP脚本,然后动态生成一个HTML页面发送给浏览器。
    4)PHP(Hypertext Preprocessor,超文本预处理器):运行于Web服务器端、内嵌于HTML中可以实现动态Web页面的脚本语言。其源代码开放并且免费。可运行在Windows、Unix和Linux多种操作系统平台上,支持IIS、Apache等多种Web服务器。
    5)Servlet:SUN公司推出的运行在Web服务器端、扩展Web服务器功能的软件。模式类似于CGI,但内部以线程方式提供服务,执行效率高于CGI。由于用Java语言编写Servlet,故具有平台无关性。
    6)JSP(Java Server Pages,Java服务器页面):SUN公司推出的动态页面开发技术。与ASP相似,是一个技术框架,能够生成动态的、交互的及高性能的Web服务器端应用程序。
2.2.3数据库连接技术
   基于Web信息系统的数据库连接技术目前主要包括:
   (1)开放数据互联(ODBC:Open Database Connection):微软提供的访问数据库的编程接口,重点访问关系型数据库。
   (2)对像连接嵌入数据库(OLE DB:Object Linking and Embedding Database):微软提供的访问数据库的编程接口。除访问关系型数据库外,还能访问非关系型数据库、电子邮件系统、电子表格及文本文件等数据源。
   (3)Java数据库互联(JDBC:Java Database Connectivity):用于执行SQL语句的Java应用程序接口,一种让各数据库开发商为Java程序员提供标准的数据库访问类型和接口的规范。用户可以很容易地将SQL语句传送到绝大部分关系数据库中,实现对数据库的访问。[4]
本章对基于Web技术的测控系统的运行环境和开发技术做了简要分析和论述。
3 Web服务构建
3.1 Web服务器
   Web系统的核心是Web Service,Web Service软件安装在一台硬件服务器设备上就形成了Web Service。Web Service模式包括两种:C/S模式和B/S模式。
3.1.1 C/S模式
   C/S结构的关键在于功能的分布。C/S模式简单地讲就是基于企业内部网络的应用系统。C/S模式应用系统最大的好处是不依赖外网环境,即无论是否能够上网,都不影响应用,其体系结构如图3-1所示。
图3-1 Client/Server体系结构
Figure 3-1The Client/Server architecture
3.1.2 B/S模式
   B/S模式中,其中一台或几台较大的计算机集中进行事务逻辑处理和共享数据库的管理和存取,称为服务器;将事物处理结果的呈现通过浏览器分散到网络中客户机上去做,构成分布式的信息处理系统。在B/S模式中,其体系结构如图3-2所示,可分为:Web服务请求、Web服务器、数据库管理系统等三个相对独立的单元。。
图3-2 Browser/Server体系结构
Figure 3-2 Browser/Server architecture
3.2 Web Service
3.2.1 Web Service的基本概念
   据万维网联盟 (W3C)的定义,Web Service 是指一个软件系统,目的在支持人机交互的、在网络上可相互操作的机器。 Web Service是基于Web服务器的,在应用中类似于一个黑盒,网站及应用程序可以通过其接口使用Web Service。 事实上,Web服务类似于一个出口,, 应用程序设计人员通过Web Service 的上网功能可以便捷的调用这些功能。 Web Service越来越受欢迎是因为它具有很多优点:
   (1)代码重用。构建应用程序进行了简化,可以使用现成的Web服务组件。
(2)平台独立性。由于访问Web服务使用的是标准的互联网技术,网络服务的需求,可以利用任何一个平台。
(3)语言独立性。任何编程语言的实现方式不作为Web服务的实施细则。
(4)分布式计算。Web服务组件可以用来方便地构建分布式应用程序。
   Web服务的优势在于其能够为标准的Web或应用程序设计工具提供额外的功能。 例如,一个标准的过程控制应用程序在不安全的条件下可能会提醒使用警报器,通过采用Web服务,通过网络拨打电话进行报警,这种控制应用程序如今可以通过网络运营商,拨打设定的紧急求助号码来实现。 随着越来越多的程序员使用Web编程工具,Web Service 在Web和其他应用程序设计中日益普遍起来。
   任何访问Web的服务都是使用流行的网络协议、数据格式和消息格式,如超文本传输协议(HTTP),可扩展标记语言(XML)和简单对象访问协议(SOAP)。 HTTP发送和接收Web服务之间的信息,XML描述和表示数据交换,SOAP是定义的消息且将其绑定到HTTP。 使用SOAP协议,客户端可以发送和接收网络上的Web Service的信息。Web服务描述语言(WSDL)是一种基于XML的合同文本由微软和IBM共同开发的。一个Web服务发布在一个特定的基于URL的WSDL接口,编程人员则可以从URL读取WSDL规范和创建SOAP消息进行Web服务通信。
3.2.2 Web Service的组成
   Web Service(也称为XML Web Service)是一种可以接收从Internet/Intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是通过SOAP在Web上提供的软件服务,使用WSDL文件进行说明,并通过UDDI进行注册。之所以使用XML是因为它独立于编程语言,具有良好的可扩展性以及强大的工业支持。而使用HTTP是由于它是一种可以与任何系统结合简单协议,再者它可以利用80端口顺利穿越防火墙。
   XML:(Extensible Markup Language)扩展型可标记语言。面向短期的临时数据处理、面向万维网络,是Soap的基础。[1]
   SOAP:(Simple Object Access Protocol)简单对象存取协议。是XML Web Service 的通信协议。当用户通过UDDI找到你的WSDL描述文档后,通过SOAP可以调用你建立的Web服务中的一个或多个操作。SOAP是XML文档形式的调用方法的规范,它可以支持不同的底层接口,像HTTP(S)或者SMTP。[1]
   WSDL:(Web Services Description Language) WSDL 文件是一个 XML 文档,用于说明一组 SOAP 消息以及如何交换这些消息。大多数情况下由软件自动生成和使用。[2]
对于商业用户来说,要找到一个自己需要使用的服务,他必须知道如何来调用。 WSDL (Web Services Description Language) 规范是一个描述接口,语义以及Web服务为了响应请求需要经常处理的工作的XML文档。这将使简单地服务方便,快速地被描述和记录。
   UDDI :(Universal Description, Discovery, and Integration) 是一个重点针对Web Service Supplier及User的新项目。[1]它通过描述文档来引导系统查找相应服务,使用SOAP消息机制(标准的XML/HTTP)来发布、编辑、浏览、查找注册信息,采用XML格式封装不同类型数据,并且与注册中心交换数据。
3.2.3 Web Service的特点
   Web Service的主要目标是跨平台的可互操作性。为此,Web Service完全基于XML、XSD等这些具有独立性的标准,是创建可互操作的、分布式应用程序的新平台。因此使用Web Service有许多优点:
   (1)跨防火墙的通信
   如果应用程序有成千上万的用户,而且分布在世界各地,那么客户端与服务器之间的通信就成会为一个很麻烦的问题,原因在于它们之间存在着防火墙或代理服务器。常规的处理是,用浏览器作客户端,写下一大堆ASP页面,把应用程序的中间层向最终用户公开,而此做法会导致开发难度大,程序维护困难。 假若客户端代码不再依赖HTML表单,客户端的编程自然就简单化了。若进一步将中间层组件换为Web Service,那么完全可以从用户界面直接调用中间层组件,则省去了建立ASP页面的环节。调用Web Service,可直接使用Microsoft SOAP Toolkit或.net这样的SOAP客户端,也可用自己开发的SOAP客户端,然后把它和应用程序进行连接。如此一来,降低了应用程序开发成本,也增强了可维护性。
   (2)应用程序集成
   企业级的应用程序开发者常常需要花费很大气力去集成不同语言写成的、运行在不同平台上的各种程序,即使在同一平台上,不同软件厂商生产的各种软件也需要集成。而通过Web Service,应用程序可以用标准的方法把功能和数据“暴露”出来,供其它应用程序使用。[1] Web Service 提供了在松耦合环境中使用标准协议(HTTP、XML、SOAP 和 WSDL)进行消息交换的能力。消息可以是结构化的、带类型的,也可以是松散定义的。
   (3)B2B的集成
   B2B 指的是Business to Business,as in businesses doing business with other businesses,商家(泛指企业)对商家的电子商务,即企业之间通过Internet进行商务交易的过程。Web Service是B2B集成的关键部分。通过Web Service,公司可以只需把关键的商务应用“暴露”给指定的供应商和客户就可以了。Web Service运行在Internet上,在世界任何地方都可轻易实现,其运行成本就相对较低。
   (4)软件和数据重用
   Web Service允许重用代码,代码背后的数据也可以重用。使用Web Service只需要直接调用远端就可以。还有另一种情况的软件重用:通过Web Service “暴露”集成的几个应用程序的功能到门户站点中,提供一个统一、友好的界面给用户。通过Web Service的这个特点 ,自己的应用程序功能和第三方应用程序功能可以实现分享。
3.3从LabVIEW中导入Web Service
3.3.1 利用Web Service
   查找电视节目预告,进行语言翻译,查询IP地址和手机号码归属地等只占一些常用的网络服务的一小部分。网络服务供应商公布一些著名的Web服务的目录。在找到感兴趣的一个Web Service,Web Service说明将清楚标示着服务的功能情况的WSDL规范的URL,这个网址是创建一个以Web Service为基础的LabVIEW应用。
   与Web服务通信使用的SOAP消息是类似于汇编语言编写的代码,它十分的高效,但是很难编写、调试和维护。用户可以在LabVIEW中使用Web Service向导,在更高的抽象水平上来简化任务。
   在LabVIEW中Web Service导入向导介绍Web Service和基于.NET程序集的VI的抽象层。这一层是进行包装、发送和接受SOPE消息的,如图3-3所示。
图3-3 利用NET的Web服务进行通信
Figure 3-3 Using.net Web services for communication
   在向导服务中导入Web Service是使用的.NET程序集,其可以在LabVIEW中使用库函数的节点。它是以.NET框架来构建并运行在公共语言运行库(CLR)上。.NET程序集导出一个属性和方法的类的接口。用户可以创建一个使用LabVIEW客户端构造的节点,便可以使用属性和调用节点进行访问。
3.3.2在LabVIEW中创建一个基于Web的服务的应用
   在LabVIEW中,用户能够通过标准的子VI轻松地导入Web服务,并利用LabVIEW的服务功能,使用LabVIEW 按照下面的详细步骤使用Web服务及其相关的WSDL的URL:
  第1步,找到并复制的所需的Web服务的WSDL的URL。
1)访问www.xmethods.net 并点击“全部列表”选项,以查看Web服务的列表。
2)搜索“电话通知”,并点击链接。
3)复制此WSDL的URL,如图3-4所示。
图3-4 拓展了Web服务的WSDL URL
Figure 3-4 Expand the Web service WSDL URL
 第2步,启动LabVIEW的Web服务导入向导。
1)启动LabVIEW。
2)选择“工具”>>“导入”>>“Web服务...” ,启动Web服务导入向导,如图3-5所示。
图3-5 在LabVIEW启动Web服务导入向导
Figure 3-5 Start Web service import wizard in LabVIEW
 第3步,在Web服务的导入向导中粘贴WSDL的URL。
1)粘贴WSDL的 Web服务描述的URL字段,然后点击 “下一步”按钮。 之后LabVIEW自动验证Web服务,以确认它的网址是一个有效的WSDL规范。
2)在 “名称(.lvlib)”字段中,指定一个新项目名称,其包含Web服务,如图3-6,然后单击 “下一步” 。
图3-6 指定Web服务项目库
Figure 3-6 Specified Web service project libraries
   第4步,选择Web服务所需的模块。
   这个Web服务可以提供各种功能。 其可用的功能模块都列在了Web服务导入向导的窗口。
1)在需要导入到项目中的功能模块名称旁边打勾,如图3-7,然后单击“下一步”。
图3-7 选择Web服务模块
Figure 3-7 Select Web service module
2)点击 “生成”按钮继续向导。
3)点击“完成”按钮,如图3-8,退出向导并启动项目。
图3-8 打开导入Web服务项目库
Figure 3-8 Open import Web service project
   第5步,在VI的程序框图上使用Web服务。
  当Web服务导入向导设置完成后,访问生成的项目,如图3-9所示。
图3-9 探索生成的Web服务项目库
Figure 3-9 Explore the generated Web service project
1)在项目中选择打开一个新的VI,“文件”>>“新VI” 。
2)从项目框中,拖动“Open Web Service.vi”和 “Close Web Service.vi”到新建的VI中的程序框图中。这两个VI是要保证连接的Web服务的正确打开和关闭。
3)拖动 “NotifyPhoneEnglishBasic.vi”到程序框图中 。在框图上既可以开间次VI的图标,这可以是任何Web服务所需的方法。
4)在“NotifyPhoneEnglishBasic.vi”的图标中引出的相应的端口创建对应的控件。
5)指定“LicenseKey”的“PhoneNumberToDial”和“TextToSay”的对应接线,如图。
6)如图3-10可知,在低水平封装的VI中.NET(红色方块)更容易实现调用。
7)运行VI,在“电话通知”的Web服务中输入指定的电话号码来进行查询和使用。
图3-10 利用LabVIEW应用程序中的Web服务
Figure 3-10 Using LabVIEW application of Web services
  如这个例子所示,从LabVIEW中使用Web服务导入向导调用Web服务是一个简单的过程。
本章通过对采取B/S模式的Web服务器,对相关概念、系统组成及特点做了综述,并分析了从LabVIEW导入Web服务的技术和方法,利用LabVIEW构建了基于Web服务的一个应用。
4 使用LabVIEW Web UI Builder进行系统设计
4.1 LabVIEW Web UI Builder概述
   互联网的普及和网络基础设施,以及日益复杂的web应用程序,导致了高需求的基于web的用户界面来访问远程的基于LabVIEW系统。然而,创建复杂的web用户界面,也被称为“瘦客户机”,传统上要求需要对web编程语言中有一定的编程经验,然而在工程师和科学家之间这是一种少有的技能。在此背景下,国家仪器引入了一种新的软件设计产品——LabVIEW Web UI Builder,该产品使工程师和科学家通过图形化编程开发轻量级的基于Web的应用程序,这些应用程序提供最终用户能够通过浏览器远程监视和控制测量的自动化系统。
4.1.1基于浏览器的远程监视和控制需求
   越来越多的LabVIEW应用程序部署在偏远、分散的位置。这些应用程序艰难地运行在例如Compact RIO、单板RIO和PXI等NI平台上,执行从自主交通的确定性控制到全天候监测公共工程工具任务。考虑到分布性以及常常脱离这些基于LabVIEW的系统,远程监控和控制通常是一个终端用户的关键需求。 随着互联网的日益普及,终端用户期望通过访问基于Web的接口,通过任何Web浏览器轻松地来访问其远程系统(也称为瘦客户端应用程序),如图4-1所示。
图4-1 LabVIEW用户越来越多地要求基于浏览器的远程监控和控制其应用
Figure 4-1 LabVIEW users increasingly requires browser based remote monitoring and control of its application
基于web的解决方案,格外地吸引了更多用户,因为其降低了允许终端用户访问所涉及终端的复杂性,况且几乎所有的计算机有一个web浏览器,在大多数公司和学校,用户验证是一个很容易接受的过程。
4.1.2 虚拟仪器Web UI Builder
   为了向工程师和科学家提供开发瘦客户机应用程序的能力,NI引入了虚拟仪器Web UI Builder。虚拟仪器Web UI Builder是一个独立的、基于Web的编辑器,使虚拟仪器用户可以通过Web浏览器应用他们现有的图形化编程知识创建轻量级的、基于Web的应用程序。尽管虚拟仪器Web UI Builder是一个从虚拟仪器独立出来的产品,但它的目的是补充虚拟仪器和扩展用户熟悉的图形编程的功能模块(类似于一个虚拟仪器插件),如图4-2所示。
图4-2 UI Builder是一个创建瘦客户端的独立的应用程序编辑器
Figure 4-2 UI Builder is a create thin client independent application editor
UI Builder包含与LabVIEW相同的虚拟仪器的概念,包括前面板、程序面板和图形化的数据流编程。与LabVIEW不同的是,这个编辑器只需要在PC系统或者实时系统上面建立以LabVIEW为基础的网络接口的功能。使用UI Builder创建的应用程序运行在浏览器的“沙箱”中,以防止他们与客户机(如注册表,硬盘驱动器等)进行交互。相反,与外部世界沟通和通信其唯一的手段是通过基于HTTP的Web服务。
4.1.3 虚拟仪器Web UI Builder 支持的特性
   虚拟仪器Web UI Builder编辑器的可用功能范围是专门为创建基于Web的用户界面。 例如图形、LED灯和按钮都是支持应用程序的用户界面。 然而它不支持调用NI硬件驱动程序,因为此功能不可用在一个web应用程序。
4.1.4 访问虚拟仪器Web UI Builder
   微软的Silverlight是一个Web技术开发的互联网应用程序。它在功能上类似于Adobe Flash,包含图形、动画和交互性的于一体的Web应用框架的简单的运行环境。Silverlight 与微软视窗和Mac OS X操作系统上所有流行的网络浏览器兼容,其需要在客户端浏览器安装一个小的、免费的插件才能观看基于Silverlight的内容。
   UI Builder和瘦客户端,都是基于微软的Silverlight应用程序而创建的。这意味着通过Web浏览器就可以访问编辑器和其他基于Web的应用程序(如Google Docs和TurboTax)。 微软的Silverlight浏览器插件需要在Web UI Builder上浏览和访问虚拟仪器,新用户登录到产品之前必须创建一个NI托管服务帐户。
4.1.5 虚拟仪器Web UI Builder应用程序与虚拟仪器远程面板
虚拟仪器Web UI Builder和虚拟仪器远程面板可以应用于同一用例(即需要Web浏览器交互远程基于LabVIEW的系统),但他们的技术实现是非常不同的。
虚拟仪器远程面板是一个年长,NI专有技术,促进了将虚拟仪器的前面板应用程序嵌入到web浏览器中快速而简单的方法。 然而,远程面板需要完整的虚拟仪器运行时引擎,这是几百兆字节,每个客户机机器上,和一个专有的网络流量发送NI二进制格式,可以无意中报警IT部门。
   瘦客户机应用程序创建虚拟仪器Web UI Builder,结合虚拟仪器的Web服务提供远程监控和控制解决方案,是基于现代标准的Web技术。这些解决方案不依赖于虚拟仪器运行时引擎,和所有网络通信是通过标准执行的超文本传输协议(HTTP)。
4.1.6 虚拟仪器Web UI Builder使用特点
尽管虚拟仪器Web UI Builder是一个独立的产品,但其非常类似于虚拟仪器编程。使用LabVIEW Web UI Builder进行编程,具有以下特点:
   (1)零安装经验。UI Builder允许用户通过网络浏览器访问,并且可以迅速从ni.com上面获取更新,不用安装就可以使用此软件。
   (2)云存储。UI Builder允许用户通过云计算建立唯一的用户名和密码在线保存其所完成的工程项目,使其代码可以在Windows或者Mac OS X系统上面使用。
   (3)本机安装。一旦用户通过浏览器的登陆了UI Builder,其可以在欢迎界面选择下载按钮将其下载到本地。当编辑器下载到本地以后,就可以脱机登入到UI Builder中,编辑好的工程项目可以保存在本机的“我的文档”中。
   (4)Web服务导入向导。尽管用户必须结合程序框图中的低级的HTTP和XML来调用非LabVIEW的Web服务,在LabVIEW2009或者更高版本可以简单而快速的进行导入,导入的Web服务是一个包含HTTP请求以及XML过程的脚本的子VI服务。
   (5)生成和部署项目向导。一旦用户完成了他们的用户界面和框图的开发代码,用户就可以使用生成和部署项目向导建立一个独立的瘦客户端应用程序。此功能是Sliverlight 将其编译成一个.XAP文件,任何的用户从Web浏览器调用部署的Web服务。
   (1)云的概念
云提供随需应变的计算功能,您可以根据需要向外扩展或。云通常是大型数据中心与成千上万的服务器运行的虚拟OSs与多个计算每个物理机器上的“实例”。底层物理机器可以有不同级别的性能。每个物理机器上运行的虚拟机得到了保证,机器的计算能力,存储、内存和网络带宽。云还提供了服务存储、数据库、工作流管理、和电子邮件通知。这些虚拟计算机和服务可以从任何地方访问通过网络连接。
   云托管公司提供基础设施管理服务,您可以按小时支付访问和操作一个或多个虚拟机,使用其他服务。这个收购将基础设施的负担,设置,配置,和供应和允许您快速创建定制的基础设施适应您的需要,减少基础设施成本。
当云主机支持多个,一般不相关,客户被称为“公共云”。企业也可以建立一个虚拟基础设施的“私有云”,如果他们愿意吸收的物理基础设施成本,创建所需的开发和支持服务。如图4-3所示。
图4-3云通常被定义为拥有数千台服务器的大型数据中心运行的虚拟操作系统
Figure 4-3 Cloud tend to have thousands of servers is defined as the virtual operating system to run large data centers.
(2)云检测的功能
云计算提出了四个主要功能,您可以使用在你的控制、数据采集、或测量的应用:
Computation-This有助于特别是需求是暂时的,偶尔,或者需要大量的基础设施。例子包括分析数据集由多个地理分布的数据来源和喂养到复杂的模拟,需要大量计算的基础设施和自己产生额外的数据。
Storage-This有助于巩固数据在云端的计算。之间有一个明显的争用的数量和速度数据和可用带宽数据到云存储,但这可以通过专用的高带宽连接到云主机。
Accessibility-The能力几乎可以从任何地方访问云通过通过正常的HTTP api调用,意味着你需要最小的参与企业,很容易在同一家公司多个团队和合作伙伴公司的合并数据,触发计算,查看结果,并下载相关数据。
工作流管理服务——包括工作和消息队列,动态分配工作,集中为工作流管理门户网。
(3)云计算的价值
   云计算不仅仅是另一个技术的热门词汇。云计算是下一波的技术效率,您可以使用在构建您的下一个系统之一。替换当前系统与云技术之前,重要的是要了解如何使用它,它能带来的价值。
有很多方法来构建云能力等实际工程项目实现值:
1)时间降低基础设施——创建复杂的计算基础设施在几天或几小时。
   降低成本failure-With灵活的云基础设施,容易重新开始和重用的部分在一种改进的设计工作。
3)低cost-There没有预先使用云基础设施成本。
4)“不承诺”design-prototype-deploy process-Conduct划算,快速、可重复的实验。
5)减少投放市场的时间和时间money-Gain显著减少整体产品开发、测试和包装时间。
6)提供即时response-Services、更新补丁和新特性同时交付给客户。
(4)在使用云计算时考虑的问题
云安全通常是第一个担心的问题。云主机投入大量的精力和资金安全系统。例如,每个数据中心员工进行背景调查。他们也符合严格的安全标准,实现认证水平,只有最大的企业可以完成。云主机提供全面的文档审查以确定他们是否可以满足您的要求。
安全满意度往往只是第一步的担忧知识产权(IP)保护。你的工作量和IP可能操作在一个虚拟机在同一物理机器连同其他公司。您的工作流和知识产权保护”多租户“公共云来自其他公司和云主机本身。你可以与云主机,以确定你的知识产权保护水平感到满意。
其他问题你可能有关于云是操作和支持。这里是一个非常清晰的分割。云主机提供运营支持的基础设施及其管理和流程通知和管理任何中断。你必须遵循最佳实践的关键服务使用,例如复制数据和故障转移系统。提供的云基础设施服务,您将需要自己的操作支持团队和流程就像如果你举行他们自己的基础设施。
(5)NI是云投资做好准备
我们正在许多NI产品、软件和新服务准备利用云,这样您就可以从云计算中获得最大利益,跟上不断扩张的能力,如图4-4所示。
NI研发团队正在测试软件在实际云应用程序如:
1)在云存储·NI数据搜索索引数据
2)NI DIA dem分析云存储的数据
3)NIVeriSt和执行模型并进行模拟
4)NI虚拟仪器运行时引擎托管VIs分布式和并行工作
最近一个NI客户使用这些云测试创建一个按需仿真服务超过300计算实例。这能够减少一个高级仿真的时间从几个月到小时。
NI还将围绕现有NI云服务软件工具,这就是NI FPGA编译云服务,允许虚拟仪器用户卸载资源密集型的编译工作。它也可能使云交付机器状态监测服务,高性能计算(HPC)服务,在未来和模拟/分析服务。
最后NI提供纯粹的“软件即服务”(SaaS),如Web UI Builder,通过使用一个Web浏览器来设计虚拟仪器的Web UI目标主机作为Web服务。NI也有各种数据收集服务和共享服务(如NI数据仪表盘虚拟仪器共享)举办类似。减少时间,降低成本,云,没有长期的承诺,使得它需要一个快速增长的方法,从企业到大型企业。
  图4-4 你可以通过NI产品使用云从而跟上其不断扩张的能力
  Figure 4-4 NI products are ready to use the cloud so you can keep pace with its ever-expanding capabilities.
4.2 UI Builder界面介绍
   UI Builder提供了精心选择的功能控件集合,为用户提供了一个框图节点数量有限的用户界面组件。正是这些功能的设置,使其可用于创建动态的,丰富的互联网应用。 UI Builder包含一个含有指示量和控制量的庞大的用户界面库,如图形,图表,按钮,旋钮,滑块等。所有的指示量和控制量都是以矢量为基础的,这意味着UI Builder在任何分辨率创建的前面板始终是清晰和美观的,如图4-5所示。
图4-5在UI Builder中所有的指示量和控制量都是基于矢量的
  Figure 4-5 In the UI Builder all instructions in the measure and control is based on vector
   除了上面提到的控制量和指示量外,UI Builder还为用户提供了开发一个用户应用程序不同的控制面板之间的皮肤和主题选择,改变皮肤项目可以修改面板内所有的控制量和指标量图标。 现版本可用外观是金属(如图4-5所示),它的系统(如图4-6所示)与Windows操作系统的系统控制量和指标量主题相似。
图4-6 皮肤系统提供了一个额外的默认的金属皮肤,其更简单,更柔和
  Figure 4-6 skin system provides an additional default metal skin, the more simple, more downy
   虽然LabVIEW中大部分的控制量和指示量在UI Builder中依然获得支持,在程序框图中同样有不相同的部分。LabVIEW中只有程序框图节点的一小部分可在UI Builder兼容。 虽然如此,其支持的功能还是进行了仔细的挑选,使其可以创造具有吸引力的瘦客户机,其不支持的功能(如分析)可以将其由LabVIEW在台式电脑(或者实时设备)运行,然后通过Web服务访问瘦客户机。
4.3 UI Builder功能概述
4.3.1 控制量和指示量
   UI Builder包含大量的用于创建动态的,丰富的Web用户界面的控制量和指示量。所有的控制量和指示量都是以矢量为基础的,这意味着在任何分辨率下创建UI Builder都会保持一致性,且始终清晰和美观,如图4-7所示。
图4-7 UI Builder中的控制量和指示量
Figure 4 -7 UI Builder control measure and instructions
   其包含:
(1)数字控件和指示量:数字控制量﹑数字指示量﹑滑块(横向和纵向)﹑规(圆形和四分之一圆)﹑仪表﹑旋钮﹑进度条(横向和径向)﹑水罐 。
(2)布尔控件和指示量:按钮(长方形,圆形和三角形)﹑复选框﹑单选按钮﹑LED灯(圆形,方形)﹑圆形开关﹑电源开关﹑滑块开关(横向和纵向)。
(3)波形图和波形图表:波形图﹑波形图表﹑强度图﹑条形图。
(4)其他控制量和指示量:标签控件﹑画布﹑列表框﹑选择框(弹出式和下拉式)﹑图片框﹑媒体框﹑形状指示框﹑线性框。
4.3.2程序框图面板
   虽然LabVIEW大部分的控制量和指示量是获得UI Builder的支持的,但是在程序框图面板同样是不相同的。 LabVIEW的程序框图中只有一小部分可在UI Builder中获得支持。 然而,其对支持的功能进行了仔细的挑选,使其可以创造具有吸引力的瘦客户机,UI Builder中任何不支持的功能(如分析功能)可以由LabVIEW在台式PC机(或实时设备)进行应用程序的运行,之后就可以通过Web服务访问瘦客户机,如图4-8所示。
图4-8 UI Builder的用户通过图形为其程序进行逻辑编程
Figure 4-8 UI Builder user through a graphical logic programming for the program
   其包含:
(1)结构:While循环﹑For循环﹑条件结构﹑顺序结构。
(2)数据类型:整型﹑双整型﹑字符串﹑布尔型﹑阵列。
(3)调试:登陆到原始输出窗格﹑显示调试断点﹑调用原始链接。
(4)LabVIEW面板上类似的控件选项面板:阵列选项板﹑数字选项板﹑比较选项板﹑布尔选项板﹑字符串选项板﹑时间选项板。
(5)连接网络服务:HTTP的VI﹑XML解析VI。
4.4利用LabVIEW和UI Builder进行联合开发
4.4.1系统设计要求
   采用NI公司流行的UI Builder模块进行系统的开发,并且要完成一个具有Web模式的控制系统,应该能够进行仿真运行,软件界面友好,符合软件工程要求。
   此设计由六个部分组成:登陆框,模拟控制部分,多媒体播放部分,波形演示部分,网络连接部分,3D模型演示部分等,其实现的功能分别为:输入用户名和密码登陆进入UI 系统,模拟加水补水的过程,网络多媒体播放过程,正弦波﹑余弦波﹑三角波﹑sinc波发生器演示,计算器﹑电话号码归属地﹑IP地址﹑单词翻译﹑电视节目预告,汽车模型3D演示,以及动画和事件等部分。
4.4.2 LabVIEW和UI Builder的联合调用
   UI Builder类似于LabVIEW的一个模块,所以,它在某些应用上面可以很好的调用labview中的某些功能。利用这种联合调用功能可以使得UI Builder的程序界面设计十分的简洁,也便于了解LabVIEW的编程人员更容易的使用UI Builder进行开发,且执行的效率更高。
   首先是在LabVIEW中将所要实现的功能模块打包好,然后在这个模块中引出相应功能的接线端,再将这个模块设置成具有基于本机的Web Service的功能,在UI Builder中调用即可,或者将网络上的数据,依照上面的方法,打包,引出接线端,然后做成基于网络的Web Service功能,之后在UI Builder中调用即可。此过程类似于LabVIEW中的构建子VI的过程,故两者之间有一定的相似性和参考性。
   LabVIEW中所建立的Web Service功能,在LabVIEW2009版本是是提供的接口为“localhost”,而在LabVIEW2010版本中,其接口版本是“localhost:8080”,所以,UI Builder可以通过这个提供的端口来调用LabVIEW已经建立好的基于本机的或者基于网络的Web Service功能,如图4-9和4-10所示。
图4-9使用本机程序的Web Service
Figure 4-9 Using the native Web Service
图4-10使用网络数据的Web Service
Figure 4-10 Web Service using the network data
4.4.3构建基于本机Web Service
   UI Builder的应用控件虽然比较的少,但是由于其类似于LabVIEW中的一个模块,所以,LabVIEW中的许多的功能能很好的在UI Builder中得到使用,即使UI Builder本身并不具备这些功能控件,但是这其功能依旧可以使用和显示。以其建立一个显示时间的Web Service为例,其实现步骤如下:
(1)打开Labview2010。
(2)在Labview2010中新建一个新项目。
(3)在项目中选择“新建VI”,并且命名为“time.vi”。
(4)打开“time.vi”,在前面板和程序面板,构建所需的程序模块和显示模块,并且模块以英文命名,然后进行合理连线,如图4-11,4-12所示。
图4-11 程序框图面板
Figure 4-11 Program block diagram pane
图4-12前面板显示
Figure 4-12 front panel display
(5)连线完成后,然后点击运行按钮,在前面板上查看其运行结果,保证其能显示正确的时间,如图4-13所示。
图4-13面板的时间显示
Figure 4-13Time display panel
(6)在前面板的右上角的VI小图标上点击右键,选择“显示连线板”项,在显示的连线板中,选择对应的连线端。
(7)保存此VI。
(8)在项目框中右键点击“程序生成规范”,选择“新建”中的“Web服务(RESTful)”项。
(9)在“信息选项”卡中修改“程序生成规范名称”为“time”,修改“服务名称”为“time”,如图4-14所示。
图4-14信息选项卡
Figure 4-14Information TAB
(10)在“源文件选项”卡中进行如图4-15设置。
图4-15 源文件选项卡
Figure 4-15 Source files TAB
(11)则在“URL映射”中的显示如图4-16,则说明配置正确。
图4-16 URL映射
Figure 4-16 URL mapping
(12)点击“生成”按钮,在“程序生成规范”选项下面即生成子选项“time”,右键点击“time”,选择“部署”选项,如图4-17、4-18所示。
图4-17生成Web Service
Figure 4-17 generate a Web Service
图4-18 部署进度
Figure 4 -18 Deployment schedule
(13)到此为止,即在本机中建立了基于本机的Web Service功能。
4.4.4在UI Builder中调用建立好的Web Service
  通过LabVIEW建立好Web Service后,就可以在UI Builder中调用此Web Service功能,在UI Builder菜单栏中的“project”选项卡里面的“Import Web Service”按钮即可以调用本机或者网络上面已经建立好的Web Service服务功能,实现步骤如下:
(1)在UI Builder中,点击菜单栏中的“project”选项卡,点击选择“Import Web Service”按钮,如图4-19所示。
图4-19调用Web Service界面
Figure 4-19 Invoke the Web Service interface
(2)在“Server URL”中输入“localhost:8080”,单击“Connect”按钮,在“Web Service”的下拉框中选择已经建立好的调用本机时间的“ time”Web Service,如图4-20所示,点击“Import”按钮,其结果如图4-21所示。
图4-20选择要建立的Web Service
Figure 4-20 Selected to build a Web Service
图4-21成功建立Web Service
Figure 4-21 Successfully established a Web Service
   (3)此时在左侧边栏中的“Project”选项卡中,即可找到所建立的“time”Web Service了。
   (4)将“time.vix”图标拖入程序面板中,将控件与其相应的端口连接好。
   类似于上面建立基于本机“time”Web Service的方法,构建了波形显示的Web Service:“wave.vix”,时间显示的Web Service:“time.vix”,计算器的Web Service:“add.vix”,3D汽车显示的Web Service:“car.vix”。
4.4.5构建基于网络Web Service
  在LabVIEW中构建基于网络的Web Service功能,可以参考本文中的3.3.2章节,其使用方法是基于WSDL的URL,从网络上面导入数据,在LabVIEW中构建的程序运行无误后,即可参考上面的4.3中的方法来构建类似于本机的Web Service功能,之后在UI Builder 中调用此Web Service。
  类似与上面的构建基于网络的Web Service的方法,构建了IP数据查询的Web Service:“ip.vix”,查询电视节目预告的Web Service:“tv.vix”,可进行单词在线翻译的Web Service:“translate.vix”,可进行电话号码归属地查询的Web Service:“phone.vix”。
4.4.6动画和事件功能
  UI Builder的一个十分强大的功能即为它的动画和事件功能,直观而且易用,其属于控件的基本属性,在UI Builder可以通过选择控件,如图4-22所示,在右侧边栏的“Properties”中进行属性设置和修改。
图4-22 Properties属性选项卡
Figure 4-22 The Properties attribute TAB
  其中“Animations”功能项即为动画选项,“Events”功能项即为事件选项。事件和动画可以进行联合使用。
(1)事件选项
   所有控件的事件选项都具有鼠标按键按下,鼠标按键松开,鼠标按键接触,鼠标按键移开,加载,属性修改,停止VI等功能选项。
   以登陆界面的登陆按钮为例,其通过事件选项,将图片与按钮的功能关联起来,通过点击图片,从而实现按钮值的改变而实现按钮的功能,其事件选项的设置如下:
   点击“Events”中的“Add New…”按钮新建事件。
   在弹出的“Edit Event”选项卡中填写相应选项,如图4-23。
   单击“OK”。就构建了一个事件。
图4-23 事件选项设置
Figure 4-23 Event option is set
(2)动画选项
  UI Builder中的动画功能比较的丰富,其选择项也比较的多,突出的是UI Builder中的动画效果,在其“触发模式”中也包含事件选项中的鼠标按键按下,鼠标按键松开,鼠标按键接触,鼠标按键移开,加载,属性修改,其还具有无事件和鼠标按键移动等额外选项,在“重复次数”和“自动回放”中也可以进行响应的设置。其重要的设置为“Add Property”选项,可以对此控件许多属性根据事件选项调用的不同来进行动画演示,从而使UI Builder具有丰富的动画功能。其可以实现文字的动态放大和缩小以及来回移动,模块的动态显示和消失,图片的动态放大和缩小等。
  以登陆界面的登陆按钮为例,构建鼠标按键接触,图标动态放大,构建鼠标按键移开,图标动态恢复,其实现的步骤如下:
   选择“Animation”,点击“Add Animation”按钮,新建动画。
   创建“Animation1”,实现动态放大,如图4-24。
   创建“Animation2”,实现动态恢复,如图4-25。
图4-24 动画1
Figure 4-24 Animation 1
图4-25 动画2
Figure 4-25 Animation 2
  通过上面的设置步骤完成按键的动画设置,然后在事件选项中调用所构建的动画选项,就可以通过鼠标按键的接触和移开,使按键图标具有一定的动感。
   以上通过对控件的动画选项和事件选项的设置,实现的功能有:按键的动态显示,图片的动态显示,注水的动态效果,以及不同界面间的动态切换,其中,界面切换功能,在程序界面的事件结构中包括的事件项有:"Close Login","Close Code","Media to Code","Close Media","Tri to Media","Close Tri","Simu to Tri","Close simu","3D to Simu"以及"Close 3D",其均是通过类似于下面的反向结构来构建的,如图4-26所示。
图4-26反向结构构建界面切换
Figure 4-26 Reverse structure build interface switching
   在每一个“画布”(Canvas)控件上面,放置所要每一个界面所要演示的功能控件,通过不同的“画布”之间的切换,来达到界面的切换的效果。对每一个“Canvas”控件的属性选项中设置其动画选项,然后通过设置相应的“LED控件”的事件选项,在事件结构中进行切换,来显示其动态的切入和切出效果。
   图片和文字的动画功能则包括所有的按钮的动态放大和还原。
4.4.7界面的美化
   在UI Builder中,界面的美化可以通过图片来进行,利用图片来替代按钮的功能,为面板设置背景图片等等,从而达到美化的目的。利用图片上,可以通过左侧边栏的“Palette”选项卡中的“Image & Media”选项中的“Image”控件来实现,其图片的加载,是通过网络的方式来加载的,可以加载以.jpg或.bmp或.png为后缀的格式的图片,也可以通过将图片放在“D:\Program Files\National Instruments\Shared\NI WebServer\www”路径的文件夹下面,从而实现本机加载,其加载的方式为“http://localhost:8080/图片名”。
   前面板中,一片白色的区域,称为“FrontPanelCanvas”,在程序执行的时候,前面板只显示FrontPanelCanvas中的控件,而其他的灰色部分则不予显示,所以,将一些不用显示的控件放在灰色区域,则执行的时候,这些不用显示的控件可以隐藏起来而不影响界面美观。利用这个特性,就可以将按钮用其他的图片进行替代美化,将不需要显示的控件进行隐藏。
   将图片和按钮的功能实现关联,则需要使用到5.6.1中的图片的事件选项属性设置来进行关联。
   其他的美化可以通过图片的动画选项属性来进行一些动态美化和修改。
4.4.8登陆面板
   登陆面板是程序的第一个界面,其实现的是用户输入帐号,之后登陆进入系统中去,在登陆面板中实现了其初始化和进行用户名和密码的比对,如果用户输入的帐号与设定的不匹配,则用户停留在登陆面板上面。
(1)初始化
   初始化是使登陆界面中的输入框和显示框中显示空白项。并在初始化完成后,进入下一个比对输入用户名和密码阶段,其在程序面板中的事件结构中为"Init"。
(2)比对用户名和密码
   登陆界面的实现方式,就是将输入的用户名和密码与已经设定的用户名和密码进行比对,并且在一个显示窗口中显示当前的登陆状态。将这个比对的过程做成一个子VI“Check Password.vix”,并且在程序面板中进行调用。
   在登陆界面中单击“Clear”和“Submit”按钮来可以实现输入的清空和验证。当输入正确,并且点击了“Submit”按钮,则进入到下一个界面,即为程序面板中的事件结构中的"Login"和"Check Password"。
4.4.9 UI Builder 应用实例
(1)注水减水循环面板
   此面板是模拟工业控制,其可以设置初始的水位高度,最高水位以及最低水位,然后水位逐渐降低到最低水位后注水到最高水位,然后进行循环。
   其程序框图如图4-27所示。
图4-27注水和减水循环
Figure 4-27 Water injection and reduce the water cyclea
   其程序面板中的事件结构为"Run Code"。
(2)多媒体播放面板
   多媒体的播放,主要是通过左侧边栏中的“Palette”选项卡中的“Image & Media”中的“Media”控件,通过这个控件,可以实现网络歌曲,以及网络视频的播放。其可以将要演示的视频和歌曲,放置于本机中的“D:\Program Files\National Instruments\Shared\NI WebServer\www”路径的文件夹下,然后通过在URL链接中输入“http://localhost:8080/播放视频(或音乐)”,即可以播放相应的视频或者音乐。
   在此面板中,通过在“Listbox”控件中加入图片,点击想要播放的视频对应的图片,通过判断点击的图片的放置的次序,在程序面板中的事件结构进行判断,来播放相应的视频,这样就实现了简单的视频点播功能。在“Listbox”控件中的最后一项,是通过输入URL链接来播放网络上面,或者本机的视频和音乐,如图4-28所示。
图4-28通过URL直接播放多媒体
Figure 4-28 Playing multimedia directly by URL
   其程序面板中的事件结构为"Run media"。
(3)波形显示面板
   在此波形显示的程序面板中,通过LabVIEW构建好一个基于本机的Web Service:wave.vix,在LabVIEW中构建的波形显示的Web Service,可以实现多种波形的显示,通过将一些相应的控件链接wave.vix引出的相应端口:采样点端口,幅度端口,正弦波周期端口,余弦波周期端口,波形选择端口以及波形显示端口,可以使程序的设计简化许多,如图4-29所示。
图4-29 通过wave.vix直接连接
Figure 4-29 Through wave. The vix directly connected
   通过在相应控件中输入和设定相应的参数,即可以在波形显示控件中显示相应的波形。
   其程序面板中的事件结构为"Run Tri"。
(4)3DCar演示面板
   此面板也是通过在本机构建基于本机的Web Service:car.vix,从而在UI Builder中对其进行调用。
图4-30 3DCar主程序
Figure 4-30 3DCar main program
   由图4-30中程序面板的连接框图可以看出来,3D显示是使用的“Image”控件。由于“Slider”控件的取值范围是0到360,所以将其乘以π后除以180,即为2π的显示范围,从而,在调节“Slider”控件的时候,在水平方向上面使汽车绕其中心轴位置水平旋转一周。
   其显示的原理:在LabVIEW的项目中的car.wrl文件,已经将汽车3D模型的所有视角的图片保存在了此文件中去了。在UI Builder中调用car.vix的时候,LabVIEW中建立Web Service服务会将car.wrl中要显示的部分图片以jpg图片的形式进行解包,将其保存在“D:\Program Files\National Instruments\Shared\NI WebServer\www”为路径的文件夹下面,然后UI Builder中的控件输入不同的角度的值来调用相应角度的图片,在“Image”控件中显示出来。
   其程序面板中的事件结构为"Run 3D"。
   本章主题分两大部分。
   第一部分是使用UI Builder进行系统设计。具体包括UI Builder 的产生、特性、界面以及功能做了概述。
   第二部分利用LabVIEW和UI Builder进行联合开发。具体内容涉及:分析了系统设计要求,提出了LabVIEW和UI Builder的联合调用,进一步构建出基于本机Web Service,并在UI Builder中调用建立好的Web Service,从而构建基于网络Web Service。通过动画和事件功能体现Web应用在UI Builder中实现的功能。除此,还对UI Builder界面的美化、登陆面板做了简单介绍,在最后通过4个应用面板举例展示了UI Builder优越的功能性。
5使用LabVIEW Data Dashboard 进行系统分析和实现
5.1LabVIEW Data Dashboard 概述
5.1.1LabVIEW Data Dashboard
瘦客户端基于某种特定的客户端-服务器模型。在此客户端-服务器模型中,比重较轻的瘦客户端应用主要依靠服务器来完成大部分计算逻辑。瘦客户端经常被用于测控系统中,为多个用户提供用于远程监控和管理的自定义用户接口。
   LabVIEW的数据仪表盘是一个运行在iPad上的瘦客户端应用程序。通过使用它,甚至不需要编程,就可以建立一个自定义、便携的LabVIEW应用界面。用户需要做的仅仅是拖拽一些输入控件和显示控件(比如图表、仪表、LED灯、滚动条和按钮),而这些输入控件和输出控件则可以通过LabVIEW网络服务或者网络发布的共享变量来进行数据读写。不仅可以通过内建的主题自定义应用程序的外观,还可以通过电子邮件或者NI技术数据云进行仪表盘的共享。除了可以运行在iPad上之外,数据仪表盘还兼容其它设备,包括iPhone、某些基于Android系统的智能手机和平板电脑。
5.1.2组建用户自定制的移动瘦客户端
在某些情况下,用户也许需要更多的定制内容,或者某些LabVIEW数据仪表盘没有提供的额外功能。此时用户可以选择组建自己的定制瘦客户端,并通过网络服务与测量系统进行通讯。
网络服务是存在于网络上的应用程序接口。客户端向远程服务器发送一个HTTP形式的请求,远程服务器处理请求并返回一个响应(一般为XML形式)。这个响应再被客户端的应用程序解释并且显示出来。如今,很多日常活动(如浏览网页、查看电子邮件、甚至在线阅读文章)都是这样的通讯模式。
以下为网络服务的组件:
服务器——一个负责分析请求、执行合适的方法或行为并给客户端发送响应的应用程序。
客户端——一个负责向服务器发送请求,等待接收并解释服务器响应的应用程序。
标准协议——一些基于网络的协议,如HTTP协议,负责将数据从客户端通过物理网络路由至服务器,进行合适的处理,再返回给客户端。
网络——数据传输的物理层(如以太网或IEEE 802.11)。
   LabVIEW包含一个内建的网络服务器,用户可以通过它将VI配置为网络服务应用。LabVIEW网络服务应用使用标准的HTTP协议和标准的数据格式(如XML),这样在客户端方面,就可以使用HTML、JavaScript、Flash、Java或面向对象的C等语言,来构建网络的或者本地的移动瘦客户端应用程序。这些应用可以运行在智能手机或者平板电脑上,完成与LabVIEW测量系统的通讯,如图5-1所示。
图5-1 2012年NIWeek上,LabVIEW之父Jeff Kodosky在平板电脑上演示未来基于触控的LabVIEW编程方式
Figure 5-1 at NIWeek 2012, the father of the LabVIEW Jeff Kodosky on a tablet demo LabVIEW programming based on touch in the future
LabVIEW 数据仪表盘的使用和特性
LabVIEW Data Dashboard 允许用户创建定制的便携式的NI虚拟仪器应用程序。使用这个应用程序,就可以创建仪表盘显示的值网络发布的共享变量并且部署Web服务虚拟仪器显示控件,如图表、仪表、文本框和LED灯。LabVIEW Data Dashboard 主要应用在各行业中测试、测量和控制系统的远程监控领域。
LabVIEW数据仪表盘于2011年秋季发布,早期用于苹果公司的iPad。针对iOS平板电脑的LabVIEW 数据仪表板2.0是在2012年秋季才发布。而支持Android平板电脑的2.1版本在2013年秋季发布,刚刚过去的2014年1月发布了最新的2.2版本。下面描述使用数据仪表盘的基本步骤,之后再通过最新版本补充数据仪表盘的一些新特性。
5.2.1 LabVIEW 数据仪表盘的使用
(1)创建一个仪表盘
在设备上打开数据仪表盘2.0应用程序,可以看到如下所示的屏幕。这主要观点是仪表盘选项,可以在仪表盘使用管理仪表盘转盘。创建一个新的仪表盘点击底部的转盘并选择“+”新的仪表盘,如图5-2所示。
图5-2 创建新仪表盘
出现提示选择仪表盘的取向,Portrait或Landscape.在该版本中,可以选择任一选项,如图5-3所示。
图5-3 选择仪表盘取向
新的仪表盘将打开,如下图。一个仪表盘上的显示控件图标,点击控制和控件并选择控件。这将打开显示控件托盘,如图5-4所示。
图5-4 打开显示控件
将仪表盘上的托盘控件拖放到页面上。在这个例子中要拖一个图表和数字的页面,如图5-5所示。
   图5-5 拖动图标数字控件
下一步是连接的数据控件连接。连接网络共享变量和网络发布的过程方法在以下部分中描述。
   (2)部署共享变量
之前你可以连接仪表盘控制和控件需要变量连接。如果已经有网络发布的共享变量,就可以移动到下一个部分,连接到共享变量。部署网络发布共享变量在虚拟仪器,需要创建一个项目。
1)虚拟仪器选择创建一个新的虚拟仪器项目文件> >新项目
2)将共享变量添加到项目。在project Explorer中右键单击我的电脑窗口,并选择New > >变量。如图5-6所示。
   图5-6 创建新项目并添加共享变量
   a.右键单击共享变量并选择Rename。重命名DDVariable1共享变量。
b.右击我的电脑,并选择New > > VI来创建一个新的VI,并将它添加到项目。这个VI将定期更新共享变量值和随机数。
c.保存项目。
d.添加一个While循环VI的框图。
e.一个随机数(0 - 1)功能和等待在While循环(ms)函数。
f.右键单击输入终端的等待(ms)函数并选择Create > >常数,常数的值设置为500更新值每半秒钟。
g.从Project Explorer窗口创建的共享变量到框图。右键单击共享变量和选择访问模式> >Write。
h.线的输出终端随机数(0 - 1)函数的输入终端共享变量。
i.右键单击停止输入终端的终端并选择Create > >Control,创建一个按钮停止和启动框图程序。现在应该类似于图5-7的例子:
   图5-7 已建立的程序框图
   g.在仪表盘可以显示它的数据值前你必须部署共享变量。在Project Explorer窗口中,右键单击项目包含共享库变量和选择部署。
k.构建和运行应用程序,不断更新共享变量。
(3)连接到共享变量
在指标和部署network-published共享变量之后,就可以连接仪表盘共享变量。
1)轻点控件的图表,选择数据连接图标如图5-8所示。这将打开连接对话框。
   图5-8数据连接图标
   2)选择共享变量连接对话框,输入共享变量服务器域名或IP地址,如下图5-9所示。点击连接,连接到共享变量的引擎。
图5-9 连接到共享变量引擎
3)利用库的名称包含部署共享变量,然后选择您的共享变量,如下图5-10所示。下面列出每个共享变量的数据类型的变量名称。
图5-10选择共享变量
4)重复步骤1 - 3数字控件。数据仪表盘2.0只允许选择共享变量是兼容的数据类型选择的指标。在这个例子中,部署的共享变量是一个双精度浮点数,可以使用图表或数字指示器显示。
您可以自定义图表的外观,选择properties菜单,如图5-11所示。
图5-11 自定义图表外观
运行指示板通过选择在右上角,运行指示板应该类似于下图5-12。
图5-12运行指示气面板
(4)部署Web服务
下面将创建一个Web服务和Web方法来连接数据仪表盘。以下步骤描述用虚拟仪器构建Web服务的过程。
1)创建一个新的虚拟仪器项目。
2)项目数据仪表盘演示的名字。
3)向项目添加一个新的VI。VI DDDemo-Method名称。
4)一个随机数(0 - 1)功能框图。
5)右键单击输出终端的随机数(0 - 1)函数并选择Create > >指标。
6)编辑DDVariable1控件的指示标签和重命名,如下图5-13所示。
图5-13 编辑指标标签、重命名
a.将指标分配给一个连接器窗格终端VI,仪表盘的数据可以监控网络VI的输出方法。
b.在前面板,选择连接器窗格模式。
c.Click终端连接器窗格,终端变成黑色。
d.Click DDVariable1指示器面板。一个选框凸显了指标和终端改变数据类型颜色指示已连接终端,如下图5-14所示。
图5-15已连接的指示器面板
7)保存项目。
8)创建一个新的Web服务。在Project Explorer中右键单击建立规范窗口,并选择new > > Web服务(RESTful)认证虚拟仪器帮助:构建和访问一个虚拟仪器的Web服务应用程序如果你需要更详细的说明Web服务创建一个虚拟仪器。
9)信息页面,选择Web服务的名称和它的目标目录。使用默认设置。
10)在源文件页面,使用Add Item箭头将您创建的VI从项目文件树服务VIs树。
11)在RESTful VI配置对话框中,指定以下设置为Web方法VI,如图5-16。
图5-16 设置Web
11)构建项目。
12)右键单击数据仪表盘演示构建规范在项目浏览器窗口并选择部署部署Web服务应用程序,如图5-17。
图5-17 部署Web应用程序
(5)连接到Web服务
在显示控件和部署Web服务之后,可以进行仪表盘Web服务连接。有两种方法可以连接到一个Web方法,查询和调用。不断查询网络方法调用Web方法每30秒为指定的用户。只调用一个Web方法调用Web方法按下呼叫按钮时。在此,将使用一个查询连接不断填充图表上的数据和指标。
1)点击图标并选择虚拟仪器控制控件的Web服务。
2)调查的Web服务拖到仪表板和选择Web链接图标。
万维网服务并联对话框将开放并且你将可以连接因特网协议(IP)地址服务器
4)如下图,将看到一个显示Web服务托管在您的目标。选择Web服务的Web方法连接到查询。
5)当Web方法连接成功,可以看到图标变绿。连接查询的控件选择Web连接装饰器变量链接。
6)此时将看到一个叠加显示仪表盘上的控件,就可以连接到变量。利用图表来连接Web方法变量控件的图表。也可以选择创建一个新的控件叠加。
7)当完成连接Web方法变量,可以将看到如下所示的映射。
8)重复步骤1 - 7连接Web方法。数值控件运行仪表盘。运行指示板应该类似于下图。
5.2.2 LabVIEW 数据仪表盘相关特性
2013年秋季针对iPad应用程序又作出了更新,从而发布了针对iOS和Android平板电脑的LabVIEW数据仪表盘2.1版本。
LabVIEW数据仪表盘2.1增加的新功能包括:
   支持Android平板电脑
多曲线数据图
切换服务器
对象透明度
自定义布局
新输入控件和显示控件
共享仪表板
多仪表板操作
定义仪表板元素的外观与风格
访问NI技术数据云
无缝安全连接至数据
在其他平台上访问
(1)支持Android平板电脑
   现在,除了iOS平板电脑,用户还可通过Android平板电脑监控LabVIEW应用程序。 除了在外观和风格的感觉上不同,能够享受与iOS系统上相同的功能,并且仪表盘可在不同操作系统之间互换。Data Dashboard 2.2(2014年1月发布)中添加对Android平板电脑的支持,可以在Android平板电脑上打开由iPad创建的Dashboard监控程序并控制硬件终端。
   (2)多曲线数据图(Multi-plot图)
二维数组的数值运算和点现在支持允许multi-plot图表和图形。这将允许多个数据集被视为一个UI元素,而不是需要多个。
(3)切换服务器
   若用户有多个分布式目标运行着互为副本的应用程序(例如,许多cRIO运行着相同的程序和变量名),则可以使用一个仪表盘,在不同的目标或服务器之间进行切换。 当使用新的下拉菜单切换系统时,只要配置系统和数据仪表盘不同的IP地址,就能自动将UI元素和变量重新连接。
(4)对象透明度
   Data Dashboard For LabVIEW 2.1中图片和UI元素不支持透明度属性,但在2014年1月刚刚发布的2.2版本中 ,图片和UI元素已经支持透明度作为属性。这允许开发人员为叠加图像来创建自定义UI元素以及专业的UI组件添加到他们的仪表盘。
(5)自定义布局
   添加输入控件、显示控件、形状和照片后,用户可进行自由拖动,设计代表系统的独特布局。 用户也可随时编辑布局,在多页仪表盘中为每个页面定义不同的布局。 旧版本的应用程序要求用户必须将对象放置在事先定义好的网格中。 而现在,开发人员可自由创建最适合自己应用程序的布局。
(6)新输入控件和显示控件
   除了读取来自发布在网络上的共享变量或网络服务的数据,用户还可添加仪表盘控件,通过网络写入数据或命令。 新的输入控件和显示控件为用户带来了更大的灵活性,可创建应用所需的仪表盘。 一旦添加到仪表盘上后,输入控件和显示控件就可连接监测和控制数据。
(7)共享仪表盘
   借助LabVIEW数据仪表盘增强版,用户可通过电子邮件或NI云计算平台将最喜爱的仪表板发送给同事。 用户也可锁定仪表盘,实现发布后的只读访问。 如果您的同事收到您通过电子邮件发送的仪表盘,并安装了LabVIEW数据仪表板,当他打开电子邮件时,该应用程序会自动打开。
(8)多仪表盘操作
   改进的应用程序可让用户在单一设备上创建、编辑和保存多个仪表盘。 此外,用户还可在所创建的每个仪表盘上添加多个页面。 仪表盘以“转盘”的形式显示,用户通过滑动,就能选择想要的仪表盘。 一旦打开,您就可以自定义、更改或运行仪表盘。
(9)定义仪表盘元素的外观与风格
   用户可通过访问输入控件和显示控件属性,自定义仪表盘的外观。 使用内置的颜色主题选项,用户能够以专业和创意的形式快速自定义仪表盘布局,提升用户体验。
(10) 访问NI技术数据云
   访问NI技术数据云的用户可直接使用iPad从云端访问数据。 用户因而无需通过仪表盘访问多个分布式系统,也避免了使用另外的LabVIEW应用程序来汇总数据。 复用用户将数据写入至NI技术数据云的LabVIEW应用,将仪表盘对象连接至任何通道或变量。 由此,用户能够快速并轻松地远程可视化显示数据。
(11)无缝安全连接至数据
   全新LabVIEW数据仪表盘将启用输入控件和显示控件与安全LabVIEW网络服务的连接。 使用安全的LabVIEW网络服务,仪表盘用户必须通过开发商设置的ID和密码进行登录,并通过数字API密钥来访问应用程序。 通过配置安全的网络服务,开发人员可让部分用户ID组仅有访问监测数据的权限,而其他组能够监控应用程序。 在配置过程中正确配置网络服务API安全密钥,只有拥有数据访问的特定密钥才能进行访问。
(12)选择背景
借助新的应用程序,用户可更改背景的颜色或选择自己的图片作为背景。开发人员甚至可以使用车载摄像机拍摄照片,将其作为背景。如果设备已经部署完毕,便可以采集实际设置的图像,这个功能非常有用。这有助于仪表盘用户更直观地了解输入控件和显示控件的各自作用。
(13)在其他平台上访问
虽然上述功能仅适用于iOS和Android平板电脑,您也可通过iPhone、部分指定的Android智能手机、Windows Mobile智能手机和Windows 8机器访问LabVIEW数据仪表盘的子集功能(名为LabVIEW移动数据仪表盘)。 这些平台上目前可使用的特性包括:
1)固定布局仪表盘
2)通过发布在网络的共享变量或web服务访问数据
3)显示控件,包括图表、字符串和数字读取
4)访问内置设备传感器(比如加速度计)
5.3 使用LabVIEW Data Dashboard 实现远程测控
5.3.1 NI虚拟仪器RIO评估工具-Data仪表盘演示
   通过连接虚拟仪器数据仪表盘的应用程序到虚拟仪器RIO评估工具从而与无头嵌入式系统进行交互。为此次演示,你需要一个移动设备和无线路由器。为了有助于演示,请阅读开发者社区教程——虚拟仪器的数据仪表盘入门。这部分说明是对于假定您已经下载好了应用程序。
1)修改现有练习3的解决方案,构建实时执行
利用评价工具或BYOES车间练习3解决方案(练习3-RT Solution.lvproj),进行以下修改共享变量库和虚拟仪器RT Microprocessor.vi代码从而可以在虚拟仪器数据仪表盘(iPad、iPhone或Android应用程序)中处理。请注意,数据仪表板1.0监控共享变量与iPhone和Android兼容,而数据仪表盘2.0只兼容iPad只并可以部署共享变量。
一些共享变量需要切换到双(值)数据重新表示定点(他们),因为数据仪表盘不支持站点间的传输。
可以随时添加代码来介绍一些控制(如果您正在使用数据仪表板2.0),让用户在iPad上输入一个字符串和替换字符串的文本写的RT应用程序到液晶显示器。 创建一 个实时虚拟仪器的可执行RIO评估板(右键单击建立规范,选择NEW>>实时应用程
序),在启动运行,如下所示:
2)连接到共享变量并建立数据仪表盘演示
通过以太网连接到你的无线路由器。从你的移动设备,登录到你的路由器无线网络。如果使用iPad,连接到网络使用静态IP地址:
在仪表板数据,选择连接到共享服务器变量和输入的IP地址。重启仪表板会有可执行文件运行在启动和部署项目中的变量。
在虚拟仪器数据仪表盘应用程序中创建一个新的仪表板。首先从控件面板中放置一个控件:
属性面板允许修改所选对象的特定属性。下面是一个滑块:
现有的共享变量在项目托管在面板可以访问控制(数据仅2.0仪表板)及指标在仪表板连接窗口,弹出连接窗口点击对象,下面的绿色方块,上面的截图所示。在这个窗口中,选择共享变量的类别和选择的IP地址。这将显示所有的变量库发布的面板。
为当前项目选择包含变量的库和连接对象。现在交互你的嵌入式系统!
5.3.2数据仪表盘Retargeter应用程序
这个应用程序修改现有的仪表板取代所有的网络服务和共享变量数据源与另一个服务器和端口。这就消除了每次都需要手动选择服务器名称,用户想要访问一个服务器在一个不同的IP地址。
(1)附加的exe运行。
(2)选择仪表板retarget:
(3)选择的服务器名称和端口(仅用于web服务):
(4)保存更新后的仪表板。
(5)加载新的仪表板在iPad上。
5.3.3 将NI数据仪表盘虚拟仪器集成到虚拟仪器的应用
   概述
网络和移动设备的进化改变了我们如何与环境互动。基于LabVIEW的系统的远程监控和控制从一个移动平台是一个越来越重要的方面一个灵活、高效的系统数据仪表盘。虚拟仪器是一个移动应用程序,就可以创建定制的用户}

我要回帖

更多关于 labview string转data 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信