Pages
自定义柱状图(Custom Bargraph)
Custom Bargraph 控件是一种功能强大且可配置的组件,可将实时数据以横向或纵向柱状图的形式进行可视化。
它支持高度自定义,非常适合用于监测温度、压力或液位等模拟量。
概述
该控件不仅能持续显示绑定变量的柱状图,还可显示数值、单位、标签及报警阈值,帮助用户快速直观地理解系统状态。
主要功能
动态数据展示
- 连接实时数据变量(例如来自 CODESYS 或 MQTT)
- 柱体高度/长度实时反映当前值
数值与单位
- 可选显示当前数值
- 可添加单位后缀(如 °C、% 或 bar)以增强可读性
自定义标签
- 支持最多 两个标签(例如“输入压力”、“最大安全值”)
- 用于描述或分类当前所展示的数值含义
中间刻度标记
- 可显示最多 5 个参考刻度值
- 适用于标注“正常”、“警告”或“临界”等状态范围
报警阈值
- 支持最多 6 个报警限值定义
- 当数值进入指定阈值区间时,图形会做出视觉提示,便于操作员快速响应
可配置样式
- 可设置颜色、方向(横向或纵向)和整体样式,以匹配界面设计
典型应用场景
过程监控
- 示例:显示罐体液位或泵的压力,并在超限或欠压时发出视觉预警
环境数据监测
- 示例:展示温湿度,并通过颜色区分安全/危险区间
产线监控
- 示例:监控速度、负载或计数值,当超过设定阈值时高亮提示
SVG ID 参考表
以下 SVG ID 可用于将动态数据绑定到自定义柱状图中的图形元素:
| # | 元素说明 | SVG ID |
|---|---|---|
| 1 | 标签行 1 | label_1_tspan |
| 2 | 标签行 2 | label_2_tspan |
| 3 | 中间刻度值 5 | tick_major_5_value |
| 4 | 中间刻度值 4 | tick_major_4_value |
| 5 | 中间刻度值 3 | tick_major_3_value |
| 6 | 中间刻度值 2 | tick_major_2_value |
| 7 | 中间刻度值 1 | tick_major_1_value |
| 8 | 当前值指示器(Thumb) | thumb |
| 9 | 主数值 | value_tspan |
| 10 | 单位文本 | label_unit_tspan |
| 11 | 柱状图路径(外框) | barPath |
| 12 | 柱状图填充 | barFill |
| 13 | 上限阈值 1 | limit_hi_3 |
| 14 | 上限阈值 2 | limit_hi_2 |
| 15 | 上限阈值 3 | limit_hi_1 |
| 16 | 下限阈值 1 | limit_lo_1 |
| 17 | 下限阈值 2 | limit_lo_2 |
| 18 | 下限阈值 3 | limit_lo_3 |
| 19 | 根样式类(Root Class) | custom_control_root |
DATA JSON 接口结构
{
"value": "20",
"label1": "Custom Bar label 1",
"label2": "Custom Bar label 2",
"unit": "",
"ticks": [
"0",
"10",
"20",
"50",
"100"
],
"parameters": {
"pMin": -20,
"pMax": 200,
"pLimitHi1": {
"enabled": true,
"value": 150
},
"pLimitHi2": {
"enabled": true,
"value": 170
},
"pLimitHi3": {
"enabled": true,
"value": 190
},
"pLimitLo1": {
"enabled": true,
"value": 20
},
"pLimitLo2": {
"enabled": true,
"value": -10
},
"pLimitLo3": {
"enabled": true,
"value": -15
}
},
"theme": {
"barBorder": "",
"barPath": "",
"barLFill": "",
"barRFill": "",
"thumb": ""
},
"general": {
"rootClass": ""
}
}
{
"value": "20",
"label1": "Custom Bar label 1",
"label2": "Custom Bar label 2",
"unit": "",
"ticks": [
"0",
"10",
"20",
"50",
"100"
],
"parameters": {
"pMin": -20,
"pMax": 200,
"pLimitHi1": {
"enabled": true,
"value": 150
},
"pLimitHi2": {
"enabled": true,
"value": 170
},
"pLimitHi3": {
"enabled": true,
"value": 190
},
"pLimitLo1": {
"enabled": true,
"value": 20
},
"pLimitLo2": {
"enabled": true,
"value": -10
},
"pLimitLo3": {
"enabled": true,
"value": -15
}
},
"theme": {
"barBorder": "",
"barPath": "",
"barLFill": "",
"barRFill": "",
"thumb": ""
},
"general": {
"rootClass": ""
}
}
custom_control_root
limit_lo_3
limit_lo_2
limit_lo_1
limit_hi_1
limit_hi_2
limit_hi_3
barFill
barPath
label_unit_tspan
value_tspan
thumb
tick_major_1_value
tick_major_2_value
tick_major_3_value
tick_major_4_value
tick_major_5_value
label_2_tspan
label_1_tspan

