在实际项目中,开发工程师交付的软件往往是由源代码打包而成的可执行文件(.exe),用户在实际的使用中也是直接运行exe文件,基本不会直接运行源代码。这样做可以避免用户因不熟悉代码而在程序中胡乱修改导致的各种问题。那么在投入使用之后如果需要远程控制或者调试程序时,我们就必须掌握远程控制LabVIEW exe的方法。
在上一期中我们学习了远程前面板控制VI的方法,本期小编将带大家一起学习LabVIEW可执行文件的远程前面板控制方法。建议大家先掌握上一期内容再来学习本篇内容,需要回顾上期内容的小伙伴请参考以下链接浏览:
本文分享:
LabVIEW可执行文件的远程前面板控制
一、 远程前面板
上期内容中我们讲了远程前面板控制VI时有两种方式,其中一种是直接在LabVIEW中进行远程前面板控制,另一种是将VI前面板发布到网页上,通过网页加载VI前面板来进行控制。本期可执行文件的远程前面板控制只能使用第二种发布到网页的方式来进行,下面请看具体教程:
服务端计算机配置
1.1:创建LabVIEW项目并通过菜单栏选择 工具>>选项>>Web服务器 ,然后勾选 启用Web服务器 ,使用默认端口即可;
1.2:在LabVIEW项目中通过菜单栏选择工具>>Web发布工具为VI发布网页服务,在VI名称中选择要打包成exe的VI,其他设置使用默认,先点击启动Web服务器后再点击 下一步 ;
1.3:根据需要编辑用于网页的标题、页眉和页脚内容,点击 下一步 ;
1.4:配置网页,保存网页的本地目录必须使用默认路径,文件名可以根据需要自行配置,完成后点击 保存至磁盘 ;
1.5:在弹出的新窗口中查看并 保存此URL ,方便客户端计算机使用;
1.6:将刚才保存的**.html文件加入到LabVIEW项目**中,路径为C:Program Files (x86)National InstrumentsLabVIEW 20xxwww;
1.7:在程序生成规范中新建一个exe,右键单击程序生成规范,并选择新建»应用程序(EXE);
1.8:在 “源文件” 菜单项中将该VI设置为 启动VI ,将HTML文件放在始终包括下 。其他菜单项的设置根据实际需求自行设置,设置完成后单击生成,然后在生成结束后单击完成。
1.9:将服务端计算机生成exe的所有文件复制到客户端计算机中,服务器这边可以开始运行此exe;
客户端计算机配置
1.10:打开复制文件中的“.ini”配置文件,验证存在指令WebServer.Enabled = True,如果没有则将其追加到文件末尾;
1.11:在文本编辑器中打开niwebserver.conf。此文件是为了处理LabVIEW中Web服务器提供的功能。如果复制过来的目录中没有niwebserver.conf文件,则需要运行一次exe来自动创建该文件,创建.conf文件后,关闭exe。
在标记为Directives that apply to the default server的第二部分中,有一个DocumentRoot标记。 将默认的LabVIEWwww替换为HTML页面当前所在的目录,注意路径不要包含.html文件。
1.12:使用浏览器打开步骤1.5中保存的URL,注意将服务端计算机名称更换为它的IP地址,然后就可以在网页中查看并控制exe的前面板了;
注意事项:
1、客户端计算机可以不安装LabVIEW但必须安装对应版本的LabVIEW运行引擎;
2、服务端计算机运行exe时要彻底关闭LabVIEW,否则端口可能会被LabVIEW占用导致远程控制失败;
3、建议直接将WebServer.Enabled = True这行指令追加到.ini文件后面;
4、客户端计算机在浏览器中输入URL时注意将计算机名称替换为IP地址;
5、客户端建议使用IE浏览器或Edge浏览器,如果使用Edge请参考上一篇文章中最后面的注意事项4;
二、 远程调试
学习了exe的远程前面板控制之后,小编再给大家扩展一个新的功能——远程调试,在开发过程中最重要的步骤无疑就是程序调试了,LabVIEW调试VI时我们可以使用断点、探针、高亮显示等功能来调试我们的程序,但是当调试对象不是VI而是打包好的exe时,由于看不到程序框图面板,这时我们应该如何调试?
其实在LabVIEW中有一项功能叫做“远程调试”,该功能可以远程查看exe的前面板和程序框图面板,并且由于可以看到程序框图面板,所以我们可以使用探针、断点等调试功能对exe进行调试。
服务端计算机配置
2.1:要想在exe中使用远程调试功能需要在打包exe时在 “高级” 菜单下勾选启用调试功能,勾选了此项后再生成exe,这样生成的exe就可以使用远程调试功能了;
客户端计算机配置
2.2:客户端计算机需要安装完整且版本对应的LabVIEW开发环境,在任意项目浏览器或者VI菜单栏中选择 操作>>调试应用程序或共享库 ;
2.3:先运行服务端exe,然后在机器名或IP地址中输入服务端IP地址,点击刷新可以自动搜索到该应用程序,选定要调试的exe最后点击 连接 ;
2.4:连接成功后就可以查看exe的程序框图面板和前面板,远程调试不仅可以像远程前面板一样控制exe的前面板,还能使用程序框图面板上的调试工具去调试exe;
注意事项:
1、在调试完成后正式交付exe时打包过程中不要勾选允许调试功能,这样会影响exe的执行效率;
2、服务端计算机和客户端计算机的LabVIEW版本尽量保持一致;
三、常见问题Q&A
[Q]: 在网页打开远程前面板时收到报错404,无法打开网页?
[A]: 1、检查URL,确认输入正确的URL并确保使用的是计算机的IP地址而不是计算机名称; 2、允许exe通过防火墙,在防火墙设置中选择允许应用程序通过防火墙,然后单击允许其他应用,打开可执行文件的路径,选择应用程序,以允许它通过防火墙; 3、端口可能被占用,选择其他端口重新尝试; 4、服务端Web服务未开启,开启Web服务后重新尝试。
[Q]: 浏览器中间有一个空白框,这个位置原本应该是前面板,现在显示不支持此插件?
[A]: 1、需要在控制面板>>IE选项中将该网页加入信任列表;2、使用IE兼容性模式打开网页;IE浏览器一般不会出现此问题;Edge浏览器可以直接在浏览器设置中将此网页设置为IE兼容性模式打开;Chrome浏览器需要在Chrome应用商店中找到IE Tab,按照说明正确安装该扩展程序,使用IE Tab扩展程序打开指向远程前面板的链接。
[Q]: 收到报错:特定的服务器拒绝远程前面板连接?
[A]: 通常这个错误是因为服务端和客户端LabVIEW版本不匹配引起的,建议排查并确保两台计算机上的LabVIEW运行引擎版本相匹配。
以上就是本期的全部内容啦,感兴趣的小伙伴欢迎交流互动!下一期小编将为大家带来实时目标上配置远程前面板的教程,敬请期待!
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !