写标签 (Write Tag)

“写标签”是交互类点击行为:当操作员在导出页面上点击该形状时,它将计算出的值写入指定标签。它适用于点击后下发一个值的操作,例如启动/停止泵、写设定值、复位报警标志。运行时它调用宿主机写入通道(window.HQVISU_HOST.tags.write),因此是否真正写成功由宿主机决定,可能涉及权限校验、确认框、原因填写、异步写入或拒绝。它只在用户与导出页面交互时执行,编辑预览阶段不会触发。如果只需要修改一个整数里的某一位(置位/复位/取反),请使用“写标签位 (Write Tag Bit)”。

交互

交互: 写标签 (Write Tag)

点击形状时向一个标签写入一个值。常用于按钮启停设备、写设定值、复位等操作;最终是否写成功由宿主机(权限、确认、审计)决定。

功能说明

“写标签”是交互类点击行为:当操作员在导出页面上点击该形状时,它将计算出的值写入指定标签。它适用于点击后下发一个值的操作,例如启动/停止泵、写设定值、复位报警标志。运行时它调用宿主机写入通道(window.HQVISU_HOST.tags.write),因此是否真正写成功由宿主机决定,可能涉及权限校验、确认框、原因填写、异步写入或拒绝。它只在用户与导出页面交互时执行,编辑预览阶段不会触发。如果只需要修改一个整数里的某一位(置位/复位/取反),请使用“写标签位 (Write Tag Bit)”。

使用方法:编辑器里要填的字段

双击形状打开“写标签”编辑器,主要填两项:目标标签和要写的值。其余为可选的准备脚本、启用条件和外观选项。

  • Tag(标签):要写入的标签名表达式。可直接填标签名,也可用模板占位实现复用;下方提示“按位写入请用 Bit Index”。
  • Value(值):要写入的值,可以是单个表达式,也可以是一段完整 JavaScript(多行脚本以 return 返回结果)。默认值示例为 '1';。
  • Setup Script / Definition(准备脚本):可选,先准备共享变量或辅助逻辑,供 Value 使用。
  • Enabled(启用条件):可选门控,默认 true;为 false 时整个行为不执行。
  • 选项:Show hand cursor when enabled(启用时显示手型光标)、Use bold border when enabled(启用时加粗边框)、Hide when disabled(未启用时隐藏)。
// Setup Script
var running = ReadTagBoolean("PLC1.PUMP.RUN", false);

// Tag
PLC1.PUMP.START

// Value(点击后取反)
running ? 0 : 1

适用场景

适合“一个点击 = 写一个值”的固定动作。例如:画面上一个“启动”按钮,点击后向 PLC1.PUMP.START 写 1;或一个“复位”按钮,点击后把报警复位标志写 1。如果要写的值需要操作员临时输入(比如手动输入一个设定值),用“点击脚本 (Click Script)”里 prompt + WriteTagInteger 更合适;如果要改整数里的单个位,用“写标签位”。

注意事项 / 常见误区

写标签的成功与否由宿主机决定,不要假定“调用了就一定写成功”。

  • Tag 字段填的是标签名表达式,不要把它当成“一定要加引号的字符串”;按编辑器约定填写标签名即可。
  • Value 如果是多行脚本,必须用 return 返回最终值,否则写不进去。
  • 点击后可能没有立即生效:宿主机可能要权限校验、确认弹窗、异步写入或直接拒绝;宿主写入处理可能返回 Promise。
  • 只改一个位时不要用本行为手动拼接整数,改用“写标签位 (Write Tag Bit)”更安全。
Write Tag 写标签行为编辑器
图示 1: Write Tag 编辑器

填目标标签和要写入的值,点击时向该标签写值,最终是否写成由宿主机决定。