2. Ignition 平台基础

在开始使用 Perspective 开发 HMI 之前,必须先理解 Ignition 平台的运行骨架。Ignition 采用典型的“服务端集中运行、客户端按需接入”架构:所有标签、历史、报警、脚本、数据库连接和 Web 会话都由 Gateway 统一承载,Designer 只是开发期的配置工具,Perspective 则是运行在浏览器中的可视化前端。理解这三者的分工,才能明白为什么 Perspective 项目不需要逐台部署客户端,也能解释“为什么改了项目要保存并推送到 Gateway 才生效”。

一、核心架构:Gateway 是唯一运行中枢

Ignition 的架构可以概括为“一个 Gateway + 多种客户端”。Gateway 是 Java 服务,负责项目存储、标签引擎、报警管道、历史记录、数据库连接、身份认证和 Web 服务。Designer 通过 8088 端口的 HTTP/WebSocket 与 Gateway 通信,Perspective 页面则由 Gateway 内置的 Web 服务器发布给浏览器。因此,Gateway 是唯一需要长期运行、需要重点备份和监控的组件。

下面这张架构图展示了各组件之间的连接关系与数据流向,是本节最值得记住的一张图:

Ignition Gateway 项目存储 / 标签引擎 / 报警 历史记录 / 数据库连接 身份认证 / Web 服务 :8088 HTTP / WebSocket Designer 开发期配置工具 编辑项目 / 保存推送 Perspective 客户端 浏览器 / 移动端 渲染 HMI 页面 数据库 MySQL / SQL Server / Oracle PLC / 设备 OPC UA / Modbus / 驱动 配置 / 推送 发布页面 读写数据 采集标签 Gateway 是唯一运行中枢 Designer 与 Perspective 均为接入端

二、三大组件职责与协作流程

把上图拆开看,每个组件的职责非常清晰:

  • Gateway:项目的“运行宿主”。它加载项目、执行标签扫描、处理报警、记录历史、提供 Web 服务。Gateway 可以单机部署,也可以做冗余(Redundancy)和横向扩展。
  • Designer:项目的“编辑车间”。它连接 Gateway 后,可以创建项目、编辑 Perspective 视图、配置标签与数据库连接。Designer 本身不对外提供 HMI 服务,关闭 Designer 不影响已运行的系统。
  • Perspective 模块:Gateway 内的一个模块,负责把项目中的视图、页面、会话和样式编译成浏览器可访问的 Web 应用。它决定了 HMI 的响应式布局、组件行为和客户端会话管理。

典型开发流程如下:在 Designer 中新建 Perspective 项目 → 创建视图(View)与页面(Page)→ 绑定标签与参数 → 保存并推送到 Gateway → 浏览器访问 http://gateway:8088/data/perspective/client/项目名 查看效果。这个“编辑—推送—浏览器验证”的循环,是后续所有章节的基本工作节奏。

三、项目结构:从 Gateway 到视图的层级

Ignition 的项目结构是树状的,理解层级有助于快速定位资源。一个 Perspective 项目通常包含以下节点:

层级 节点名称 作用说明
项目级 Project 一个独立命名空间,包含所有资源,可单独导入导出
模块级 Perspective 存放视图、页面、会话属性、样式主题
页面级 Pages 定义 URL 路由与页面容器,决定用户访问入口
视图级 Views 可复用的 UI 单元,支持参数传入与嵌套
组件级 Components 按钮、标签、图表、表格等具体控件
数据级 Tags / DB 标签提供实时数据,数据库连接提供历史与业务数据

关键理解:Perspective 的“页面”不是 HTML 文件,而是 Gateway 动态生成的 Web 应用入口。视图(View)才是真正的 UI 复用单元,页面只是把视图挂载到某个 URL 上。因此,做 HMI 时应该优先设计视图,再组织页面。

四、案例场景:一个泵站 HMI 的项目落地

假设要为一个泵站做 HMI,项目结构可以这样组织:在 Perspective 下建立 Pages/Overview 作为总览页,建立 Views/PumpDetail 作为泵详情视图,建立 Views/AlarmBanner 作为报警横幅视图。总览页中嵌入多个泵详情视图实例,每个实例通过参数传入不同的泵编号。标签方面,在 Gateway 的标签浏览器中建立 Pump01/Speed、Pump01/Status 等标签,视图内通过绑定引用这些标签。数据库连接则用于查询历史趋势。

这样组织的好处是:新增一台泵时,只需复制视图实例并改参数,不必复制整套页面;报警横幅作为独立视图,可以在多个页面复用。

五、常见误区与复盘

误区一:把 Designer 当成运行环境。Designer 关闭后 HMI 仍应正常运行,如果关闭 Designer 后页面失效,说明项目没有正确推送到 Gateway。

误区二:在视图里硬编码标签路径。应使用参数或项目相对路径,否则项目迁移或复制时会大量报错。

误区三:忽略 Gateway 的模块授权。Perspective 是独立授权模块,未授权时页面无法发布,需在 Gateway 的模块页面确认授权状态。

复盘建议:每次新建项目后,先确认 Gateway 状态页显示 Perspective 模块已启动,再在 Designer 中检查项目是否已连接目标 Gateway,最后用浏览器访问一次空白页面,确保“编辑—推送—访问”链路通畅,再开始正式开发。

# 典型访问地址
http://192.168.1.10:8088/data/perspective/client/PumpStation

# Gateway 状态检查入口
http://192.168.1.10:8088/web/home
http://192.168.1.10:8088/system/status

掌握本节内容后,你就拥有了后续所有 Perspective 开发的基础坐标系:Gateway 负责运行,Designer 负责编辑,Perspective 负责呈现,项目结构负责组织。接下来无论学习视图、绑定还是会话,都可以放回这张架构图中理解。