LabVIEW创建Web服务

news2024/12/27 9:32:36

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/154693.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C语言基本数据类型

一、float、double和 long double 1.1 声明浮点型变量 1.2浮点型常量 1.3 打印浮点值 二、复数和虚数类型 三、其他类型 一、float、double和 long double 对于金融和数学的程序经常使用浮点数,而C语言中的浮点类型有float、double和 long double类型。常见的…

CentOS Stream 9下RabbitMQ安装教程(最新RabbitMQ安装教程)

CentOS Stream 9 RabbitMQ安装教程前言Erlang下载安装RabbitMQ下载安装启动RabbitMQ配置RabbitMQManagement Plugin访问和权限日志文件和管理总结和收获如果博主的文章对您有所帮助,可以评论、点赞、收藏,支持一下博主!!!前言 操作系统:Cent…

RocketMQ消息短暂而又精彩的一生

核心概念 NameServer:可以理解为是一个注册中心,主要是用来保存topic路由信息,管理Broker。在NameServer的集群中,NameServer与NameServer之间是没有任何通信的。Broker:核心的一个角色,主要是用来保存消息…

刚录制德云社相声春晚,又带领徒弟排练京剧,郭德纲成功不是偶然

不知道大家有没有发现一种现象,很多人在底层的时候,都是削尖了脑袋往前钻,可是一旦有一天功成名就,就会刀兵入库马放南山。这种做法通俗地讲,就是功成名就激流勇退,比如马云、刘强东、黄征等互联网企业大佬…

【RabbitMQ】MQ的基本概念、RabbitMQ简介及安装

文章目录MQ的基本概念MQ概述MQ 的优势和劣势常见的MQ产品RabbitMQ简介RabbitMQ的安装1. 安装依赖环境2. 安装Erlang3. 安装RabbitMQ4. 开启管理界面及配置5. 启动6. 配置虚拟主机及用户用户角色Virtual Hosts配置创建Virtual Hosts设置Virtual Hosts权限MQ的基本概念 MQ概述 …

Python3,我把新年祝福写在“雨“中,你看,雨一直下,气氛还算融洽,在同个屋檐下....

新年愿望写在"雨"中1、引言2、代码实战2.1 模块介绍2.1.1 Pygame 介绍2.1.2 Pygame的display介绍2.1.3 Pygame的event介绍2.1.4 Pygame的font介绍2.2 代码示例3、总结1、引言 小屌丝:鱼哥,2023年了, 你有啥愿望啊? 小鱼…

同消费互联网时代的轰轰烈烈相比,产业互联网似乎低调了许多

毫无疑问的是,一场衍生于产业的深度变革正在上演。在这样一场深度变革之中,曾经看似无法改变的存在,有了进化的可能性;曾经让玩家们望而却步的领域,有了进军的可能性。如果对这样一场深度变革进行一次总结的话&#xf…

测试分类那么多,哪些是你最需要掌握的内容?

目录 一、按照测试对象分类 1.1、可靠性测试 1.2、容错性测试 1.3、安装卸载测试 1.4、内存泄漏测试 1.5、弱网测试 二、按照是否查看代码分类 2.1、黑盒测试(系统测试) 2.2、白盒测试(单元测试) 2.3、灰盒测试&#xff0…

[数据结构1-1] 线性表

