数据与集成
现场数据分为几类:运行参数(变量)、工艺参数(配方)、外部系统数据(查询/MES)、表格数据(RecordStore)、多语言文案(i18n)。
变量(Variables)
变量是轻量级的运行数据,类似 PLC 的 D 寄存器或 HMI 的 Tag。
两种作用域
| 作用域 | 说明 | 存在哪里 | 生命周期 |
|---|---|---|---|
运行期变量(scope: "app") | 应用运行期间的临时值 | variables.json 定义 → 内存中读写 | 应用停止后清空 |
持久变量(scope: "saved") | 需要断电保存的值 | variables.json 定义初始值 + saved-variables.json 保存当前值 | 应用重启后保留 |
典型用途
| 场景 | 用什么 |
|---|---|
| 当前班次产量计数 | 持久变量 |
| 设备运行状态(运行/待机/故障) | 运行期变量 |
| 零点偏移值、标定值 | 持久变量 |
| 当前工单号 | 运行期变量 |
| 工艺阈值(温度上限、压力下限) | 持久变量 |
读写变量
- 在页面动作中:
QX.variables.产量 = 100 - 在控件表达式中:
{{ QX.variables.当前温度 }}°C - 在 Graph 流程中:使用 GetVariable / SetVariable 节点
配置变量
在编辑器 Settings → Variables 中维护。定义变量名、类型、默认值。
截图占位:变量配置页面
查询(Query)
查询是与外部系统(MES、ERP、数据库)的通信合同。类比 OPC UA 的 Method Call 或 HTTP 请求模板。
查询的结构
一个查询定义了:
- 请求方式:HTTP GET/POST、数据库 SQL、后端代理
- URL/端点:外部系统地址
- 参数:调用时需要传入的值
- 返回值处理:响应怎么解析
典型查询示例
| 查询名 | 用途 | 参数 | 返回 |
|---|---|---|---|
查工单 | 按条码查 MES 工单 | 条码号 | 工单号、产品型号、数量 |
报生产结果 | 写入生产完成数据 | 工单号、合格数、不良数 | 写入状态 |
读配方 | 从 ERP 读取产品配方 | 产品型号 | 配方参数集 |
查物料 | 查 WMS 物料库存 | 物料编码 | 库存数量、批次号 |
在画面和流程中调用
所有查询定义在 queries.json 中,app 全局复用:
- 画面动作:
QX.queries.查工单.run({ 条码号: "ABC123" }) - Graph 流程:添加 Query 节点,选择目标查询
配置查询
在编辑器 Settings → Queries 中维护。配置界面引导填写 URL、方法、参数、headers、认证方式。
截图占位:查询配置页面
配方(Recipe)
配方是产品工艺参数的集合。例如:
| 产品型号 | 温度 | 压力 | 保压时间 | 冷却时间 |
|---|---|---|---|---|
| A-100 | 180°C | 5 MPa | 30s | 20s |
| B-200 | 210°C | 8 MPa | 45s | 30s |
配方通过 RecipeManager 对象管理。在画面中用 Select 选择产品型号,联动加载对应的工艺参数写入变量,再下发给设备。
数据表(RecordStore)
RecordStore 是轻量级在设备端维护的表格数据。适合:
- IO 点位配置表(点位名、地址、类型、当前值)
- 扫描枪解析规则表
- 批次追溯临时表
- 班次产量记录
详见对象与设备。
运行页多语言(i18n)
如果现场需要中英文切换(或其他语言),使用 i18n 管理界面文案。
配置
在编辑器 Settings → i18n 中维护翻译表:
{
"startButton": { "zh": "启动", "en": "Start" },
"stopButton": { "zh": "停止", "en": "Stop" },
"alarmTitle": { "zh": "报警信息", "en": "Alarms" }
}
在画面中使用
- 控件文本用
{{ QX.i18n.get("startButton") }} - 运行页按
QX.settings.language自动切换语言 - 缺失翻译时回退到默认语言,再回退到 key 名
适用场景
- 出口设备需要多语言操作界面
- 外籍工程师现场调试时需要英文界面
- 同一个 app 部署到不同语言区域
文件资源
图片、3D 模型、上传的文件通过 assets/ 目录管理。在画面中引用资源时使用应用内路径,不写绝对路径。