LabVIEW论坛

 找回密码
 注册

扫一扫,访问微社区

查看: 55|回复: 0

[讨论贴] LabVIEW做Web服务器

[复制链接]
发表于 2018-7-23 13:28:02 | 显示全部楼层 |阅读模式
USB-6009数据采集卡首发
提到搭建Web服务器,我们往往想到的是微软的IIS,但IIS对开发者的要求较高。而用LabVIEW搭建,可以充分发挥LabVIEW计算能力强、开发简单的特点,特别适合测控领域云平台的建设。
无论教材还是网上对这方面的介绍都比较少,本文也只是通俗的介绍操作步骤,相信有具体项目需求的读者可以在这条路径上走的更远。
本文以在网页上提交两个数字给Web服务器,Web服务器返回数字相加后的结果为例进行讲解。
0 u% Y6 ]3 T& c
. r7 a5 o0 b1 J& u

$ |7 ]# G: S7 _
' n% a- {+ a" @, t
工具/原料
3 S2 U7 w- i, Q1 n$ I
  • LabVIEW2016编程软件
    # C' z- M$ n7 V, ?
  z: n* P/ K. j8 q" q4 N
1 I, h  S5 ?1 i! o$ U
方法/步骤/ U8 |0 T$ m" O" }8 I% P
  • 1
    : M  W6 U. d) B/ F- P
    新建一个项目,在项目树->我的电脑->右键->新建->Web服务器,默认名称为WebService1,这个名称是直接显示在URL中的,所以建议改成好记一点的名字。

  • : r+ e8 K- D- L在Web服务器名称上点右键->添加公共内容文件夹,选择文件夹。这个文件夹下的所有内容将显示在项目树上。

  • ) u- a1 D' v7 @3 o5 F. |; W, y在公共内容文件夹下,建立一个index.html文档,用任意一款文本编辑器打开,在文档中设计一个表单,包含两个输入框和一个提交按钮。
  • ) |7 H' V5 A& {& m0 u" ]) P
    实际上Web服务器已经建立起来了。测试一下:在Web服务器上点右键->开始,启动Web服务;在index.html上点右键->显示公共URL,复制后,打开浏览器,粘贴到地址栏中,回车。可以看到浏览器返回了两个输入框和一个提交按钮,证明Web服务起动成功!(公共文件夹下的html实际是静态网页,也就是未经过服务器运算的。)
  • # I$ l  b7 x3 _' o9 P' c( I
    停止Web服务器,在Web资源上点右键->新建VI,这个VI称为HTTP方法VI,可以响应Web请求,前后面板上的LabVIEW Web服务请求控件千万别删,这是Web请求的入口。
  • : r- V& ?) d; _4 q

    . E9 s- N- y% _. _( p在前面板放置两个输入框,标签名必须与步骤3中的表单中的名称保持一致,并连线接线端,这样才能接收表单数据;在后面板将输入框的数据求和,求和控件接输出接线端,这样才能返回数据。

  • 2 f' @# r: S, t: Z1 {测试一下:按步骤4起动Web服务器,网页中两个输入框填入数值,提交,网页跳转,返回xml格式数据,且显示求和结果正确!此时双击打开HTTP方法VI,可以看到VI处于运行状态,且接收的数据和结果数据都正确!
  •   C8 j! C9 e+ z' ^
    但多少情况下我们不希望返回xml,更希望返回html,这可以在Web服务器上点右键->属性->HTTP方法VI设置->选择要更改的VI->输出类型,选择“数据流”。当然,数据流必须为html语句,但HTTP方法VI中并没有直接输出html的函数,需要事先写一个模板文件,即后缀为.esp的文件。
  •   ]' w6 R( g6 O6 r4 u
    在项目文件下新建一个.esp文件,用任意一款文本编辑软件打开,写一段html语句,其中javascrpt头中要有返回函数,记下双引号中的文本,如 function GetPlusResult() { return form["PlusResult"]; } 中的"PlusResult"。
  • $ z8 T% U2 q5 e) x& L
    打开HTTP方法VI的后面板,拖入Set ESP Variable和Render ESP Terminal两个函数并连接(这两个函数均位于 互联接口->Web服务 中)。Set ESP Variable函数用于替换ESP模板中的文本,Render ESP Terminal函数用于返回替换后的html给客户端。
  • 6 X% B8 V) ?% C

4 |, n/ Y' c6 B$ d0 p1 u$ y
: }( e2 I- q6 @7 M1 T3 j
! \0 A+ W# w7 p& W& s/ U
IDAQ-USB-6009数据采集卡
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|无图浏览|手机版|网站地图|虚拟仪器家园 ( 沪ICP备06029130号-1 )

GMT+8, 2018-8-16 09:55 , Processed in 0.031825 second(s), 25 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表