P3156 【深基15.例1】询问学号 题目描述 有 n ( n≤210^6) 名同学陆陆续续进入教室。我们知道每名同学的学号(在 1 到 10^9之间),按进教室的顺序给出。上课了,老师想知道第 i个进入教室的同学的学号是什么(最先进入…

浅谈IT自动化运维体系

大家好,今天我们来简单介绍一下 IT自动化运维的体系。 随着IT运维体系的不断发展,IT自动化运维已经成为IT运维体系的重要组成部分,并将随着信息化的发展发挥着越来越重要的作用。面对复杂的业务和多样化的用户需求,IT架构体系需要…

防微杜渐,未雨绸缪,百度网盘(百度云盘)接口API自动化备份上传以及开源发布,基于Golang1.18

奉行长期主义的开发者都有一个共识:对于服务器来说,数据备份非常重要,因为服务器上的数据通常是无价的,如果丢失了这些数据,可能会导致严重的后果,伴随云时代的发展,备份技术也让千行百业看到了…

LINUX提权之信息收集篇

前言 准备开一个新坑,最近在学linux提权,于是打算用几篇文章来记录一下linux提权的重要知识点。首先第一篇文章介绍一下linux权限的基础信息以及如何进行信息收集。 LINUX权限简介 因为我们要学习权限提升,所以在学习提权之前我们先了解一…

ThinkPHP多语言文件包含RCE(QVD-2022-46174)

漏洞范围 v6.0.0<ThinkPHP<v6.0.13v5.0.0<ThinkPHP<5.0.12v5.1.0<ThinkPHP<5.1.8 需开启多语言选项&#xff0c;以thinkPHP6版本为例 在自定义中间件定义文件app/middleware.php中添加\think\middleware\LoadLangPack::class php需安装pearcmd拓展,并且开…

文档控件Aspose.words for.java 授权须知

支持的平台 Aspose.Words 可作为 .NET、Java、C 和 Python 的四种不同产品使用&#xff0c; .NET Framework.NET Standard 2.0Xamarin.AndroidXamarin.iOSXamarin.MacCOMMonoWindows Azure 系统要求 任何可以运行 Java Runtime Environment (JRE) 的操作系统都可以运行 Aspo…

02FPGA的巨大优势

在FPGA诞生的初期&#xff0c;计算机研究员是最先感受到FPGA的巨大优势的。 在此之前&#xff0c;要想实现一个新计算机体架构的设计想法&#xff0c;必须要开发一个ASIC作为原型&#xff0c;在面板上安装很多个体积庞大的IC。 但是&#xff0c;与这些需要投入巨大成本和精力…

I2C上拉电阻的选择-计算公式

I2C一般为开漏结构&#xff0c;需要在外部加上拉电阻&#xff0c;常见的阻值有1k、1.5k、2.2k、4.7k、5.1k、10k等。 但是应该如何根据开发要求选择合适的阻值呢&#xff1f; 假设SDA是低电平时&#xff0c;即MOS管导通。那么&#xff0c;就可以求出上拉电阻R的阻值。 上拉…

Lodop指定纸张类型不生效问题

根据官网指定纸张类型的样例 https://www.lodop.net/demolist/PrintSample5.html发现按以下代码各种打印机预览和打印效果均不同LODOPgetLodop();LODOP.PRINT_INIT("");LODOP.SET_PRINT_PAGESIZE(1,800,600,"");//设置纸张为80mm*60mmLODOP.ADD_PRINT_HTM(…

埋点成本治理实战(字节)

0、序言 随着业务的发展&#xff0c;业务上报的埋点数据会越来越多&#xff0c;杂乱的埋点数据不仅会消耗计算和存储成本&#xff0c;造成巨大的成本浪费&#xff0c;也无法有效的应用于业务&#xff0c;给业务带去数据价值&#xff0c;因此埋点数据的治理就很有必要。 一、治…

Redis缓存何以一枝独秀?(2) —— 聊聊Redis的数据过期、数据淘汰以及数据持久化的实现机制

大家好&#xff0c;又见面了。 本文是笔者作为掘金技术社区签约作者的身份输出的缓存专栏系列内容&#xff0c;将会通过系列专题&#xff0c;讲清楚缓存的方方面面。如果感兴趣&#xff0c;欢迎关注以获取后续更新。 上一篇文章中呢&#xff0c;我们简单的介绍了下Redis的整体情…

Spring Security 表单配置(二)

Spring Security 表单配置&#xff08;二&#xff09;架构认证过滤器认证成功认证失败架构 Spring Security的整体架构&#xff0c;官网文档有介绍&#xff1a;https://docs.spring.io/spring-security/reference/5.7/servlet/architecture.html 友情提示&#xff1a;可以使用…