LabVIEW中的远程面板 - 分布式应用程序开发

Confidante 2年前 1990次点击 来自 分享


LabVIEW的多个版本进一步扩展了分布式应用程序开发的能力: TCP/IP、Internet工具包、VI服务器、前面板Web发布、远程数据采集(RDA)、DataSocket等。 另外,有多个第三方工具包也已启用基于互联网的VI控制: LabVNC和AppletVIEW。 当然还有PC Anywhere和其他类似的应用程序可提供一般的PC远程控制。借助这些工具,加上足够的努力,就可以创建分布式应用程序。 然而,每个人面临的挑战各不相同,通常需要高级编程技术和开发自定义数据处理机制。这就需要使用LabVIEW远程面板。 LabVIEW编程的一个入门知识点就是,VI是由前面板、程序框图以及后台编译的可执行代码组成。 对于正在执行的VI,这些组件总是绑定在一起。 当然,您可以删除程序框图,但前面板和编译代码都是操作前面板所必需的。借助LabVIEW,您可以在另一台机器上操作前面板,不需要与VI保存和执行的机器一样。 此外,您可以将前面板嵌入到网页中,并在该页面中进行操作。 在客户机的网页上执行只需要浏览器、LabVIEW运行引擎和浏览器插件即可。远程面板的配置和使用极其简单, 只需两个步骤:1. 在服务器机器上启用LabVIEW Web Server。2. 在客户端机器上连接并执行远程面板。以下部分描述了在LabVIEW环境和网页中操作远程面板的步骤。


图1: 分布式应用程序

对于两种远程面板方案(在LabVIEW环境中或嵌入在网页中),必须在服务器计算机上配置和启用Web服务器。 需要注意的是,在这种情况下,服务器仅仅是指运行LabVIEW Web Server的联网计算机。需要配置的区域有三处:

  • 文件目录和网络设置
  • 允许的客户
  • 可见VI

配置目录和网络设置的路径为工具>>选项>> Web服务器: 配置(见图2)。 单击相应的复选框,即可启用Web服务器。 Web服务器的默认端口号为80。通常,端口号49152至65535是推荐用于自定义TCP/IP应用程序的动态/专用端口。 您可以设置的其他选项还包括服务器HTML文件的根目录、Web服务器读取超时,以及启用日志文件来记录与客户端连接有关的信息。

 

图2: Web服务器: LabVIEW 6.1-7.1,8.0,2009-2012的配置对话框。

下一步是指定允许访问Web服务器的客户端IP地址列表。 每个IP地址可被授予控制权限、仅查看权限或拒绝访问。 此对话框的路径为工具>>选项>> Web服务器: 浏览器访问(见图3)。 如图所示,星号(*)是允许访问任何IP地址的通配符。

图3: Web服务器: LabVIEW 6.1-7.1,8.0,2009-2012的浏览器配置对话框。

最后一步是指定可以远程访问的VI列表。 选择工具>>选项>>可见VI(见图4),即可找到此对话框。 您可以为列表中的每个VI设置控制时间限制。 如果需要多个用户访问VI,则此控制时间限制非常有用。 如果没有设置控制时间限制,则单个用户可以垄断应用程序的控制,防止其他用户进行控制。

图4: Web服务器: LabVIEW 6.1-7.1,8.0,2009-2012的可见VI对话框。

所有这些配置值也可通过VI Server获得,并且可以通过编程方式进行控制。 为了提供Web浏览器访问,在设置服务器机器时需要增加一个步骤: 您必须使用工具>>Web发布工具菜单选项,通过Web服务器发布可访问的网页。 该工具可允许用户输入VI名称,在提供的模板上嵌入标题和文本信息。 这时会自动创建一个HTML文件,该文件必须保存到Web服务器配置第一步中指定的根目录。 Web发布工具是创建网页的一种便捷方法,但您也可以手动创建自己的HTML页面。 有关如何自行创建网页的信息,请参阅LabVIEW在线帮助。您只需要为上层VI创建一个网页即可。所有设置为在执行期间打开的子VI前面板将在远程计算机中的独立浏览器窗口弹出(有关详细信息,请参阅“特殊注意事项”部分)。现在,您可以从LabVIEW环境中运行远程面板。 如果您已经安装LabVIEW,请将GSystems Remote Panel Demo.vi从LTR资源CD复制到LabVIEW Web Server机器上。 按照前面的描述配置Web服务器选项。 (如果您希望跳过Web服务器配置,只需操作远程面板,则可以连接到G Systems服务器上的演示VI。)即使您目前尚未安装LabVIEW开发系统,您仍然可以操作演示远程面板。 LTR资源CD包含了一个简单的LabVIEW应用程序,Launch Demo From LabVIEW,提供了标准的LabVIEW运行菜单。 安装此演示应用程序还需安装LabVIEW运行引擎。在客户端机器上,从LabVIEW开发系统菜单或Launch Demo From LabVIEW应用程序菜单中,选择操作>>连接到远程面板,显示LabVIEW的Connect to Remote Panel对话框(参见图5).

图5: LabVIEW 6.1-7.1,8.0,2009-2012的连接到远程面板对话框。

