LabVIEW论坛

 找回密码
 注册

扫一扫,访问微社区

查看: 273|回复: 3

[讨论贴] LabVIEW做Web服务器

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

9 M1 }2 K# X+ M3 d: g+ y" s8 ~
, M' R" g" ?6 i* z2 [3 k
$ |2 x, M1 G, v7 T, v

+ g& j' t: X6 `  z9 i- q1 ~+ r工具/原料
! f) l8 Z8 ?7 r9 m- s: K( {" [
  • LabVIEW2016编程软件
    + H" d$ D# B9 g' _

7 X: \5 f4 E% `
4 s9 I# e2 x* {- q- U6 i6 @
方法/步骤. r4 ]/ m# O' c0 u& P8 I
  • 1

    6 {$ u' |# Y; A; e7 ^. t( ]新建一个项目,在项目树->我的电脑->右键->新建->Web服务器,默认名称为WebService1,这个名称是直接显示在URL中的,所以建议改成好记一点的名字。
  • $ A& O0 d  {: R
    在Web服务器名称上点右键->添加公共内容文件夹,选择文件夹。这个文件夹下的所有内容将显示在项目树上。
  • ) D# \0 |7 ^) ]* k3 J( A
    在公共内容文件夹下,建立一个index.html文档,用任意一款文本编辑器打开,在文档中设计一个表单,包含两个输入框和一个提交按钮。
  • $ M! G6 g  W: O" `2 k
    实际上Web服务器已经建立起来了。测试一下:在Web服务器上点右键->开始,启动Web服务;在index.html上点右键->显示公共URL,复制后,打开浏览器,粘贴到地址栏中,回车。可以看到浏览器返回了两个输入框和一个提交按钮,证明Web服务起动成功!(公共文件夹下的html实际是静态网页,也就是未经过服务器运算的。)
  • , @/ K7 C1 p4 B0 K8 _
    停止Web服务器,在Web资源上点右键->新建VI,这个VI称为HTTP方法VI,可以响应Web请求,前后面板上的LabVIEW Web服务请求控件千万别删,这是Web请求的入口。

  • : r2 D) }4 x, b* |/ s) e  f) i2 Z) v! c, l
    在前面板放置两个输入框,标签名必须与步骤3中的表单中的名称保持一致,并连线接线端,这样才能接收表单数据;在后面板将输入框的数据求和,求和控件接输出接线端,这样才能返回数据。
  • 0 g5 M: @: p9 r  U
    测试一下:按步骤4起动Web服务器,网页中两个输入框填入数值,提交,网页跳转,返回xml格式数据,且显示求和结果正确!此时双击打开HTTP方法VI,可以看到VI处于运行状态,且接收的数据和结果数据都正确!
  • 9 p6 ^, r4 g% X) P7 V. {
    但多少情况下我们不希望返回xml,更希望返回html,这可以在Web服务器上点右键->属性->HTTP方法VI设置->选择要更改的VI->输出类型,选择“数据流”。当然,数据流必须为html语句,但HTTP方法VI中并没有直接输出html的函数,需要事先写一个模板文件,即后缀为.esp的文件。

  • ; S* I5 Q! T; M9 O3 c在项目文件下新建一个.esp文件,用任意一款文本编辑软件打开,写一段html语句,其中javascrpt头中要有返回函数,记下双引号中的文本,如 function GetPlusResult() { return form["PlusResult"]; } 中的"PlusResult"。

  • 1 j  W' q8 t; i: j打开HTTP方法VI的后面板,拖入Set ESP Variable和Render ESP Terminal两个函数并连接(这两个函数均位于 互联接口->Web服务 中)。Set ESP Variable函数用于替换ESP模板中的文本,Render ESP Terminal函数用于返回替换后的html给客户端。

  • 0 [& J3 V2 N7 B: j/ _
; q2 K, w: \- Q/ @. z% ?

: h: z& Q/ o/ D% I
$ R3 S' G: Z+ C0 s1 E
IDAQ-USB-6009数据采集卡
发表于 2018-8-16 19:58:26 | 显示全部楼层
在线课堂
太高深了,先了解了解,顶楼主
发表于 2018-9-26 08:15:19 | 显示全部楼层
不错,可以试试,原本用IIS的,用这个试试看,顶起
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2018-12-13 15:18 , Processed in 0.025154 second(s), 27 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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