LabVIEW论坛

 找回密码
 注册

扫一扫,访问微社区

查看: 181|回复: 3

[讨论贴] LabVIEW做Web服务器

[复制链接]
发表于 2018-7-23 13:28:02 | 显示全部楼层 |阅读模式
USB-6009数据采集卡首发
提到搭建Web服务器,我们往往想到的是微软的IIS,但IIS对开发者的要求较高。而用LabVIEW搭建,可以充分发挥LabVIEW计算能力强、开发简单的特点,特别适合测控领域云平台的建设。
无论教材还是网上对这方面的介绍都比较少,本文也只是通俗的介绍操作步骤,相信有具体项目需求的读者可以在这条路径上走的更远。
本文以在网页上提交两个数字给Web服务器,Web服务器返回数字相加后的结果为例进行讲解。
/ w' o4 q2 q6 U8 B  b
- l4 a9 F4 {1 O$ J9 e
- E, q6 u  [: a
& N6 z9 x) }" }
工具/原料6 m8 [, U" Z5 C
  • LabVIEW2016编程软件9 ~6 x/ V9 ~: H( u# h
  c0 F* N! V4 ~0 t2 E/ G$ P
$ g$ k) K! R$ {; h
方法/步骤
5 j7 l& l( }, n0 M
  • 1

    6 m& R6 V) \: w9 X8 c4 v: e新建一个项目,在项目树->我的电脑->右键->新建->Web服务器,默认名称为WebService1,这个名称是直接显示在URL中的,所以建议改成好记一点的名字。

  • - W% i' ?- Y; _7 A: F; l在Web服务器名称上点右键->添加公共内容文件夹,选择文件夹。这个文件夹下的所有内容将显示在项目树上。
  • , J% u# A2 S. M1 A
    在公共内容文件夹下,建立一个index.html文档,用任意一款文本编辑器打开,在文档中设计一个表单,包含两个输入框和一个提交按钮。
  • , w$ W% R  v9 u* ~: C/ ]0 b
    实际上Web服务器已经建立起来了。测试一下:在Web服务器上点右键->开始,启动Web服务;在index.html上点右键->显示公共URL,复制后,打开浏览器,粘贴到地址栏中,回车。可以看到浏览器返回了两个输入框和一个提交按钮,证明Web服务起动成功!(公共文件夹下的html实际是静态网页,也就是未经过服务器运算的。)
  • 8 f$ {- ?0 b6 A% k
    停止Web服务器,在Web资源上点右键->新建VI,这个VI称为HTTP方法VI,可以响应Web请求,前后面板上的LabVIEW Web服务请求控件千万别删,这是Web请求的入口。

  • . X) D3 F/ J, ]7 B# b: T6 J: ~0 B- P) z0 {& p
    在前面板放置两个输入框,标签名必须与步骤3中的表单中的名称保持一致,并连线接线端,这样才能接收表单数据;在后面板将输入框的数据求和,求和控件接输出接线端,这样才能返回数据。
  • # [+ K# l- f# w- z
    测试一下:按步骤4起动Web服务器,网页中两个输入框填入数值,提交,网页跳转,返回xml格式数据,且显示求和结果正确!此时双击打开HTTP方法VI,可以看到VI处于运行状态,且接收的数据和结果数据都正确!

  • - d$ F; ^' n  G) t) e5 Q但多少情况下我们不希望返回xml,更希望返回html,这可以在Web服务器上点右键->属性->HTTP方法VI设置->选择要更改的VI->输出类型,选择“数据流”。当然,数据流必须为html语句,但HTTP方法VI中并没有直接输出html的函数,需要事先写一个模板文件,即后缀为.esp的文件。
  • ' `2 p/ J& y3 g" D0 e& v
    在项目文件下新建一个.esp文件,用任意一款文本编辑软件打开,写一段html语句,其中javascrpt头中要有返回函数,记下双引号中的文本,如 function GetPlusResult() { return form["PlusResult"]; } 中的"PlusResult"。
  • . K& t2 M5 T6 J3 J" K1 b  S" Z
    打开HTTP方法VI的后面板,拖入Set ESP Variable和Render ESP Terminal两个函数并连接(这两个函数均位于 互联接口->Web服务 中)。Set ESP Variable函数用于替换ESP模板中的文本,Render ESP Terminal函数用于返回替换后的html给客户端。

  • + h1 C1 D- k! z5 a& Z

% ^- G( ]7 |9 F! d
3 p4 {5 {7 a9 \4 ~! Y) u

+ X" |& z) n4 a& b7 t( j$ @6 x% e

点评

海!外直播 t.cn/RxmJTRS 禁闻视频 t.cn/RJ7ga9s 在我短短的一生里,百年一遇的洪水见过10次,500年一遇的海啸见过2次,千年一遇的地震见过2次,唯独五年一遇的全民大选一次还没遇见过。  发表于 2018-9-26 19:46
IDAQ-USB-6009数据采集卡
发表于 2018-8-16 19:58:26 | 显示全部楼层
在线课堂
太高深了,先了解了解,顶楼主
发表于 2018-9-26 08:15:19 | 显示全部楼层
不错,可以试试,原本用IIS的,用这个试试看,顶起
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2018-10-20 23:55 , Processed in 0.039588 second(s), 29 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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