VisualHMI 旋转编码器:EC11 旋钮的旋转与按键检测(LUA 初始化)

무료무료 기술 자료

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

旋钮编码器是物理硬件控件:靠旋转(A/B 相正交脉冲)和按压(确认/전환)操作,用于无级微调、快速매개변수设定(온도、频率、偏移量)。표준产品如 DC40400DB016 支持旋转编码器인터페이스,编码器型号 EC11。

1. 属性介绍

属性설명
编码器编码순번 0~3,目前只支持 0
쓰기주소编码器值自动累加출력到该주소
데이터유형UINT16/INT16/UINT32/INT32
下限值/上限值编码器值范围

VisualHMI 旋转编码器:EC11 旋钮的旋转与按键检测(LUA 初始化)插图

2. 关键行为

  • 旋转动作:系统自初始化后自动把 A/B 正交脉冲转为数值——逆时针递增(步长1)、顺时针递减;到上下限钳位,不循环重置(工业安全设计)
  • 按下动作:完全由用户层 Lua 스크립트处理(系统无内置回调),通过 GPIO 인터페이스检测——以 DC40400DB016 为例按键低电平有效(按下=0,释放=1)

VisualHMI 旋转编码器:EC11 旋钮的旋转与按键检测(LUA 初始化)插图1

3. LUA 스크립트(必须初始化)

使用旋钮编码器必须在 on_init 里初始化:

function on_init()
  dofile("bspButtonV2.lua")              -- 불러오기按键库
  btn_manager = ButtonManager:new()
  btn_manager:add("key1", Knob.pinKey, {
    active_level = Knob.pinKeyActive,     -- 0=低电平有效
    long_press_time = Knob.pinKeyLongTime,-- 300ms 长按阈值
    enable_repeat = true,                 -- 长按连续触发
    enable_double_click = true,           -- 双击检测
    debug = false })
  btn_manager:get("key1")
    :on(Button.EVENT.SHORT_PRESS, KnobKey_Press)
    :on(Button.EVENT.SHORT_RELEASE, KnobKey_Release)
    :on(Button.EVENT.LONG_PRESS, KnobKey_LongPress)
    :on(Button.EVENT.LONG_RELEASE, KnobKey_LongRelease)
    :on(Button.EVENT.CLICK, KnobKey_Click)
    :on(Button.EVENT.DOUBLE_CLICK, KnobKey_Double)
    :on(Button.EVENT.REPEAT, KnobKey_Repeat)
  set_rotate_decoder(0, Knob.pinA, Knob.pinB, Knob.ktype) -- 编码器初始化
  시작_rotate_decoder()                  -- 启动编码器
  set_run_cycle(10)                       -- 主循环 10ms
end

引脚定义:GPIO 的 16 진법高 8 位=IO 组、低 8 位=引脚,PD0=0x0300、PD2=0x0302、PD3=0x0303。旋转动作启动后由内核异步更新绑定레지스터(如 LW1000),无需스크립트轮询;按下动作靠 on_run 里 btn_manager:update_all() 每 10ms 检测。

VisualHMI 旋转编码器:EC11 旋钮的旋转与按键检测(LUA 初始化)插图2

旋钮编码器必须实体屏测试(虚拟屏没有真实 IO)。上电时建议加一个单次定时器把绑定주소清 0——避免编码器抖动导致初值不为 0。另注意:旋钮到上下限是钳位不是循环,和화면里控件的循环调节是两码事。

整理自 广州大彩科技 VisualHMI 개발문서(hmi-doc.gz-dc.com)구성(SCADA)控件튜토리얼「旋转编码器」,版权归大彩科技所有。

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

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

엔지니어 회원

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

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

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

답글 작성

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