controlName 是当前页 Input 实例名或控件名,不是 Tag 名。匹配不区分大小写,名称应唯一。脚本参数加引号,如 template.getValue("Input Template")。
var value = template.getValue("Input Template");
hqVisuDesigner.setComponentText("InputPreview", value); 输入模板用于收集值时,可通过 template.getValue() 读取当前输入。controlName 填输入模板实例名,不填 PLC Tag 名。
输入模板用于收集值时,可通过 template.getValue() 读取当前输入。controlName 填输入模板实例名,不填 PLC Tag 名。
controlName 是当前页 Input 实例名或控件名,不是 Tag 名。匹配不区分大小写,名称应唯一。脚本参数加引号,如 template.getValue("Input Template")。
var value = template.getValue("Input Template");
hqVisuDesigner.setComponentText("InputPreview", value); 先排除空白,再检查数字是否有限且在业务范围内: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,且业务上不需要再做脚本判断,那很多时候不需要额外在脚本里读值。把事情交给配置完成,通常更可靠。
脚本里只使用手册写明的方法。不要推测模板底层结构,也不要将模板作为可任意遍历的普通对象处理。这样后续升级和交接更可控。
输入、按键和表格这三类模板,最终都应通过实例配置和公开方法来使用。