连接到LabVIEW内置的Web服务器之后,就可以在LabVIEW或Web浏览器中远程查看VI前面板。此外,还可在LabVIEW中远程控制VI前面板。

当客户端远程打开一个前面板时,Web服务器将前面板发送到客户端,但是程序框图和所有的子VI仍保留在服务器计算机上。远程控制VI前面板时,VI的前面板可进行人机交互,就像VI运行在客户端上一样,但此时程序框图运行在服务器上。使用该特性可以安全、轻松、快速地发布整个前面板或控制远程应用程序。

注: 如果要控制整个VI,需使用LabVIEW Web服务器。如果要读写VI中单个前面板上的数据,则可使用共享变量

为客户端配置服务器

在客户端查看和控制前面板之前,服务器的用户必须首先配置该服务器。如果需要配置Web服务器,可以选中工具»选项,并从类别下拉菜单中选择Web服务器页。通过这些页面可控制浏览器对服务器的访问,指定哪些前面板为远程可见。通过这些页面也可设定时间限制,当有多个客户等待控制VI时,限制任意一个远程客户控制VI的时间。

Web服务器允许多个客户端同时连接到同一个前面板,但每次只能有一个客户端控制该前面板。服务器的用户则可在任何时候收回任何VI的控制权。如果控制者(取得控制权的一方)更改了前面板上的某一个值,所有的客户端前面板都会反映出该变化。但是,没有取得控制权的客户端的前面板不会反映出所有的更改。通常,没有取得控制权的客户端的前面板不反映前面板对象显示的变化,而是反映前面板对象实际值的变化。例如,当控制者改变了一个图表标尺的刻度间距或映射模式,或者当控制者显示和隐藏了一个图表的滚动条时,只有控制者的前面板会反映这些变化。

从LabVIEW或Web浏览器查看和控制前面板

客户端只能通过Web浏览器远程查看前面板。但是,客户端可以使用LabVIEW远程查看和控制前面板。

如要通过LabVIEW远程控制前面板,客户端和服务器计算机上运行的LabVIEW版本必须相同。当通过浏览器查看远程前面板时,必须保证LabVIEW Run-Time引擎版本与服务器计算机上的LabVIEW版本兼容。同时还需要和服务器管理员联系,确保HTML文档中指定了LabVIEW运行引擎的正确版本。

注:在远程查看和控制前面板之前,必须先启动VI应用程序所在服务器计算机的Web服务器。

通过Web浏览器查看前面板

如希望未安装LabVIEW的客户端能够远程查看前面板,可使用Web浏览器。

请按照以下步骤操作,允许客户端使用Web浏览器远程查看前面板。
  1. 使用Web服务器上的Web发布工具,发布VI。
  2. 将生成的Web地址提供给客户端。

在LabVIEW中查看和控制前面板

要将LabVIEW作为客户端查看远程前面板,可以新建一个VI并选择操作»连接远程面板以打开连接远程面板对话框。使用该对话框可以指定服务器的Internet地址和需要查看的VI。在默认状态下,远程VI前面板最初处于观察模式。通过勾选连接远程面板对话框中的请求控制复选框,可请求对VI的控制。当计算机上显示出需要的VI,也可以右键单击前面板上的任何地方并从快捷菜单中选择请求控制。这个菜单也可以通过单击前面板窗口底部的状态条来访问。如当前没有其他客户端控制VI,当前用户即取得前面板的控制权。如果另一个客户端正在控制该VI,服务器将把当前客户端的请求放入队列,直到其他客户端放弃控制或控制超时。只有服务器的用户可通过选择工具»远程面板连接管理器来监视客户端队列列表。当一个VI在远程计算机上运行时,如果需要保存它产生的数据,请使用TCP,不要使用远程前面板。

所有能在客户端查看和控制的VI必须存在服务器计算机的内存中。如果所请求的VI在内存中,那么服务器就把该VI的前面板数据发送到请求它的客户端。如果该VI不在内存中,那么连接至远程面板对话框的连接状态部分将显示一个错误信息。

注:(Linux) NI不支持在Linux上使用远程前面板。

多个客户同时控制远程前面板

多个客户端可同时远程控制一个VI。如需对一个VI进行同步控制,该VI必须是可重入的。如要使VI可重入,可选择文件»VI属性,并从类别列表中选择执行,选择共享副本可重入执行预分配的副本重入执行。LabVIEW为远程前面板的每个客户端请求打开一个重入VI的副本。如需通过编程方式限制远程前面板连接对已载入内存的副本的访问,可使用Web服务器:VI访问列表属性。

查看和控制远程前面板不支持的功能

以下列出了查看和控制前面板时,LabVIEW不支持的功能。

  • 避免导出含有While循环但无等待函数的VI。这些VI将阻止后台任务在一段时间内的执行,使得前面板被远程查看或控制时,对用户的操作没有响应。
  • 一些VI从远程计算机上执行时,其工作方式跟在本地计算机上运行时不完全相同。嵌入式.NET和ActiveX控件不会在远程客户端上显示,因为它们的绘制和操作几乎完全与LabVIEW无关。如果一个VI显示标准的文件对话框,控制者将接收到一个不能通过远程浏览文件系统的错误信息。路径控件的浏览按钮在远程面板中同样也是无效的。
  • 根据所连接的前面板是否来自生成的应用程序,正在远程查看前面板的客户端可能会看到不同的执行情况。个别情况下,如果前面板来自于一个生成的应用程序,那么在客户端连接到该前面板之前通过编程所作的任何改变将不会反映到客户端计算机上。例如,如果在某个客户端连接到前面板之前,一个属性节点改变了某个控件的标题,那么客户端将看到的是该控件的原始标题,而不是改变后的标题。
  • 用VI服务器动态打开和运行的VI的前面板,或子VI被调用时显示的前面板,只有控制者才能远程查看。不能控制VI的客户端是无法查看该前面板的。
  • 从远程计算机控制VI时,通过轮询某个前面板控件属性来达到某种用户界面效果的程序框图的性能可能会下降。通过使用等待前面板活动函数可以提高这些VI的性能。
  • 对于那些被远程查看或控制的VI,LabVIEW无法生成前面板关闭事件。远程查看或控制VI时,LabVIEW只能生成属于控件类而不属于应用程序类或VI类的事件。
  • 如远程查看或控制的VI显示了正被调用子VI的前面板,应避免手动关闭子VI的前面板。否则,客户计算机和服务器计算机可能都失去对此VI的控制。如必须查看被调用子VI的前面板,请将LabVIEW配置为运行结束后关闭子VI