在此对话框中完成以下步骤:1. 在服务器IP地址字段中,输入要连接的IP地址、域名或计算机名称。 对于G Systems演示服务器,请输入demo.gsystems.com。2. 在VI名称字段中,输入要远程操作的上层VI的名称。 对于G系统演示,请输入GSystems Remote Panel Demo.vi。3. 在端口字段中,输入在“Web服务器”配置中启用的HTTP端口。 G Systems演示值为50000。4. 如需立刻申请对前面板的控制,请勾选请求控制复选框。 (您可以稍后通过右键单击远程前面板窗口来请求控制。)5. 单击连接按钮。 这时远程面板会出现在计算机上。 如果访问被拒绝,则连接远程前面板对话框的连接状态部分会出现一个错误消息。 G Systems演示服务器的许可证数量有限。 如果您没有获得授权,请稍后再试。默认情况下,LabVIEW仅允许连接一个远程面板。 您可以向NI购买额外的许可证,并使用NI License Manager管理多个并发连接。 在这种情况下,选择工具>>远程面板连接管理器,这是一个监测和控制远程连接的重要工具。 该工具可显示连接信息并提供当前连接的服务器控制(见图6)。

图6: LabVIEW 6.1-7.1,8.0,2009和2012的远程面板连接管理器。

远程面板最令人兴奋的功能是可以通过Web浏览器控制LabVIEW远程VI。 如果要通过浏览器操作远程面板,则必须先在客户端计算机上安装LabVIEW运行引擎和浏览器插件。 (如果您尚未安装LabVIEW,请通过LTR资源CD安装LabVIEW 6.1运行引擎。) 接下来,您只需浏览包含服务器IP、网络名称或域名的URL,以及包含要操作的嵌入式VI的HTML文件名。 在LAN环境中,URL可能会显示为http://PcName: Port/ViName.htm。 如果您从互联网连接操作VI,该URL可能会显示为http://lpAddr:Port/ViName.htm.当远程面板出现在浏览器中时,右键单击面板以显示弹出菜单。 使用此菜单请求远程控制演示VI,如图7所示 您可以使用LTR资源CD上的VI或您自己的VI来自行设置网页。 此外,您可以访问http://demo.gsystems.com/GSystems Remote Panel Demo.htm,进入演示页面。


图7: 请求远程控制演示VI

一个建议尝试的有趣操作: 从通过浏览器显示的远程面板的操作菜单中,选择连接到远程面板,并使用LabVIEW环境中通常会看到的对话框连接到远程面板!

  • 如果要远程执行,则要执行的VI必须加载到服务器上的内存(不一定运行)中。
  • 通过服务器,您可以随时重新获得应用程序的控制权。
  • 用户界面操作,例如窗口位置和大小,在远程面板上不一定如预期那样工作。
  • 前面板的大小和复杂性会影响控制延迟。
  • 声音和其他系统访问调用不在客户端机器上运行,而仅在服务器机器上运行。
  • ActiveX控件在远程面板上不起作用。
  • 在Mac系统的浏览器中查看时,子VI前面板不会打开。 由于Mac浏览器插件的技术限制,ActiveX控件被禁用。
  • 如果您的VI旨在通过使用FP .Open VI Server属性(与配置为调用时打开其面板的子VI调用相反)来打开其他VI前面板,则前面板将不会打开。
  • 在所有平台上,操作VI前面板的VI属性不会在远程客户端生效。
  • 在Web服务器配置中允许复制IP地址和可见VI,最后一个条目将覆盖先前的所有条目。
  • 对于被取消的输出终端,LabVIEW中的文件对话框功能(文件I/O >>高级>>文件对话框)会返回TRUE,而且当VI被远程控制时不显示文件对话框。 这是出于安全考虑,以防止远程客户端查看服务器的文件系统。
  • 如果构建的是用于远程控制的可执行应用程序,还必须单击“设置”选项卡中的“高级”按钮,并勾选“远程面板许可证支持”复选框,将NI License Manager实用程序包含在安装程序中。 如果没有远程面板支持,一个可执行文件仅允许一个连接。 如果可执行文件要安装在另一台机器上,则需要为该机器购买单独的许可证。
  • 对于网页远程面板,远程面板的大小与用于创建HTML文件的面板的大小相同。 如果要更改远程面板的大小,必须调整服务器VI窗口的大小并重新保存HTML文件。

表1比较了Web浏览器中的远程面板与LabVIEW环境中的远程面板之间的差异


表1: Web浏览器与LabVIEW中的远程面板比较

使用LabVIEW,您不仅可以查看远程前面板,还可以通过LabVIEW环境或Web浏览器进行控制。 这个强大的工具将可帮助许多程序员轻松创建分布式应用程序。 想像一下 - 周末您可以在家里放松身心,同时坐在笔记本电脑前监控办公室、实验室或生产线上的LabVIEW应用程序! “最值得骄傲的是,你可以打电话跟朋友说,“上一下网,我刚才写了一个很酷的LabVIEW应用程序!你可以试用一下!”非常感谢Naresh Shenkeshi、Mike Fortenberry、Yumiko Kawachi和Carlos Yapura对本文做出的重大贡献。

LabVIEW技术资源(LTR)是一个独立的领先LabVIEW专属信息源。 每个LTR问题都提供强大的解决技巧和技术,并且包含一个包含VI、实用程序、源代码和文档的资源CD。


1 条回复
xxing01 1年前

楼主英文真好,看到英文就头晕


©2017 Powered by LabVIEW社区 - To Be Better
Any questions please contact us:confidante@labview.help