
源码系统概览
文章正文
FUXA是一套基于Web的工业组态与实时监控软件,定位为SCADA与HMI可视化平台。
该项目面向工业自动化、物联网和设备运维场景,帮助用户使用浏览器搭建人机界面。
整个系统由Node.js后端与Angular前端组成,工程与画面均在网页中完成设计与发布。
用户无需安装专用客户端,只要打开浏览器即可查看产线状态与设备运行数据。
源码简介
FUXA源码采用MIT协议开源,后端使用Node.js提供服务,前端使用Angular与SVG渲染画面。
源码内置了数据采集、画面编辑、报警记录与历史趋势等核心模块,可直接私有化部署。
开发者可以从源码编译运行,也可以基于Docker镜像快速启动,整套代码结构清晰且易于二次开发。
项目默认监听1881端口,启动后在浏览器中打开即可进入可视化编辑器开始组态。
对于需要连接PLC、仪表或数据库的用户,源码已经封装了多种成熟的工业通信驱动。
官方文档站点由MkDocs构建,源码仓库内附有文档目录,方便查阅接口与配置说明。
适用场景
工厂车间需要在大屏上集中展示多条产线的实时运行数据与设备状态。
设备厂商希望为自己的机器配套一套可远程访问的Web监控界面。
物联网项目需要把传感器数据汇聚成可视化仪表盘并保存历史记录。
教学与科研场景需要一套轻量、开源且可改写的组态软件做实验。
功能亮点
支持Modbus、OPC-UA、Siemens S7、MQTT、BACnet、Ethernet/IP等多种工业协议。
提供完全基于浏览器的可视化编辑器,拖拽组件即可完成画面组态。
内置数据历史库,可将标签数据存入SQLite或InfluxDB并绘制趋势曲线。
支持报警规则、脚本动作与定时任务,满足常见自动化联动需求。
可导出工程文件,方便在多台服务器之间迁移与备份配置。
技术架构与部署指南
技术栈与运行环境
后端语言:Node.js,推荐版本为Node.js 18 LTS。
前端框架:Angular,配合HTML5、CSS与SVG进行画面渲染。
数据存储:内置SQLite,可选InfluxDB等时序数据库。
通信协议:Modbus RTU/TCP、OPC-UA、Siemens S7、MQTT等。
运行平台:Linux、Windows、macOS、Docker与树莓派均可运行。
安装与部署提示
方式一是拉取官方Docker镜像并映射1881端口,适合快速体验与正式部署。
方式二是下载源码进入server目录执行npm install后运行npm start。
在Linux或树莓派上若不需要Siemens通信,可移除node-snap7以减少编译依赖。
生产环境建议挂载数据卷,把工程、历史库、日志与图片目录持久化保存。
截图与演示说明

上图展示FUXA的Web可视化编辑器,左侧为组件与设备树,右侧为画面画布。

上图展示设备标签与画面元素之间的连线绑定,数据变化会实时反映到组件。

上图展示画面元素的动作与移动效果,体现了组态画面的交互能力。
常见问题
问:FUXA支持哪些PLC通信协议?
答:支持Modbus RTU/TCP、Siemens S7、OPC-UA、BACnet、MQTT、Ethernet/IP等。
问:没有外网环境能否私有化部署?
答:可以,FUXA可完全运行在局域网内,不依赖任何外部云服务。
问:历史数据保存在哪里?
答:默认使用内置SQLite,也可配置InfluxDB等时序数据库存储标签历史。
安全风险提示
FUXA默认不开启登录鉴权,直接暴露1881端口会带来未授权访问风险。
建议将其部署在内网,并通过反向代理增加账号认证与HTTPS加密传输。
在公网环境使用时务必配合防火墙与访问控制,避免组态画面被随意篡改。
下载说明
本页面提供的是FUXA项目的源码学习资源,适用于研究、二次开发与私有部署。
你可以直接获取官方仓库的完整源代码,根据自己的需求进行编译与定制。
源码采用MIT协议,可自由用于商业与学习用途,请遵守相关开源协议条款。
部署前请确认运行环境已安装Node.js 18及以上版本,并预留1881端口。
如需示例工程与配置模板,可参考仓库中的文档与示例目录进行对照学习。
GitHub项目开源地址:https://github.com/frangoteam/fuxa