USBホスト+カスタムファームウェア、HIDバーコードスキャンガンに直接接続し、on_key(key)コールバックを介してLuaに内容をスキャンします。工業用倉庫、生産ラインのトレーサビリティ。HMI M DXシリーズ+ USBインタフェース+カスタムファームウェア。
1. API:on_key(key)
キーは16ビットの符号なし整数です。下位8ビット= USB HID使用ID(スキャンコード)、上位8ビット= Shiftステータス(0以外はShiftが押された場合、大文字と小文字を区別します)。下位8ビット== 0 x 28 Enterはバーコードの終了を示します。この時点で文字列をコミットし、バッファを空にする。
2. Lua:HIDスキャナからASCIIへ
ルックアップテーブルを使用して、使用IDを文字(大文字Shiftを含む)にマップし、0 x 28の終端文字に遭遇して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
ローカル使用量=キー 0 x FF
local shift = key 8 0xFF
使用量== 0 x 28の場合 --終わりの文字
set_string_LW、0x2000、_barCode
_barCode = ""
Return To Returnシングル
End of Endシングル
ローカルch = usbScanGun[usage]
もしそうだったら
_barCode =_barCode.. shift ~= 0とch[2] or ch[1]
End of Endシングル
End of Endシングル
銃は本質的にキーボードシミュレーションHIDは、スキャンコードがASCIIではないことを報告し、テーブルをチェックする必要があります。Shift状態はキーの上位8ビットで、大文字と小文字が区別されます。0 x 28はキャリッジリターン終端文字です-受信時にコミットし、タイムアウトを待つ。カスタムファームウェア専用。
広州大彩科技Visual HMI開発ドキュメント(hmi-doc.gz-dc.com)から整理された他の技術チュートリアル“USB HIDスキャンガン”、著作権は大彩科技がすべてのしています。
发表回复