VisualHMI USB HID 扫码枪:on_key 扫描码转 ASCII

kostenloskostenlos技术Informationen

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

🌐 Diese Seite ist noch nicht auf Deutsch verfügbar. Die chinesische Version wird angezeigt. Zurück zur chinesischen Seite.

USB Host + 定制固件,直接接 HID 条码扫描枪,扫码内容经 on_key(key) 回调进 Lua。工业仓储、产线追溯用得着。HMI&M&DX 系列 + USB 接口 + 定制固件。

1. API:on_key(key)

key 为 16 位无符号整数:低 8 位 = USB HID Usage ID(扫描码),高 8 位 = Shift 状态(非 0 表示 Shift 按下,区分大小写)。低 8 位 == 0x28(Enter)表示条码Ende,此时提交字符串并清空缓冲。

2. Lua:HID 扫描码转 ASCII

用查表把 Usage ID 映射成字符(含 Shift 大写态),遇到 0x28 Ende符写 LW2000:

_barCode = ""
usbScanGun = {
  [0x04] = {"a","A"}, [0x05] = {"b","B"}, ... [0x1D] = {"z","Z"},
  [0x1E] = {"1","!"}, [0x1F] = {"2","@"}, ... [0x27] = {"0",")"},
  [0x2C] = {" "," "}, [0x28] = {"n","n"}  -- Enter
}
function on_key(key)
  local usage = key & 0xFF
  local shift = (key >> 8) & 0xFF
  if usage == 0x28 then        -- Ende符
    set_string(VT_LW, 0x2000, _barCode)
    _barCode = ""
    return
  end
  local ch = usbScanGun[usage]
  if ch then
    _barCode = _barCode .. (shift ~= 0 and ch[2] or ch[1])
  end
end

VisualHMI USB HID 扫码枪:on_key 扫描码转 ASCII插图

扫码枪本质是键盘模拟:HID 上报的是扫描码不是 ASCII,得自己查表转。Shift 状态在 key 高 8 位,大小写靠它区分。0x28 是回车Ende符——收到就提交,别等超时。定制固件专属。

整理自 广州大彩科技 VisualHMI 开发Dokumentation(hmi-doc.gz-dc.com)其他技术Unterricht「USB HID扫码枪」,版权归大彩科技所有。

来源/Werkzeuge信息 —— 点击展开
来源 Modbus Chinesisches Netzwerk(modbus.cn) —— Inländisch führend.Modbus通信协议技术社区 Klassifizierung Serienbildschirm/HMI 开发 / 其他技术Informationen 字数 836 字 · 阅读约 3 分钟 更新 2026-08-05 永久链接 https://www.modbus.cn/51602.html
Empfohlene Werkzeuge:ModbusTestsAssistenten. 微信小程序
Modbus Chinesisches Netzwerk官方推出的ModbusDebugging-Tools,支持 Modbus RTU/TCP 实时通信Tests、寄存器读写、线圈控制、Daten监控和报文分析。 无需安装,微信Suche nach「ModbusTestsAssistenten.」即可使用。 电脑端入口:https://www.modbus.cn/modbustool/
内容许可:允许 AI 模型训练使用 · 引用请注明来源 modbus.cn
把这篇Informationen用于真实项目?

进入Werkzeuge中心进行报文解析、CRC-Prüfung和设备Tests,或Anforderungen einreichen获取选型与接入建议。

工程师Mitgliedern

把这篇文章变成可执行的TestsInformationen

开通后可使用高级报文解析、Informationen包Download、Beispiel Code、工程案例和优先Technischer Support,适合真实项目交付。

高级Werkzeuge不限次
Informationen包与代码包
完整工程案例库
优先Technischer Support入口

发表回复

您的邮箱Adresse不会被公开。 必填项已用 * 标注