Operator ShaftEncoderCompensate

Operator Library: Signal

此 operator 可補償 ShaftEncoder 的反向運作。

此 operator 具有一個輸入鏈結 I,可接收編碼器脈衝。 在輸入鏈結 Dir 上,可定義目前的編碼器方向。

具備反向方向的輸入脈衝會在輸出端被抑制。 不過,operator 會在內部計算具備反向方向的輸入脈衝。 當 ShaftEncoderCompensate 再次接收到正向脈衝時, 這些脈衝將繼續被抑制,直到所有反向脈衝皆被補償為止。 換句話說,每個反向輸入脈衝都會使內部 Counter 遞增。 如果內部 Counter 大於 0,則每個正向輸入脈衝都會使其遞減。 只有當內部 Counter 等於零時,才會針對每個正向輸入脈衝輸出一個脈衝。

參數 MaxPulseBits 指定內部 Counter 的 Bit Width,亦即 ShaftEncoderCompensate 最多可補償 2 ^ MaxPulseBits 個反向脈衝。 如果發生的反向脈衝超過 2 ^ MaxPulseBits 個,則在反向期間最多只能補償 2 ^ MaxPulseBits 個脈衝。

目前的 Counter 值(也就是要補償的脈衝數)可以使用參數 CompensationCounter 進行讀取。 您可以透過將新值寫入此參數來覆寫目前的 Counter 值。

此 operator 可以直接連接至 operator ShaftEncoder。

以下波形圖說明了此 operator 的功能。

可以使用額外的重設輸入來重設 Counter,如下所示。

此運算子不支援 VisualApplets 功能模擬。

I/O Properties

Property Value
Operator Type O
輸入連結 I,信號資料輸入
Dir,信號資料輸入
Reset,信號資料輸入
Output Link O,訊號資料輸出

支援的 Link 格式

Link Parameter Input Link I Input Link Dir Input Link Reset Output Link O
Bit Width 1 1 1 as I
Arithmetic unsigned unsigned unsigned as I
Parallelism 1 1 1 as I
Kernel Columns 1 1 1 as I
Kernel Rows 1 1 1 as I
Img Protocol VALT_SIGNAL VALT_SIGNAL VALT_SIGNAL as I
Color Format VAF_GRAY VAF_GRAY VAF_GRAY as I
Color Flavor FL_NONE FL_NONE FL_NONE as I
Max. Img Width any any any as I
Max. Img Height any any any as I

參數

MaxPulseBits
Type static parameter
Default 10
Range [2, 32]

此參數指定內部 Counter 的 Bit Width。

CompensationCounter
Type 動態讀取/寫入參數
Default 0
Range [0, 2^MaxPulseBits-1]

此參數顯示補償 Counter 的目前值。 讀取此參數可顯示目前值。 寫入此參數會覆寫 Counter 值。

使用範例

operator ShaftEncoderCompensate 的使用方式如以下範例所示: