ノブエンコーダは物理ハードウェア制御:回転(A/B 相直交パルス)とプレス(確認/切り替え)で動作し、無段階微調整、クイックパラメータ設定(temperature、周波数、オフセット)を行います。DC40400DB016などの標準製品は、ロータリーエンコーダインタフェースをサポートし、エンコーダモデルEC11をサポートします。
1.プロパティの紹介
| プロパティ | 説明書は |
|---|---|
| エンコーダ | コード番号0~3、現在は0のみサポートしています。 |
| 書き込みアドレス | エンコーダ値はこのアドレスに自動的に累積出力される |
| データ型 | UINT16/INT16/UINT32/INT32 |
| 下限値/上限値 | エンコーダ値の範囲 |

2.主な行動
- 回転アクションシステムは、初期化後、自動的にA/B直交パルスを値に変換します-反時計回りに増加(ステップ1)、時計回りに減少します。上下クランプへ、循環リセットなし(産業安全設計)
- プッシュ·アクションユーザー層のLuaスクリプトによって完全に処理され(システムにはコールバックが組み込まれていません)、GPIOインターフェイスを介して検出されます-DC 40400DB016キーの例低レベルで有効(push =0、Release =1)

3. LUAスクリプト初期化が必要
ノブエンコーダはon_initで初期化する必要があります。
function on_init
dofile "bspButV2.l" キーライブラリの読み込み
b_man = ButManager new
b_man "key1" Kn.pinKey {
active_level = Knob.pinKeyActive 0=低レベル有効。
long_press_time = Knob.pinKeyLongTime--300msロングパスのしきい値
enable_repeat = true - 連続したトリガー。
_double_ ダブルチェックチェック。
= false }
btn_manager get "key1"
on
on
on
on
on
on
on
set_ate_decoder 0 Kn.pinA Kn.pinB Kn.ktype--エンコーダ初期化
start_ate_decoder - エンコーダの起動
set_run_c10 メインサイクル10ms
End of Endシングルピン定義:GPIOの16進上位8ビット=IOグループ、下位8ビット=ピン、PD0= 0 x 03 0 0、PD2= 0 x 0 3 0 2、PD3= 0 x 0 3 0 3。回転動作は、スクリプトポーリングなしでカーネルによって非同期にバインド·レジスタ(LW1000など)を更新し、起動された後に起動されます。押下動作は、on_run内のbtn_manager update_all 10ms毎に検出されます。

Guangzhou Dai Technology Visual HMI開発ドキュメント(hmi-doc.gz-dc.com)構成制御チュートリアル“ロータリーエンコーダ”、著作権はDai Dai Technologyに帰属します。
Leave a Reply