跳至主要内容

页面与项目配置方法:优先从配置读取数据 | Mingcedar Studio

当前页的数据优先来自 Page Script 变量、函数、内部 JSON Tag 和默认 alarm.js。它们适合保存页面参数、表格数据、显示规则和报警范围。

脚本方法配置
配置

页面与项目配置方法:优先从配置读取数据

当前页的数据优先来自 Page Script 变量、函数、内部 JSON Tag 和默认 alarm.js。它们适合保存页面参数、表格数据、显示规则和报警范围。

Page Script 变量和函数

当前页的表格行、筛选条件、显示开关、标题和阈值放在 Page Script。Table 的 Rows 可引用数组变量或函数,无需单独建立 JSON 文档。

  • 适合当前页独有配置
  • 常用于表格数据和局部规则
  • Rows 可填变量名或函数名
var tableRows = [
  ["Pump 1", "Running"],
  ["Pump 2", "Stop"]
];
var panelTitle = "泵站运行概览";
内部 JSON Tag

Python 或宿主脚本将报表、分页等结构化结果写入内部 JSON Tag,页面通过 ReadTagJson(...) 读取,沿用 Tag 通道。

  • 适合报表行、分页结果和结构化状态
  • 由 Python 写内部 Tag
  • PPT 页面只负责 ReadTagJson 读取
var rows = ReadTagJson("PLC_LINE01.REPORT01.ROWS", []);
var updatedAt = ReadTagDateTime("PLC_LINE01.REPORT01.UPDATED_AT", null);
默认 alarm.js

每页默认有一个受保护的 alarm.js,用来维护当前页报警窗口开关和范围。编辑核心对象 `HQVISU_PAGE_ALARM` 即可。

  • 适合当前页报警窗口开关
  • 适合当前页报警范围
  • 每页独立,跟随页面导出
HQVISU_PAGE_ALARM = {
  showWindow: true,
  tags: [],
  deviceCodes: [],
  objectIdentifiers: [],
  groupCodes: [],
  areaCodes: []
};
getPageAlarm(fallbackValue)

读取当前页的 PPT 报警设置。它不是运行端报警规则本身,而是当前页面随导出包携带的报警窗口开关和报警范围配置。当前页没有 alarm 配置时,会返回传入的回退值或默认结构。

  • 适合读取当前页是否允许显示报警窗口
  • 适合读取页面携带的报警范围
  • 导出后来自 HQVISU_PAGE_ALARM
  • 没有配置时要给回退值,避免空对象报错
var alarmConfig = getPageAlarm({
  showWindow: true,
  tags: [],
  deviceCodes: [],
  objectIdentifiers: [],
  groupCodes: [],
  areaCodes: []
});

if (alarmConfig.showWindow) {
  hqVisuDesigner.setComponentVisible("PageAlarmPanel", true);
}
PPT 报警设置字段说明

showWindow 控制报警窗口;tags 为完整点名,deviceCodes 为设备或 PLC 编码,objectIdentifiers 为对象标识,groupCodes 为信号组,areaCodes 为区域范围。空数组表示该维度不附加条件,不表示自动选择全部点位。

  • 只指定几个点位时,优先填 tags
  • 按设备限定范围时,填 deviceCodes
  • 按对象或设备单元限定范围时,填 objectIdentifiers
  • 按信号类别限定范围时,填 groupCodes
  • 按区域或产线限定范围时,填 areaCodes
{
  "showWindow": true,
  "tags": [],
  "deviceCodes": [],
  "objectIdentifiers": [],
  "groupCodes": [],
  "areaCodes": []
}
GetCurrentUsername()

读取当前宿主用户。它适合做轻量级个性化显示,例如页面欢迎语、当前操作人展示和当前用户标记。它不是权限系统本身,权限判断应以宿主机规则为准。

  • 适合欢迎语和当前用户显示
  • 适合轻量日志标记
  • 权限校验仍然应以宿主机规则为准
var username = GetCurrentUsername();
hqVisuDesigner.setComponentText("CurrentUser", username || "Guest");
页面脚本代码面板
页面脚本代码面板

页面配置读取、报警读取和局部逻辑通常会集中出现在这里。

再次点击图片或按 Esc 关闭