LabVIEW论坛

 找回密码
 注册

扫一扫,访问微社区

查看: 319|回复: 3

[讨论贴] LabVIEW做Web服务器

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

* n: F7 j/ Z; }, ]+ U* Q) v+ t$ K) R8 x1 b% w
" l. A/ k* U  O8 `2 q; {
- A' P/ F4 Y; w9 K) l, a
工具/原料
9 P* r2 \6 }- g7 }
  • LabVIEW2016编程软件
    * H% \0 |# P% S/ I9 R/ n
2 C/ U. |* t: t! M. a9 k- a+ ]& k" z: B

5 S; E2 {: O. H, }  ~! @1 U方法/步骤
$ `' l1 Y1 n8 L% J
  • 1
    ) @; Z# N9 e& k! [
    新建一个项目,在项目树->我的电脑->右键->新建->Web服务器,默认名称为WebService1,这个名称是直接显示在URL中的,所以建议改成好记一点的名字。

  • ! }4 M& T1 v7 H在Web服务器名称上点右键->添加公共内容文件夹,选择文件夹。这个文件夹下的所有内容将显示在项目树上。

  • 4 j9 R. A  Y% y. n' I2 f5 @* N( u在公共内容文件夹下,建立一个index.html文档,用任意一款文本编辑器打开,在文档中设计一个表单,包含两个输入框和一个提交按钮。

  •   n- [  n7 z1 L! Z实际上Web服务器已经建立起来了。测试一下:在Web服务器上点右键->开始,启动Web服务;在index.html上点右键->显示公共URL,复制后,打开浏览器,粘贴到地址栏中,回车。可以看到浏览器返回了两个输入框和一个提交按钮,证明Web服务起动成功!(公共文件夹下的html实际是静态网页,也就是未经过服务器运算的。)

  • " V' d( g$ m* P/ e  J2 ^停止Web服务器,在Web资源上点右键->新建VI,这个VI称为HTTP方法VI,可以响应Web请求,前后面板上的LabVIEW Web服务请求控件千万别删,这是Web请求的入口。

  • # J& x+ ^5 {1 c& g( R$ x+ B; k
    7 R+ u5 l' l) o7 X3 j: M4 m在前面板放置两个输入框,标签名必须与步骤3中的表单中的名称保持一致,并连线接线端,这样才能接收表单数据;在后面板将输入框的数据求和,求和控件接输出接线端,这样才能返回数据。
  • ; l" j7 n1 }, b0 ~4 l. l
    测试一下:按步骤4起动Web服务器,网页中两个输入框填入数值,提交,网页跳转,返回xml格式数据,且显示求和结果正确!此时双击打开HTTP方法VI,可以看到VI处于运行状态,且接收的数据和结果数据都正确!

  • " h! T7 M3 k; D! t& X但多少情况下我们不希望返回xml,更希望返回html,这可以在Web服务器上点右键->属性->HTTP方法VI设置->选择要更改的VI->输出类型,选择“数据流”。当然,数据流必须为html语句,但HTTP方法VI中并没有直接输出html的函数,需要事先写一个模板文件,即后缀为.esp的文件。

  • 6 Q' }& H+ i% R5 `- l在项目文件下新建一个.esp文件,用任意一款文本编辑软件打开,写一段html语句,其中javascrpt头中要有返回函数,记下双引号中的文本,如 function GetPlusResult() { return form["PlusResult"]; } 中的"PlusResult"。
  • , q8 T- w" y  [$ [
    打开HTTP方法VI的后面板,拖入Set ESP Variable和Render ESP Terminal两个函数并连接(这两个函数均位于 互联接口->Web服务 中)。Set ESP Variable函数用于替换ESP模板中的文本,Render ESP Terminal函数用于返回替换后的html给客户端。

  • - ?0 w; S2 ~& v. F3 u/ b
4 N; R+ H: d7 ^4 L( }" b
2 l3 p: r0 J- C0 T4 S* F6 O, G$ f; W
3 X3 L6 n- Q0 W
IDAQ-USB-6009数据采集卡
发表于 2018-8-16 19:58:26 | 显示全部楼层
在线课堂
太高深了,先了解了解,顶楼主
发表于 2018-9-26 08:15:19 | 显示全部楼层
不错,可以试试,原本用IIS的,用这个试试看,顶起
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2019-2-19 15:29 , Processed in 0.027776 second(s), 28 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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