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

免费免费技术资料

这篇内容可直接阅读,适合用于基础学习和搜索引流。

本文目录
  1. 1. 1. 属性介绍
  2. 2. 2. 关键行为
  3. 3. 3. 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) -- 编码器初始化
  start_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)组态控件教程「旋转编码器」,版权归大彩科技所有。

技术术语(共 1 个)—— 点击展开
寄存器Modbus 寄存器存储数据单元,分线圈/离散输入/保持/输入寄存器四类
来源/工具信息 —— 点击展开
来源 Modbus中文网(modbus.cn) —— 国内领先的Modbus通信协议技术社区 分类 串口屏/HMI 开发 / 组态控件 字数 1392 字 · 阅读约 4 分钟 更新 2026-08-04 永久链接 https://www.modbus.cn/51016.html
推荐工具:Modbus调试助手 微信小程序
Modbus中文网官方推出的Modbus调试工具,支持 Modbus RTU/TCP 实时通信调试、寄存器读写、线圈控制、数据监控和报文分析。 无需安装,微信搜索「Modbus调试助手」即可使用。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
📝 作者声明
本文由 Modbus中文网技术团队 原创撰写,内容基于实际项目案例与技术文档,力求为读者提供准确、实用的参考信息。
把这篇资料用于真实项目?

进入工具中心进行报文解析、CRC 校验和设备调试,或提交需求获取选型与接入建议。

工程师会员

把这篇文章变成可执行的调试资料

开通后可使用高级报文解析、资料包下载、代码示例、工程案例和优先技术支持,适合真实项目交付。

高级工具不限次
资料包与代码包
完整工程案例库
优先技术支持入口

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注