LabVIEW WebSocket+SVG 网页远程面板
基于WebSocket RFC6455与SVG实现 LabVIEW 前面板无插件网页化远程控制,通过长连接双向通信、矢量界面渲染、JSON / 二进制数据传输,实现 PC、平板、手机等多终端浏览器实时访问与操控,兼容 Windows 与 Linux RT 目标机,无需客户端插件,适合内网远程监控、设备调试与老旧系统升级。

一、核心知识点
LabVIEW WebSocket+SVG 远程面板
是一套以HTML5 WebSocket为通信核心、SVG为矢量界面渲染载体的 LabVIEW 前面板网页化交互方案,遵循 RFC6455 标准,实现浏览器与 VI 之间低延迟、双向、实时的数据同步与界面控制,完全脱离浏览器插件与 LabVIEW 运行引擎,跨平台通用。
关键技术构成
-
WebSocket 长连接通信
-
基于 RFC6455 标准,TCP 长连接,全双工双向通信
-
支持文本(JSON)与二进制(ArrayBuffer)数据帧
-
握手严格使用\r\n作为头分隔符,保证跨浏览器兼容
-
-
SVG 矢量界面渲染
-
无损缩放,适配多终端分辨率
-
由 JS 实时驱动属性更新(位置、颜色、大小、旋转等)
-
-
双方向数据桥接
-
网页操作 → WebSocket → LabVIEW 控件值更新
-
LabVIEW 值 / 属性变化 → WebSocket → 网页 SVG 实时刷新
-
-
RT 目标机适配
-
需配置mime.types添加image/svg+xml svg svgz
-
换行符统一使用\r\n,避免 CR/LF 兼容问题
-
二、使用场合
-
设备远程状态监控、参数调试(车间 / 实验室内网)
-
无 LabVIEW 环境的 PC / 平板 / 手机远程操控
-
cRIO、Linux RT 等嵌入式目标机无屏远程维护
-
老旧测控系统低成本网页化升级
-
多终端同步查看同一台设备运行状态
-
售后远程故障诊断、界面查看
三、技术特点
-
无插件、无 runtime:纯浏览器访问,跨平台通用
-
低延迟高实时:长连接优于 HTTP 轮询,毫秒级响应
-
矢量界面:SVG 无损缩放,移动端体验好
-
双向可控:网页可写可控,非单向展示
-
支持二进制:可传输波形、数组等大量数据
-
RT 兼容:可在 cRIO 等嵌入式硬件部署
-
开源轻量:无授权费用,资源占用低
四、使用注意事项
-
协议规范
握手与响应头必须用\r\n换行,不可依赖系统默认换行符。
-
RT 系统配置
在ni-rt/system/webserver/mime.types中添加:
image/svg+xml svg svgz,否则 SVG 显示为文本。
-
数据格式
数值传输统一用小数点,避免系统区域设置干扰。
-
连接管理
需处理Close Frame断开事件,及时清理连接资源。
-
控件兼容
复杂控件建议用图片兜底,只对布尔 / 数值 / 字符串做交互。
-
退出方式
必须正常关闭 VI,禁止强制中止,避免端口残留。
-
网络安全
仅限内网使用,不建议直接对公网开放。
五、与同类方案对比
表格
|
对比项 |
WebSocket+SVG |
NI 远程面板 |
NI WebVI |
传统 WebService |
|
插件依赖 |
无 |
需要 |
无 |
无 |
|
双向交互 |
支持 |
支持 |
支持 |
弱 / 轮询 |
|
实时性 |
高(长连接) |
中 |
高 |
低 |
|
移动端 |
优秀 |
差 |
良好 |
一般 |
|
RT 支持 |
可配置 |
有限 |
良好 |
一般 |
|
开发量 |
中 |
低 |
中高 |
高 |
|
适用场景 |
快速远程、老旧升级 |
简单内网监控 |
正式产品 |
数据对接 |
六、实际应用案例
案例:嵌入式 RT 设备远程调试系统
-
场景
现场多台 cRIO 采集设备无显示屏,需远程查看状态、修改参数。
-
实现
-
LabVIEW 搭建采集与控制 VI,前面板使用数值、布尔、指示灯
-
启用 WebSocket 服务端,监听局域网 IP 端口
-
前端用 SVG 绘制面板,JS 绑定 WebSocket 接收数据并更新界面
-
RT 系统配置 MIME 类型,确保 SVG 正常渲染
-
-
效果
-
工程师用平板 / 笔记本浏览器直接访问、实时操控
-
无插件、低延迟、界面清晰适配移动设备
-
不改动原有业务逻辑,快速实现远程化
-
七、背景补充
该方案出现于 NI 官方 WebVI 成熟之前,是工程师社区为解决浏览器弃用插件、远程面板兼容性差而推出的轻量化替代方案,以WebSocket+SVG构建稳定通用的网页交互架构,至今仍是老旧 LabVIEW 项目低成本远程升级的主流可靠方案。
更多推荐




所有评论(0)