- 1. 1. 核心能力
- 2. 2. 属性介绍
- 3. 2.1 基本设置
- 4. 2.2 外观设置
- 5. 3. 应用案例
- 6. 3.1 数据采集(100 通道)
- 7. 3.2 特殊应用:地址不连续/类型不同(字符串表格 + LUA)
数据记录控件把同一时间戳下多个寄存器值组合成一行,动态追加到表格——类似数据库日志。最多 1000 个通道(列),掉电不丢,支持翻页、清除、CSV 导出。
1. 核心能力
- 多通道同步记录:单条记录最多 1000 通道,每通道绑一个寄存器
- 时间对齐采样:所有通道同一时刻读取
- 实时表格:新记录自动追加,滚动查看
- 持久化:存 Flash,掉电不丢;支持翻页/清除/CSV 导出

2. 属性介绍
2.1 基本设置
| 属性 | 说明 |
|---|---|
| 数据来源 | 资料采集(同一寄存器不同时刻)/ 配方数据(配方内容显示) |
| 字符串表格 | 资料采集类型为 STRING 时勾选,按字符串显示 |
| 时间排序 | 时间顺序 / 逆序 |
| 日期/时间 | 显示时间 / 日期 / 时间和日期 |
| 配方数据索引/直接编辑 | 选配方集;勾选后点击表格参数直接改 |
| 通道数量 | 数据通道数 |
| 表格设置 | 标题、文本宽度;自动列宽(按比例)或固定像素 |
| 固定列 | 无(全可滚动)/ 1列(序号固定)/ 2列(序号+时间固定) |
| 每页行数 / 滚动条 / 手势滑动 | 分页显示;垂直滚动条;手势滑动 |

翻页控制(Addr 起):Addr+0 翻页(1上/2下/3首页/4尾页);Addr+1 读取可行性(BIT1~4);Addr+2~3 时间戳定位(UINT32,配下拉按天定位);Addr+4~5 选中行通知(UINT32,选中行号从 0 开始)。

2.2 外观设置
字体/大小/颜色/对齐、标题(含标题文字颜色)、网格(网格/边框颜色)、背景(标题背景/内容背景)、奇偶分行(背景颜色2)。

3. 应用案例
3.1 数据采集(100 通道)
资料采集:描述”历史数据”,定时采样,2000 条,周期 1 秒,数据地址 LW1010,UINT16,数据个数 100,控制地址 LW1001,采样控制 LW1000 OFF→ON。数据记录控件:数据来源资料采集(索引[0]),通道 100,时间逆序,固定列 2,每页 5 行,滚动条+手势滑动,翻页控制 LW1004、允许翻页 LW1005、时间戳 LW1006、选中行 LW1008。


采样使能:位状态灯绑 LW1000(ON 开始/OFF 停止);清除/导出:字按钮绑 LW1001 写 85(清除)/1(导出);翻页:4 个按钮绑 LW1004 1/2/3/4 + 权限 LW1005.1/.2。



时间戳定位:下拉菜单绑 0xA000,选项内容=历史数据日期(资料取样索引[0]),选某天定位到该天第一条记录。

3.2 特殊应用:地址不连续/类型不同(字符串表格 + LUA)
当寄存器地址不连续、数据类型不一致(如电压 4×0000 UINT32、电流 4×0007 UINT32、负载率 4×0015 UINT16、谐波 4×0021 INT16、功因 4×0026 UINT32…)时,用字符串表格方案:资料采集数据地址 LW2000、类型 STRING、个数 100;LUA 在 on_run 里读各寄存器拼接字符串写入 LW2000,每列用分号 ; 分隔:
function on_init()
set_run_cycle(1000)
start_read(0, VT_4x, 0, 80) -- 读从站1保持寄存器 0x0000~0x0050
end
function on_run(screen)
if (get_uint16(VT_LW, 0x01A3) & 0x0001) == 0x01 then -- 从机在线
select_slave(0)
local vol = get_uint32(VT_4x, 0x0000) -- 电压
local cur = get_uint32(VT_4x, 0x0007) -- 电流
-- ... 读其它寄存器
local rcrd = string.format("%0.2f", vol/100)..";"..
string.format("%0.2f", cur/100)..";"..
-- ... 拼接所有列
set_string(VT_LW, 0x2000, rcrd) -- 写到 LW2000
end
end


整理自 广州大彩科技 VisualHMI 开发文档(hmi-doc.gz-dc.com)记录教程「数据记录」,版权归大彩科技所有。
发表回复