历史曲线记录"변수随时间变化的趋势",最多 16 条独立通道,采样데이터存 Flash 掉电不丢,支持翻页、缩放、清除、CSV 导出。监控、能效评估的主视图。
1. 两种데이터来源
| 모드 | 定义 | 用途 |
|---|---|---|
| 자료采样 | 单个레지스터在不同时间点的值,周期采集形成时间시퀀스曲线 | 观察单매개변수历史趋势 |
| 连续采样 | 同一时刻읽기连续 N 个레지스터,N 个值作为一组画到同一条曲线 | 空间分布/批量데이터快照 |

连续주소属性:데이터点数 1~40000、데이터주소(시작)、데이터유형(UINT16~DOUBLE)、数值转换(实际值=传输值×缩放+偏移)。

连续采样注意通道分布:데이터주소 0x4000、点数 50、通道 2 → 通道1 用 LW4000、LW4002、LW4004…(偶数주소),通道2 用 LW4001、LW4003…(奇数주소)。

2. 曲线设置
- 曲线粗细:1 或 2 像素;曲线通道:最多 16 条;通道颜色:每通道颜色
- 控制주소(Addr 起):
| 偏移 | 作用 |
|---|---|
| Addr+0 | 通道显示隐藏:bit0~15 对应通道1~15,0=显示、1=隐藏 |
| Addr+1 | 翻页控制:1-이전 페이지、2-다음 페이지、3-홈(最新)、4-尾页(最旧) |
| Addr+2 | 읽기翻页可行性:BIT1 이전 페이지、BIT2 다음 페이지、BIT3 홈、BIT4 尾页,1=可执行 |
| Addr+3~4 | 时间戳定位(UINT32),配下拉菜单按天定位 |
| Addr+5 | 时间宽度控制:一屏显示点数(控件宽 400、值 100 → 4 像素/点) |

3. X 轴(时间)/ Y 轴(值)
- X 轴:时间宽度(一页采样点数,如 100,第 101 个데이터满屏后曲线左移);刻度数 2~10;显示刻度(无/分割线/刻度线)
- Y 轴:最大值/最小值(可 LUA 动态改,wgt_set_param 0x31=最小值、0x32=最大值);越界不显示;刻度数 2~11;显示数值;显示刻度


外观:字体/大小/颜色、边框、背景、分割线颜色、滚动条、触摸标识(触摸曲线显示采样时间和值)。

4. 적용案例(자료采样)
4.1 자료采样설정
설명"历史曲线",定时采样,记录 2000 条,周期 100ms,데이터주소 LW1010,UINT16,데이터个数 3,控制주소 LW1001,采样控制주소 LW1000,启动모드 OFF→ON。

4.2 曲线控件설정
데이터来源=자료采集(索引[0]历史데이터),通道数 3,控制주소 0x1003(隐藏控制)、0x1004(翻页)、0x1005(允许翻页,只读)、0x1006(时间戳 UINT32)、0x1008(时间宽度)。显示滚动条+触摸标识。

4.3 采样使能 + 清除 + 通道显示
位状态指示灯绑 LW1000(设为ON=开始采集/设为OFF=정지);字버튼绑 LW1001 写 85 清除;3 个位버튼绑 LW1003.0/.1/.2 전환开关控制通道显示隐藏;4 个翻页버튼绑 LW1004(1/2/3/4)+ 权限条件 LW1005.1/.2==1。




4.4 X 轴 / Y 轴缩放
X 轴:数值控件绑 LW1008 입력 200→一屏 200 点,입력 50→50 点。Y 轴:曲线控件 ID 设 100(不为 0),LUA 里 wgt_set_param 改最大值/最小值:
function on_update(slave, vtype, addr)
if vtype == VT_LW then
if addr == 0xA000 then
wgt_set_param(__page._hisgraph1, 100, 0x31, get_uint16(VT_LW, 0xA000)) -- Y最小值
elseif addr == 0xA001 then
wgt_set_param(__page._hisgraph1, 100, 0x32, get_uint16(VT_LW, 0xA001)) -- Y最大值
end
end
end

整理自 广州大彩科技 VisualHMI 개발문서(hmi-doc.gz-dc.com)记录튜토리얼「历史曲线」,版权归大彩科技所有。
답글 작성