交互: 点击写变量 (Set Variable on Click)
点击时写入当前页的 JavaScript 变量,用于保存选择或联动显示;不写 PLC Tag。
功能说明
Set Variable on Click 在点击时修改当前页变量,用于保存选择、切换视图或更新组件显示。使用前在 Page Script 声明变量。设备写入应使用 Write Tag 或 Write Tag Bit。
字段配置
将 Set Variable on Click 拖到目标组件,按下面字段配置并保存。示例各段分别填入 Page Script 和对应行为字段;Setup Script 留空。
- Setup Script:准备区。在这里读标签、定义中间变量、做计算,给 Value 用。可留空。
- Variable:要写入的变量名,只填名字本身,不要加引号(例如填 pumpStart,不要填 "pumpStart")。
- Value:要写入的值。可以是一个表达式,也可以是完整 JavaScript;如果写成多行脚本,必须用 return 把结果返回出来。
- Condition:结果为 true 时执行赋值;为 false 时跳过。
- (外观反馈,可选)启用时显示手型光标、启用时描边加粗、未启用时隐藏,用来给用户「可点 / 不可点」的视觉提示。
JavaScriptJavaScript
// Page Script
var pumpStart = false;
// Set Variable on Click → Variable
pumpStart
// Value
!pumpStart
// Condition
true
适用场景
用于点击后更新页面变量并联动其他组件。
- 页面状态切换:每次点击将 pumpStart 在 true 和 false 之间切换,状态灯引用同一变量。
- 做页面内的视图切换:点不同按钮写入 viewMode(如 1/2/3),让多个图层用可见性行为按 viewMode 显示或隐藏。
- 记一次用户选择:把当前选中的设备编号写进变量,供页面里的文本、跳转或脚本读取使用。
常见问题
- 不要和「写标签」混淆:这里写的是运行时变量,不会下发到 PLC;要写 PLC 用「写标签 / 写标签位」。
- 变量名不要加引号:Variable 框只填名字(pumpStart),加了引号或表达式会出错。
- Value 写多行脚本时必须 return:只写一行表达式可以不写 return,但多行逻辑不 return 就拿不到结果。
- 需要其它组件联动时:写入后只会刷新联动行为状态,其它组件也需要绑定并读取同一个变量名(可通过 hqVisuDesigner.globals 读取该变量空间)。
- 点击未生效时检查 Condition 和变量名,并确认配置已保存、导出。
图示 1: 点击写变量编辑器
填变量名和要写入的值,点击时把值写进页面运行时变量,供其他行为联动。