Move、Rotate、Scale 的输入值、位移、角度和缩放比例都可以写数值表达式。表达式必须能立即算出数字,不能直接放入异步请求。
- 固定数值:120
- Tag 数值:ReadTagDouble("<PLC>.<TAG>", 0)
- 对象尺寸:shape.width、shape.height
- 计算表达式:shape.width * 2、shape.height * 0.5
ReadTagDouble("<PLC>.<TAG>", 0)
shape.width
shape.height * 0.5 动画字段分成数值表达式、布尔表达式、颜色值和模板变量。先分清字段类型,再填写表达式,后面的参数才容易稳定。
动画字段分成数值表达式、布尔表达式、颜色值和模板变量。先分清字段类型,再填写表达式,后面的参数才容易稳定。
Move、Rotate、Scale 的输入值、位移、角度和缩放比例都可以写数值表达式。表达式必须能立即算出数字,不能直接放入异步请求。
ReadTagDouble("<PLC>.<TAG>", 0)
shape.width
shape.height * 0.5 颜色和文本行为通过 Setup Script 准备数据,再由输出表达式返回结果。Fill color / Border color 对应旧名 Fill / Stroke。几何编辑器没有 Setup Script,直接使用读取方法或 Page Script 函数。
// Setup Script
var running = ReadTagBoolean("<PLC>.<RUN_TAG>", false);
var color = running ? "#22C55E" : "#64748B";
// Script Color / Fill color
color State Color、Blink Color 的 Condition 和 Script Color 的 Visibility 需要布尔结果。可直接读取布尔 Tag,或通过比较及组合条件得到 true / false。
var running = ReadTagBoolean("<PLC>.<RUN_TAG>", false);
var alarm = ReadTagBoolean("<PLC>.<ALARM_TAG>", false);
running === true && alarm === false 颜色值可使用十六进制格式。普通颜色行为通过颜色选择器维护;Script Color 的 Fill color 和 Border color 填写返回颜色字符串的表达式。
var state = ReadTagInteger("<PLC>.<STATE_TAG>", 0);
state === 1 ? "#22C55E" : "#EF4444" Condition、Visibility 返回布尔值;几何字段返回数字;Display Text 和颜色字段返回字符串。模板参数先替换为字符串,数值须显式转换。
// Condition
ReadTagBoolean("<PLC>.<RUN_TAG>", false)
// At limit maximum
shape.width * 2
// Script Color / Fill color
ReadTagBoolean("<PLC>.<ALARM_TAG>", false) ? "#dc2626" : "#16a34a" 模板变量格式为 <NAME>,变量名以字母或下划线开头。模板变量放入脚本表达式时,应写在字符串里。
ReadTagBoolean("<PLC>.<RUN_TAG>", false) PPT 插件不提供全局脚本文档。当前页所需的换算函数、格式化函数、颜色规则和常量放在 Page Script;确实需要跨页高级复用时,使用宿主 runtime、自写 SDK 或模板能力。
当前页动画字段可引用 Page Script 顶层 var、let、const 和 function,用于共享量程、Tag 名和换算函数。
const levelMax = 100;
var levelTag = "<PLC>.<LEVEL_TAG>";
function readLevel() {
return ReadTagDouble(levelTag, 0);
}
// Scale / Source value
readLevel()
// Scale / Source maximum
levelMax window.hqVisuDesignerPageReady 会在页面运行时准备完成后执行,适合做组件初始化、文本设置和显示控制。用于初始动画计算的值,应放在当前页 Page Script 顶层。
var pumpVisible = true;
window.hqVisuDesignerPageReady = function() {
hqVisuDesigner.writeVariable("pumpVisible", pumpVisible);
hqVisuDesigner.refreshView();
}; 位读取用 TAG[bit],如 PLC_LINE01.PUMP01.TAG[0] 或 <PLC>.<TAG>[1]。bit 为 0–31,且须在父 Tag 位宽内。写位使用 Write Tag Bit,Target Tag 填父 Tag,Bit Index 填位号。
ReadTagBoolean("<PLC>.<TAG>[1]", false) 表达式须同步返回结果。fetch、Promise 或定时器放在 Page Script 或 hqVisuDesignerPageReady,将结果存入页面变量供表达式读取。设备写入由真实用户操作发起。
按钮和 Script Color 的 Condition 控制是否执行;State Color 的 Condition 选择 TRUE / FALSE 状态。Quality Override 控制质量边框或隐藏。Active、Enabled 仅用于部分旧配置或特定编辑器。
var enabled = ReadTagBoolean("<PLC>.<ENABLE_TAG>", false);
var qualityGood = ReadTagQualityGood("<PLC>.<VALUE_TAG>");
// Script Color / Condition
enabled && qualityGood