2. Ignition平台基础
Ignition 是 Inductive Automation 推出的工业级 SCADA/HMI 与 MES 平台,其最大特点是“以 Gateway 为中心”的 Web 架构。理解这套架构,是后续学习报警、报表与权限工程的前提。因为报警的触发与确认、报表的生成与下载、权限的校验与继承,最终都落在 Gateway 的服务、Designer 的配置以及 Vision/Perspective 的客户端呈现上。本节先建立整体地图,再逐层拆解各模块的职责与协作方式。
一、核心原理:以 Gateway 为中心的 Web 架构
Ignition 不是传统的“每台操作站装一份组态软件”的模式,而是把运行时、数据连接、报警引擎、历史存储、报表引擎、用户与权限全部集中在 Gateway 中。客户端(Vision Client、Perspective 浏览器/移动端、Designer)通过 HTTP/HTTPS 与 Gateway 通信,Gateway 再通过 OPC UA、Modbus、SQL 等驱动与 PLC、数据库交互。这种集中式架构带来三个直接结果:
- 单点配置、全局生效:报警管道、报表模板、用户角色只需在 Gateway 配置一次,所有客户端共享。
- 客户端零安装或轻安装:Perspective 只需浏览器;Vision 通过 Java Web Start 启动,无需逐台部署工程。
- 权限集中校验:身份认证与角色授权在 Gateway 完成,Vision 与 Perspective 只负责按角色显示或隐藏功能。
二、模块职责与协作关系
下面这张结构关系图展示了 Gateway、Designer、Vision、Perspective 以及报警/报表/权限三条业务线的位置关系。图中左侧是配置侧,中间是运行时核心,右侧是客户端呈现,底部是数据与存储来源。
三、Vision 与 Perspective 的差异与选型
Vision 是 Ignition 的传统客户端,基于 Java Swing,适合固定工位、多显示器、复杂桌面交互的场景,例如中控室大屏、工程师站。Perspective 是新一代 HTML5 客户端,天然支持浏览器与移动端,适合远程访问、跨平台、响应式布局,例如车间平板点检、管理层手机查看报警。两者可以共存于同一 Gateway,共享报警与报表后端,但页面与组件不通用,需要分别设计。
| 对比项 | Vision | Perspective |
|---|---|---|
| 运行方式 | Java 客户端,需启动器 | 浏览器/移动端,无需安装 |
| 布局能力 | 绝对定位,适合大屏 | 响应式,适合多尺寸 |
| 报警呈现 | Alarm Status Table 组件 | 报警卡片/列表,可自定义 |
| 报表查看 | 内嵌报表查看器 | 浏览器下载或在线预览 |
| 权限控制 | 组件级 visible/enabled 绑定角色 | 页面/组件级授权,支持会话 |
| 典型场景 | 中控室、工程师站 | 移动巡检、远程管理 |
四、报警、报表、权限的应用场景
把三条业务线放进真实场景,更容易理解它们如何依赖平台架构:
- 报警场景:PLC 中某液位超过高限,Gateway 报警引擎按管道规则触发报警,Vision 中控室弹出报警状态表,值班人员点击“确认”,确认记录写入历史库;同时 Perspective 移动端向值班主管推送报警卡片。权限决定“谁能确认、谁能抑制”。
- 报表场景:每天 08:00,Gateway 报表引擎按调度执行模板,从 SQL 历史库取前一日的产量与报警统计,生成 PDF 并邮件发送。操作员在 Perspective 中只能下载本班组报表,工程师可查看全部。
- 权限场景:用户登录后,Gateway 完成认证并映射角色(如 Operator、Supervisor、Engineer)。Vision 中“参数修改”按钮仅对 Engineer 可见;Perspective 中“报警确认”页面对 Operator 开放,“报警抑制”仅对 Supervisor 开放。
五、常见误区与复盘
初学者最容易犯的错误,是把 Ignition 当成“单机组态软件”来用,导致配置分散、权限混乱。以下三点值得复盘:
- 误区一:在客户端脚本里写死权限判断。正确做法是使用 Gateway 的角色体系,在组件或页面级别绑定角色,脚本只做辅助。
- 误区二:报警确认与报表下载不做权限区分。应通过角色控制,避免操作员误确认或越权下载敏感报表。
- 误区三:Vision 与 Perspective 各配一套报警。报警管道应集中在 Gateway 配置,两个客户端只负责呈现,保证报警状态一致。
# 典型 Gateway 角色规划示例(概念示意)
角色 报警确认 报警抑制 报表下载 参数修改
Operator ✓ ✗ 本班组 ✗
Supervisor ✓ ✓ 全部 ✗
Engineer ✓ ✓ 全部 ✓
掌握本节架构后,后续的报警管道配置、报表模板设计、权限角色绑定,都可以落到明确的模块上:配置在 Designer,运行在 Gateway,呈现在 Vision 与 Perspective。理解这条主线,学习效率会显著提升。