USB Host + benutzerdefinierte Firmware, direkt mit der HID-Barcode - Scanner-Pistole verbunden, der Scan-Inhalt wird über on _ key (key) in Lua aufgerufen. Industrielle Lagerung und Rückverfolgbarkeit werden verwendet. HMI & M & DX-Serie + USB-Schnittstelle + kundenspezifische Firmware
1. API: on _ key (Key)
Key ist eine 16 - Bit unsignierte Ganzzahl: niedrig 8 - Bit = USB HID Usage ID (Scan-Code), höhere 8 - Bit = Shift-Status (nicht 0 bedeutet Shift-Drückung, Groß - und Kleinschrift differenziert).Low 8 = = 0x28 (Enter) bedeutet das Ende des BarcodesHier wird die Zeichenfolge übergeben und der Puffer leert.
2. Lua: HID-Scan - Code in ASCII
Mit Suchtabelle Mappe der Benutzer-ID in Zeichen (einschließlich Shift-Großbuchstab), 0x28 Endzeichen 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 -- 结束符
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
Aus dem VisualHMI-Entwicklungsdokument von Guangzhou Dacai Technology (hmi-doc.gz-dc.com) und anderen technischen Tutorials "USB HID-Scanner" zusammengestellt, das Urheberrecht liegt bei Dacai Technology.
Antwort veröffentlichen