Visual HMI USB HIDスキャンガン:on_keyからASCIIへ

freeFree Technical Resource

This content is free to read, suitable for basic learning and search traffic.

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シングル

Visual HMI USB HIDスキャンガン:on_keyからASCIIへFigure

銃は本質的にキーボードシミュレーションHIDは、スキャンコードがASCIIではないことを報告し、テーブルをチェックする必要があります。Shift状態はキーの上位8ビットで、大文字と小文字が区別されます。0 x 28はキャリッジリターン終端文字です-受信時にコミットし、タイムアウトを待つ。カスタムファームウェア専用。

広州大彩科技Visual HMI開発ドキュメント(hmi-doc.gz-dc.com)から整理された他の技術チュートリアル“USB HIDスキャンガン”、著作権は大彩科技が所有しています。

Put this resource to use in a real project?

Go to the Tool Center for message parsing, CRC verification and device debugging, or submit your requirements for selection and integration advice.

Engineer Membership

Turn this article into actionable debugging resources

After activation, you can use advanced message parsing, resource pack downloads, code examples, engineering cases and priority technical support, suitable for real project delivery.

Unlimited Advanced Tools
Resource & Code Packs
Complete Engineering Case Library
Priority Technical Support

Leave a Reply

Your email address will not be published. Required fields are marked *.