LabVIEW创建Web服务

简介: LabVIEW创建Web服务

LabVIEW创建Web服务


在LabVIEW项目中开发Web服务,组合并配置构成Web服务的VI和其他文件。按照下列步骤创建一个Web服务项目和两个HTTP方法VI。


创建一个组织Web服务文件的LabVIEW项目。将项目保存为Tutorial.lvproj。


右键单击我的电脑并选择新建»Web服务。LabVIEW在该终端下添加一个Web服务项目项和文件夹。


在本教程中,将创建一个Web服务,并将服务发布至主机。在LabVIEW项目的RT终端下创建一个Web服务项目,可把Web服务发布至RT终端。


(Windows) NI建议您在Windows操作系统上使用NI Web服务器托管Web服务。详细信息请参考教程:创建LabVIEW Web服务并将其发布到NI Web服务器。


右键单击Web服务项目项并选择重命名,将Web服务命名为TutorialService。项目显示为:


右键单击Web资源并选择新建VI,新建一个HTTP方法VI,该VI从客户端接收HTTP请求并将数据返回客户端。LabVIEW从模板打开一个新的VI。


默认情况下,HTTP方法VI通过连线板向客户端返回数据。在该教程中,HTTP方法VI返回默认的JSON格式文本。创建本教程未涵盖的HTTP方法VI时,也可以自定义格式(例如,自定义HTML页或图像数据)返回数据流至客户端,而不是通过连线板返回数据。在Web服务属性对话框的HTTP方法VI设置页配置输出的格式。


在该新VI中,创建如下所示的程序框图、前面板和连线板。


将该VI作为Web服务的一部分发布时,Web客户端可发送HTTP请求调用该VI。调用时,VI执行下列操作:


接收来自客户端HTTP请求分配给连线板的任何控件的值 (不包括LabVIEW Web服务请求)。LabVIEW Web服务请求相当于引用句柄,用于识别当前的HTTP请求。


计算a和b的和。


通过分配给连线板的c显示控件返回这些值的和。


执行“读取请求变量”VI并返回客户端在当前HTTP请求中包含的查询字符串,该字符串由LabVIEW Web服务请求识别。


更为复杂的Web服务可能需要使用Web服务选板上的其他VI以启用某些功能,例如,HTTP会话、认证、HTTP头和cookie等。


注意每个控件均显示在连线板上。默认接线端输出类型中,只有通过分配给HTTP方法VI连线板的输入和输出,Web服务才能从客户端接收数据或将数据发送至客户端。


各个对象的名称应具有一定的区分度。因为这些名称将成为Web客户端使用的URL的一部分,用来与VI交换数据。


将VI保存为Add.vi。


在弹出的对话框中选择文件»另存为,然后选择副本»另外打开副本。确保勾选添加副本至Tutorial.lvproj复选框,然后单击继续。


将新副本保存为Subtract.vi。


打开Subtract.vi的程序框图,并将“加”函数替换为“减”函数。重新连线控件。


返回项目,右键单击Web资源并选择新建Web资源。重命名新建项目项为AdditionalOperations。


拖曳Subtract.vi至AdditionalOperations项目项下。保存项目,项目应显示如下。


注意项目目录树中的下列功能:


LabVIEW向每个HTTP方法VI追加HTTP请求类型,默认值为GET。可对客户端发送至特定HTTP方法VI的HTTP请求类型进行修改,教程后续章节有详细说明。


Web服务项目项还包含启动VI文件夹。本教程未使用启动VI,但后续章节对启动VI做了详细说明。


需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

相关文章
|
4月前
|
开发框架 JSON 中间件
Go语言Web开发框架实践:使用 Gin 快速构建 Web 服务
Gin 是一个高效、轻量级的 Go 语言 Web 框架,支持中间件机制,非常适合开发 RESTful API。本文从安装到进阶技巧全面解析 Gin 的使用:快速入门示例(Hello Gin)、定义 RESTful 用户服务(增删改查接口实现),以及推荐实践如参数校验、中间件和路由分组等。通过对比标准库 `net/http`,Gin 提供更简洁灵活的开发体验。此外,还推荐了 GORM、Viper、Zap 等配合使用的工具库,助力高效开发。
|
6月前
|
中间件 Go
Golang | Gin:net/http与Gin启动web服务的简单比较
总的来说,`net/http`和 `Gin`都是优秀的库,它们各有优缺点。你应该根据你的需求和经验来选择最适合你的工具。希望这个比较可以帮助你做出决策。
227 35
|
12月前
|
XML JSON 数据安全/隐私保护
Web服务
【10月更文挑战第18天】Web服务
198 9
|
8月前
|
数据采集 Web App开发 API
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
本文介绍了如何使用FastAPI和Selenium搭建RESTful接口,访问免版权图片网站Pixabay并采集图片及其描述信息。通过配置代理IP、User-Agent和Cookie,提高爬虫的稳定性和防封禁能力。环境依赖包括FastAPI、Uvicorn和Selenium等库。代码示例展示了完整的实现过程,涵盖代理设置、浏览器模拟及数据提取,并提供了详细的中文注释。适用于需要高效、稳定的Web数据抓取服务的开发者。
373 15
FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
|
8月前
|
网络协议 Java Shell
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
416 7
|
12月前
|
XML JSON 安全
Web服务是通过标准化的通信协议和数据格式
【10月更文挑战第18天】Web服务是通过标准化的通信协议和数据格式
311 69
|
11月前
|
Go UED
Go Web服务中如何优雅平滑重启?
在生产环境中,服务升级时如何确保不中断当前请求并应用新代码是一个挑战。本文介绍了如何使用 Go 语言的 `endless` 包实现服务的优雅重启,确保在不停止服务的情况下完成无缝升级。通过示例代码和测试步骤,详细展示了 `endless` 包的工作原理和实际应用。
219 3
|
12月前
|
XML JSON 安全
定义Web服务
【10月更文挑战第18天】定义Web服务
239 12
|
11月前
|
JSON Go UED
Go Web服务中如何优雅关机?
在构建 Web 服务时,优雅关机是一个关键的技术点,它确保服务关闭时所有正在处理的请求都能顺利完成。本文通过一个简单的 Go 语言示例,展示了如何使用 Gin 框架实现优雅关机。通过捕获系统信号和使用 `http.Server` 的 `Shutdown` 方法,我们可以在服务关闭前等待所有请求处理完毕,从而提升用户体验,避免数据丢失或不一致。
160 1
|
11月前
|
XML 安全 PHP
PHP与SOAP Web服务开发:基础与进阶教程
本文介绍了PHP与SOAP Web服务的基础和进阶知识,涵盖SOAP的基本概念、PHP中的SoapServer和SoapClient类的使用方法,以及服务端和客户端的开发示例。此外,还探讨了安全性、性能优化等高级主题,帮助开发者掌握更高效的Web服务开发技巧。