VisualHMI 데이터记录:1000 通道表格、时间戳定位与문자串拼接

무료무료 기술 자료

이 글은 바로 읽을 수 있으며 기초 학습과 검색 유입에 적합합니다.

데이터记录控件把同一时间戳下多个레지스터 값组合成一行,动态追加到表格——类似데이터库로그。最多 1000 个通道(列),掉电不丢,支持翻页、清除、CSV 导出。

1. 核心能力

  • 多通道同步记录:单条记录最多 1000 通道,每通道绑一个레지스터
  • 时间对齐采样:所有通道同一时刻읽기
  • 实时表格:新记录自动追加,滚动보기
  • 持久化:存 Flash,掉电不丢;支持翻页/清除/CSV 导出

VisualHMI 数据记录:1000 通道表格、时间戳定位与字符串拼接插图

2. 属性介绍

2.1 基本设置

属性설명
데이터来源자료采集(同一레지스터不同时刻)/ 配方데이터(配方콘텐츠显示)
문자串表格자료采集유형为 STRING 时勾选,按문자串显示
时间排序时间顺序 / 逆序
日期/时间显示时间 / 日期 / 时间和日期
配方데이터索引/直接편집选配方集;勾选后클릭表格매개변수直接改
通道数量데이터通道数
表格设置标题、文本宽度;自动列宽(按比例)或固定像素
固定列无(全可滚动)/ 1列(순번固定)/ 2列(순번+时间固定)
每页行数 / 滚动条 / 手势滑动分页显示;垂直滚动条;手势滑动

VisualHMI 数据记录:1000 通道表格、时间戳定位与字符串拼接插图1

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

VisualHMI 数据记录:1000 通道表格、时间戳定位与字符串拼接插图2

2.2 外观设置

字体/大小/颜色/对齐、标题(含标题文字颜色)、网格(网格/边框颜色)、背景(标题背景/콘텐츠背景)、奇偶分行(背景颜色2)。

VisualHMI 数据记录:1000 通道表格、时间戳定位与字符串拼接插图3

3. 적용案例

3.1 데이터采集(100 通道)

자료采集:설명"历史데이터",定时采样,2000 条,周期 1 秒,데이터주소 LW1010,UINT16,데이터个数 100,控制주소 LW1001,采样控制 LW1000 OFF→ON。데이터记录控件:데이터来源자료采集(索引[0]),通道 100,时间逆序,固定列 2,每页 5 行,滚动条+手势滑动,翻页控制 LW1004、允许翻页 LW1005、时间戳 LW1006、选中行 LW1008。

VisualHMI 数据记录:1000 通道表格、时间戳定位与字符串拼接插图4

VisualHMI 数据记录:1000 通道表格、时间戳定位与字符串拼接插图5

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

VisualHMI 数据记录:1000 通道表格、时间戳定位与字符串拼接插图6

VisualHMI 数据记录:1000 通道表格、时间戳定位与字符串拼接插图7

VisualHMI 数据记录:1000 通道表格、时间戳定位与字符串拼接插图8

时间戳定位:下拉菜单绑 0xA000,选项콘텐츠=历史데이터日期(자료取样索引[0]),选某天定位到该天第一条记录。

VisualHMI 数据记录:1000 通道表格、时间戳定位与字符串拼接插图9

3.2 特殊적용:주소不连续/유형不同(문자串表格 + LUA)

当레지스터주소不连续、데이터유형不一致(如电压 4x0000 UINT32、电流 4x0007 UINT32、负载率 4x0015 UINT16、谐波 4x0021 INT16、功因 4x0026 UINT32…)时,用문자串表格方案:자료采集데이터주소 LW2000、유형 STRING、个数 100;LUA 在 on_run 里读各레지스터拼接문자串쓰기 LW2000,每列用分号 ; 分隔:

function on_init()
  set_run_cycle(1000)
  시작_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 数据记录:1000 通道表格、时间戳定位与字符串拼接插图10

VisualHMI 数据记录:1000 通道表格、时间戳定位与字符串拼接插图11

자료采样要求레지스터주소连续、데이터유형一致。주소不连续/유형混杂时别硬采——用문자串表格方案:LUA 读值→拼接문자串(分号分隔)→写到자료采样주소,控件勾选문자串表格按列显示。문자串编码用 GB CODE。

整理自 广州大彩科技 VisualHMI 개발문서(hmi-doc.gz-dc.com)记录튜토리얼「데이터记录」,版权归大彩科技所有。

실제 프로젝트에 이 자료를 활용하시겠습니까?

도구 센터에서 프레임 분석, CRC 검증, 장비 디버깅을 진행하거나 요청을 제출하여 선정 및 연동 제안을 받아보세요.

엔지니어 회원

이 글을 실행 가능한 디버깅 자료로 활용하세요

가입하면 고급 프레임 분석, 자료 패키지 다운로드, 코드 예제, 엔지니어링 사례, 우선 기술 지원을 이용할 수 있어 실제 프로젝트 납품에 적합합니다.

고급 도구 무제한 이용
자료 패키지와 코드 패키지
완전한 엔지니어링 사례 라이브러리
우선 기술 지원 채널

답글 작성

이메일 주소는 공개되지 않습니다. 必填项已用 * 标注