AB相エンコーダ(軸の回転変位量に応じてパルス列を出力する機器)のカウントは 1ピッチを4逓倍 した方がミスカウントを減らせます。
上図(タイミングチャート)のように、エンコーダは 2 の位置で機械的に停止していても電気的にはB相(A相)だけがON、OFFを繰り返す場合があります。小さな振動などが原因です。
1ピッチで1カウントだと、この状態をラダーに表現できません。下のように入力が変化する度にデータを増減するラダーを書きます。タイミングチャートをデッサンするイメージです。
[INC ?D0 ] は D0メモリ を条件がONの時 +1する命令です。
条件が4段に書いてありますが、?|↑| ? は前のスキャンでOFFだったメモリがこのスキャンONになったら このスキャンに限り1回だけ条件がONになります。
エンコーダが正転する時 1 を通過するとB相がOFFでA相がOFFからONになります。この1スキャンに [INC ?D0 ] 命令を実行してD0 の値が 1 増えます。
[DEC ?D0 ] は D0メモリ を条件がONの時 -1する命令です。
?|↓| ? は前のスキャンでONだったメモリがこのスキャンOFFになったら このスキャンに限り1回だけ条件がONになります。
エンコーダが逆転する時 1 を通過するとB相がOFFでA相がONからOFFになります。この1スキャンに [DEC ?D0 ] 命令を実行してD0 の値が 1 減ります。