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开发等相关项目,可联系们。附件中的资料这里无法上传,可去公司网站搜索下载。

相关文章
|
18天前
|
安全 前端开发 API
【Azure 应用服务】Azure Web App 服务默认支持一些 Weak TLS Ciphers Suite,是否有办法自定义修改呢?
【Azure 应用服务】Azure Web App 服务默认支持一些 Weak TLS Ciphers Suite,是否有办法自定义修改呢?
|
13天前
|
JSON 定位技术 数据格式
web GIS神器,一行命令快捷构建精灵图服务
web GIS神器,一行命令快捷构建精灵图服务
|
11天前
|
Java 缓存 数据库连接
揭秘!Struts 2性能翻倍的秘诀:不可思议的优化技巧大公开
【8月更文挑战第31天】《Struts 2性能优化技巧》介绍了提升Struts 2 Web应用响应速度的关键策略,包括减少配置开销、优化Action处理、合理使用拦截器、精简标签库使用、改进数据访问方式、利用缓存机制以及浏览器与网络层面的优化。通过实施这些技巧,如懒加载配置、异步请求处理、高效数据库连接管理和启用GZIP压缩等,可显著提高应用性能,为用户提供更快的体验。性能优化需根据实际场景持续调整。
35 0
|
11天前
|
Java 网络架构 数据格式
Struts 2 携手 RESTful:颠覆传统,重塑Web服务新纪元的史诗级组合!
【8月更文挑战第31天】《Struts 2 与 RESTful 设计:构建现代 Web 服务》介绍如何结合 Struts 2 框架与 RESTful 设计理念,构建高效、可扩展的 Web 服务。Struts 2 的 REST 插件提供简洁的 API 和约定,使开发者能快速创建符合 REST 规范的服务接口。通过在 `struts.xml` 中配置 `<rest>` 命名空间并使用注解如 `@Action`、`@GET` 等,可轻松定义服务路径及 HTTP 方法。
27 0
|
11天前
|
前端开发 API 开发者
JSF与RESTful服务的完美邂逅:如何打造符合现代Web潮流的数据交互新体验
【8月更文挑战第31天】随着互联网技术的发展,RESTful架构风格因其实现简便与无状态特性而在Web服务构建中日益流行。本文探讨如何结合JavaServer Faces (JSF) 和 JAX-RS 构建RESTful API,展示从前端到后端分离的完整解决方案。通过定义资源类、配置 `web.xml` 文件以及使用依赖注入等步骤,演示了在JSF项目中实现RESTful服务的具体过程,为Java开发者提供了实用指南。
23 0
|
11天前
|
JSON API 数据库
探索FastAPI:不仅仅是一个Python Web框架,更是助力开发者高效构建现代化RESTful API服务的神器——从环境搭建到CRUD应用实战全面解析
【8月更文挑战第31天】FastAPI 是一个基于 Python 3.6+ 类型提示标准的现代 Web 框架,以其高性能、易用性和现代化设计而备受青睐。本文通过示例介绍了 FastAPI 的优势及其在构建高效 Web 应用中的强大功能。首先,通过安装 FastAPI 和 Uvicorn 并创建简单的“Hello, World!”应用入门;接着展示了如何处理路径参数和查询参数,并利用类型提示进行数据验证和转换。
29 0
|
14天前
|
数据可视化 Python
通过python建立一个web服务查看服务器上的文本、图片、视频等文件
通过python建立一个web服务查看服务器上的文本、图片、视频等文件
16 0
|
16天前
|
SQL JavaScript Go
Go Web 服务框架实现详解
Go Web 服务框架实现详解
|
18天前
|
存储 安全 网络安全
【Azure 环境】使用Azure中的App Service部署Web应用,以Windows为主机系统是否可以启动防病毒,防恶意软件服务呢(Microsoft Antimalware)?
【Azure 环境】使用Azure中的App Service部署Web应用,以Windows为主机系统是否可以启动防病毒,防恶意软件服务呢(Microsoft Antimalware)?
|
18天前
|
负载均衡 网络协议 安全
【Azure 应用服务】Azure Web App的服务(基于Windows 操作系统部署)在被安全漏洞扫描时发现了TCP timestamps漏洞
【Azure 应用服务】Azure Web App的服务(基于Windows 操作系统部署)在被安全漏洞扫描时发现了TCP timestamps漏洞