版本日期:June 2012
产品编号:371361J-0118
按照下列步骤,创建,部署一个LabVIEW Web服务,并在Web服务和Web客户端之间交换数据。
教程包括下列内容:
- 创建可部署为Web服务的LabVIEW应用程序
- 配置LabVIEW应用程序Web服务器
- 创建Web服务项目和生成规范
- 部署Web服务至Web服务器
- 访问Web服务
创建可部署为Web服务的LabVIEW应用程序
Web方法VI使用前面板控件和连线板与Web服务交换数据。Web服务选板上的VI用于进一步自定义Web方法VI如何接收和发送数据。按照下列步骤,创建Web服务应用的VI。
- 创建一个通过网络与Web客户端交换数据的Web方法VI。可在方法VI中包括几乎所有使用受支持数据类型的LabVIEW功能。下图显示了Web方法VIadd.vi的前面板、程序框图和连线板范例。该VI从Web客户端接收两个值,然后将两个值的和返回至客户端。可在教程的其它章节使用add.vi作为范例。标为可选的步骤不是生成和部署add.vi为Web服务的必要步骤。
- 设置Web服务中Web方法VI的输入控件、显示控件和连线板。任何通过网络交换数据的输入控件和显示控件必须出现在VI的连线板上。
- 对任何需要通过Web服务交换的数据创建输入控件和显示控件。例如,VI从Web客户端接收两个值,然后返回两个值的和给客户端。VI的连线板上就必须有两个输入端和一个输出端。
- 各个对象的名称应具有一定的区分度。因为这些名称将成为Web客户端使用的URL的一部分,用来与VI交换数据。
- 将控件与连线板接线端建立关联。Web服务中任何发送或接收数据的控件必须出现在连线板上。
| 注: (可选)用户可添加Web服务选板上的VI至Web方法VI,以实现更高级的Web功能。例如,HTTP会话、认证、HTTP头、cookie等。如在Web方法VI中添加了Web服务选板上的VI,必须将http请求ID控件与Web方法VI的连线板的接线端建立关联。 |
- 保存VI。可在教程的下列部分继续使用add.vi。
配置LabVIEW应用程序Web服务器
- 打开一个标准Web浏览器。
- 在浏览器中输入终端的URL,该URL会被启用为应用程序Web服务器。URL必须符合下列语法:
- 输入下列URL,在本地主机系统上设置应用程序Web服务器:
http://localhost:3580 - 输入下列URL,在远程终端系统上设置应用程序Web服务器:
http://[远程设备IP地址]:3580,其中,[远程设备IP地址]是远程设备的IP地址。
| 注: 在本地主机上,可单击选项对话框Web服务器页的配置Web应用程序服务器按钮,打开URL。 |
- 如有必要,请安装Microsoft Silverlight浏览器插件。LabVIEW需Microsoft Silverlight浏览器插件来启用和配置应用程序Web服务器。
- 单击安装Microsoft Silverlight按钮,如未出现该按钮,请访问微软网站www.microsoft.com下载Microsoft Silverlight插件。
- 按照屏幕提示安装Microsoft Silverlight插件。
- 安装完成后,刷新浏览器,输入URL打开NI Web-Based Monitoring and Configuration。
- 单击登录,输入用户名和密码,访问系统的Web监控和配置。如未设置系统的NI Web-Based Monitoring and Configuration安全设置,输入用户名Admin和空密码,获取默认身份认证。
- 单击Web安全配置按钮,打开Web安全配置页。
- 单击帮助,查看启用和配置应用程序Web服务器的帮助信息。
创建Web服务项目和程序生成规范
- 用户可创建一个LabVIEW项目管理和生成Web服务应用。
- 将所有Web方法VI(add.vi)添加Web服务项目。必须添加所有与Web客户端进行数据交换的VI。LabVIEW会自动包括Web服务选板上的任意子VI或VI。
- (可选)如Web客户端要访问HTML页或图像,可将这些HTML页或图像添加至Web服务应用,作为Web服务的一部分。
- (可选)添加辅助VI至项目,辅助VI的运行独立于Web客户端请求,而且不与Web客户端进行数据交换。
- 保存项目。可在教程的其它章节中继续使用Tutorial.lvproj作为范例。
- 右键单击程序生成规范,从快捷菜单中选择新建»Web服务(RESTful)。
- 按照下列步骤,在Web服务属性对话框的信息页定义Web服务的名称。
- 指定程序生成规范名称。该值仅出现在项目浏览器窗口的程序生成规范下。该名称不能与其它程序生成规范名称重名。
- 指定一个服务名称,例如,默认服务名称为WebService。服务名称是Web客户端使用的URL的组成部分。Web客户端通过URL与Web方法VI进行数据交换,URL必须符合标准的URL语法。Web服务还使用服务名称创建Web服务.lvws文件。
- 按照下列步骤,在Web服务属性对话框的源文件页指定Web服务的Web方法VI和辅助VI。
- 使用添加项箭头,将至少一个Web方法VI从项目文件树形目录移至服务VI树形目录,例如,add.vi。部署后的Web服务只包含服务VI。将一个VI移至服务VI树形目录时,会打开配置RESTful VI对话框。
| 注: (MathScript RT模块)将选中的VI移至服务VI或始终包括列表后,LabVIEW自动将VI相关的.m文件添加到源文件。 |
- 在配置RESTful VI对话框中,可配置VI为Web方法VI或辅助VI,以及VI返回给Web客户端的数据格式。也可配置VI使用连线板接线端或网络流传输数据。对于add.vi,可使用默认值。
- 按照下列步骤,在Web服务属性对话框的URL映射页创建URL映射。Web客户端通过URL映射确定发送Web请求至哪个Web方法VI,以及发送哪些值至Web方法VI的连线板控件。
- 在URL映射列表中创建、编辑或查看URL映射。如在源文件页,新添加一个Web方法VI至服务VI树形目录,LabVIEW将会创建一个默认的URL映射,其中包括Web方法VI连线板上的所有控件。以add.vi为例,LabVIEW生成的默认URL映射为/add/:a/:b。如默认URL映射未出现,或用户需定义其它URL映射,单击添加URL映射按钮。可为一个Web方法VI配置多个URL映射,也可在一个Web服务中为多个Web方法VI分别配置URL映射。
| 注: LabVIEW使用VI名称创建默认URL映射。创建URL映射时,不必局限于使用VI名称。 |
- 使用Web方法VI下拉列表,选择一个Web方法VI(例如,add.vi)与URL映射建立关联。
- 使用HTTP方法下拉列表,选择一个HTTP方法,与URL映射相关联。对于add.vi,使用默认方法GET。对于接收POST数据的Web方法VI,指定POST方法。
- (可选)选择一个URL映射,单击替代接线端默认值按钮,打开替代接线端默认值对话框。使用该对话框始终为Web方法VI连线板的控件分配特定的值,Web客户端无需在URL中指定该值。
- (可选)按照下列步骤,在Web服务属性对话框的服务设置页上配置服务别名,Web客户端访问静态内容时显示默认的HTML文件。
- 在Web服务中发布静态内容时,勾选将默认index.html用于静态文档文件夹复选框。
- 配置服务名称的服务别名,服务名称位于Web服务属性对话框的信息页。在Web客户端用来与Web方法VI交换数据的URL中,可将服务名称部分替换为服务别名。
- (可选)在Web服务属性对话框的目标和源文件设置页,可添加HTML页、图片等静态内容至Web服务。如只发布Web方法VI和辅助VI,则不必配置这些页。
- (可选)在Web服务属性对话框的高级页上,勾选启用调试复选框,启用远程Web服务调试。启用调试后,LabVIEW部署Web服务中各个Web方法VI的前面板和程序框图。但是,这会增加Web服务文件占用的内存大小。
- (可选)在附加排除项页,可进行各种配置以减少Web服务的大小、优化加载时间、压缩内存占用。
- (可选)在Web服务属性对话框的预览页上,单击生成预览按钮,查看.lvws的文件名称和位置。Web服务使用该文件打包Web服务项目,并将应用程序通过网络部署。创建或编辑Web服务程序生成规范之前,请将改动保存至VI以确保预览的准确性。
- 单击生成按钮,生成Web服务并关闭Web服务属性对话框。也可右键单击项目浏览器中的Web服务程序生成规范,并从快捷菜单中选择生成。生成Web服务后,即可将服务部署至Web服务器。
- 在生成状态窗口,单击完成按钮结束Web服务生成过程。
部署Web服务至Web服务器
生成Web服务后,右键单击程序浏览器窗口的Web服务程序生成规范,并从快捷菜单中选择部署。部署Web服务后,Web客户端可与Web方法VI交换数据。
如要取消部署Web服务,在项目浏览器窗口右键单击Web服务程序生成规范,并从快捷菜单中选择取消部署。NI Web-Based Monitoring and Configuration的Web服务管理页将打开,可在该页取消部署Web服务。
访问Web服务
在Web浏览器或其它Web客户端上,输入与Web方法VI交换数据的URL。URL可包括Web服务配置过程中多个对话框的值。下图显示了Web客户端可能用来访问add.vi的URL。该URL将Web客户端的两个值传输至Web方法VI。Web方法VI将两个值相加,然后在浏览器中返回两个值的和。
- IP地址或计算机名—如Web客户端从运行Web服务的同一台计算机访问Web服务,则使用localhost。如Web客户端访问远程终端上的Web服务,使用终端的IP地址或机器名称。
- 端口—与应用程序Web服务器配置页的Port一致。
- Web服务名称—与Web服务属性对话框信息页的服务名称一致。
- URL映射—与Web服务属性对话框URL映射页的URL映射一致。
- URL映射接线端输入—与Web服务属性对话框URL映射页的URL映射部分一致。例如,URL映射/add/:a/:b将数据传递至add.vi连线板上标签为a和b的控件。Web客户端可提交URLhttp://localhost:82/WebService/add/5/8,将值5分配给控件a,将值8分配给控件b。add.vi将通过浏览器返回13至Web客户端。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。