跳到主要内容

数据与集成

现场数据分为几类:运行参数(变量)、工艺参数(配方)、外部系统数据(查询/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-100180°C5 MPa30s20s
B-200210°C8 MPa45s30s

配方通过 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/ 目录管理。在画面中引用资源时使用应用内路径,不写绝对路径。