VisualHMI 安全로그인:分级授权与 set_pwd 密码管理

무료무료 기술 자료

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

安全로그인:给界面控件分级授权,不同等级用户看/操作不同东西。支持 1~8 级(0 为游客),密码可配、可 Lua 改、可超时自动退出。

1. 설정

엔지니어링 → 엔지니어링设置 → 安全等级:设等级数、各级密码、保持로그인、超时退出(秒)、返回화면、键盘位置(默认/居中)、用户名称。

VisualHMI 安全登录:分级授权与 set_pwd 密码管理插图

2. 超时退出로그인

功能버튼전환화면时勾选「用户等级 → 最低要求等级」,等级不够弹键盘输密码。空闲超时自动退로그인(保持로그인활성화才生效)。

VisualHMI 安全登录:分级授权与 set_pwd 密码管理插图1

3. 密码修改(LUA)

set_pwd(level, pwd, len):level 0~7 对应密码等级 1~8,pwd 数字密码,len 选填(前导零填充,如 len=5 则 123 存为 00123)。

密码不支持읽기,初始化/修改时同步镜像到 RW 区:

function on_init()
  local _val = get_uint16(VT_RW, 0x2000)
  if _val ~= 0x0055 then
    set_uint32(VT_RW, 0x0000, 111111)
    set_uint32(VT_RW, 0x0002, 222222)
    set_uint32(VT_RW, 0x0004, 333333)
    set_uint32(VT_RW, 0x0006, 444444)
    set_uint32(VT_RW, 0x0008, 555555)
    set_pwd(0, 111111, 6); set_pwd(1, 222222, 6)
    set_pwd(2, 333333, 6); set_pwd(3, 444444, 6)
    set_pwd(4, 555555, 6)
    set_uint16(VT_RW, 0x2000, 0x0055)
    flash_sync()
  else
    set_pwd(0, get_uint32(VT_RW, 0x0000), 6)
    set_pwd(1, get_uint32(VT_RW, 0x0002), 6)
    -- ... 其余等级
  end
end

VisualHMI 安全登录:分级授权与 set_pwd 密码管理插图2

安全로그인密码和分期密码一样只写不读,必须自己镜像到 RW 区。前导零是个坑:若用前导零(len=6 则 66 存为 000066),所有等级密码都得统一用前导零,否则일치不上。改完 flash_sync() 저장。

整理自 广州大彩科技 VisualHMI 개발문서(hmi-doc.gz-dc.com)其他기술튜토리얼「安全로그인」,版权归大彩科技所有。

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

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

엔지니어 회원

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

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

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

답글 작성

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