controlName 是输入模板实例名或控件名,要和页面里的名字完全一致,包括空格和大小写。比如输入模板实例叫 Input Template,就写 template.getValue("Input Template")。这是脚本代码,名字作为字符串参数传入,所以这里必须加引号。
var value = template.getValue("Input Template");
qtedit.setComponentText("InputPreview", value); 普通项目只需要记住这一件事:当输入模板没有直接写 Tag,而是先收集值时,脚本可以用 template.getValue() 读取当前输入。controlName 填输入模板实例名,不是 PLC Tag 名。
普通项目只需要记住这一件事:当输入模板没有直接写 Tag,而是先收集值时,脚本可以用 template.getValue() 读取当前输入。controlName 填输入模板实例名,不是 PLC Tag 名。
controlName 是输入模板实例名或控件名,要和页面里的名字完全一致,包括空格和大小写。比如输入模板实例叫 Input Template,就写 template.getValue("Input Template")。这是脚本代码,名字作为字符串参数传入,所以这里必须加引号。
var value = template.getValue("Input Template");
qtedit.setComponentText("InputPreview", value); 它读取的是输入模板当前可见值,非常适合操作确认、二次校验、组合写值、配方提交和脚本里自己决定何时写 Tag。它特别适合 Plain Input 模式,因为 Plain Input 本身只负责收值。
var setpointText = template.getValue("Input Template");
var setpoint = Number(setpointText);
if (!Number.isNaN(setpoint)) {
WriteTagDouble("Device.SETPOINT", setpoint);
} 当输入模板只是采集值、不直接写 Tag,或需要先校验、转换、提交,或需要组合多个输入框值时,template.getValue() 就很关键。
如果输入模板已经直接绑定 PLC Tag,且业务上不需要再做脚本判断,那很多时候不需要额外在脚本里读值。把事情交给配置完成,通常更可靠。
脚本里只使用手册写明的方法。不要推测模板底层结构,也不要将模板作为可任意遍历的普通对象处理。这样后续升级和交接更可控。
输入、按键和表格这三类模板,最终都应通过实例配置和公开方法来使用。