颜色: Discrete Color 离散颜色
按阈值将数值分成最多 8 个状态区间,并为每个区间配置填充、边框和显隐;适合状态码、位组合等取值有限的场景。
功能说明
Discrete Color 根据七个递增阈值,将 State value 的数值分到最多八个区间,并应用对应的填充色、边框色和显隐设置。可用它显示状态码、报警等级或位组合;需要精确区分某些取值时,应设置能将这些值分开的阈值。
字段配置
打开 Discrete Color 编辑器。Setup script 准备数据,State value 返回数值;State actions 的 Value < 列填写七个递增阈值,形成八个状态区间。
- Setup Script:读取数值 Tag 并准备状态值。
- State value:返回数值,例如 stateValue;布尔状态应使用 State Color,或明确转换为 0 / 1。
- State actions / Value <:默认阈值为 0、1、2、4、8、16、32。边界按“小于”判断,最后一个状态显示为 Final (+∞)。
- Fill(填充):8 个状态各自的填充颜色;可整体开关。
- Border(边框):8 个状态各自的边框颜色;可整体开关。
- Visibility(可见性):8 个状态各自显示或隐藏;可整体开关。
- Quality override:Follow data quality (border / hide) 控制质量边框和质量异常时隐藏;状态边框已启用时,其颜色优先于 Good。
JavaScriptJavaScript
// Setup script
var stateValue = ReadTagInteger("PLC_LINE01.PUMP01.MODE", 0);
// State value
stateValue
适用场景
当有限的数值需要按阈值显示不同外观时使用。
- 设备状态码:设置阈值,使 0(停机)、1(运行)、2(故障)和 4(维护)分别落入目标颜色区间。
- 报警等级或位组合:把整型状态映射成几个固定档位,不同档位用不同填充/边框/显隐。
常见问题
常见边界:
- State value 必须返回数值;需要布尔条件时使用 State Color。
- 最多 8 个状态。状态数超过 8 个无法用它表达。
- Discrete Color 使用阈值区间,不是枚举值相等匹配。默认阈值下,2 和 3 都进入 [2, 4);需要区分时应调整阈值,或使用 Multi-State Color 的严格相等条件。
- Value < 的七个阈值应递增。默认情况下,0 进入 [0, 1),32 及以上进入最终状态;不存在自动的“未定义枚举值”分支。
- Quality Border 反映的是通信质量,不是过程值本身;质量差时不应继续当作有效值渲染。
图示 1: Discrete Color 编辑器
把一个数值按阈值落到最多 8 个固定状态,每个状态配置独立的填充、边框和显隐。