跳至主要内容

脚本里读取输入模板值:template.getValue(controlName) | Mingcedar Studio

输入模板用于收集值时,可通过 template.getValue() 读取当前输入。controlName 填输入模板实例名,不填 PLC Tag 名。

模板方法方法文档修订:2026-10-21
方法

脚本里读取输入模板值:template.getValue(controlName)

输入模板用于收集值时,可通过 template.getValue() 读取当前输入。controlName 填输入模板实例名,不填 PLC Tag 名。

controlName 填什么

controlName 是当前页 Input 实例名或控件名,不是 Tag 名。匹配不区分大小写,名称应唯一。脚本参数加引号,如 template.getValue("Input Template")。

var value = template.getValue("Input Template");
hqVisuDesigner.setComponentText("InputPreview", value);
template.getValue(controlName) 能做什么

先排除空白,再检查数字是否有限且在业务范围内:Number('') 为 0,Number.isNaN() 不能排除 Infinity。示例范围为 0~100,须按项目修改。

var setpointText = template.getValue("Input Template");
var trimmed = String(setpointText == null ? "" : setpointText).trim();
var setpoint = Number(trimmed);

if (trimmed !== "" && Number.isFinite(setpoint) && setpoint >= 0 && setpoint <= 100) {
  WriteTagDouble("PLC_LINE01.PUMP01.SETPOINT", setpoint);
}
适用场景

当输入模板只是采集值、不直接写 Tag,或需要先校验、转换、提交,或需要组合多个输入框值时,template.getValue() 就很关键。

无需使用的场景

如果输入模板已经直接绑定 PLC Tag,且业务上不需要再做脚本判断,那很多时候不需要额外在脚本里读值。把事情交给配置完成,通常更可靠。

使用边界

脚本里只使用手册写明的方法。不要推测模板底层结构,也不要将模板作为可任意遍历的普通对象处理。这样后续升级和交接更可控。

模板编辑中的实例配置
模板实例配置

输入、按键和表格这三类模板,最终都应通过实例配置和公开方法来使用。

再次点击图片或按 Esc 关闭